diff options
197 files changed, 15177 insertions, 33908 deletions
diff --git a/.gitignore b/.gitignore index 06d7e3a124..33649ed7f8 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,23 @@ autom4te.cache !/erts/preloaded/ebin/*.beam !/lib/*/test/*_SUITE_data/*.beam +# Compiler derivatives +# +# Do not use too creative wildcards. +# Those might ignore files that should not be ignored. + +i686-pc-linux-gnu +x86_64-unknown-linux-gnu +i386-apple-darwin[0-9]*.[0-9]*.[0-9]* +sparc-sun-solaris[0-9]*.[0-9]* +i386-pc-solaris[0-9]*.[0-9]* +i386-unknown-freebsd[0-9]*.[0-9]* +tile-tilera-linux-gnu +powerpc-unknown-linux-gnu + +# Mac OS X +a.out.dSYM/ + # Anchored from $ERL_TOP /bin /config.log @@ -26,6 +43,7 @@ autom4te.cache /bootstrap/lib/sasl /bootstrap/lib/snmp /bootstrap/lib/syntax_tools +/bootstrap/lib/test_server /bootstrap/lib/wx /Makefile @@ -33,6 +51,10 @@ autom4te.cache /release + +# Created by "out_build update_primary" +/bootstrap/primary_compiler/ + # General patterns for applications in lib. # # Assume that all test/Emakefiles are generated. @@ -45,6 +67,16 @@ autom4te.cache /lib/*/test/Emakefile +/lib/*/SKIP + +/lib/*/doc/html/*.html +/lib/*/doc/html/*.gif +/lib/*/doc/html/*.eix +/lib/*/doc/man[0-9]/*.[0-9] +/lib/*/doc/pdf/*.fo +/lib/*/doc/pdf/*.pdf + + /lib/configure /lib/config.log /lib/config.status @@ -57,11 +89,27 @@ autom4te.cache /lib/*/config.log /lib/*/config.status +# +# Files generated when building/running tests (especially if +# a directory in $ERL_TOP/release/tests has been symlinked to +# a test directory in lib). +# + +/lib/*/test/*_SUITE_make.erl +/lib/*/test/*_SUITE_data/Makefile +/erts/emulator/test/*_SUITE_make.erl +/erts/emulator/test/*_SUITE_data/Makefile + +# asn1 + +/lib/asn1/doc/src/asn1_spec.xml + # common_test /lib/common_test/priv/install.sh # compiler + /lib/compiler/src/beam_opcodes.erl /lib/compiler/src/beam_opcodes.hrl /lib/compiler/src/core_parse.erl @@ -70,19 +118,37 @@ autom4te.cache /lib/compiler/test/*_no_opt_SUITE.erl /lib/compiler/test/*_post_opt_SUITE.erl +# debugger + +/lib/debugger/doc/html/images/*.gif + # edoc /lib/edoc/priv/edoc_generate +/lib/edoc/src/edoc_parser.erl + +# erts + +/erts/info +/erts/doc/html/*.html +/erts/doc/html/*.gif +/erts/doc/html/*.eix +/erts/doc/pdf/*.fo +/erts/doc/pdf/*.pdf +/erts/doc/man[0-9]/*.[0-9] # gs /lib/gs/src/gstk_generic.hrl /lib/gs/contribs/ebin/*.gif /lib/gs/contribs/ebin/*.tool +/lib/gs/doc/html/images/*.gif +/lib/gs/tcl/win32/Makefile # hipe /lib/hipe/main/hipe.hrl +/lib/hipe/rtl/hipe_literals.hrl # ic @@ -95,11 +161,13 @@ autom4te.cache /lib/ic/priv/com/ /lib/ic/priv/ic.jar /lib/ic/src/icparse.erl +/lib/ic/doc/html/java # jinterface /lib/jinterface/priv/OtpErlang.jar /lib/jinterface/priv/com/ +/lib/jinterface/doc/html/java # kernel @@ -143,6 +211,10 @@ autom4te.cache /lib/ssl/pkix/OTP-PKIX.hrl /lib/ssl/pkix/ssl_pkix_oid.erl +# stdlib + +/lib/stdlib/src/erl_parse.erl + # snmp /lib/snmp/bin/snmp-v2tov1 @@ -152,11 +224,33 @@ autom4te.cache /lib/snmp/src/compile/snmpc_mib_gram.erl /lib/snmp/include/[A-Z]*.hrl /lib/snmp/priv/mibs/[A-Z]*.bin +/lib/snmp/test/snmp_test_data/[A-Z]*.bin +/lib/snmp/test/snmp_test_data/[A-Z]*.hrl + +# system + +/system/doc/pdf/*.pdf +/system/doc/pdf/*.fo +/system/doc/html/*/*.html +/system/doc/html/*/*.gif +/system/doc/html/*/*.eix +/system/doc/programming_examples/funs.xml +/system/doc/tutorial/c_port.xml +/system/doc/tutorial/c_portdriver.xml +/system/doc/tutorial/cnode.xml +/system/doc/tutorial/erl_interface.xml +/system/doc/tutorial/example.xml # test_server + /lib/test_server/src/configure +# tools + +/lib/tools/src/xref_parser.erl + # wx + /lib/wx/c_src/Makefile /lib/wx/config.mk /lib/wx/api_gen/wx_xml/* @@ -164,6 +258,8 @@ autom4te.cache /lib/wx/api_gen/??_doxygen /lib/wx/api_gen/??xml_generated /lib/wx/wx-*.ez +/lib/wx/CONF_INFO +/lib/wx/doc/src/wx*.xml # xmerl diff --git a/Makefile.in b/Makefile.in index 8e97edfd84..2dcc89144d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -27,6 +27,9 @@ SHELL = /bin/sh # The top directory in which Erlang is unpacked ERL_TOP = @ERL_TOP@ +# OTP release +OTP = @OTP@ + # erts (Erlang RunTime System) version ERTS = @ERTS@ @@ -41,48 +44,105 @@ ERTS = @ERTS@ # configure. # -# prefix from autoconf, default is /usr/local (must be an absolute path) -prefix = @prefix@ -exec_prefix = @exec_prefix@ +# prefix from configure, default is /usr/local (must be an absolute path) +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +# Locations where we should install according to configure. These location +# may be prefixed by $(DESTDIR) and/or $(EXTRA_PREFIX) (see below). +bindir = @bindir@ +libdir = @libdir@ + +# Where Erlang/OTP is located +libdir_suffix = /erlang +erlang_libdir = $(libdir)$(libdir_suffix) +erlang_bindir = $(erlang_libdir)/bin -# The following can be set in case you install Erlang in a different -# location from where you have configured it to run. This can be -# useful e.g. when installing on a server that stores the files with a -# different path from where the clients access them. Or when building -# rpms. -#INSTALL_PREFIX = -# Naah...override `prefix' instead. +# +# By default we install relative symbolic links for $(ERL_BASE_PUB_FILES) +# from $(bindir) to $(erlang_bindir) as long as they are both prefixed +# by $(exec_prefix) (and are otherwise reasonable). This behavior can be +# overridden by passing BINDIR_SYMLINKS=<HOW>, where <HOW> is either +# absolute or relative. +# + +# $ make DESTDIR=<...> install +# +# DESTDIR can be set in case you want to install Erlang in a different +# location than where you have configured it to run. This can be +# useful, e.g. when installing on a server that stores the files with a +# different path than where the clients access them, when building +# rpms, or cross compiling, etc. DESTDIR will prefix the actual +# installation which will only be able to run once the DESTDIR prefix +# has disappeard, e.g. the part after DESTDIR has been packed and +# unpacked without DESTDIR. The name DESTDIR have been chosen since it +# is the GNU coding standard way of doing it. +# +# If INSTALL_PREFIX is set but not DESTDIR, DESTDIR will be set to +# INSTALL_PREFIX. INSTALL_PREFIX has been buggy for a long time. It was +# initially intended to have the same effect as DESTDIR. This effect was, +# however, lost even before it was first released :-( In all released OTP +# versions up to R13B03, INSTALL_PREFIX has behaved as EXTRA_PREFIX do +# today (see below). + +ifeq ($(DESTDIR),) +ifneq ($(INSTALL_PREFIX),) +DESTDIR=$(INSTALL_PREFIX) +endif +else +ifneq ($(INSTALL_PREFIX),) +ifneq ($(DESTDIR),$(INSTALL_PREFIX)) +$(error Both DESTDIR="$(DESTDIR)" and INSTALL_PREFIX="$(INSTALL_PREFIX)" have been set and have been set differently! Please, only set one of them) +endif +endif +endif -# The directory in which user executables (ERL_BASE_PUB_FILES) are put -BINDIR = $(INSTALL_PREFIX)@bindir@ +# $ make EXTRA_PREFIX=<...> install +# +# EXTRA_PREFIX behaves exactly as the buggy INSTALL_PREFIX behaved in +# pre R13B04 releases. It adds a prefix to all installation paths which +# will be used by the actuall installation. That is, the installation +# needs to be located at this location when run. This is useful if you +# want to try out the system, running test suites, etc, before doing the +# real install using the configuration you have set up using `configure'. +# A similar thing can be done by overriding `prefix' if only default +# installation directories are used. However, the installation can get +# sprawled out all over the place if the user use `--bindir', `--libdir', +# etc, and it is possible that `prefix' wont have any effect at all. That +# is, it is not at all the same thing as using EXTRA_PREFIX in the +# general case. It is also nice to be able to supply this feature if +# someone should have relied on the old buggy INSTALL_PREFIX. + +# The directory in which user executables (ERL_BASE_PUB_FILES) are installed +BINDIR = $(DESTDIR)$(EXTRA_PREFIX)$(bindir) # # Erlang base public files # ERL_BASE_PUB_FILES=erl erlc epmd run_erl to_erl dialyzer typer escript -# The directory which will contain installed Erlang version. -# (ILIBDIR is supposed to be LIBDIR *without* the install prefix) -ERLANG_LIBDIR = $(INSTALL_PREFIX)@libdir@/erlang -ERLANG_ILIBDIR = @libdir@/erlang +# ERLANG_INST_LIBDIR is the top directory where the Erlang installation +# will be located when running. +ERLANG_INST_LIBDIR=$(EXTRA_PREFIX)$(erlang_libdir) +ERLANG_INST_BINDIR= $(ERLANG_INST_LIBDIR)/bin -# You can *not* change these two, they have to stay this way for now. -ERLANG_BINDIR = $(ERLANG_LIBDIR)/bin -ERLANG_ERTSBINDIR = $(ERLANG_LIBDIR)/$(ERTS)/bin +# ERLANG_LIBDIR is the top directory where the Erlang installation is copied +# during installation. If DESTDIR != "", it cannot be run from this location. +ERLANG_LIBDIR = $(DESTDIR)$(ERLANG_INST_LIBDIR) # The directory in which man pages for above executables are put -ERL_MAN1DIR = $(INSTALL_PREFIX)@mandir@/man1 +ERL_MAN1DIR = $(DESTDIR)$(EXTRA_PREFIX)@mandir@/man1 ERL_MAN1EXT = 1 # The directory in which Erlang private man pages are put. In order # not to clutter up the man namespace these are by default put in the -# Erlang private directory $(ERLANG_ILIBDIR)/man. If you want to -# install the man pages together with the rest give the argument -# "--disable-erlang-mandir" when you run configure, which will set -# MAN_DIR to @mandir@. +# Erlang private directory $(ERLANG_LIBDIR)/man (\@erl_mandir\@ is set +# to $(erlang_libdir)/man). If you want to install the man pages +# together with the rest give the argument "--disable-erlang-mandir" +# when you run configure, which will set \@erl_mandir\@ to \@mandir\@. # If you want a special suffix on the manpages set ERL_MANEXT to # this suffix, e.g. "erl" -ERL_MANDIR = $(INSTALL_PREFIX)@erl_mandir@ +ERL_MANDIR = $(DESTDIR)$(EXTRA_PREFIX)@erl_mandir@ ERL_MANEXT = # ---------------------------------------------------------------------- @@ -93,6 +153,19 @@ MAKE = @MAKE_PROG@ # This should be set to the target "arch-vendor-os" export TARGET = @TARGET@ +BOOTSTRAP_ONLY = @BOOTSTRAP_ONLY@ + +CROSS_COMPILING = @CROSS_COMPILING@ +ifeq ($(CROSS_COMPILING),yes) +INSTALL_CROSS = -cross +else +ifneq ($(DESTDIR),) +INSTALL_CROSS = -cross +else +INSTALL_CROSS = +endif +endif + # A BSD compatible install program INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -107,6 +180,12 @@ RANLIB = @RANLIB@ # ---------------------------------------------------------------------- +# By default we require an Erlang/OTP of the same release as the one +# we cross compile. +ERL_XCOMP_FORCE_DIFFERENT_OTP = no + +# ---------------------------------------------------------------------- + # # The directory where at least the primary bootstrap is placed under. # @@ -136,6 +215,57 @@ BOOT_PREFIX=$(WIN32_WRAPPER_PATH):$(BOOTSTRAP_ROOT)/bootstrap/bin: else BOOT_PREFIX=$(BOOTSTRAP_ROOT)/bootstrap/bin: endif + +# ---------------------------------------------------------------------- + +# The following is currently only used for determining what to prevent +# usage of during strict install or release. +include $(ERL_TOP)/make/$(TARGET)/otp_ded.mk +CC = @CC@ +LD = @LD@ +CXX = @CXX@ + +IBIN_DIR = $(ERL_TOP)/ibin +# +# If $(OTP_STRICT_INSTALL) equals `yes' we prefix the PATH with $(IBIN_DIR) +# when doing `release' or `install'. This directory contains `erlc', `gcc', +# `ld' etc, that unconditionally will fail if used. This is used during the +# daily builds in order to pick up on things being erroneously built during +# the `release' and `install' phases. +# +INST_FORBID = gcc g++ cc c++ cxx cl gcc.sh cc.sh ld ld.sh +INST_FORBID += javac.sh javac guavac gcj jikes bock +INST_FORBID += $(notdir $(CC)) $(notdir $(LD)) $(notdir $(CXX)) +INST_FORBID += $(notdir $(DED_CC)) $(notdir $(DED_LD)) +INST_FORBID += $(ERL_BASE_PUB_FILES) +IBIN_FILES = $(addprefix $(IBIN_DIR)/,$(sort $(INST_FORBID))) # sort will + # remove + # duplicates + +ifeq ($(OTP_STRICT_INSTALL),yes) + +INST_PATH_PREFIX=$(IBIN_DIR): +INST_DEP = strict_install +ifneq ($(CROSS_COMPILING),yes) +INST_DEP += strict_install_all_bootstraps +endif + +else # --- Normal case, i.e., not strict install --- + +# +# By default we allow build during install and release phase; therefore, +# make sure that the bootstrap system is available in the path. +# +INST_PATH_PREFIX=$(BOOT_PREFIX) +# If cross compiling `erlc', in path might have be used; therefore, +# avoid triggering a bootstrap build... +INST_DEP = +ifneq ($(CROSS_COMPILING),yes) +INST_DEP += all_bootstraps +endif + +endif # --- Normal case, i.e., not strict install --- + # ---------------------------------------------------------------------- # Fix up RELEASE_ROOT/TESTROOT havoc ifeq ($(RELEASE_ROOT),) @@ -164,13 +294,54 @@ endif # * build additional compilers and copy them into bootstrap/lib # * use the bootstrap erl and erlc to build all the libs # -all: all_bootstraps \ - libs local_setup dialyzer + +.PHONY: all bootstrap all_bootstraps + +ifneq ($(CROSS_COMPILING),yes) +# Not cross compiling + +ifeq ($(BOOTSTRAP_ONLY),yes) +all: bootstrap +else +# The normal case; not cross compiling, and not bootstrap only build. +all: bootstrap libs local_setup dialyzer +endif + +else +# Cross compiling + +all: cross_check_erl depend emulator libs start_scripts dialyzer + +endif + +cross_check_erl: + @PATH=$(BOOT_PREFIX)$${PATH} $(ERL_TOP)/make/cross_check_erl \ + -target $(TARGET) -otp $(OTP) -erl_top $(ERL_TOP) \ + -force $(ERL_XCOMP_FORCE_DIFFERENT_OTP) + +is_cross_configured: + @echo @CROSS_COMPILING@ + +target_configured: + @echo @TARGET@ + +bootstrap: depend all_bootstraps + + + +ifeq ($(OTP_STRICT_INSTALL),yes) + +.PHONY: strict_install_all_bootstraps + +strict_install_all_bootstraps: + $(MAKE) BOOT_PREFIX=$(INST_PATH_PREFIX) OTP_STRICT_INSTALL=$(OTP_STRICT_INSTALL) all_bootstraps + +endif # With all bootstraps we mean all bootstrapping that is done when # the system is delivered in open source, the primary # bootstrap is not included, it requires a pre built emulator... -all_bootstraps: depend emulator \ +all_bootstraps: emulator \ bootstrap_setup \ secondary_bootstrap_build secondary_bootstrap_copy \ tertiary_bootstrap_build tertiary_bootstrap_copy \ @@ -193,11 +364,15 @@ noboot_install: .PHONY: release release_docs -release: +release: $(INST_DEP) ifeq ($(OTP_SMALL_BUILD),true) - cd $(ERL_TOP)/lib && $(MAKE) TESTROOT=$(RELEASE_ROOT) release + cd $(ERL_TOP)/lib && \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ + $(MAKE) TESTROOT=$(RELEASE_ROOT) release else - cd $(ERL_TOP)/lib && $(MAKE) BUILD_ALL=1 TESTROOT=$(RELEASE_ROOT) release + cd $(ERL_TOP)/lib && \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ + $(MAKE) BUILD_ALL=1 TESTROOT=$(RELEASE_ROOT) release ifneq ($(findstring vxworks,$(TARGET)),vxworks) @if test -f lib/dialyzer/SKIP ; then \ echo "=== Skipping dialyzer, reason:" ; \ @@ -205,11 +380,14 @@ ifneq ($(findstring vxworks,$(TARGET)),vxworks) echo "===" ; \ else \ cd $(ERL_TOP)/lib/dialyzer && \ - $(MAKE) BUILD_ALL=1 TESTROOT=$(RELEASE_ROOT) release ; \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ + $(MAKE) BUILD_ALL=1 TESTROOT=$(RELEASE_ROOT) release ; \ fi endif endif - cd $(ERL_TOP)/erts && $(MAKE) BUILD_ALL=1 TESTROOT=$(RELEASE_ROOT) release + cd $(ERL_TOP)/erts && \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ + $(MAKE) BUILD_ALL=1 TESTROOT=$(RELEASE_ROOT) release # --------------------------------------------------------------- # Target only used when building commercial ERTS patches @@ -353,7 +531,6 @@ secondary_bootstrap_copy: cp $$x $$TF; \ true; \ done - rm -f lib/hipe/ebin/*.beam # if test -f lib/hipe/ebin/hipe.beam ; then cp lib/hipe/ebin/*.beam $(BOOTSTRAP_ROOT)/bootstrap/lib/hipe/ebin; fi if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools ; fi if test ! -d $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/ebin ; then mkdir $(BOOTSTRAP_ROOT)/bootstrap/lib/parsetools/ebin ; fi @@ -654,9 +831,13 @@ primary_bootstrap_copy: KERNEL_PRELOAD = otp_ring0 init erl_prim_loader prim_inet prim_file zlib prim_zip erlang KERNEL_PRELOAD_BEAMS=$(KERNEL_PRELOAD:%=$(BOOTSTRAP_TOP)/lib/kernel/ebin/%.beam) +start_scripts: + @cd erts/start_scripts \ + && ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)$${PATH} $(MAKE) script + # Creates "erl" and "erlc" scripts in bin/erl which uses the libraries in lib local_setup: - @rm -f erts/bin/erl erts/bin/erlc erts/bin/cerl + @rm -f bin/erl bin/erlc bin/cerl @cd erts && \ ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)$${PATH} \ $(MAKE) local_setup @@ -729,7 +910,9 @@ bootstrap_nc_for_ne_no_debug_sym: # # Order is important here, don't change it! # -install: install.dirs install.emulator install.libs install.Install install.bin +INST_DEP += install.dirs install.emulator install.libs install.Install install.bin + +install: $(INST_DEP) install-docs: ERL_TOP=$(ERL_TOP) INSTALLROOT=$(ERLANG_LIBDIR) PATH=$(BOOT_PREFIX)$${PATH} \ @@ -738,17 +921,17 @@ install-docs: install.emulator: cd erts && \ - ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)$${PATH} \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ $(MAKE) TESTROOT=$(ERLANG_LIBDIR) release install.libs: ifeq ($(OTP_SMALL_BUILD),true) cd lib && \ - ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)$${PATH} \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ $(MAKE) TESTROOT=$(ERLANG_LIBDIR) release else cd lib && \ - ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)$${PATH} \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ $(MAKE) TESTROOT=$(ERLANG_LIBDIR) BUILD_ALL=true release @if test -f lib/dialyzer/SKIP ; then \ echo "=== Skipping dialyzer, reason:" ; \ @@ -756,22 +939,27 @@ else echo "===" ; \ else \ cd lib/dialyzer && \ - ERL_TOP=$(ERL_TOP) PATH=$(BOOT_PREFIX)$${PATH} \ + ERL_TOP=$(ERL_TOP) PATH=$(INST_PATH_PREFIX)$${PATH} \ $(MAKE) TESTROOT=$(ERLANG_LIBDIR) BUILD_ALL=true release ; \ fi endif install.Install: - cd $(ERLANG_LIBDIR) && ./Install -minimal $(ERLANG_LIBDIR) + (cd $(ERLANG_LIBDIR) \ + && ./Install $(INSTALL_CROSS) -minimal $(ERLANG_INST_LIBDIR)) # # Install erlang base public files # + install.bin: - for file in $(ERL_BASE_PUB_FILES); do \ - rm -f $(BINDIR)/$$file; \ - ${LN_S} $(ERLANG_BINDIR)/$$file $(BINDIR)/$$file; \ - done + @ DESTDIR="$(DESTDIR)" EXTRA_PREFIX="$(EXTRA_PREFIX)" \ + LN_S="$(LN_S)" BINDIR_SYMLINKS="$(BINDIR_SYMLINKS)" \ + $(ERL_TOP)/make/install_bin \ + --bindir "$(bindir)" \ + --erlang-bindir "$(erlang_bindir)" \ + --exec-prefix "$(exec_prefix)" \ + $(ERL_BASE_PUB_FILES) # # Directories needed before we can install @@ -781,6 +969,17 @@ install.dirs: ${MKSUBDIRS} $(ERLANG_LIBDIR) ${MKSUBDIRS} $(ERLANG_LIBDIR)/usr/lib +.PHONY: strict_install + +strict_install: $(IBIN_DIR) $(IBIN_FILES) + +$(IBIN_FILES): $(ERL_TOP)/make/unexpected_use + rm -f $@ + (cd $(dir $@) && $(LN_S) $(ERL_TOP)/make/unexpected_use $(notdir $@)) + +$(IBIN_DIR): + $(MKSUBDIRS) $@ + # ---------------------------------------------------------------------- .PHONY: clean eclean bootstrap_root_clean bootstrap_clean @@ -790,7 +989,7 @@ install.dirs: # clean: check_recreate_primary_bootstrap - rm -f *~ *.bak config.log config.status prebuilt.files + rm -f *~ *.bak config.log config.status prebuilt.files ibin/* find . -type f -name SKIP -print | xargs $(RM) cd erts && ERL_TOP=$(ERL_TOP) $(MAKE) clean cd lib && ERL_TOP=$(ERL_TOP) $(MAKE) clean BUILD_ALL=true @@ -13,7 +13,7 @@ The source code for Erlang/OTP can also be found in a Git repository: %CopyrightBegin% -Copyright Ericsson AB 1998-2009. All Rights Reserved. +Copyright Ericsson AB 1998-2010. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in @@ -221,9 +221,87 @@ Step 5 builds the Erlang/OTP system. On a fast computer, this will take about Erlang/OTP system which you can try by typing "bin/erl". This should start up Erlang/OTP and give you a prompt. -Step 6 is optional. It installs Erlang/OTP (if you change your -mind about where you wish to install you can rerun step 4, without -having to do step 5 again). +Step 6 is optional. It installs Erlang/OTP at a standardized location (if you +change your mind about where you wish to install you can rerun step 4, +without having to do step 5 again). + +Alternative installation procedures: +* Staged install using DESTDIR. You can perform the install phase in a + temporary directory and later move the installation into its correct location + by use of the DESTDIR variable: 'make DESTDIR=<tmp install dir> install' + The installation will be created in a location prefixed by $DESTDIR. It + can, however, not be run from there. It needs to be moved into the correct + location before it can be run. If DESTDIR have not been set but INSTALL_PREFIX + has been set, DESTDIR will be set to INSTALL_PREFIX. Note that INSTALL_PREFIX + in pre R13B04 was buggy and behaved as EXTRA_PREFIX (see below). There are + lots of areas of use for an installation procedure using DESTDIR, e.g. when + creating a package, cross compiling, etc. Here is an example where the + installation should be located under /opt/local: + $ ./configure --prefix=/opt/local + $ make + $ mkdir /tmp/erlang-build + $ make DESTDIR=/tmp/erlang-build install + $ cd /tmp/erlang-build/opt/local + $ # gnu-tar is used in this example + $ tar -zcf /home/me/my-erlang-build.tgz * + $ su - + Password: ***** + $ cd /opt/local + $ tar -zxf /home/me/my-erlang-build.tgz +* Test install using EXTRA_PREFIX. Note that EXTRA_PREFIX is similar to + DESTDIR, but it does not have the same effect as DESTDIR. The EXTRA_PREFIX + variable will prefix all installation paths, and the installation can and + have to be run from there. That is, it can be useful if you want to try the + system out, running test suites, etc, before doing the real install without + EXTRA_PREFIX. +* Install using the `release' target. Instead of doing `make install' you can + creat the installation in whatever directory you like using the `release' + target and run the `Install' script yourself. RELEASE_ROOT is used for + specifying the directory where the installation should be created. This is + what by default ends up under `/usr/local/lib/erlang' if you do the install + using `make install'. All installation paths provided in the `configure' + phase are ignored, as well as DESTDIR, and INSTALL_PREFIX. If you want links + from a specific `bin' directory to the installation you have to set those up + yourself. An example where Erlang/OTP should be located at /home/me/OTP: + $ ./configure + $ make + $ make RELEASE_ROOT=/home/me/OTP release + $ cd /home/me/OTP + $ ./Install -minimal /home/me/OTP + $ mkdir -p /home/me/bin + $ cd /home/me/bin + $ ln -s /home/me/OTP/bin/erl erl + $ ln -s /home/me/OTP/bin/erlc erlc + $ ln -s /home/me/OTP/bin/escript escript + ... + The `Install' script should currently be invoked as follows in the + directory where it resides: + `./Install [-cross] [-minimal|-sasl] <ERL_ROOT>' + where: + -minimal - Creates an installation that starts up a minimal amount + of applications, i.e., only kernel and stdlib are started. + The minimal system is normally enough. + -sasl - Creates an installation that also starts up the sasl + application. + -cross - For cross compilation. Informs the install script that it + is run on the build machine. + <ERL_ROOT> - The absolute path to the Erlang installation to use at run + time. This is often the same as the current working + directory, but does not have to be. It can follow any other + path through the file system to the same directory. + + If neither -minimal, nor -sasl is passed as argument you will be prompted. + +When doing `make install' and the default installation prefix is used, relative +symbolic links will be created from /usr/local/bin to all public executables in +the Erlang installation. The installation phase will try to create relative +symbolic links as long as `--bindir' and the Erlang bin directory, located under +`--libdir', both have `--exec-prefix' as prefix. Where `--exec-prefix' +defaults to `--prefix'. `--prefix', `--exec-prefix', `--bindir', and `--libdir' +are all arguments that can be passed to `configure'. One can however force +relative, or absolute links by passing BINDIR_SYMLINKS=relative|absolute +as arguments to make during the install phase. Note that such a request might +cause a failure if the request cannot be satisfied. The source tree is delivered with a lot of platform independent build results already pre-built. If you want to remove these pre-built diff --git a/TAR.include b/TAR.include index 6446b5de94..78be579869 100644 --- a/TAR.include +++ b/TAR.include @@ -4,12 +4,15 @@ Makefile.in README README.win32 configure.in +aclocal.m4 otp_build lib/Makefile lib/configure lib/configure.in +lib/configure.in.src prebuild.skip prebuild.delete +erl-build-tool-vars.sh bootstrap/lib/*/ebin bootstrap/lib/*/include bootstrap/bin/start*.script diff --git a/aclocal.m4 b/aclocal.m4 new file mode 120000 index 0000000000..32ceb26f5a --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1 @@ +erts/aclocal.m4
\ No newline at end of file diff --git a/configure.in b/configure.in index 7ddffd85ad..19ef304a1a 100644 --- a/configure.in +++ b/configure.in @@ -1,8 +1,28 @@ dnl Process this file with autoconf to produce a configure script. + +dnl %CopyrightBegin% +dnl +dnl Copyright Ericsson AB 1998-2010. All Rights Reserved. +dnl +dnl The contents of this file are subject to the Erlang Public License, +dnl Version 1.1, (the "License"); you may not use this file except in +dnl compliance with the License. You should have received a copy of the +dnl Erlang Public License along with this software. If not, it can be +dnl retrieved online at http://www.erlang.org/. +dnl +dnl Software distributed under the License is distributed on an "AS IS" +dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +dnl the License for the specific language governing rights and limitations +dnl under the License. +dnl +dnl %CopyrightEnd% + AC_PREREQ(2.8)dnl AC_INIT() +LM_PRECIOUS_VARS + default_cache_file=./config.cache if test "x$no_recursion" != "xyes" -a "x$OVERRIDE_CONFIG_CACHE" = "x"; then @@ -19,6 +39,18 @@ if test "x$no_recursion" != "xyes" -a "x$OVERRIDE_CONFIG_CACHE" = "x"; then cache_file=/dev/null fi +case "X$ERL_TOP" in + X) + ;; + X/*) + test -f $ERL_TOP/erts/emulator/beam/beam_emu.c || { + AC_MSG_ERROR([Invalid \$ERL_TOP]) + } + srcdir="$ERL_TOP";; + *) + AC_MSG_ERROR([\$ERL_TOP needs to be absolute]);; +esac + dnl How to set srcdir absolute is taken from the GNU Emacs distribution #### Make srcdir absolute, if it isn't already. It's important to #### avoid running the path through pwd unnecessary, since pwd can @@ -43,7 +75,7 @@ esac # # Now srcdir is absolute and also the top of Erlang distribution, ERL_TOP. # -ERL_TOP=${srcdir} +test "X$ERL_TOP" != "X" || ERL_TOP="$srcdir" AC_SUBST(ERL_TOP) dnl @@ -65,11 +97,35 @@ fi TARGET=$host AC_SUBST(TARGET) +if test X$cross_compiling = Xyes; then + CROSS_COMPILING=yes +else + CROSS_COMPILING=no +fi +AC_SUBST(CROSS_COMPILING) + + +AC_ARG_ENABLE(bootstrap-only, +[ --enable-bootstrap-only enable bootstrap only configuration], +[ if test "X$enableval" = "Xyes"; then + BOOTSTRAP_ONLY=yes + else + BOOTSTRAP_ONLY=no + fi +], +BOOTSTRAP_ONLY=no) + +AC_SUBST(BOOTSTRAP_ONLY) + +if test $CROSS_COMPILING = yes -a $BOOTSTRAP_ONLY = yes; then + AC_MSG_ERROR([Cannot both cross compile and build a bootstrap system]) +fi dnl Checks for programs. AC_PROG_CC - +AC_PROG_CXX +AC_CHECK_TOOL(LD, [ld]) # # We need GNU make, complain if we can't find it @@ -123,11 +179,17 @@ AC_PROG_LN_S AC_PROG_RANLIB # -# Get erts version from erts/vsn.mk +# Get erts version and otp release from erts/vsn.mk # -[ERTS=erts-`sed -n 's/^VSN[ ]*=[ ]*\([0-9.]\)/\1/p' < erts/vsn.mk`] +AC_MSG_CHECKING([ERTS version]) +[ERTS=erts-`sed -n "s/^VSN[ ]*=[ ]*\(.*\)/\1/p" < $ERL_TOP/erts/vsn.mk`] +AC_MSG_RESULT([$ERTS]) AC_SUBST(ERTS) +AC_MSG_CHECKING([OTP release]) +[OTP=OTP-`sed -n "s/^SYSTEM_VSN[ ]*=[ ]*\(.*\)/\1/p" < $ERL_TOP/erts/vsn.mk`] +AC_MSG_RESULT([$OTP]) +AC_SUBST(OTP) AC_ARG_ENABLE(threads, [ --enable-threads enable async thread support @@ -147,6 +209,11 @@ AC_ARG_ENABLE(kernel-poll, AC_ARG_ENABLE(hipe, [ --enable-hipe enable hipe support --disable-hipe disable hipe support]) + +AC_ARG_WITH(javac, +[ --with-javac=JAVAC specify Java compiler to use + --with-javac use a Java compiler if found (default) + --without-javac don't use any Java compiler]) AC_ARG_ENABLE(megaco_flex_scanner_lineno, [ --enable-megaco-flex-scanner-lineno enable megaco flex scanner lineno @@ -176,8 +243,8 @@ AC_ARG_ENABLE(erlang-mandir, [ --disable-erlang-mandir do not install Erlang man pages in a private directory], [ case "$enableval" in no) erl_mandir=$mandir ;; - *) erl_mandir='$(ERLANG_ILIBDIR)/man' ;; - esac ], erl_mandir='$(ERLANG_ILIBDIR)/man') + *) erl_mandir='$(erlang_libdir)/man' ;; + esac ], erl_mandir='$(erlang_libdir)/man') AC_SUBST(erl_mandir) AC_ARG_ENABLE(darwin-universal, diff --git a/erl-build-tool-vars.sh b/erl-build-tool-vars.sh new file mode 100644 index 0000000000..c6f25d7f79 --- /dev/null +++ b/erl-build-tool-vars.sh @@ -0,0 +1,28 @@ +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# + +# +# erl_build_tool_vars - Build tool configuration variables currently +# reqognized by `configure' scripts in OTP. +# +# NOTE: +# When updating, also update $ERL_TOP/xcomp/{README,erl-xcomp.conf.template}, +# and precious variables in $ERL_TOP/erts/aclocal.m4. +# +erl_build_tool_vars="CC CFLAGS STATIC_CFLAGS CFLAG_RUNTIME_LIBRARY_PATH CPP CPPFLAGS CXX CXXFLAGS LD LDFLAGS DED_LD DED_LDFLAGS DED_LD_FLAG_RUNTIME_LIBRARY_PATH RANLIB AR" diff --git a/erts/aclocal.m4 b/erts/aclocal.m4 index e9a0cc228f..8002ed3d34 100644 --- a/erts/aclocal.m4 +++ b/erts/aclocal.m4 @@ -1,19 +1,19 @@ dnl dnl %CopyrightBegin% -dnl -dnl Copyright Ericsson AB 1998-2009. All Rights Reserved. -dnl +dnl +dnl Copyright Ericsson AB 1998-2010. All Rights Reserved. +dnl dnl The contents of this file are subject to the Erlang Public License, dnl Version 1.1, (the "License"); you may not use this file except in dnl compliance with the License. You should have received a copy of the dnl Erlang Public License along with this software. If not, it can be dnl retrieved online at http://www.erlang.org/. -dnl +dnl dnl Software distributed under the License is distributed on an "AS IS" dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See dnl the License for the specific language governing rights and limitations dnl under the License. -dnl +dnl dnl %CopyrightEnd% dnl @@ -25,6 +25,63 @@ dnl could/should be part of autoconf are prefixed LM_, macros specific dnl to the Erlang system are prefixed ERL_. dnl +AC_DEFUN(LM_PRECIOUS_VARS, +[ + +dnl ERL_TOP +AC_ARG_VAR(ERL_TOP, [Erlang/OTP top source directory]) + +dnl Tools +AC_ARG_VAR(CC, [C compiler]) +AC_ARG_VAR(CFLAGS, [C compiler flags]) +AC_ARG_VAR(STATIC_CFLAGS, [C compiler static flags]) +AC_ARG_VAR(CFLAG_RUNTIME_LIBRARY_PATH, [runtime library path linker flag passed via C compiler]) +AC_ARG_VAR(CPP, [C/C++ preprocessor]) +AC_ARG_VAR(CPPFLAGS, [C/C++ preprocessor flags]) +AC_ARG_VAR(CXX, [C++ compiler]) +AC_ARG_VAR(CXXFLAGS, [C++ compiler flags]) +AC_ARG_VAR(LD, [linker (is often overridden by configure)]) +AC_ARG_VAR(LDFLAGS, [linker flags (can be risky to set since LD may be overriden by configure)]) +AC_ARG_VAR(DED_LD, [linker for Dynamic Erlang Drivers (set all DED_LD* variables or none)]) +AC_ARG_VAR(DED_LDFLAGS, [linker flags for Dynamic Erlang Drivers (set all DED_LD* variables or none)]) +AC_ARG_VAR(DED_LD_FLAG_RUNTIME_LIBRARY_PATH, [runtime library path linker flag for Dynamic Erlang Drivers (set all DED_LD* variables or none)]) +AC_ARG_VAR(RANLIB, [ranlib]) +AC_ARG_VAR(AR, [ar]) + +dnl Cross system root +AC_ARG_VAR(erl_xcomp_sysroot, [Absolute cross system root path (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_isysroot, [Absolute cross system root include path (only used when cross compiling)]) + +dnl Cross compilation variables +AC_ARG_VAR(erl_xcomp_bigendian, [big endian system: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_linux_clock_gettime_correction, [clock_gettime() can be used for time correction: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_linux_nptl, [have Native POSIX Thread Library: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_linux_usable_sigusrx, [SIGUSR1 and SIGUSR2 can be used: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_linux_usable_sigaltstack, [have working sigaltstack(): yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_poll, [have working poll(): yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_kqueue, [have working kqueue(): yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_putenv_copy, [putenv() stores key-value copy: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_reliable_fpe, [have reliable floating point exceptions: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_getaddrinfo, [have working getaddrinfo() for both IPv4 and IPv6: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_gethrvtime_procfs_ioctl, [have working gethrvtime() which can be used with procfs ioctl(): yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_clock_gettime_cpu_time, [clock_gettime() can be used for retrieving process CPU time: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_after_morecore_hook, [__after_morecore_hook can track malloc()s core memory usage: yes|no (only used when cross compiling)]) +AC_ARG_VAR(erl_xcomp_dlsym_brk_wrappers, [dlsym(RTLD_NEXT, _) brk wrappers can track malloc()s core memory usage: yes|no (only used when cross compiling)]) + +]) + +AC_DEFUN(ERL_XCOMP_SYSROOT_INIT, +[ +erl_xcomp_without_sysroot=no +if test "$cross_compiling" = "yes"; then + test "$erl_xcomp_sysroot" != "" || erl_xcomp_without_sysroot=yes + test "$erl_xcomp_isysroot" != "" || erl_xcomp_isysroot="$erl_xcomp_sysroot" +else + erl_xcomp_sysroot= + erl_xcomp_isysroot= +fi +]) + dnl ---------------------------------------------------------------------- dnl dnl LM_FIND_EMU_CC @@ -113,11 +170,15 @@ dnl ---------------------------------------------------------------------- dnl dnl LM_PROG_INSTALL_DIR dnl +dnl This macro may be used by any OTP application. +dnl dnl Figure out how to create directories with parents. dnl (In my opinion INSTALL_DIR is a bad name, MKSUBDIRS or something is better) dnl dnl We prefer 'install -d', but use 'mkdir -p' if it exists. dnl If none of these methods works, we give up. +dnl + AC_DEFUN(LM_PROG_INSTALL_DIR, [AC_CACHE_CHECK(how to create a directory including parents, @@ -412,189 +473,84 @@ fi dnl ---------------------------------------------------------------------- dnl -dnl ERL_FIND_ETHR_LIB +dnl LM_CHECK_THR_LIB dnl -dnl Find a thread library to use. Sets ETHR_LIBS to libraries to link -dnl with, ETHR_X_LIBS to extra libraries to link with (same as ETHR_LIBS -dnl except that the ethread lib itself is not included), ETHR_DEFS to -dnl defines to compile with, ETHR_THR_LIB_BASE to the name of the -dnl thread library which the ethread library is based on, and ETHR_LIB_NAME -dnl to the name of the library where the ethread implementation is located. -dnl ERL_FIND_ETHR_LIB currently searches for 'pthreads', and -dnl 'win32_threads'. If no thread library was found ETHR_LIBS, ETHR_X_LIBS, -dnl ETHR_DEFS, ETHR_THR_LIB_BASE, and ETHR_LIB_NAME are all set to the -dnl empty string. +dnl This macro may be used by any OTP application. +dnl +dnl LM_CHECK_THR_LIB sets THR_LIBS, THR_DEFS, and THR_LIB_NAME. It also +dnl checks for some pthread headers which will appear in DEFS or config.h. dnl -AC_DEFUN(ERL_FIND_ETHR_LIB, +AC_DEFUN(LM_CHECK_THR_LIB, [ -ethr_modified_default_stack_size= - -dnl Name of lib where ethread implementation is located -ethr_lib_name=ethread - -ETHR_THR_LIB_BASE= -ETHR_THR_LIB_BASE_NAME= -ETHR_X_LIBS= -ETHR_LIBS= -ETHR_LIB_NAME= -ETHR_DEFS= - -dnl if test "x$host_os" = "x"; then -dnl AC_CANONICAL_HOST -dnl fi - dnl win32? AC_MSG_CHECKING([for native win32 threads]) if test "X$host_os" = "Xwin32"; then AC_MSG_RESULT(yes) - # * _WIN32_WINNT >= 0x0400 is needed for - # TryEnterCriticalSection - # * _WIN32_WINNT >= 0x0403 is needed for - # InitializeCriticalSectionAndSpinCount - # The ethread lib will refuse to build if _WIN32_WINNT < 0x0403. - # - # -D_WIN32_WINNT should have been defined in $CPPFLAGS; fetch it - # and save it in ETHR_DEFS. - found_win32_winnt=no - for cppflag in $CPPFLAGS; do - case $cppflag in - -DWINVER*) - ETHR_DEFS="$ETHR_DEFS $cppflag" - ;; - -D_WIN32_WINNT*) - ETHR_DEFS="$ETHR_DEFS $cppflag" - found_win32_winnt=yes - ;; - *) - ;; - esac - done - if test $found_win32_winnt = no; then - AC_MSG_ERROR([-D_WIN32_WINNT missing in CPPFLAGS]) - fi - ETHR_X_LIBS= - ETHR_THR_LIB_BASE=win32_threads - AC_DEFINE(ETHR_WIN32_THREADS, 1, [Define if you have win32 threads]) + THR_DEFS="-DWIN32_THREADS" + THR_LIBS= + THR_LIB_NAME=win32_threads else AC_MSG_RESULT(no) + THR_DEFS= + THR_LIBS= + THR_LIB_NAME= dnl Try to find POSIX threads dnl The usual pthread lib... - AC_CHECK_LIB(pthread, pthread_create, ETHR_X_LIBS="-lpthread") + AC_CHECK_LIB(pthread, pthread_create, THR_LIBS="-lpthread") dnl FreeBSD has pthreads in special c library, c_r... - if test "x$ETHR_X_LIBS" = "x"; then - AC_CHECK_LIB(c_r, pthread_create, ETHR_X_LIBS="-lc_r") + if test "x$THR_LIBS" = "x"; then + AC_CHECK_LIB(c_r, pthread_create, THR_LIBS="-lc_r") fi dnl On ofs1 the '-pthread' switch should be used - if test "x$ETHR_X_LIBS" = "x"; then + if test "x$THR_LIBS" = "x"; then AC_MSG_CHECKING([if the '-pthread' switch can be used]) saved_cflags=$CFLAGS CFLAGS="$CFLAGS -pthread" AC_TRY_LINK([#include <pthread.h>], pthread_create((void*)0,(void*)0,(void*)0,(void*)0);, - [ETHR_DEFS="-pthread" - ETHR_X_LIBS="-pthread"]) + [THR_DEFS="-pthread" + THR_LIBS="-pthread"]) CFLAGS=$saved_cflags - if test "x$ETHR_X_LIBS" != "x"; then + if test "x$THR_LIBS" != "x"; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi fi - if test "x$ETHR_X_LIBS" != "x"; then - ETHR_DEFS="$ETHR_DEFS -D_THREAD_SAFE -D_REENTRANT" - ETHR_THR_LIB_BASE=pthread - AC_DEFINE(ETHR_PTHREADS, 1, [Define if you have pthreads]) + if test "x$THR_LIBS" != "x"; then + THR_DEFS="$THR_DEFS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS" + THR_LIB_NAME=pthread case $host_os in - openbsd*) - # The default stack size is insufficient for our needs - # on OpenBSD. We increase it to 256 kilo words. - ethr_modified_default_stack_size=256;; solaris*) - ETHR_DEFS="$ETHR_DEFS -D_POSIX_PTHREAD_SEMANTICS" ;; + THR_DEFS="$THR_DEFS -D_POSIX_PTHREAD_SEMANTICS" ;; linux*) - ETHR_DEFS="$ETHR_DEFS -D_POSIX_THREAD_SAFE_FUNCTIONS -D_GNU_SOURCE" - - if test X$cross_compiling = Xyes; then - if test "X$erl_xcomp_linux_usable_sigusrx" = "X"; then - usable_sigusrx=yes - usable_sigusrx_guessed=yes - else - usable_sigusrx=$erl_xcomp_linux_usable_sigusrx - usable_sigusrx_guessed=no - fi - if test "X$erl_xcomp_linux_usable_sigaltstack" = "X"; then - usable_sigaltstack=yes - usable_sigaltstack_guessed=yes - else - usable_sigaltstack=$erl_xcomp_linux_usable_sigaltstack - usable_sigaltstack_guessed=no - fi - else - # FIXME: Test for actual problems instead of kernel versions - linux_kernel_vsn_=`uname -r` - case $linux_kernel_vsn_ in - [[0-1]].*|2.[[0-1]]|2.[[0-1]].*) - usable_sigusrx=no - usable_sigaltstack=no;; - 2.[[2-3]]|2.[[2-3]].*) - usable_sigusrx=yes - usable_sigaltstack=no;; - *) - usable_sigusrx=yes - usable_sigaltstack=yes;; - esac - usable_sigusrx_guessed=no - usable_sigaltstack_guessed=no - fi - - AC_MSG_CHECKING(if SIGUSR1 and SIGUSR2 can be used) - AC_MSG_RESULT($usable_sigusrx) - if test $usable_sigusrx_guessed = yes; then - AC_MSG_WARN([result $usable_sigusrx guessed because of cross compilation]) - fi - if test $usable_sigusrx = no; then - ETHR_DEFS="$ETHR_DEFS -DETHR_UNUSABLE_SIGUSRX" - fi - - AC_MSG_CHECKING(if sigaltstack can be used) - AC_MSG_RESULT($usable_sigaltstack) - if test $usable_sigaltstack_guessed = yes; then - AC_MSG_WARN([result $usable_sigaltstack guessed because of cross compilation]) - fi - if test $usable_sigaltstack = no; then - ETHR_DEFS="$ETHR_DEFS -DETHR_UNUSABLE_SIGALTSTACK" - fi + THR_DEFS="$THR_DEFS -D_POSIX_THREAD_SAFE_FUNCTIONS" AC_MSG_CHECKING(for Native POSIX Thread Library) if test X$cross_compiling = Xyes; then - if test "X$erl_xcomp_linux_nptl" = "X"; then - nptl=yes - nptl_guessed=yes - else - nptl=$erl_xcomp_linux_nptl - nptl_guessed=no - fi + case X$erl_xcomp_linux_nptl in + X) nptl=cross;; + Xyes|Xno) nptl=$erl_xcomp_linux_nptl;; + *) AC_MSG_ERROR([Bad erl_xcomp_linux_nptl value: $erl_xcomp_linux_nptl]);; + esac else case `getconf GNU_LIBPTHREAD_VERSION 2>/dev/null` in nptl*) nptl=yes;; NPTL*) nptl=yes;; *) nptl=no;; esac - nptl_guessed=no fi AC_MSG_RESULT($nptl) - if test $nptl_guessed = yes; then - AC_MSG_WARN([result $nptl guessed because of cross compilation]) - fi - if test $nptl = yes; then - ETHR_THR_LIB_BASE_NAME=nptl + if test $nptl = cross; then + nptl=yes + AC_MSG_WARN([result yes guessed because of cross compilation]) fi if test $nptl = yes; then need_nptl_incldir=no @@ -604,6 +560,11 @@ dnl On ofs1 the '-pthread' switch should be used nptl_path="$C_INCLUDE_PATH:$CPATH" if test X$cross_compiling != Xyes; then nptl_path="$nptl_path:/usr/local/include:/usr/include" + else + IROOT="$erl_xcomp_isysroot" + test "$IROOT" != "" || IROOT="$erl_xcomp_sysroot" + test "$IROOT" != "" || AC_MSG_ERROR([Don't know where to search for includes! Please set erl_xcomp_isysroot]) + nptl_path="$nptl_path:$IROOT/usr/local/include:$IROOT/usr/include" fi nptl_ws_path= save_ifs="$IFS"; IFS=":" @@ -618,7 +579,7 @@ dnl On ofs1 the '-pthread' switch should be used AC_CHECK_HEADER($dir/nptl/pthread.h, nptl_incldir=$dir/nptl) if test "x$nptl_incldir" != "x"; then - ETHR_DEFS="$ETHR_DEFS -isystem $nptl_incldir" + THR_DEFS="$THR_DEFS -isystem $nptl_incldir" break fi done @@ -627,6 +588,158 @@ dnl On ofs1 the '-pthread' switch should be used fi fi fi + ;; + *) ;; + esac + + dnl We sometimes need THR_DEFS in order to find certain headers + dnl (at least for pthread.h on osf1). + saved_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $THR_DEFS" + + dnl + dnl Check for headers + dnl + + AC_CHECK_HEADER(pthread.h, + AC_DEFINE(HAVE_PTHREAD_H, 1, \ +[Define if you have the <pthread.h> header file.])) + + dnl Some Linuxes have <pthread/mit/pthread.h> instead of <pthread.h> + AC_CHECK_HEADER(pthread/mit/pthread.h, \ + AC_DEFINE(HAVE_MIT_PTHREAD_H, 1, \ +[Define if the pthread.h header file is in pthread/mit directory.])) + + dnl restore CPPFLAGS + CPPFLAGS=$saved_cppflags + + fi +fi + +]) + +dnl ---------------------------------------------------------------------- +dnl +dnl ERL_FIND_ETHR_LIB +dnl +dnl NOTE! This macro may be changed at any time! Should *only* be used by +dnl ERTS! +dnl +dnl Find a thread library to use. Sets ETHR_LIBS to libraries to link +dnl with, ETHR_X_LIBS to extra libraries to link with (same as ETHR_LIBS +dnl except that the ethread lib itself is not included), ETHR_DEFS to +dnl defines to compile with, ETHR_THR_LIB_BASE to the name of the +dnl thread library which the ethread library is based on, and ETHR_LIB_NAME +dnl to the name of the library where the ethread implementation is located. +dnl ERL_FIND_ETHR_LIB currently searches for 'pthreads', and +dnl 'win32_threads'. If no thread library was found ETHR_LIBS, ETHR_X_LIBS, +dnl ETHR_DEFS, ETHR_THR_LIB_BASE, and ETHR_LIB_NAME are all set to the +dnl empty string. +dnl + +AC_DEFUN(ERL_FIND_ETHR_LIB, +[ + +LM_CHECK_THR_LIB + +ETHR_THR_LIB_BASE="$THR_LIB_NAME" +ETHR_DEFS="$THR_DEFS" +ETHR_X_LIBS="$THR_LIBS" +ETHR_LIBS= +ETHR_LIB_NAME= + +ethr_modified_default_stack_size= + +dnl Name of lib where ethread implementation is located +ethr_lib_name=ethread + +case "$THR_LIB_NAME" in + + win32_threads) + # * _WIN32_WINNT >= 0x0400 is needed for + # TryEnterCriticalSection + # * _WIN32_WINNT >= 0x0403 is needed for + # InitializeCriticalSectionAndSpinCount + # The ethread lib will refuse to build if _WIN32_WINNT < 0x0403. + # + # -D_WIN32_WINNT should have been defined in $CPPFLAGS; fetch it + # and save it in ETHR_DEFS. + found_win32_winnt=no + for cppflag in $CPPFLAGS; do + case $cppflag in + -DWINVER*) + ETHR_DEFS="$ETHR_DEFS $cppflag" + ;; + -D_WIN32_WINNT*) + ETHR_DEFS="$ETHR_DEFS $cppflag" + found_win32_winnt=yes + ;; + *) + ;; + esac + done + if test $found_win32_winnt = no; then + AC_MSG_ERROR([-D_WIN32_WINNT missing in CPPFLAGS]) + fi + AC_DEFINE(ETHR_WIN32_THREADS, 1, [Define if you have win32 threads]) + ;; + + pthread) + AC_DEFINE(ETHR_PTHREADS, 1, [Define if you have pthreads]) + case $host_os in + openbsd*) + # The default stack size is insufficient for our needs + # on OpenBSD. We increase it to 256 kilo words. + ethr_modified_default_stack_size=256;; + linux*) + ETHR_DEFS="$ETHR_DEFS -D_GNU_SOURCE" + + if test X$cross_compiling = Xyes; then + case X$erl_xcomp_linux_usable_sigusrx in + X) usable_sigusrx=cross;; + Xyes|Xno) usable_sigusrx=$erl_xcomp_linux_usable_sigusrx;; + *) AC_MSG_ERROR([Bad erl_xcomp_linux_usable_sigusrx value: $erl_xcomp_linux_usable_sigusrx]);; + esac + case X$erl_xcomp_linux_usable_sigaltstack in + X) usable_sigaltstack=cross;; + Xyes|Xno) usable_sigaltstack=$erl_xcomp_linux_usable_sigaltstack;; + *) AC_MSG_ERROR([Bad erl_xcomp_linux_usable_sigaltstack value: $erl_xcomp_linux_usable_sigaltstack]);; + esac + else + # FIXME: Test for actual problems instead of kernel versions + linux_kernel_vsn_=`uname -r` + case $linux_kernel_vsn_ in + [[0-1]].*|2.[[0-1]]|2.[[0-1]].*) + usable_sigusrx=no + usable_sigaltstack=no;; + 2.[[2-3]]|2.[[2-3]].*) + usable_sigusrx=yes + usable_sigaltstack=no;; + *) + usable_sigusrx=yes + usable_sigaltstack=yes;; + esac + fi + + AC_MSG_CHECKING(if SIGUSR1 and SIGUSR2 can be used) + AC_MSG_RESULT($usable_sigusrx) + if test $usable_sigusrx = cross; then + usable_sigusrx=yes + AC_MSG_WARN([result yes guessed because of cross compilation]) + fi + if test $usable_sigusrx = no; then + ETHR_DEFS="$ETHR_DEFS -DETHR_UNUSABLE_SIGUSRX" + fi + + AC_MSG_CHECKING(if sigaltstack can be used) + AC_MSG_RESULT($usable_sigaltstack) + if test $usable_sigaltstack = cross; then + usable_sigaltstack=yes + AC_MSG_WARN([result yes guessed because of cross compilation]) + fi + if test $usable_sigaltstack = no; then + ETHR_DEFS="$ETHR_DEFS -DETHR_UNUSABLE_SIGALTSTACK" + fi AC_DEFINE(ETHR_INIT_MUTEX_IN_CHILD_AT_FORK, 1, \ [Define if mutexes should be reinitialized (instead of unlocked) in child at fork.]) ;; @@ -635,20 +748,18 @@ dnl On ofs1 the '-pthread' switch should be used dnl We sometimes need ETHR_DEFS in order to find certain headers dnl (at least for pthread.h on osf1). - saved_cppflags=$CPPFLAGS + saved_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $ETHR_DEFS" dnl We need the thread library in order to find some functions - saved_libs=$LIBS + saved_libs="$LIBS" LIBS="$LIBS $ETHR_X_LIBS" - - dnl dnl Check for headers dnl - AC_CHECK_HEADER(pthread.h, + AC_CHECK_HEADER(pthread.h, \ AC_DEFINE(ETHR_HAVE_PTHREAD_H, 1, \ [Define if you have the <pthread.h> header file.])) @@ -684,8 +795,8 @@ dnl On ofs1 the '-pthread' switch should be used AC_CHECK_FUNC(pthread_spin_lock, \ AC_DEFINE(ETHR_HAVE_PTHREAD_SPIN_LOCK, 1, \ [Define if you have the pthread_spin_lock function.])) - case $host_os in - linux*) # Writers may get starved + case "$force_linux_pthread_rwlocks-$host_os" in + yes-linux*) # Writers may get starved # TODO: write a test that tests the implementation ;; *) @@ -702,9 +813,10 @@ dnl On ofs1 the '-pthread' switch should be used LIBS=$saved_libs dnl restore CPPFLAGS CPPFLAGS=$saved_cppflags - - fi -fi + ;; + *) + ;; +esac AC_MSG_CHECKING([whether default stack size should be modified]) if test "x$ethr_modified_default_stack_size" != "x"; then @@ -735,7 +847,6 @@ AC_SUBST(ETHR_LIBS) AC_SUBST(ETHR_LIB_NAME) AC_SUBST(ETHR_DEFS) AC_SUBST(ETHR_THR_LIB_BASE) -AC_SUBST(ETHR_THR_LIB_BASE_NAME) ]) @@ -789,12 +900,6 @@ case $clock_gettime_correction in unknown) if test x$clock_gettime_compiles = xyes; then if test X$cross_compiling != Xyes; then - if test "X$erl_xcomp_linux_clock_gettime_correction" = "Xno"; then - erl_cv_time_correction=times - else - erl_cv_time_correction=clock_gettime - fi - else linux_kernel_vsn_=`uname -r` case $linux_kernel_vsn_ in [[0-1]].*|2.[[0-5]]|2.[[0-5]].*) @@ -802,6 +907,19 @@ case $clock_gettime_correction in *) erl_cv_time_correction=clock_gettime;; esac + else + case X$erl_xcomp_linux_clock_gettime_correction in + X) + erl_cv_time_correction=cross;; + Xyes|Xno) + if test $erl_xcomp_linux_clock_gettime_correction = yes; then + erl_cv_time_correction=clock_gettime + else + erl_cv_time_correction=times + fi;; + *) + AC_MSG_ERROR([Bad erl_xcomp_linux_clock_gettime_correction value: $erl_xcomp_linux_clock_gettime_correction]);; + esac fi else erl_cv_time_correction=times @@ -826,8 +944,9 @@ case $erl_cv_time_correction in AC_DEFINE(CORRECT_USING_TIMES,[], [Define if you do not have a high-res. timer & want to use times() instead]) ;; - clock_gettime) - if test X$cross_compiling = Xyes -a X$erl_xcomp_linux_clock_gettime_correction = X; then + clock_gettime|cross) + if test $erl_cv_time_correction = cross; then + erl_cv_time_correction=clock_gettime AC_MSG_WARN([result clock_gettime guessed because of cross compilation]) fi xrtlib="-lrt" @@ -892,11 +1011,20 @@ int main() { ], erl_gethrvtime=procfs_ioctl, erl_gethrvtime=false, -if test "x$erl_xcomp_gethrvtime_procfs_ioctl" = "xyes"; then - erl_gethrvtime=procfs_ioctl -else - erl_gethrvtime=false -fi) +[ +case X$erl_xcomp_gethrvtime_procfs_ioctl in + X) + erl_gethrvtime=cross;; + Xyes|Xno) + if test $erl_xcomp_gethrvtime_procfs_ioctl = yes; then + erl_gethrvtime=procfs_ioctl + else + erl_gethrvtime=false + fi;; + *) + AC_MSG_ERROR([Bad erl_xcomp_gethrvtime_procfs_ioctl value: $erl_xcomp_gethrvtime_procfs_ioctl]);; +esac +]) case $erl_gethrvtime in procfs_ioctl) @@ -905,7 +1033,13 @@ case $erl_gethrvtime in AC_MSG_RESULT(uses ioctl to procfs) ;; *) - AC_MSG_RESULT(not working) + if test $erl_gethrvtime = cross; then + erl_gethrvtime=false + AC_MSG_RESULT(cross) + AC_MSG_WARN([result 'not working' guessed because of cross compilation]) + else + AC_MSG_RESULT(not working) + fi dnl dnl Check if clock_gettime (linux) is working @@ -938,29 +1072,35 @@ case $erl_gethrvtime in exit(0); return 0; } ], - erl_clock_gettime=true, - erl_clock_gettime=false, - if test "x$erl_xcomp_clock_gettime" = "xyes"; then - erl_clock_gettime=true - else - erl_clock_gettime=false - fi) + erl_clock_gettime=yes, + erl_clock_gettime=no, + [ + case X$erl_xcomp_clock_gettime_cpu_time in + X) erl_clock_gettime=cross;; + Xyes|Xno) erl_clock_gettime=$erl_xcomp_clock_gettime_cpu_time;; + *) AC_MSG_ERROR([Bad erl_xcomp_clock_gettime_cpu_time value: $erl_xcomp_clock_gettime_cpu_time]);; + esac + ]) LIBS=$save_libs case $host_os in linux*) - AC_MSG_RESULT([not stable, disabled]) + AC_MSG_RESULT([no; not stable]) LIBRT=$xrtlib ;; *) + AC_MSG_RESULT($erl_clock_gettime) case $erl_clock_gettime in - true) + yes) AC_DEFINE(HAVE_CLOCK_GETTIME,[], [define if clock_gettime() works for getting process time]) - AC_MSG_RESULT(using clock_gettime) LIBRT=-lrt ;; + cross) + erl_clock_gettime=no + AC_MSG_WARN([result no guessed because of cross compilation]) + LIBRT=$xrtlib + ;; *) - AC_MSG_RESULT(not working) LIBRT=$xrtlib ;; esac diff --git a/erts/autoconf/win32.config.cache b/erts/autoconf/win32.config.cache index 51cfa13785..31dfe510cd 100755 --- a/erts/autoconf/win32.config.cache +++ b/erts/autoconf/win32.config.cache @@ -186,10 +186,12 @@ ac_cv_prog_CC=${ac_cv_prog_CC=cc.sh} ac_cv_prog_CPP=${ac_cv_prog_CPP='cc.sh -E'} ac_cv_prog_CXX=${ac_cv_prog_CXX=cc.sh} ac_cv_prog_DED_LD=${ac_cv_prog_DED_LD=ld.sh} +ac_cv_prog_ac_ct_DED_LD=${ac_cv_prog_ac_ct_DED_LD=ld.sh} ac_cv_prog_M4=${ac_cv_prog_M4=m4} ac_cv_prog_PERL=${ac_cv_prog_PERL=perl} ac_cv_prog_RANLIB=${ac_cv_prog_RANLIB=true} -ac_cv_prog_ac_ct_LD=${ac_cv_prog_ac_ct_LD=ld} +ac_cv_prog_LD=${ac_cv_prog_LD=ld.sh} +ac_cv_prog_ac_ct_LD=${ac_cv_prog_ac_ct_LD=ld.sh} ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} ac_cv_prog_cc_stdc=${ac_cv_prog_cc_stdc=} ac_cv_prog_cxx_g=${ac_cv_prog_cxx_g=no} diff --git a/erts/configure.in b/erts/configure.in index 48d236351b..1892a7a1f4 100644 --- a/erts/configure.in +++ b/erts/configure.in @@ -23,6 +23,8 @@ dnl autoconf convention that should be cleaned up. AC_INIT(vsn.mk) AC_PREREQ(2.59) +LM_PRECIOUS_VARS + if test "x$no_recursion" != "xyes" -a "x$OVERRIDE_CONFIG_CACHE" = "x"; then # We do not want to use a common cache! cache_file=/dev/null @@ -84,6 +86,9 @@ if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then else host_os=$host fi + +ERL_XCOMP_SYSROOT_INIT + AC_ISC_POSIX AC_CONFIG_HEADER($host/config.h:config.h.in include/internal/$host/ethread_header_config.h:include/internal/ethread_header_config.h.in include/$host/erl_int_sizes_config.h:include/erl_int_sizes_config.h.in) @@ -94,6 +99,22 @@ enable_child_waiter_thread=no ENABLE_ALLOC_TYPE_VARS= AC_SUBST(ENABLE_ALLOC_TYPE_VARS) +AC_ARG_ENABLE(bootstrap-only, +[ --enable-bootstrap-only enable bootstrap only configuration], +[ if test "X$enableval" = "Xyes"; then + # Disable stuff not necessary in a bootstrap only system in order + # to speed up things by reducing the amount of stuff needing to be + # built... + enable_threads=no + enable_smp_support=no + with_termcap=no + with_ssl=no + with_ssl_zlib=no + enable_hipe=no + enable_sctp=no + fi +]) + AC_ARG_ENABLE(threads, [ --enable-threads enable async thread support --disable-threads disable async thread support], @@ -734,8 +755,17 @@ HCC='$(CC)' AC_SUBST(HCC) HCFLAGS="" AC_SUBST(HCFLAGS) HCFLAGS="$HCFLAGS -I${ERL_TOP}/erts/$host" vxworks_reclaim="" AC_SUBST(vxworks_reclaim) -LD='$(CC)' AC_SUBST(LD) +dnl We want to use $(CC) as linker for the emulator regardless of +dnl what the user say. This might not be the right way to do it, but +dnl for now that is the way we do it. +USER_LD=$LD +USER_LDFLAGS="$LDFLAGS" +LD='$(CC)' +AC_SUBST(LD) + +LDFLAG_RUNTIME_LIBRARY_PATH="$CFLAG_RUNTIME_LIBRARY_PATH" +AC_SUBST(LDFLAG_RUNTIME_LIBRARY_PATH) dnl Check for cygwin and object/exe files extension dnl AC_CYGWIN is deprecated @@ -1474,9 +1504,11 @@ fi fi -if test "x$erl_xcomp_bigendian" != "x"; then - ac_cv_c_bigendian=$erl_xcomp_bigendian -fi +case X$erl_xcomp_bigendian in + X) ;; + Xyes|Xno) ac_cv_c_bigendian=$erl_xcomp_bigendian;; + *) AC_MSG_ERROR([Bad erl_xcomp_bigendian value: $erl_xcomp_bigendian]);; +esac AC_C_BIGENDIAN @@ -1514,18 +1546,22 @@ int main(int argc, char **argv) { } } ],, have_getaddrinfo=no, - if test "x$erl_xcomp_getaddrinfo" != "x"; then - have_getaddrinfo=$erl_xcomp_getaddrinfo - else - have_getaddrinfo=no - fi) - if test $have_getaddrinfo = yes; then - AC_MSG_RESULT(yes) + [ + case X$erl_xcomp_getaddrinfo in + X) have_getaddrinfo=cross;; + Xyes|Xno) have_getaddrinfo=$erl_xcomp_getaddrinfo;; + *) AC_MSG_ERROR([Bad erl_xcomp_getaddrinfo value: $erl_xcomp_getaddrinfo]);; + esac + ]) + AC_MSG_RESULT($have_getaddrinfo) + case $have_getaddrinfo in + yes) AC_DEFINE(HAVE_GETADDRINFO, [1], - [Define to 1 if you have a good `getaddrinfo' function.]) - else - AC_MSG_RESULT(no) - fi + [Define to 1 if you have a good `getaddrinfo' function.]);; + cross) + AC_MSG_WARN([result no guessed because of cross compilation]);; + *) ;; + esac fi AC_CHECK_FUNCS([getnameinfo getipnodebyname getipnodebyaddr gethostbyname2]) @@ -1807,16 +1843,21 @@ int main(void) ], erts_cv___after_morecore_hook_can_track_malloc=yes, erts_cv___after_morecore_hook_can_track_malloc=no, - if test "x$erl_xcomp_after_morecore_hook" != "x"; then - erts_cv___after_morecore_hook_can_track_malloc=$erl_xcomp_after_morecore_hook - else - erts_cv___after_morecore_hook_can_track_malloc=no - fi)]) + [ + case X$erl_xcomp_after_morecore_hook in + X) erts_cv___after_morecore_hook_can_track_malloc=cross;; + Xyes|Xno) erts_cv___after_morecore_hook_can_track_malloc=$erl_xcomp_after_morecore_hook;; + *) AC_MSG_ERROR([Bad erl_xcomp_after_morecore_hook value: $erl_xcomp_after_morecore_hook]);; + esac + ] + )]) -if test $erts_cv___after_morecore_hook_can_track_malloc = yes; then - AC_DEFINE(ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC, 1, \ -[Define if __after_morecore_hook can track malloc()s core memory use.]) -fi +case $erts_cv___after_morecore_hook_can_track_malloc in + yes) AC_DEFINE(ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC, 1, \ +[Define if __after_morecore_hook can track malloc()s core memory use.]);; + cross) AC_MSG_WARN([result no guessed because of cross compilation]);; + *) ;; +esac if test "x$ac_cv_func_sbrk" = "xyes"; then AC_CACHE_CHECK([types of sbrk()s return value and argument], @@ -2069,15 +2110,21 @@ int main(void) ], erts_cv_brk_wrappers_can_track_malloc=yes, erts_cv_brk_wrappers_can_track_malloc=no, - if test "x$erl_xcomp_dlsym_brk_wrappers" != "x"; then - erts_cv_brk_wrappers_can_track_malloc=$erl_xcomp_dlsym_brk_wrappers - else - erts_cv_brk_wrappers_can_track_malloc=no - fi)]) - if test $erts_cv_brk_wrappers_can_track_malloc = yes; then + [ + case X$erl_xcomp_dlsym_brk_wrappers in + X) erts_cv_brk_wrappers_can_track_malloc=cross;; + Xyes|Xno) erts_cv_brk_wrappers_can_track_malloc=$erl_xcomp_dlsym_brk_wrappers;; + *) AC_MSG_ERROR([Bad erl_xcomp_dlsym_brk_wrappers value: $erl_xcomp_dlsym_brk_wrappers]);; + esac + ])]) + case $erts_cv_brk_wrappers_can_track_malloc in + yes) AC_DEFINE(ERTS_BRK_WRAPPERS_CAN_TRACK_MALLOC, 1, \ -[Define if sbrk()/brk() wrappers can track malloc()s core memory use]) - fi +[Define if sbrk()/brk() wrappers can track malloc()s core memory use]);; + cross) + AC_MSG_WARN([result no guessed because of cross compilation]);; + *) ;; + esac fi dnl Restore LIBS @@ -2090,7 +2137,7 @@ LM_SYS_MULTICAST ERL_TIME_CORRECTION AC_CHECK_PROG(M4, m4, m4) dnl check to auto-enable hipe here... -if test X${enable_hipe} != Xno; then +if test "$cross_compiling" != "yes" && test X${enable_hipe} != Xno; then if test -z "$M4"; then enable_hipe=no AC_MSG_NOTICE([HiPE disabled as no valid m4 is found in PATH]) @@ -2657,21 +2704,26 @@ int main(int argc, const char **argv) return do_check(); } ], -erl_ok=reliable, -erl_ok=unreliable, -if test "x$erl_xcomp_reliable_fpe" = "xyes"; then - erl_ok=reliable -else - erl_ok=unreliable -fi) - if test $erl_ok = unreliable; then - AC_DEFINE(NO_FPE_SIGNALS,[], - [Define if floating points exceptions are non-existing/not reliable]) - AC_MSG_RESULT([unreliable; testing in software instead]) - FPE=unreliable - else +erl_ok=yes, +erl_ok=no, +[ +case X$erl_xcomp_reliable_fpe in + X) erl_ok=cross;; + Xyes|Xno) erl_ok=$erl_xcomp_reliable_fpe;; + *) AC_MSG_ERROR([Bad erl_xcomp_reliable_fpe value: $erl_xcomp_reliable_fpe]);; +esac +]) + + if test $erl_ok = yes; then + FPE=reliable AC_MSG_RESULT(reliable) - FPE=reliable + else + FPE=unreliable + AC_MSG_RESULT([unreliable; testing in software instead]) + AC_DEFINE(NO_FPE_SIGNALS,[],[Define if floating points exceptions are non-existing/not reliable]) + if test $erl_ok = cross; then + AC_MSG_WARN([result unreliable guessed because of cross compilation]) + fi fi fi @@ -2837,45 +2889,46 @@ main() ], poll_works=yes, poll_works=no, -poll_works=$erl_xcomp_poll) - -if test "X$poll_works" != "X"; then - guessed_poll_works=no -else - guessed_poll_works=yes - case $host_os in - darwin*) poll_works=no;; - *) poll_works=yes;; - esac -fi +[ +case X$erl_xcomp_poll in + X) poll_works=cross;; + Xyes|Xno) poll_works=$erl_xcomp_poll;; + *) AC_MSG_ERROR([Bad erl_xcomp_poll value: $erl_xcomp_poll]);; +esac +]) fi -case $poll_works in -yes) - AC_DEFINE(ERTS_USE_POLL, 1, [Define if poll() should be used instead of select()]) - AC_MSG_RESULT(yes) - ;; -*) +case $poll_works-$host_os in + no-*|cross-darwin*) # # The USE_SELECT define is used by the ssl application (should not # be used by erts). # - poll_works=no AC_DEFINE(USE_SELECT, 1, [Define if select() should be used instead of poll()]) - AC_MSG_RESULT([no; non-existing, broken, or based on select()]) - ;; + if test $poll_works = cross; then + AC_MSG_RESULT(cross) + AC_MSG_WARN([result no guessed based on OS ($host_os) because of cross compilation]) + else + AC_MSG_RESULT([no; non-existing, broken, or based on select()]) + fi + poll_works=no;; + yes-*|cross-*) + AC_DEFINE(ERTS_USE_POLL, 1, [Define if poll() should be used instead of select()]) + if test $poll_works = cross; then + AC_MSG_RESULT(cross) + AC_MSG_WARN([result yes guessed based on OS ($host_os) because of cross compilation]) + else + AC_MSG_RESULT(yes) + fi + poll_works=yes;; esac -if test $guessed_poll_works = yes; then - AC_MSG_WARN([result $poll_works guessed based on OS ($host_os) because of cross compilation]) -fi - # # If kqueue() found, check that it can be selected or polled on... # if test $have_kernel_poll = kqueue; then - if test $poll_works = true; then + if test $poll_works = yes; then kqueue_with=poll else kqueue_with=select @@ -2907,19 +2960,25 @@ int main(void) { return 0; } ], - ok_kqueue=true, - ok_kqueue=false, - if test "x$erl_xcomp_kqueue" = "xyes"; then - ok_kqueue=true - else - ok_kqueue=false - fi) - if test $ok_kqueue = true; then - AC_MSG_RESULT(yes); - else - AC_MSG_RESULT(no); + ok_kqueue=yes, + ok_kqueue=no, + [ + case X$erl_xcomp_kqueue in + X) ok_kqueue=cross;; + Xyes|Xno) ok_kqueue=$erl_xcomp_kqueue;; + *) AC_MSG_ERROR([Bad erl_xcomp_kqueue value: $erl_xcomp_kqueue]);; + esac + ]) + AC_MSG_RESULT($ok_kqueue); + case $ok_kqueue in + yes) + ;; + cross) have_kernel_poll=no - fi + AC_MSG_WARN([result no guessed because of cross compilation]);; + *) + have_kernel_poll=no;; + esac fi # @@ -3006,16 +3065,23 @@ int main(void) { ], copying_putenv=yes, copying_putenv=no, -if test "x$erl_xcomp_putenv_copy" != "x"; then - copying_putenv=$erl_xcomp_putenv_copy -else - copying_putenv=no -fi) +[ +case X$erl_xcomp_putenv_copy in + X) copying_putenv=cross;; + Xyes|Xno) copying_putenv=$erl_xcomp_putenv_copy;; + *) AC_MSG_ERROR([Bad erl_xcomp_putenv_copy value: $erl_xcomp_putenv_copy]);; +esac +]) -if test $copying_putenv = yes; then - AC_DEFINE(HAVE_COPYING_PUTENV,[1],[Define if you have a putenv() that stores a copy of the key-value pair]) -fi AC_MSG_RESULT($copying_putenv) +case $copying_putenv in + yes) + AC_DEFINE(HAVE_COPYING_PUTENV,[1],\ +[Define if you have a putenv() that stores a copy of the key-value pair]);; + cross) + AC_MSG_WARN([result no guessed because of cross compilation]);; + *) ;; +esac dnl ---------------------------------------------------------------------- dnl Stuff that should be moved into their respective application @@ -3043,29 +3109,39 @@ dnl crypto # #-------------------------------------------------------------------- -DED_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host" +DED_SYS_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host -I${ERL_TOP}/erts/include/internal -I${ERL_TOP}/erts/include/internal/$host -I${ERL_TOP}/erts/emulator/sys/$ERLANG_OSTYPE" -DED_CFLAGS="$DED_INCLUDE $CFLAGS $CPPFLAGS $EMU_THR_DEFS" +if test "X$ETHR_DEFS" = "X"; then + DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" +else + DED_THR_DEFS="$ETHR_DEFS" +fi +DED_EMU_THR_DEFS=$EMU_THR_DEFS +DED_CFLAGS="$CFLAGS $CPPFLAGS" if test "x$GCC" = xyes; then DED_CFLAGS="$DED_CFLAGS -fPIC" fi -STATIC_CFLAGS="" +DED_EXT=so +case $host_os in + win32) DED_EXT=dll;; + darwin*) + DED_CFLAGS="$DED_CFLAGS -fno-common" + if test "X$STATIC_CFLAGS" = "X"; then + STATIC_CFLAGS="-mdynamic-no-pic" + fi;; + *) + ;; +esac -# If DED_LD is set in environment, we expect all DED variables to be specified -# (cross compiling) +# If DED_LD is set in environment, we expect all DED_LD* variables +# to be specified (cross compiling) if test "x$DED_LD" = "x"; then -if test "x$LD" = "x"; then - DED_LD=ld -else - DED_LD=$LD -fi DED_LD_FLAG_RUNTIME_LIBRARY_PATH="-R" - case $host_os in win32) - DED_LD=ld.sh + DED_LD="ld.sh" DED_LDFLAGS="-dll" DED_LD_FLAG_RUNTIME_LIBRARY_PATH= ;; @@ -3099,21 +3175,20 @@ case $host_os in if test X${enable_darwin_universal} = Xyes; then DED_LDFLAGS="-arch ppc -arch i386 $DED_LDFLAGS" fi - DED_CFLAGS="$DED_CFLAGS -fno-common" DED_LD="$CC" - DED_LD_FLAG_RUNTIME_LIBRARY_PATH= - STATIC_CFLAGS="-mdynamic-no-pic" + DED_LD_FLAG_RUNTIME_LIBRARY_PATH="$CFLAG_RUNTIME_LIBRARY_PATH" ;; linux*) DED_LD="$CC" + DED_LD_FLAG_RUNTIME_LIBRARY_PATH="$CFLAG_RUNTIME_LIBRARY_PATH" DED_LDFLAGS="-shared -Wl,-Bsymbolic" - DED_LD_FLAG_RUNTIME_LIBRARY_PATH= if test X${enable_m64_build} = Xyes; then DED_LDFLAGS="-m64 $DED_LDFLAGS" fi ;; freebsd*) DED_LD="$CC" + DED_LD_FLAG_RUNTIME_LIBRARY_PATH="$CFLAG_RUNTIME_LIBRARY_PATH" DED_LDFLAGS="-shared" if test X${enable_m64_build} = Xyes; then DED_LDFLAGS="-m64 $DED_LDFLAGS" @@ -3131,8 +3206,16 @@ case $host_os in ;; esac +if test "$DED_LD" = "" && test "$USER_LD" != ""; then + DED_LD="$USER_LD" + DED_LDFLAGS="$USER_LDFLAGS $DED_LDFLAGS" fi +fi # "x$DED_LD" = "x" + +AC_CHECK_TOOL(DED_LD, ld, false) +test "$DED_LD" != "false" || AC_MSG_ERROR([No linker found]) + AC_MSG_CHECKING(for compiler flags for loadable drivers) AC_MSG_RESULT([$DED_CFLAGS]) AC_MSG_CHECKING(for linker for loadable drivers) @@ -3146,10 +3229,14 @@ else AC_MSG_RESULT([not found]) fi +AC_SUBST(DED_EXT) +AC_SUBST(DED_SYS_INCLUDE) AC_SUBST(DED_CFLAGS) AC_SUBST(DED_LD) AC_SUBST(DED_LDFLAGS) AC_SUBST(DED_LD_FLAG_RUNTIME_LIBRARY_PATH) +AC_SUBST(DED_THR_DEFS) +AC_SUBST(DED_EMU_THR_DEFS) AC_SUBST(STATIC_CFLAGS) dnl @@ -3172,6 +3259,9 @@ dnl use "PATH/include" and "PATH/lib". AC_SUBST(SSL_INCLUDE) AC_SUBST(SSL_ROOT) AC_SUBST(SSL_LIBDIR) +AC_SUBST(SSL_CC_RUNTIME_LIBRARY_PATH) +AC_SUBST(SSL_LD_RUNTIME_LIBRARY_PATH) +AC_SUBST(SSL_DED_LD_RUNTIME_LIBRARY_PATH) AC_SUBST(SSL_DYNAMIC_ONLY) AC_SUBST(SSL_LINK_WITH_KERBEROS) AC_SUBST(STATIC_KERBEROS_LIBS) @@ -3179,6 +3269,8 @@ AC_SUBST(SSL_LINK_WITH_ZLIB) AC_SUBST(STATIC_ZLIB_LIBS) AC_SUBST(OPENSSL_CMD) +std_ssl_locations="/usr/local /usr/sfw /opt/local /usr /usr/pkg /usr/local/openssl /usr/lib/openssl /usr/openssl /usr/local/ssl /usr/lib/ssl /usr/ssl" + AC_ARG_WITH(ssl-zlib, [ --with-ssl-zlib=PATH specify location of ZLib to be used by OpenSSL --with-ssl-zlib link SSL with Zlib (default if found) @@ -3188,18 +3280,20 @@ AC_ARG_WITH(ssl-zlib, if test "x$with_ssl_zlib" = "xno"; then SSL_LINK_WITH_ZLIB=no STATIC_ZLIB_LIBS= -elif test "x$with_ssl_zlib" = "xyes" -o "x$with_ssl_zlib" = "x" ;then - if test "x$MIXED_CYGWIN" = "xyes"; then +elif test "x$with_ssl_zlib" = "xyes" || test "x$with_ssl_zlib" = "x"; then + if test $erl_xcomp_without_sysroot = yes; then + AC_MSG_WARN([Cannot search for zlib; missing cross system root (erl_xcomp_sysroot).]) + SSL_LINK_WITH_ZLIB=no + STATIC_ZLIB_LIBS= + elif test "x$MIXED_CYGWIN" = "xyes"; then SSL_LINK_WITH_ZLIB=no STATIC_ZLIB_LIBS= else SSL_LINK_WITH_ZLIB=no STATIC_ZLIB_LIBS= AC_MSG_CHECKING(for static ZLib to be used by SSL in standard locations) - for dir in /usr/local /usr/sfw /usr /usr/pkg \ - /usr/local/openssl /usr/lib/openssl /usr/openssl \ - /usr/local/ssl /usr/lib/ssl /usr/ssl - do + for rdir in $std_ssl_locations; do + dir="$erl_xcomp_sysroot$rdir" if test "x$ac_cv_sizeof_void_p" = "x8"; then if test -f "$dir/lib64/libz.a"; then SSL_LINK_WITH_ZLIB=yes @@ -3280,14 +3374,21 @@ done SSL_DYNAMIC_ONLY=$enable_dynamic_ssl -if test "x$with_ssl" = "xno"; then +case "$erl_xcomp_without_sysroot-$with_ssl" in + yes-* | no-no) SSL_APP= CRYPTO_APP= SSH_APP= + if test "$with_ssl" = "no"; then + skip="User gave --without-ssl option" + else + skip="Cannot search for ssl; missing cross system root (erl_xcomp_sysroot)." + fi for a in ssl crypto ssh; do - echo "User gave --without-ssl option" > $ERL_TOP/lib/$a/SKIP + echo "$skip" > $ERL_TOP/lib/$a/SKIP done -elif test "x$with_ssl" = "xyes" -o "x$with_ssl" = "x" ;then + ;; + no-yes | no- ) # On windows, we could try to find the installation # of Shining Light OpenSSL, which can be found by poking in # the uninstall section in the registry, it's worth a try... @@ -3314,20 +3415,19 @@ elif test "x$with_ssl" = "xyes" -o "x$with_ssl" = "x" ;then SSH_APP=ssh AC_MSG_CHECKING(for OpenSSL >= 0.9.7 in standard locations) - for dir in $extra_dir /cygdrive/c/OpenSSL \ - /usr/local /usr/sfw /opt/local /usr /usr/pkg \ - /usr/local/openssl /usr/lib/openssl /usr/openssl \ - /usr/local/ssl /usr/lib/ssl /usr/ssl - do - if test -f $dir/include/openssl/opensslv.h; then + for rdir in $extra_dir /cygdrive/c/OpenSSL $std_ssl_locations; do + dir="$erl_xcomp_sysroot$rdir" + if test -f "$erl_xcomp_isysroot$rdir/include/openssl/opensslv.h"; then is_real_ssl=yes SSL_ROOT="$dir" if test "x$MIXED_CYGWIN" = "xyes" ; then - if test -f "$dir/lib/VC/ssleay32.lib" -o \ - -f "$dir/lib/VC/openssl.lib"; then + if test -f "$dir/lib/VC/ssleay32.lib" || \ + test -f "$dir/lib/VC/openssl.lib"; then + SSL_RUNTIME_LIBDIR="$rdir/lib/VC" SSL_LIBDIR="$dir/lib/VC" - elif test -f "$dir/lib/ssleay32.lib" -o \ - -f "$dir/lib/openssl.lib"; then + elif test -f "$dir/lib/ssleay32.lib" || \ + test -f "$dir/lib/openssl.lib"; then + SSL_RUNTIME_LIBDIR="$rdir/lib" SSL_LIBDIR="$dir/lib" else is_real_ssl=no @@ -3335,31 +3435,42 @@ elif test "x$with_ssl" = "xyes" -o "x$with_ssl" = "x" ;then else if test "x$ac_cv_sizeof_void_p" = "x8"; then if test -f "$dir/lib64/libcrypto.a"; then + SSL_RUNTIME_LIBDIR="$rdir/lib64" SSL_LIBDIR="$dir/lib64" elif test -f "$dir/lib/64/libcrypto.a"; then + SSL_RUNTIME_LIBDIR="$rdir/lib/64" SSL_LIBDIR="$dir/lib/64" elif test -f "$dir/lib64/libcrypto.so"; then + SSL_RUNTIME_LIBDIR="$rdir/lib64" SSL_LIBDIR="$dir/lib64" elif test -f "$dir/lib/64/libcrypto.so"; then + SSL_RUNTIME_LIBDIR="$rdir/lib/64" SSL_LIBDIR="$dir/lib/64" else + SSL_RUNTIME_LIBDIR="$rdir/lib" SSL_LIBDIR="$dir/lib" fi else + SSL_RUNTIME_LIBDIR="$rdir/lib" SSL_LIBDIR="$dir/lib" fi fi if test '!' -f $SSL_LIBDIR/libcrypto.a; then SSL_DYNAMIC_ONLY=yes fi - SSL_BINDIR="$dir/bin" + SSL_BINDIR="$rdir/bin" dnl Should one use EXEEXT or ac_exeext? - if test -f "$SSL_BINDIR/openssl$EXEEXT"; then + if test -f "$erl_xcomp_sysroot$SSL_BINDIR/openssl$EXEEXT"; then + if test "$cross_compiling" = "yes"; then + dnl Cannot test it; hope it is working... + OPENSSL_CMD="$SSL_BINDIR/openssl" + else if "$SSL_BINDIR/openssl" version > /dev/null 2>&1; then OPENSSL_CMD="$SSL_BINDIR/openssl" else is_real_ssl=no fi + fi else is_real_ssl=no fi @@ -3403,7 +3514,7 @@ dnl Should one use EXEEXT or ac_exeext? LIBS="$saveLIBS" fi fi - if test "x$ssl_found" = "xyes" -a "x$ssl_linkable" = "xyes" ; then + if test "x$ssl_found" = "xyes" && test "x$ssl_linkable" = "xyes"; then AC_MSG_RESULT([$dir]) break; fi @@ -3417,13 +3528,14 @@ dnl Should one use EXEEXT or ac_exeext? dnl case $host_os in openbsd*) - if test -f /usr/include/openssl/opensslv.h; then + if test -f "$erl_xcomp_isysroot/usr/include/openssl/opensslv.h"; then # Trust OpenBSD to have everything the in the correct locations. ssl_found=yes ssl_linkable=yes - SSL_ROOT="/usr/sbin" + SSL_ROOT="$erl_xcomp_sysroot/usr" AC_MSG_RESULT([$SSL_ROOT]) - SSL_LIB="/usr/lib" + SSL_RUNTIME_LIB="/usr/lib" + SSL_LIB="$erl_xcomp_sysroot/usr/lib" SSL_BINDIR="/usr/sbin" OPENSSL_CMD="$SSL_BINDIR/openssl" dnl OpenBSD requires us to link with -L and -l @@ -3436,7 +3548,7 @@ dnl Now, certain linuxes have a 64bit libcrypto dnl that cannot build shared libraries (i.e. not PIC) dnl One could argue that this is wrong, but dnl so it is - be adoptable - if test "x$ssl_found" = "xyes" -a "x$ssl_linkable" = "xyes" -a "x$SSL_DYNAMIC_ONLY" != "xyes" ; then + if test "$ssl_found" = "yes" && test "$ssl_linkable" = "yes" && test "$SSL_DYNAMIC_ONLY" != "yes"; then case $host_os in linux*) saveCFLAGS="$CFLAGS" @@ -3468,7 +3580,7 @@ dnl so it is - be adoptable - if test "x$ssl_found" != "xyes" -o "x$ssl_linkable" != "xyes"; then + if test "x$ssl_found" != "xyes" || test "x$ssl_linkable" != "xyes"; then if test "x$ssl_found" = "xyes"; then AC_MSG_RESULT([found; but not usable]) else @@ -3483,13 +3595,21 @@ dnl so it is - be adoptable echo "No usable OpenSSL found" > $ERL_TOP/lib/$a/SKIP done fi -else + ;; + *) + if test "$cross_compiling" = "yes"; then + case "$with_ssl" in + "$erl_xcomp_sysroot"*) ;; + *) AC_MSG_ERROR([Invalid path to option --with-ssl=PATH (not a subdirectory to cross system root)]);; + esac + fi + # Option given with PATH to package if test ! -d "$with_ssl" ; then AC_MSG_ERROR(Invalid path to option --with-ssl=PATH) fi SSL_ROOT="$with_ssl" - if test "x$MIXED_CYGWIN" = "xyes" -a -d "$with_ssl/lib/VC"; then + if test "x$MIXED_CYGWIN" = "xyes" && test -d "$with_ssl/lib/VC"; then SSL_LIBDIR="$with_ssl/lib/VC" elif test "x$ac_cv_sizeof_void_p" = "x8"; then if test -f "$with_ssl/lib64/libcrypto.a"; then @@ -3514,7 +3634,12 @@ else SSL_APP=ssl CRYPTO_APP=crypto SSH_APP=ssh -fi + if test "$cross_compiling" = "yes"; then + SSL_RUNTIME_LIBDIR=`echo "$SSL_LIBDIR" | sed -n "s|^$erl_xcomp_sysroot\(.*\)\$|\1|p"` + else + SSL_RUNTIME_LIBDIR="$SSL_LIBDIR" + fi +esac if test "x$SSL_APP" != "x" ; then dnl We found openssl, now check if we use kerberos 5 support @@ -3530,19 +3655,19 @@ if test "x$SSL_APP" != "x" ; then AC_MSG_RESULT([yes]) ssl_krb5_enabled=yes if test "x$SSL_DYNAMIC_ONLY" != "xyes"; then - if test -f $SSL_LIBDIR/libkrb5.a; then + if test -f "$SSL_LIBDIR/libkrb5.a"; then SSL_LINK_WITH_KERBEROS=yes STATIC_KERBEROS_LIBS="$SSL_LIBDIR/libkrb5.a" - if test -f $SSL_LIBDIR/libkrb5support.a; then + if test -f "$SSL_LIBDIR/libkrb5support.a"; then STATIC_KERBEROS_LIBS="$STATIC_KERBEROS_LIBS $SSL_LIBDIR/libkrb5support.a" fi - if test -f $SSL_LIBDIR/libk5crypto.a; then + if test -f "$SSL_LIBDIR/libk5crypto.a"; then STATIC_KERBEROS_LIBS="$STATIC_KERBEROS_LIBS $SSL_LIBDIR/libk5crypto.a" fi - if test -f $SSL_LIBDIR/libresolv.a; then + if test -f "$SSL_LIBDIR/libresolv.a"; then STATIC_KERBEROS_LIBS="$STATIC_KERBEROS_LIBS $SSL_LIBDIR/libresolv.a" fi - if test -f $SSL_LIBDIR/libcom_err.a; then + if test -f "$SSL_LIBDIR/libcom_err.a"; then STATIC_KERBEROS_LIBS="$STATIC_KERBEROS_LIBS $SSL_LIBDIR/libcom_err.a" fi else @@ -3568,10 +3693,12 @@ if test "x$SSL_APP" != "x" ; then SSL_KRB5_INCLUDE= if test "x$ssl_krb5_enabled" = "xyes" ; then AC_MSG_CHECKING(for krb5.h in standard locations) - for dir in $extra_dir $SSL_ROOT/include $SSL_ROOT/include/openssl \ - $SSL_ROOT/include/kerberos /cygdrive/c/kerberos/include \ - /usr/local/kerberos/include /usr/kerberos/include \ - /usr/include + for dir in $extra_dir "$SSL_ROOT/include" "$SSL_ROOT/include/openssl" \ + "$SSL_ROOT/include/kerberos" \ + "$erl_xcomp_isysroot/cygdrive/c/kerberos/include" \ + "$erl_xcomp_isysroot/usr/local/kerberos/include" \ + "$erl_xcomp_isysroot/usr/kerberos/include" \ + "$erl_xcomp_isysroot/usr/include" do if test -f "$dir/krb5.h" ; then SSL_KRB5_INCLUDE="$dir" @@ -3596,6 +3723,99 @@ fi done # while test ssl_done != yes +SSL_CC_RUNTIME_LIBRARY_PATH= +SSL_LD_RUNTIME_LIBRARY_PATH= +SSL_DED_LD_RUNTIME_LIBRARY_PATH= +cc_rflg="$CFLAG_RUNTIME_LIBRARY_PATH" +ld_rflg="$LDFLAG_RUNTIME_LIBRARY_PATH" +ded_ld_rflg="$DED_LD_FLAG_RUNTIME_LIBRARY_PATH" + +if test "$SSL_APP" != "" && test "$SSL_DYNAMIC_ONLY" = "yes" && \ + { test "$cc_rflg" != "" || test "$ld_rflg" != "" || test "$ded_ld_rflg" != ""; } ; then + + AC_MSG_CHECKING(for ssl runtime library path to use) + + libdirs="/lib" + + if test "$ac_cv_sizeof_void_p" = "8"; then + dir_lib64=no + dir_lib_64=no + + case "$SSL_RUNTIME_LIBDIR" in + */lib/64 | */lib/64/ ) dir_lib_64=yes;; + */lib64 | */lib64/ ) dir_lib64=yes;; + *) ;; + esac + + for dir in $std_ssl_locations; do + test $dir_lib_64 = no && + test -d "$erl_xcomp_sysroot$dir/lib/64" && + dir_lib_64=yes + test $dir_lib64 = no && + test -d "$erl_xcomp_sysroot$dir/lib64" && + dir_lib64=yes + done + + test $dir_lib_64 = yes && libdirs="/lib/64 $libdirs" + test $dir_lib64 = yes && libdirs="/lib64 $libdirs" + fi + + for type in std x_std curr; do + + cc_rpath="$cc_rflg$SSL_RUNTIME_LIBDIR" + ld_rpath="$ld_rflg$SSL_RUNTIME_LIBDIR" + ded_ld_rpath="$ded_ld_rflg$SSL_RUNTIME_LIBDIR" + rpath="$SSL_RUNTIME_LIBDIR" + + if test $type != curr; then + for ldir in $libdirs; do + for dir in $std_ssl_locations; do + test "$SSL_LIBDIR" != "$dir$ldir" || continue + test $type != x_std || test -d "$dir$ldir" || continue + test "$cc_rflg" = "" || + cc_rpath="$cc_rpath $cc_rflg$dir$ldir" + test "$ld_rflg" = "" || + ld_rpath="$ld_rpath $ld_rflg$dir$ldir" + test "$ded_ld_rflg" = "" || + ded_ld_rpath="$ded_ld_rpath $ded_ld_rflg$dir$ldir" + rpath="$rpath:$dir$ldir" + done + done + fi + + saveCFLAGS="$CFLAGS" + saveLDFLAGS="$LDFLAGS" + saveLIBS="$LIBS" + CFLAGS="$CFLAGS $SSL_INCLUDE" + LDFLAGS="$LDFLAGS $ld_rpath -L$SSL_LIBDIR" + LIBS="-lcrypto" + AC_TRY_LINK([ + #include <stdio.h> + #include <openssl/hmac.h> + ], + [ + HMAC_CTX hc; + HMAC_CTX_init(&hc); + ], + [rpath_success=yes], + [rpath_success=no]) + CFLAGS="$saveCFLAGS" + LDFLAGS="$saveLDFLAGS" + LIBS="$saveLIBS" + + test "$rpath_success" = "yes" && break + done + + test "$rpath_success" = "yes" || { cc_rpath=; ld_rpath=; ded_ld_rpath=; rpath=; } + + SSL_CC_RUNTIME_LIBRARY_PATH="$cc_rpath" + SSL_LD_RUNTIME_LIBRARY_PATH="$ld_rpath" + SSL_DED_LD_RUNTIME_LIBRARY_PATH="$ded_ld_rpath" + + AC_MSG_RESULT([$rpath]) + test "$rpath" != "" || AC_MSG_WARN([Cannot set run path during linking]) +fi + #-------------------------------------------------------------------- # Os mon stuff. #-------------------------------------------------------------------- @@ -3614,6 +3834,11 @@ case $host_os in os_mon_programs="$os_mon_programs cpu_sup" ;; esac + +AC_ARG_WITH(javac, +[ --with-javac=JAVAC specify Java compiler to use + --with-javac use a Java compiler if found (default) + --without-javac don't use any Java compiler]) dnl dnl Then there are a number of apps which needs a java compiler... @@ -3625,7 +3850,20 @@ for a in $need_java ; do /bin/rm -f $ERL_TOP/lib/$a/SKIP done -AC_CHECK_PROGS(JAVAC, javac.sh javac guavac gcj jikes bock) +if test "X$with_javac" = "Xno"; then + for a in $need_java ; do + echo "Java compiler disabled by user" > $ERL_TOP/lib/$a/SKIP + done + +else # begin - try to find javac + +if test "X$with_javac" != "Xyes" -a "X$with_javac" != "X"; then + check_javac=$with_javac +else + check_javac="javac.sh javac guavac gcj jikes bock" +fi + +AC_CHECK_PROGS(JAVAC, $check_javac) if test -n "$JAVAC"; then dnl Make sure it's at least JDK 1.5 AC_CACHE_CHECK(for JDK version 1.5, @@ -3637,6 +3875,11 @@ if test -n "$JAVAC"; then fi fi if test -z "$JAVAC"; then + + if test "X$with_javac" != "X"; then + AC_MSG_ERROR([No java compiler found in PATH (checked for $check_javac)]) + fi + AC_MSG_WARN([Could not find any usable java compiler, will skip: jinterface]) for a in $need_java ; do @@ -3644,14 +3887,15 @@ if test -z "$JAVAC"; then done fi +fi # end - try to find javac + dnl dnl Orber has a c++ example, this isn't the right way to check for dnl it, but.... dnl -CXXFLAGS= AC_SUBST(CXXFLAGS) dnl this deliberately does not believe that 'gcc' is a C++ compiler -AC_CHECK_PROGS(CXX, $CCC c++ g++ CC cxx cc++ cl, false) +AC_CHECK_TOOLS(CXX, [$CCC c++ g++ CC cxx cc++ cl], false) # Remove SKIP file from previous run /bin/rm -f $ERL_TOP/lib/orber/SKIP @@ -3788,6 +4032,5 @@ dnl ../lib/orber/c_src/$host/Makefile:../lib/orber/c_src/Makefile.in ../lib/runtime_tools/c_src/$host/Makefile:../lib/runtime_tools/c_src/Makefile.in ../lib/tools/c_src/$host/Makefile:../lib/tools/c_src/Makefile.in - ../lib/asn1/c_src/$host/Makefile:../lib/asn1/c_src/Makefile.in ) diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml index b01d187b01..73d15c33d7 100644 --- a/erts/doc/src/erl.xml +++ b/erts/doc/src/erl.xml @@ -798,6 +798,11 @@ Valid range is 4-8192 kilowords. The default stack size is OS dependent.</p> </item> + <tag><c><![CDATA[+t size]]></c></tag> + <item> + <marker id="+t"></marker> + <p>Set the maximum number of atoms the VM can handle. Default is 1048576.</p> + </item> <tag><c><![CDATA[+T Level]]></c></tag> <item> <marker id="+T"></marker> diff --git a/erts/emulator/beam/atom.c b/erts/emulator/beam/atom.c index dfc3cde6a7..e2a79d6e4f 100644 --- a/erts/emulator/beam/atom.c +++ b/erts/emulator/beam/atom.c @@ -1,19 +1,19 @@ /* * %CopyrightBegin% - * - * Copyright Ericsson AB 1996-2009. All Rights Reserved. - * + * + * Copyright Ericsson AB 1996-2010. All Rights Reserved. + * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in * compliance with the License. You should have received a copy of the * Erlang Public License along with this software. If not, it can be * retrieved online at http://www.erlang.org/. - * + * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. - * + * * %CopyrightEnd% */ @@ -322,7 +322,7 @@ init_atom_table(void) text_list = NULL; erts_index_init(ERTS_ALC_T_ATOM_TABLE, &erts_atom_table, - "atom_tab", ATOM_SIZE, ATOM_LIMIT, f); + "atom_tab", ATOM_SIZE, erts_atom_table_size, f); more_atom_space(); /* Ordinary atoms */ diff --git a/erts/emulator/beam/atom.h b/erts/emulator/beam/atom.h index e7e0dc440d..cb245a87b1 100644 --- a/erts/emulator/beam/atom.h +++ b/erts/emulator/beam/atom.h @@ -1,19 +1,19 @@ /* * %CopyrightBegin% - * - * Copyright Ericsson AB 1996-2009. All Rights Reserved. - * + * + * Copyright Ericsson AB 1996-2010. All Rights Reserved. + * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in * compliance with the License. You should have received a copy of the * Erlang Public License along with this software. If not, it can be * retrieved online at http://www.erlang.org/. - * + * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. - * + * * %CopyrightEnd% */ @@ -28,6 +28,17 @@ #define MAX_ATOM_LENGTH 255 #define ATOM_LIMIT (1024*1024) +#define MIN_ATOM_TABLE_SIZE 8192 + +#ifndef ARCH_32 +/* Internal atom cache needs MAX_ATOM_TABLE_SIZE to be less than an + unsigned 32 bit integer. See external.c(erts_encode_ext_dist_header_setup) + for more details. */ +#define MAX_ATOM_TABLE_SIZE ((MAX_ATOM_INDEX + 1 < (1UL << 32)) ? MAX_ATOM_INDEX + 1 : (1UL << 32)) +#else +#define MAX_ATOM_TABLE_SIZE (MAX_ATOM_INDEX + 1) +#endif + /* * Atom entry. diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c index bdf888eaff..17cf3b9597 100644 --- a/erts/emulator/beam/erl_init.c +++ b/erts/emulator/beam/erl_init.c @@ -119,6 +119,8 @@ int erts_disable_tolerant_timeofday; /* Time correction can be disabled it is * not and/or it is too slow. */ +int erts_atom_table_size = ATOM_LIMIT; /* Maximum number of atoms */ + int erts_modified_timing_level; int erts_no_crash_dump = 0; /* Use -d to suppress crash dump. */ @@ -569,6 +571,10 @@ void erts_usage(void) erts_fprintf(stderr, " schedulers online (n2), valid range for both\n"); erts_fprintf(stderr, " numbers are [1-%d]\n", ERTS_MAX_NO_OF_SCHEDULERS); + erts_fprintf(stderr, "-t size set the maximum number of atoms the " + "emulator can handle\n"); + erts_fprintf(stderr, " valid range is [%d-%d]\n", + MIN_ATOM_TABLE_SIZE, MAX_ATOM_TABLE_SIZE); erts_fprintf(stderr, "-T number set modified timing level,\n"); erts_fprintf(stderr, " valid range is [0-%d]\n", ERTS_MODIFIED_TIMING_LEVELS-1); @@ -1140,6 +1146,22 @@ erl_start(int argc, char **argv) } break; } + case 't': + /* set atom table size */ + arg = get_arg(argv[i]+2, argv[i+1], &i); + errno = 0; + erts_atom_table_size = strtol(arg, NULL, 10); + if (errno != 0 || + erts_atom_table_size < MIN_ATOM_TABLE_SIZE || + erts_atom_table_size > MAX_ATOM_TABLE_SIZE) { + erts_fprintf(stderr, "bad atom table size %s\n", arg); + erts_usage(); + } + VERBOSE(DEBUG_SYSTEM, + ("setting maximum number of atoms to %d\n", + erts_atom_table_size)); + break; + case 'T' : arg = get_arg(argv[i]+2, argv[i+1], &i); errno = 0; diff --git a/erts/emulator/beam/erl_port_task.c b/erts/emulator/beam/erl_port_task.c index 3cb5a966ac..0b6bb0d8e9 100644 --- a/erts/emulator/beam/erl_port_task.c +++ b/erts/emulator/beam/erl_port_task.c @@ -575,7 +575,7 @@ erts_port_task_schedule(Eterm id, } #endif - ASSERT(!(runq->flags & ERTS_RUNQ_FLG_SUSPENDED)); + ASSERT(!enq_port || !(runq->flags & ERTS_RUNQ_FLG_SUSPENDED)); ASSERT(pp->sched.taskq); ASSERT(ptp); @@ -601,6 +601,15 @@ erts_port_task_schedule(Eterm id, break; } +#ifndef ERTS_SMP + /* + * When (!enq_port && !pp->sched.exe_taskq) is true in the smp case, + * the port might not be in the run queue. If this is the case, another + * thread is in the process of enqueueing the port. This very seldom + * occur, but do occur and is a valid scenario. Debug info showing this + * enqueue in progress must be introduced before we can enable (modified + * versions of these) assertions in the smp case again. + */ #if defined(HARD_DEBUG) if (pp->sched.exe_taskq || enq_port) ERTS_PT_CHK_NOT_IN_PORTQ(runq, pp); @@ -612,6 +621,7 @@ erts_port_task_schedule(Eterm id, ASSERT(pp->sched.prev || runq->ports.start == pp); } #endif +#endif if (!enq_port) { ERTS_PT_CHK_PRES_PORTQ(runq, pp); diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index b519b39d63..2789691c55 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -2765,7 +2765,7 @@ erts_block_multi_scheduling(Process *p, ErtsProcLocks plocks, int on, int all) p->flags |= F_HAVE_BLCKD_MSCHED; ASSERT(erts_smp_atomic_read(&schdlr_sspnd.active) == 1); ASSERT(p->scheduler_data->no == 1); - res = 1; + res = ERTS_SCHDLR_SSPND_DONE_MSCHED_BLOCKED; } else { p->flags |= F_HAVE_BLCKD_MSCHED; @@ -2896,12 +2896,16 @@ erts_block_multi_scheduling(Process *p, ErtsProcLocks plocks, int on, int all) #endif p->flags &= ~F_HAVE_BLCKD_MSCHED; erts_smp_atomic_set(&schdlr_sspnd.msb.ongoing, 0); - if (schdlr_sspnd.online == 1) - /* No schedulers to resume */; + if (schdlr_sspnd.online == 1) { + /* No schedulers to resume */ + ASSERT(erts_smp_atomic_read(&schdlr_sspnd.active) == 1); + schdlr_sspnd.changing = 0; + } else if (erts_common_run_queue) { for (ix = 1; ix < schdlr_sspnd.online; ix++) erts_smp_atomic_set(&ERTS_SCHEDULER_IX(ix)->suspended, 0); wake_all_schedulers(); + erts_smp_cnd_broadcast(&schdlr_sspnd.cnd); } else { int online = schdlr_sspnd.online; @@ -2933,8 +2937,8 @@ erts_block_multi_scheduling(Process *p, ErtsProcLocks plocks, int on, int all) erts_smp_runq_unlock(ERTS_RUNQ_IX(0)); erts_smp_mtx_unlock(&balance_info.update_mtx); erts_smp_mtx_lock(&schdlr_sspnd.mtx); + erts_smp_cnd_broadcast(&schdlr_sspnd.cnd); } - erts_smp_cnd_broadcast(&schdlr_sspnd.cnd); res = ERTS_SCHDLR_SSPND_DONE; } } @@ -8033,11 +8037,6 @@ erts_do_exit_process(Process* p, Eterm reason) if (p->bif_timers) erts_cancel_bif_timers(p, ERTS_PROC_LOCKS_ALL); -#ifdef ERTS_SMP - if (p->flags & F_HAVE_BLCKD_MSCHED) - erts_block_multi_scheduling(p, ERTS_PROC_LOCKS_ALL, 0, 1); -#endif - erts_smp_proc_unlock(p, ERTS_PROC_LOCKS_ALL_MINOR); #ifdef ERTS_SMP @@ -8082,6 +8081,27 @@ continue_exit_process(Process *p erts_smp_proc_unlock(p, ERTS_PROC_LOCK_STATUS); #endif +#ifdef ERTS_SMP + if (p->flags & F_HAVE_BLCKD_MSCHED) { + ErtsSchedSuspendResult ssr; + ssr = erts_block_multi_scheduling(p, ERTS_PROC_LOCK_MAIN, 0, 1); + switch (ssr) { + case ERTS_SCHDLR_SSPND_YIELD_RESTART: + goto yield; + case ERTS_SCHDLR_SSPND_DONE_MSCHED_BLOCKED: + case ERTS_SCHDLR_SSPND_YIELD_DONE_MSCHED_BLOCKED: + case ERTS_SCHDLR_SSPND_DONE: + case ERTS_SCHDLR_SSPND_YIELD_DONE: + p->flags &= ~F_HAVE_BLCKD_MSCHED; + break; + case ERTS_SCHDLR_SSPND_EINVAL: + default: + erl_exit(ERTS_ABORT_EXIT, "%s:%d: Internal error: %d\n", + __FILE__, __LINE__, (int) ssr); + } + } +#endif + if (p->flags & F_USING_DB) { if (erts_db_process_exiting(p, ERTS_PROC_LOCK_MAIN)) goto yield; diff --git a/erts/emulator/beam/erl_vm.h b/erts/emulator/beam/erl_vm.h index 5b0d3c2bfa..50b3e5b61c 100644 --- a/erts/emulator/beam/erl_vm.h +++ b/erts/emulator/beam/erl_vm.h @@ -181,6 +181,8 @@ extern int num_instructions; /* Number of instruction in opc[]. */ extern int H_MIN_SIZE; /* minimum (heap + stack) */ extern int BIN_VH_MIN_SIZE; /* minimum virtual (bin) heap */ +extern int erts_atom_table_size;/* Atom table size */ + #define ORIG_CREATION 0 /* macros for extracting bytes from uint16's */ diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c index 24887b3dea..b011d4c0de 100644 --- a/erts/emulator/beam/external.c +++ b/erts/emulator/beam/external.c @@ -271,11 +271,8 @@ erts_encode_ext_dist_header_size(ErtsAtomCacheMap *acmp) byte *erts_encode_ext_dist_header_setup(byte *ctl_ext, ErtsAtomCacheMap *acmp) { -#ifndef ARCH_32 -#if ATOM_LIMIT >= (1UL << 32) -#error "ATOM_LIMIT too large for interal atom cache update instructions. New instructions needed." -#endif -#endif + /* Maximum number of atom must be less than the maximum of a 32 bits + unsigned integer. Check is done in erl_init.c, erl_start function. */ if (!acmp) return ctl_ext; else { diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in index a9acab640e..3db4fcba61 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1996-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1996-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -359,12 +359,9 @@ $(OBJDIR)/escript.o: escript.c ifeq ($(TARGET),win32) -$(BINDIR)/$(ERLEXEC): $(OBJDIR)/erlexec.o $(OBJDIR)/win_erlexec.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) dbg +$(BINDIR)/$(ERLEXEC): $(OBJDIR)/erlexec.o $(OBJDIR)/win_erlexec.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) $(LD) -dll $(LDFLAGS) -o $@ $(OBJDIR)/erlexec.o $(OBJDIR)/win_erlexec.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) $(ERLEXEC_XLIBS) -dbg: - echo DBG - $(BINDIR)/erl@EXEEXT@: $(OBJDIR)/erl.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/erl.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c index 0ad26aeea7..f79f5cc978 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c @@ -794,6 +794,7 @@ int main(int argc, char **argv) case 'i': case 'P': case 'S': + case 't': case 'T': case 'R': case 'W': diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src index 410a77d91c..22357b057f 100644 --- a/erts/etc/unix/Install.src +++ b/erts/etc/unix/Install.src @@ -1,25 +1,26 @@ #!/bin/sh # # %CopyrightBegin% -# -# Copyright Ericsson AB 1996-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1996-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# -# %CopyrightEnd% -# -# Patch $ERL_ROOT/emulator/obj/Makefile.dist & make # +# %CopyrightEnd% # +usage=" +Usage: + Install [-cross] [-minimal|-sasl] <ERL_ROOT> +" start_option=query unset cross while [ $# -ne 0 ]; do @@ -42,7 +43,8 @@ fi if [ -z "$ERL_ROOT" -o ! -d "$ERL_ROOT" ] then - echo "Install: need ERL_ROOT directory as argument" + echo "Install: need <ERL_ROOT> directory as argument" >&2 + echo $usage >&2 exit 1 fi @@ -50,15 +52,17 @@ case ":$ERL_ROOT" in :/*) ;; *) - echo "Install: need an absolute path to ERL_ROOT" + echo "Install: need an absolute path to <ERL_ROOT>" >&2 + echo $usage >&2 exit 1 ;; esac if [ ! -d "$ERL_ROOT/erts-%I_VSN%/bin" ] then - echo "Install: The directory $ERL_ROOT/erts-%I_VSN%/bin does not exist" - echo " Bad location or erts module not un-tared" + echo "Install: The directory $ERL_ROOT/erts-%I_VSN%/bin does not exist" >&2 + echo " Bad location or erts module not un-tared" >&2 + echo $usage >&2 exit 1 fi @@ -67,20 +71,6 @@ then mkdir $ERL_ROOT/bin fi -# -# Fetch target system. -# -SYS=`(uname -s) 2>/dev/null` || SYS=unknown -REL=`(uname -r) 2>/dev/null` || REL=unknown -case $SYS:$REL in - SunOS:5.*) - TARGET=sunos5 ;; - Linux:*) - TARGET=linux ;; - *) - TARGET="" ;; -esac - cd $ERL_ROOT/erts-%I_VSN%/bin sed -e "s;%FINAL_ROOTDIR%;$TARGET_ERL_ROOT;" erl.src > erl @@ -111,7 +101,7 @@ if [ -h epmd ]; then /bin/rm -f epmd fi -ln -s $TARGET_ERL_ROOT/erts-%I_VSN%/bin/epmd epmd +ln -s ../erts-%I_VSN%/bin/epmd epmd cp -p $ERL_ROOT/erts-%I_VSN%/bin/run_erl . cp -p $ERL_ROOT/erts-%I_VSN%/bin/to_erl . @@ -150,19 +140,6 @@ cp -p $Name.boot start.boot cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script # -# We always run ranlib unless Solaris/SunOS 5 -# but ignore failures. -# -if [ "X$TARGET" != "Xsunos5" -a -d $ERL_ROOT/usr/lib ]; then - cd $ERL_ROOT/usr/lib - for library in lib*.a - do - (ranlib $library) > /dev/null 2>&1 - done -fi - - -# # Fixing the man pages # diff --git a/erts/start_scripts/Makefile b/erts/start_scripts/Makefile index 862f7285bc..4df7568484 100644 --- a/erts/start_scripts/Makefile +++ b/erts/start_scripts/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1997-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # include $(ERL_TOP)/make/target.mk @@ -74,13 +74,13 @@ $(SS_ROOT)/start_clean.script \ $(SS_ROOT)/start_clean.boot: $(SS_ROOT)/start_clean.rel $(INSTALL_DIR) $(SS_TMP) ( cd $(SS_TMP) && \ - $(ERLC) $(SASL_FLAGS) $(SCRIPT_PATH) -o $@ $< ) + $(ERLC) $(SASL_FLAGS) $(SCRIPT_PATH) -o $(SS_ROOT) $< ) $(SS_ROOT)/start_sasl.script \ $(SS_ROOT)/start_sasl.boot: $(SS_ROOT)/start_sasl.rel $(INSTALL_DIR) $(SS_TMP) ( cd $(SS_TMP) && \ - $(ERLC) $(SASL_FLAGS) $(SCRIPT_PATH) -o $@ $< ) + $(ERLC) $(SASL_FLAGS) $(SCRIPT_PATH) -o $(SS_ROOT) $< ) $(SS_ROOT)/start_clean.rel: $(SS_ROOT)/start_clean.rel.src \ ../vsn.mk \ diff --git a/erts/test/Makefile b/erts/test/Makefile index 47e41a3625..796403e182 100644 --- a/erts/test/Makefile +++ b/erts/test/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1997-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -29,6 +29,7 @@ EBIN = . MODULES= \ erlc_SUITE \ + install_SUITE \ nt_SUITE \ otp_SUITE \ ethread_SUITE \ @@ -42,6 +43,8 @@ ERL_FILES= $(MODULES:%=%.erl) TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) +EXTRA_FILES = install_SUITE_data/install_bin + # ---------------------------------------------------- # Release directory specification # ---------------------------------------------------- @@ -56,10 +59,14 @@ ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/test_server/include # Targets # ---------------------------------------------------- -tests debug opt: $(TARGET_FILES) +tests debug opt: $(TARGET_FILES) $(EXTRA_FILES) + +install_SUITE_data/install_bin: ../../make/install_bin + rm -f $@ + cp -p $< $@ clean: - rm -f $(TARGET_FILES) + rm -f $(TARGET_FILES) $(EXTRA_FILES) rm -f core *~ docs: diff --git a/erts/test/install_SUITE.erl b/erts/test/install_SUITE.erl new file mode 100644 index 0000000000..b11f65480d --- /dev/null +++ b/erts/test/install_SUITE.erl @@ -0,0 +1,727 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% + + +%%%------------------------------------------------------------------- +%%% File : install_SUITE.erl +%%% Author : Rickard Green +%%% Description : +%%% +%%% Created : 12 Jan 2010 by Rickard Green +%%%------------------------------------------------------------------- +-module(install_SUITE). + +%-define(line_trace, 1). + +-export([all/1, init_per_suite/1, end_per_suite/1, + init_per_testcase/2, fin_per_testcase/2]). + +-export([bin_default/1, + bin_default_dirty/1, + bin_outside_eprfx/1, + bin_outside_eprfx_dirty/1, + bin_unreasonable_path/1, + bin_not_abs/1, + 'bin white space'/1, + bin_no_srcfile/1, + bin_unreachable_absolute/1, + bin_unreachable_relative/1, + bin_same_dir/1, + bin_ok_symlink/1, + bin_dirname_fail/1, + bin_no_use_dirname_fail/1]). + +-define(DEFAULT_TIMEOUT, ?t:minutes(1)). +-define(JOIN(A,B,C), filename:join(A, B, C)). + +-include("test_server.hrl"). + +-record(inst, {mkdirs = true, + symlinks = true, + cmd_prefix = "", + ln_s = "ln -s", + test_prefix = "", + destdir = "", + extra_prefix = "", + exec_prefix = "", + bindir = "", + erlang_bindir = "", + bindir_symlinks = ""}). + +need_symlink_cases() -> + [bin_unreachable_absolute, + bin_unreachable_relative, + bin_same_dir, + bin_ok_symlink, + bin_dirname_fail, + bin_no_use_dirname_fail]. + +dont_need_symlink_cases() -> + [bin_default, + bin_default_dirty, + bin_outside_eprfx, + bin_outside_eprfx_dirty, + bin_not_abs, + bin_unreasonable_path, + 'bin white space', + bin_no_srcfile]. + +all(suite) -> + dont_need_symlink_cases() ++ need_symlink_cases(). + +%% +%% The test cases +%% + +bin_default(Config) when is_list(Config) -> + ?line E = "/usr/local", + ?line Bs = "/usr/local/bin", + ?line Be = Bs, + ?line EBs = "/usr/local/lib/erlang/bin", + ?line EBe = EBs, + ?line RP = "../lib/erlang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "absolute"} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}}; + {true, _} -> + ?line {ok,{relative,B,RP}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_default_dirty(Config) when is_list(Config) -> + ?line E = "/usr/./local/lib/..", + ?line Bs = "/usr/local//lib/../lib/erlang/../../bin", + ?line Be = "/usr/local/lib/../lib/erlang/../../bin", + ?line EBs = "/usr/local/lib/../lib/erlang/../erlang/bin/x/y/../..//", + ?line EBe = "/usr/local/lib/../lib/erlang/../erlang/bin/x/y/../..", + ?line RP = "../lib/erlang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "absolute"} -> + ?line {ok,{absolute, + B,join([TP,EP,EBe])}}; + {true, _} -> + ?line {ok,{relative,B,RP}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + + +bin_outside_eprfx(Config) when is_list(Config) -> + ?line E = "/usr/local", + ?line Bs = "/usr/bin", + ?line Be = Bs, + ?line EBs = "/usr/local/lib/erlang/bin", + ?line EBe = EBs, + ?line RP = "../local/lib/erlang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "relative"} -> + ?line {ok,{relative,B,RP}}; + {true, _} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + + +bin_outside_eprfx_dirty(Config) when is_list(Config) -> + ?line E = "/usr/local/lib/..", + ?line Bs = "/usr/local/lib/../../bin", + ?line Be = Bs, + ?line EBs = "/usr/local/lib/erlang/bin", + ?line EBe = EBs, + ?line RP = "../local/lib/erlang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "relative"} -> + ?line {ok,{relative,B,RP}}; + {true, _} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_unreasonable_path(Config) when is_list(Config) -> + ?line E = "/usr/local/../../..", + ?line Bs = "/usr/local/../../../bin", + ?line Be = Bs, + ?line EBs = "/usr/local/../../../bin_unreasonable_path/usr/local/lib/erlang/bin", + ?line EBe = EBs, + ?line RP = "../bin_unreasonable_path/usr/local/lib/erlang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {TP, SL, BSL} of + {_, false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {_, false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {"", true, "relative"} -> + {error, unreasonable_path}; + {"", true, _} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}}; + {_, true, "absolute"} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}}; + _ -> + ?line {ok,{relative,B,RP}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_unreachable_absolute(Config) when is_list(Config) -> + TDir = ?config(test_dir, Config), + make_dirs(TDir, "/opt/local/lib/erlang/usr/bin"), + make_dirs(TDir, "/opt/local/lib/erlang/bin"), + Erl = join([TDir, "/opt/local/lib/erlang/bin/erl"]), + Erlc = join([TDir, "/opt/local/lib/erlang/bin/erlc"]), + make_dirs(TDir, "/usr/local/lib"), + make_dirs(TDir, "/usr/local/bin"), + ok = file:write_file(Erl, "erl"), + ok = file:write_file(Erlc, "erlc"), + ok = file:make_symlink("../../../opt/local/lib/erlang/usr", + join([TDir, "/usr/local/lib/erlang"])), + ?line E = "/usr/local", + ?line Bs = "/usr/local/bin", + ?line Be = Bs, + ?line EBs = "/usr/local/lib/erlang/../bin", + ?line EBe = EBs, + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "relative"} -> + {error, unreachable_absolute}; + {true, _} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_unreachable_relative(Config) when is_list(Config) -> + TDir = ?config(test_dir, Config), + make_dirs(TDir, "/opt/local/lib/erlang/bin"), + make_dirs(TDir, "/opt/local/bin"), + make_dirs(TDir, "/usr/local/lib/erlang/bin"), + Erl = join([TDir, "/usr/local/lib/erlang/bin/erl"]), + Erlc = join([TDir, "/usr/local/lib/erlang/bin/erlc"]), + ok = file:write_file(Erl, "erl"), + ok = file:write_file(Erlc, "erlc"), + ok = file:make_symlink("../../opt/local/bin", + join([TDir, "/usr/local/bin"])), + + ?line E = "/usr/local", + ?line Bs = "/usr/local/bin", + ?line Be = Bs, + ?line EBs = "/usr/local/lib/erlang/bin", + ?line EBe = EBs, + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "relative"} -> + {error, unreachable_relative}; + {true, _} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_ok_symlink(Config) when is_list(Config) -> + TDir = ?config(test_dir, Config), + make_dirs(TDir, "/usr/local/bin"), + make_dirs(TDir, "/opt/local/lib/erlang/bin"), + Erl = join([TDir, "/opt/local/lib/erlang/bin/erl"]), + Erlc = join([TDir, "/opt/local/lib/erlang/bin/erlc"]), + ok = file:write_file(Erl, "erl"), + ok = file:write_file(Erlc, "erlc"), + ok = file:make_symlink("../../opt/local/lib", + join([TDir, "/usr/local/lib"])), + ?line E = "/usr/local", + ?line Bs = "/usr/local/bin", + ?line Be = Bs, + ?line EBs = "/usr/local/lib/erlang/bin", + ?line EBe = EBs, + ?line RP = "../lib/erlang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "absolute"} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}}; + {true, _} -> + ?line {ok,{relative,B,RP}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_same_dir(Config) when is_list(Config) -> + TDir = ?config(test_dir, Config), + make_dirs(TDir, "/usr/local/bin"), + make_dirs(TDir, "/usr/local/lib"), + ok = file:make_symlink("..", join([TDir, "/usr/local/lib/erlang"])), + Erl = join([TDir, "/usr/local/lib/erlang/bin/erl"]), + Erlc = join([TDir, "/usr/local/lib/erlang/bin/erlc"]), + ok = file:write_file(Erl, "erl"), + ok = file:write_file(Erlc, "erlc"), + ChkRes = fun (Res, _) -> + expect({error, target_and_source_same_dir}, Res) + end, + install_bin(Config, + #inst{mkdirs = false, + exec_prefix = "/usr/local", + bindir = "/usr/local/bin", + erlang_bindir = "/usr/local/lib/erlang/bin"}, + ChkRes). + +bin_not_abs(Config) when is_list(Config) -> + ChkRes = fun (Res, #inst{test_prefix = TP}) -> + case TP of + "" -> + expect({error, {not_abs, 'bindir'}}, Res); + _ -> + B = join([TP, "/usr/local/bin"]), + {ok, {relative, B, "../lib/erlang/bin"}} + end + end, + install_bin(Config, + #inst{exec_prefix = "/usr/local", + bindir = "usr/local/bin", + erlang_bindir = "/usr/local/lib/erlang/bin"}, + ChkRes). + + +'bin white space'(Config) when is_list(Config) -> + ?line E = "/u s r/local", + ?line Bs = "/u s r/local/b i n", + ?line Be = Bs, + ?line EBs = "/u s r/local/lib/erl ang/bin", + ?line EBe = EBs, + ?line RP = "../lib/erl ang/bin", + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "absolute"} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}}; + {true, _} -> + ?line {ok,{relative,B,RP}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_dirname_fail(Config) when is_list(Config) -> + ?line E = "/opt", + ?line Bs = "/opt/lib/../bin", + ?line Be = Bs, + ?line EBs = "/opt/lib/erlang/otp/bin", + ?line EBe = EBs, + ?line CMDPRFX = "PATH="++?config(data_dir,Config)++":"++os:getenv("PATH"), + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "relative"} -> + ?line {error, dirname_failed}; + {true, _} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{cmd_prefix = CMDPRFX, + exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_no_use_dirname_fail(Config) when is_list(Config) -> + ?line E = "/opt", + ?line Bs = "/opt/bin", + ?line Be = Bs, + ?line EBs = "/opt/lib/erlang/otp/bin", + ?line EBe = EBs, + ?line RP = "../lib/erlang/otp/bin", + ?line CMDPRFX = "PATH="++?config(data_dir,Config)++":"++os:getenv("PATH"), + ChkRes = fun (Res, #inst{test_prefix = TP, + destdir = D, + extra_prefix = EP, + bindir_symlinks = BSL, + symlinks = SL}) -> + ?line B = join([TP, D, EP, Be]), + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false, _} -> + ?line {ok,{absolute, + B,join([TP,D,EP,EBe])}}; + {true, "absolute"} -> + ?line {ok,{absolute,B,join([TP,EP,EBe])}}; + {true, _} -> + ?line {ok,{relative,B,RP}} + end, + expect(Expct, Res) + end, + install_bin(Config, #inst{cmd_prefix = CMDPRFX, + exec_prefix = E, + bindir = Bs, + erlang_bindir = EBs}, ChkRes). + +bin_no_srcfile(Config) when is_list(Config) -> + TDir = ?config(test_dir, Config), + make_dirs(TDir, "/opt/local/bin"), + make_dirs(TDir, "/opt/local/lib/erlang/bin"), + Erl = join([TDir, "/opt/local/lib/erlang/bin/erl"]), + ok = file:write_file(Erl, "erl"), + Erlc = join([TDir, "/opt/local/lib/erlang/bin/erlc"]), + RP_Erlc = "../lib/erlang/bin/erlc", + ChkRes = fun (Res, #inst{bindir_symlinks = BSL, + symlinks = SL}) -> + Expct = case {SL, BSL} of + {false, _} when BSL == "relative"; + BSL == "absolute" -> + ?line {error, no_ln_s}; + {false,_} -> + ?line {error,{no_srcfile, Erlc}}; + {true, "absolute"} -> + ?line {error,{no_srcfile, Erlc}}; + {true, _} -> + ?line {error,{no_srcfile, RP_Erlc}} + end, + expect(Expct, Res) + end, + install_bin(Config, + #inst{mkdirs = false, + exec_prefix = "/opt/local", + bindir = "/opt/local/bin", + erlang_bindir = "/opt/local/lib/erlang/bin"}, + ChkRes). + +%% +%% +%% Auxiliary functions +%% +%% + +expect(X, X) -> + ?t:format("result: ~p~n", [X]), + ?t:format("-----------------------------------------------~n", []), + ok; +expect(X, Y) -> + ?t:format("expected: ~p~n", [X]), + ?t:format("got : ~p~n", [Y]), + ?t:format("-----------------------------------------------~n", []), + ?t:fail({X,Y}). + +init_per_suite(Config) -> + PD = ?config(priv_dir, Config), + SymLinks = case ?t:os_type() of + {win32, _} -> false; + _ -> + case file:make_symlink("nothing", + filename:join(PD, + "symlink_test")) of + ok -> true; + _ -> false + end + end, + [{symlinks, SymLinks} | Config]. + +end_per_suite(_Config) -> + ok. + +init_per_testcase(Case, Config) -> + init_per_testcase_aux(?config(symlinks,Config),?t:os_type(),Case,Config). + +init_per_testcase_aux(_, {win32, _}, _Case, _Config) -> + {skip, "Not on windows"}; +init_per_testcase_aux(false, OsType, Case, Config) -> + case lists:member(Case, need_symlink_cases()) of + false -> init_per_testcase_aux(true, OsType, Case, Config); + true -> {skip, "Cannot create symbolic links"} + end; +init_per_testcase_aux(true, _OsType, Case, Config) -> + Dog = ?t:timetrap(?DEFAULT_TIMEOUT), + [{watchdog, Dog}, + {testcase, Case}, + {test_dir, make_dirs(?config(priv_dir, Config), atom_to_list(Case))} + | Config]. + +fin_per_testcase(_Case, Config) -> + Dog = ?config(watchdog, Config), + ?t:timetrap_cancel(Dog), + ok. + + +make_dirs(Root, Suffix) -> + do_make_dirs(Root, string:tokens(Suffix, [$/])). + +do_make_dirs(_Root, []) -> + ""; +do_make_dirs(Root, [D|Ds]) -> + Dir = filename:join(Root, D), + case file:make_dir(Dir) of + {error, eexist} -> ok; + ok -> ok; + Err -> exit({make_dir, Err}) + end, + filename:join(Dir, do_make_dirs(Dir, Ds)). + +install_bin(Config, #inst{mkdirs = MkDirs, + exec_prefix = EXEC_PREFIX, + bindir = BINDIR, + erlang_bindir = ERLANG_BINDIR} = Inst, ChkRes) -> + PDir = ?config(priv_dir, Config), + TDir = ?config(test_dir, Config), + TD = atom_to_list(?config(testcase, Config)), + case MkDirs of + false -> ok; + true -> + make_dirs(TDir, EXEC_PREFIX), + make_dirs(TDir, BINDIR), + make_dirs(TDir, ERLANG_BINDIR), + Erl = join([TDir, ERLANG_BINDIR, "/erl"]), + Erlc = join([TDir, ERLANG_BINDIR, "/erlc"]), + ok = file:write_file(Erl, "erl"), + ok = file:write_file(Erlc, "erlc") + end, + + install_bin2(Config, Inst#inst{destdir = TDir}, ChkRes), + install_bin2(Config, Inst#inst{extra_prefix = TDir}, ChkRes), + install_bin2(Config, Inst#inst{destdir = PDir, + extra_prefix = "/"++TD}, ChkRes), + install_bin2(Config, + Inst#inst{test_prefix = TDir, + exec_prefix = join([TDir, EXEC_PREFIX]), + bindir = join([TDir, BINDIR]), + erlang_bindir = join([TDir, ERLANG_BINDIR])}, + ChkRes), + case ?config(symlinks, Config) of + true -> ok; + false -> {comment, "No symlink tests run, since symlinks not working"} + end. + + +install_bin2(Config, Inst, ChkRes) -> + install_bin3(Config, Inst#inst{symlinks = false, + ln_s = "ln"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = false, + ln_s = "ln", + bindir_symlinks = "relative"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = false, + ln_s = "ln", + bindir_symlinks = "absolute"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = false, + ln_s = "cp -p"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = false, + ln_s = "cp -p", + bindir_symlinks = "relative"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = false, + ln_s = "cp -p", + bindir_symlinks = "absolute"}, ChkRes), + case ?config(symlinks, Config) of + true -> + install_bin3(Config, Inst#inst{symlinks = true, + ln_s = "ln -s"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = true, + ln_s = "ln -s", + bindir_symlinks = "relative"}, ChkRes), + install_bin3(Config, Inst#inst{symlinks = true, + ln_s = "ln -s", + bindir_symlinks = "absolute"}, ChkRes); + false -> + ok + end. + + + +install_bin3(Config, + #inst{cmd_prefix = CMD_PRFX, + ln_s = LN_S, + destdir = DESTDIR, + extra_prefix = EXTRA_PREFIX, + exec_prefix = EXEC_PREFIX, + bindir = BINDIR, + erlang_bindir = ERLANG_BINDIR, + bindir_symlinks = BINDIR_SYMLINKS} = Inst, + ChkRes) -> + Test = ?config(testcase, Config), + DDir = ?config(data_dir, Config), + TDir = ?config(test_dir, Config), + InstallBin = filename:join(DDir, "install_bin"), + ResFile = filename:join(TDir, atom_to_list(Test) ++ "-result.txt"), + Cmd = CMD_PRFX ++ " " + ++ InstallBin ++ " --ln_s \"" ++ LN_S + ++ "\" --destdir \"" ++ DESTDIR + ++ "\" --extra-prefix \"" ++ EXTRA_PREFIX + ++ "\" --bindir-symlinks \"" ++ BINDIR_SYMLINKS + ++ "\" --bindir \"" ++ BINDIR + ++ "\" --erlang-bindir \"" ++ ERLANG_BINDIR + ++ "\" --exec-prefix \"" ++ EXEC_PREFIX + ++ "\" --test-file \"" ++ ResFile ++ "\" erl erlc", + + ?t:format("CMD_PRFX = \"~s\"~n" + "LN_S = \"~s\"~n" + "BINDIR_SYMLINKS = \"~s\"~n" + "exec_prefix = \"~s\"~n" + "bindir = \"~s\"~n" + "erlang_bindir = \"~s\"~n" + "EXTRA_PREFIX = \"~s\"~n" + "DESTDIR = \"~s\"~n", + [CMD_PRFX, LN_S, BINDIR_SYMLINKS, EXEC_PREFIX, BINDIR, + ERLANG_BINDIR, EXTRA_PREFIX, DESTDIR]), + + ?t:format("$ ~s~n", [Cmd]), + CmdOutput = os:cmd(Cmd), + ?t:format("~s~n", [CmdOutput]), + ChkRes(case file:consult(ResFile) of + {ok, [Res]} -> Res; + Err -> exit({result, Err}) + end, + Inst). + +join("") -> + ""; +join([""|Ds]) -> + join(Ds); +join([D|Ds]) -> + "/" ++ string:strip(D, both, $/) ++ join(Ds). + diff --git a/erts/test/install_SUITE_data/dirname b/erts/test/install_SUITE_data/dirname new file mode 100755 index 0000000000..ecdbef95dd --- /dev/null +++ b/erts/test/install_SUITE_data/dirname @@ -0,0 +1,2 @@ +#!/bin/sh +exit 1 diff --git a/lib/.gitignore b/lib/.gitignore index 0cb938ea7c..fc8a1c5568 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -1,3 +1,31 @@ +# common test + +/common_test/doc/src/ct.xml +/common_test/doc/src/ct_cover.xml +/common_test/doc/src/ct_ftp.xml +/common_test/doc/src/ct_master.xml +/common_test/doc/src/ct_rpc.xml +/common_test/doc/src/ct_snmp.xml +/common_test/doc/src/ct_ssh.xml +/common_test/doc/src/ct_telnet.xml +/common_test/doc/src/unix_telnet.xml + +# edoc + +/edoc/doc/src/chapter.xml +/edoc/doc/src/edoc.xml +/edoc/doc/src/edoc_doclet.xml +/edoc/doc/src/edoc_extract.xml +/edoc/doc/src/edoc_layout.xml +/edoc/doc/src/edoc_lib.xml +/edoc/doc/src/edoc_run.xml + +# eunit + +/eunit/doc/src/chapter.xml +/eunit/doc/src/eunit.xml +/eunit/doc/src/eunit_surefire.xml + # erl_interface /erl_interface/bin @@ -5,6 +33,15 @@ /erl_interface/obj.st /erl_interface/obj +# gs + +/gs/doc/src/gs_chapter2.xml +/gs/doc/src/gs_chapter4.xml +/gs/doc/src/gs_chapter5.xml +/gs/doc/src/gs_chapter6.xml +/gs/doc/src/gs_chapter7.xml +/gs/doc/src/gs_chapter8.xml + # megaco /megaco/src/binary/megaco_ber_bin_drv_media_gateway_control_prev3a.erl @@ -92,6 +129,16 @@ /megaco/src/text/megaco_text_parser_v2.erl /megaco/src/text/megaco_text_parser_v3.erl +# mnesia + +/mnesia/doc/src/Mnesia_App_B.xml +/mnesia/doc/src/Mnesia_App_C.xml +/mnesia/doc/src/Mnesia_App_D.xml +/mnesia/doc/src/Mnesia_chap2.xml +/mnesia/doc/src/Mnesia_chap4.xml +/mnesia/doc/src/Mnesia_chap5.xml +/mnesia/doc/src/Mnesia_chap7.xml + # orber & cos* applications /cosEvent/include/CosEventChannelAdmin.hrl @@ -469,3 +516,41 @@ /orber/src/oe_OrberIFR.hrl /orber/src/oe_erlang.erl /orber/src/oe_erlang.hrl + +# percept + +/percept/doc/src/egd.xml +/percept/doc/src/egd_ug.xml +/percept/doc/src/percept.xml +/percept/doc/src/percept_profile.xml +/percept/doc/src/percept_ug.xml + +# syntax_tools + +/syntax_tools/doc/src/chapter.xml +/syntax_tools/doc/src/epp_dodger.xml +/syntax_tools/doc/src/erl_comment_scan.xml +/syntax_tools/doc/src/erl_prettypr.xml +/syntax_tools/doc/src/erl_recomment.xml +/syntax_tools/doc/src/erl_syntax.xml +/syntax_tools/doc/src/erl_syntax_lib.xml +/syntax_tools/doc/src/erl_tidy.xml +/syntax_tools/doc/src/igor.xml +/syntax_tools/doc/src/prettypr.xml + +# wx + +/wx/doc/src/chapter.xml +/wx/doc/src/gl.xml +/wx/doc/src/glu.xml +/wx/doc/src/ref_man.xml + +# xmerl + +/xmerl/doc/src/xmerl.xml +/xmerl/doc/src/xmerl_eventp.xml +/xmerl/doc/src/xmerl_scan.xml +/xmerl/doc/src/xmerl_ug.xml +/xmerl/doc/src/xmerl_xpath.xml +/xmerl/doc/src/xmerl_xs.xml +/xmerl/doc/src/xmerl_xsd.xml diff --git a/lib/Makefile b/lib/Makefile index 66062068b2..f5ffc6f166 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1996-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1996-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% include $(ERL_TOP)/make/target.mk @@ -51,7 +51,7 @@ else # -------------- # ERTS_SUB_DIRECTORIES = stdlib sasl kernel compiler - OTHER_SUB_DIRECTORIES = tools + OTHER_SUB_DIRECTORIES = tools test_server ifdef BUILD_ALL ifeq ($(findstring win32,$(TARGET)),win32) # BUILD_ALL on win32 OTHER_SUB_DIRECTORIES += \ @@ -60,7 +60,7 @@ else public_key ssl toolbar tv observer debugger reltool odbc runtime_tools \ cosTransactions cosEvent cosTime cosNotification cosProperty \ cosFileTransfer cosEventDomain et megaco webtool \ - xmerl edoc eunit ssh inviso typer docbuilder erl_docgen test_server common_test percept + xmerl edoc eunit ssh inviso typer docbuilder erl_docgen common_test percept # dialyzer OTHER_SUB_DIRECTORIES += hipe else # BUILD_ALL on unix @@ -70,7 +70,7 @@ else pman public_key ssl toolbar tv observer odbc \ runtime_tools cosTransactions cosEvent cosTime cosNotification \ cosProperty cosFileTransfer cosEventDomain et megaco webtool \ - xmerl edoc eunit ssh inviso typer docbuilder erl_docgen test_server common_test percept + xmerl edoc eunit ssh inviso typer docbuilder erl_docgen common_test percept # dialyzer OTHER_SUB_DIRECTORIES += hipe $(TSP_APP) endif diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile index 53da8fd035..906c513fad 100644 --- a/lib/asn1/c_src/Makefile +++ b/lib/asn1/c_src/Makefile @@ -1,20 +1,132 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 2002-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2002-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # # -include $(ERL_TOP)/make/run_make.mk +include $(ERL_TOP)/make/target.mk +include $(ERL_TOP)/make/$(TARGET)/otp.mk +include $(ERL_TOP)/make/$(TARGET)/otp_ded.mk + +CC = $(DED_CC) +LD = $(DED_LD) +LIBS = $(DED_LIBS) + +# ---------------------------------------------------- +# Application version +# ---------------------------------------------------- +include ../vsn.mk +VSN=$(ASN1_VSN) + +# ---------------------------------------------------- +# Release directory specification +# ---------------------------------------------------- +RELSYSDIR = $(RELEASE_PATH)/lib/asn1-$(VSN) + + +# ---------------------------------------------------- +# FLAGS misc +# ---------------------------------------------------- +ifeq ($(TYPE),debug) +TYPEMARKER = .debug +else +TYPEMARKER = +endif + +EI_LIBDIR = $(ERL_TOP)/lib/erl_interface/obj$(TYPEMARKER)/$(TARGET) + +# ---------------------------------------------------- +# FLAGS +# ---------------------------------------------------- +EI_INCLUDES = -I$(ERL_TOP)/lib/erl_interface/include +CFLAGS = $(DED_INCLUDES) $(EI_INCLUDES) $(DED_CFLAGS) +LDFLAGS += $(DED_LDFLAGS) + +LD_INCL_EI = -L$(EI_LIBDIR) + +# ---------------------------------------------------- +# Target Specs +# ---------------------------------------------------- + +C_FILES = asn1_erl_driver.c + + +ifeq ($(TARGET),win32) +LD_EI = -lei_md +SHARED_OBJ_FILES = $(LIBDIR)/asn1_erl_drv.dll +OBJ_FILES = $(OBJDIR)/asn1_erl_drv.o +CLIB_FLAGS = +LN=cp +else +LD_EI = -lei +OBJ_FILES = $(OBJDIR)/asn1_erl_drv.o +ifeq ($(findstring vxworks,$(TARGET)),vxworks) +SHARED_OBJ_FILES = $(LIBDIR)/asn1_erl_drv.eld +CLIB_FLAGS = +else +SHARED_OBJ_FILES = $(LIBDIR)/asn1_erl_drv.so +CLIB_FLAGS = -lc +endif +LN= ln -s +endif + +# ---------------------------------------------------- +# Targets +# ---------------------------------------------------- + +opt: $(OBJDIR) $(LIBDIR) $(SHARED_OBJ_FILES) + +debug: opt + +clean: + rm -f core *~ + rm -f $(LIBDIR)/* + rm -f $(OBJDIR)/* + +docs: + +# ---------------------------------------------------- +# Special Build Targets +# ---------------------------------------------------- + + +$(OBJ_FILES): $(C_FILES) + $(CC) -c $(CFLAGS) -o $(OBJ_FILES) $(C_FILES) + +$(SHARED_OBJ_FILES): $(OBJ_FILES) + $(LD) $(LDFLAGS) $(LD_INCL_EI) -o $(SHARED_OBJ_FILES) $(OBJ_FILES) $(LD_EI) $(CLIB_FLAGS) $(LIBS) + +$(LIBDIR): + -mkdir -p $(LIBDIR) + +$(OBJDIR): + -mkdir -p $(OBJDIR) + + + +# ---------------------------------------------------- +# Release Target +# ---------------------------------------------------- +include $(ERL_TOP)/make/otp_release_targets.mk + +release_spec: opt + $(INSTALL_DIR) $(RELSYSDIR)/priv/lib + $(INSTALL_DATA) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib + $(INSTALL_DIR) $(RELSYSDIR)/c_src + $(INSTALL_DATA) $(C_FILES) $(RELSYSDIR)/c_src + +release_docs_spec: + diff --git a/lib/asn1/c_src/Makefile.in b/lib/asn1/c_src/Makefile.in deleted file mode 100644 index b4a0cddba1..0000000000 --- a/lib/asn1/c_src/Makefile.in +++ /dev/null @@ -1,139 +0,0 @@ -# -# %CopyrightBegin% -# -# Copyright Ericsson AB 2002-2009. All Rights Reserved. -# -# The contents of this file are subject to the Erlang Public License, -# Version 1.1, (the "License"); you may not use this file except in -# compliance with the License. You should have received a copy of the -# Erlang Public License along with this software. If not, it can be -# retrieved online at http://www.erlang.org/. -# -# Software distributed under the License is distributed on an "AS IS" -# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -# the License for the specific language governing rights and limitations -# under the License. -# -# %CopyrightEnd% -# -# -include $(ERL_TOP)/make/target.mk -include $(ERL_TOP)/make/$(TARGET)/otp.mk - -ERLANG_OSTYPE = @ERLANG_OSTYPE@ - -CC = @CC@ - -LD = @DED_LD@ -LIBS = @LIBS@ - -LIBDIR = $(ERL_TOP)/lib/asn1/priv/lib/$(TARGET) -OBJDIR = $(ERL_TOP)/lib/asn1/priv/obj/$(TARGET) - -# ---------------------------------------------------- -# Application version -# ---------------------------------------------------- -include ../vsn.mk -VSN=$(ASN1_VSN) - -# ---------------------------------------------------- -# Release directory specification -# ---------------------------------------------------- -RELSYSDIR = $(RELEASE_PATH)/lib/asn1-$(VSN) - - -# ---------------------------------------------------- -# FLAGS misc -# ---------------------------------------------------- -ifeq ($(TYPE),debug) -TYPEMARKER = .debug -else -TYPEMARKER = -endif - -EI_LIBDIR = $(ERL_TOP)/lib/erl_interface/obj$(TYPEMARKER)/$(TARGET) - -# ---------------------------------------------------- -# FLAGS -# ---------------------------------------------------- -EI_INCLUDES = -I$(ERL_TOP)/lib/erl_interface/include -DRIVER_INCLUDES = -I$(ERL_TOP)/erts/emulator/beam \ - -I$(ERL_TOP)/erts/emulator/sys/$(ERLANG_OSTYPE) -CFLAGS = $(DRIVER_INCLUDES) $(EI_INCLUDES) @DED_CFLAGS@ -LDFLAGS += @DED_LDFLAGS@ - -LD_INCL_EI = -L$(EI_LIBDIR) - -# ---------------------------------------------------- -# Target Specs -# ---------------------------------------------------- - -C_FILES = asn1_erl_driver.c - - -ifeq ($(TARGET),win32) -LD_EI = -lei_md -SHARED_OBJ_FILES = $(LIBDIR)/asn1_erl_drv.dll -OBJ_FILES = $(OBJDIR)/asn1_erl_drv.o -CLIB_FLAGS = -LN=cp -else -LD_EI = -lei -OBJ_FILES = $(OBJDIR)/asn1_erl_drv.o -ifeq ($(findstring vxworks,$(TARGET)),vxworks) -SHARED_OBJ_FILES = $(LIBDIR)/asn1_erl_drv.eld -CLIB_FLAGS = -else -SHARED_OBJ_FILES = $(LIBDIR)/asn1_erl_drv.so -CLIB_FLAGS = -lc -endif -LN= ln -s -endif - -# ---------------------------------------------------- -# Targets -# ---------------------------------------------------- - -opt: $(OBJDIR) $(LIBDIR) $(SHARED_OBJ_FILES) - -debug: opt - -clean: - rm -f core *~ - rm -f $(LIBDIR)/* - rm -f $(OBJDIR)/* - -docs: - -# ---------------------------------------------------- -# Special Build Targets -# ---------------------------------------------------- - - -$(OBJ_FILES): $(C_FILES) $(OBJDIR) - $(CC) -c $(CFLAGS) -o $(OBJ_FILES) $(C_FILES) - -$(SHARED_OBJ_FILES): $(OBJ_FILES) $(LIBDIR) - $(LD) $(LDFLAGS) $(LD_INCL_EI) -o $(SHARED_OBJ_FILES) $(OBJ_FILES) $(LD_EI) $(CLIB_FLAGS) $(LIBS) - -$(LIBDIR): - -mkdir -p $(LIBDIR) - -$(OBJDIR): - -mkdir -p $(OBJDIR) - - - -# ---------------------------------------------------- -# Release Target -# ---------------------------------------------------- -include $(ERL_TOP)/make/otp_release_targets.mk - -release_spec: opt - $(INSTALL_DIR) $(RELSYSDIR)/priv/lib - $(INSTALL_DATA) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib - $(INSTALL_DIR) $(RELSYSDIR)/c_src - $(INSTALL_DATA) $(C_FILES) $(RELSYSDIR)/c_src - -release_docs_spec: - diff --git a/lib/compiler/doc/src/compile.xml b/lib/compiler/doc/src/compile.xml index daa686bc56..bbd3f1043d 100644 --- a/lib/compiler/doc/src/compile.xml +++ b/lib/compiler/doc/src/compile.xml @@ -732,7 +732,7 @@ pi() -> 3.1416. <p>A string describing the error is obtained with the following call:</p> <code> -apply(Module, format_error, ErrorDescriptor) +Module:format_error(ErrorDescriptor) </code> </section> diff --git a/lib/configure.in b/lib/configure.in deleted file mode 100644 index 7732556c46..0000000000 --- a/lib/configure.in +++ /dev/null @@ -1,37 +0,0 @@ -dnl Turn of caching -define([AC_CACHE_LOAD], )dnl -define([AC_CACHE_SAVE], )dnl - -dnl Process this file with autoconf to produce a configure script. -AC_INIT - -dnl -dnl This is just to run configure in all applications that need it. -dnl - -if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then - AC_MSG_ERROR(You need to set the environment variable ERL_TOP!) -fi -erl_top=${ERL_TOP} -AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) - -dnl Version 2.55 of autoconf generate code that assume a -dnl sub directory isn't a link. Internally at Ericsson -dnl some OTP application directories are soft links. -dnl An added "/." solves this problem. -dnl -dnl The arguments to AC_CONFIG_SUBDIRS should be literals -dnl but a bug in autoconf 2.13 breaks conditional use -dnl of multiple AC_CONFIG_SUBDIRS so we do it the "wrong" -dnl way to force correct code. - -appdirs="" -for d in * ; do - if test -f "$d/configure" ; then - appdirs="$appdirs $d/." - fi -done - -AC_CONFIG_SUBDIRS($appdirs) - -AC_OUTPUT diff --git a/lib/configure.in.src b/lib/configure.in.src new file mode 100644 index 0000000000..792a7f932a --- /dev/null +++ b/lib/configure.in.src @@ -0,0 +1,61 @@ +dnl +dnl %CopyrightBegin% +dnl +dnl Copyright Ericsson AB 1999-2010. All Rights Reserved. +dnl +dnl The contents of this file are subject to the Erlang Public License, +dnl Version 1.1, (the "License"); you may not use this file except in +dnl compliance with the License. You should have received a copy of the +dnl Erlang Public License along with this software. If not, it can be +dnl retrieved online at http://www.erlang.org/. +dnl +dnl Software distributed under the License is distributed on an "AS IS" +dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +dnl the License for the specific language governing rights and limitations +dnl under the License. +dnl +dnl %CopyrightEnd% +dnl + +dnl Turn of caching +define([AC_CACHE_LOAD], )dnl +define([AC_CACHE_SAVE], )dnl + +dnl Process this file with autoconf to produce a configure script. +AC_INIT + +dnl +dnl This is just to run configure in all applications that need it. +dnl + +if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then + AC_MSG_ERROR(You need to set the environment variable ERL_TOP!) +fi +erl_top=${ERL_TOP} +AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf) + +AC_ARG_ENABLE(bootstrap-only, +[ --enable-bootstrap-only enable bootstrap only configuration], +[ if test "X$enableval" = "Xyes"; then + bootstrap_only=yes + else + bootstrap_only=no + fi +], +bootstrap_only=no) + +# Multiple versions of autoconf generates code that +# don't work on all platforms (e.g. SunOS 5.8) if +# sub directories are soft links. Internally at Ericsson +# some OTP application directories are soft links. +# An added "/." solves this problem. + +@BOOTSTRAP_CONFIGURE_APPS@ + +if test $bootstrap_only = no; then + +@NON_BOOTSTRAP_CONFIGURE_APPS@ + +fi + +AC_OUTPUT diff --git a/lib/cosEvent/doc/src/CosEventChannelAdmin.xml b/lib/cosEvent/doc/src/CosEventChannelAdmin.xml index 25f2dc805b..c599a92ff1 100644 --- a/lib/cosEvent/doc/src/CosEventChannelAdmin.xml +++ b/lib/cosEvent/doc/src/CosEventChannelAdmin.xml @@ -4,23 +4,21 @@ <erlref> <header> <copyright> - <year>1997</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>1997</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. - The Initial Developer of the Original Code is Ericsson AB. </legalnotice> <title>CosEventChannelAdmin</title> @@ -73,8 +71,6 @@ <item>SupplierAdmin</item> <item>EventChannel</item> </list> - <p>IDL specification for CosEventChannelAdmin:</p> - <codeinclude file="../../src/CosEventChannelAdmin.idl" tag="" type="c"></codeinclude> </description> </erlref> diff --git a/lib/cosEvent/doc/src/notes.xml b/lib/cosEvent/doc/src/notes.xml index 8cd7b9dd48..78299a38dc 100644 --- a/lib/cosEvent/doc/src/notes.xml +++ b/lib/cosEvent/doc/src/notes.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>1999</year><year>2009</year> + <year>1999</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>cosEvent Release Notes</title> @@ -36,6 +36,18 @@ <title>cosEvent 2.1.8</title> <section> + <title>Improvements and New Features</title> + <list type="bulleted"> + <item> + <p> + Removed the usage of the codeinclude tag in the documentation.</p> + <p> + Own Id: OTP-8409 Aux Id:</p> + </item> + </list> + </section> + + <section> <title>Fixed Bugs and Malfunctions</title> <list type="bulleted"> <item> diff --git a/lib/cosEvent/vsn.mk b/lib/cosEvent/vsn.mk index 7c908d1c5d..8915903bbe 100644 --- a/lib/cosEvent/vsn.mk +++ b/lib/cosEvent/vsn.mk @@ -1,7 +1,8 @@ COSEVENT_VSN = 2.1.8 -TICKETS = OTP-8355 +TICKETS = OTP-8355 \ + OTP-8409 TICKETS_2.1.7 = OTP-8201 diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in index 29263d7ac7..c62ebde27b 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1999-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1999-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # include $(ERL_TOP)/make/target.mk @@ -81,20 +81,12 @@ ifeq ($(HOST_OS),) HOST_OS := $(shell $(ERL_TOP)/erts/autoconf/config.guess) endif DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@ -LD_R_FLAG=@DED_LD_FLAG_RUNTIME_LIBRARY_PATH@ -ifeq ($(strip $(LD_R_FLAG)),) -LD_R_OPT = -else -ifeq ($(DYNAMIC_CRYPTO_LIB),yes) -LD_R_OPT = $(LD_R_FLAG)$(SSL_LIBDIR) -else -LD_R_OPT = -endif -endif ifeq ($(DYNAMIC_CRYPTO_LIB),yes) -CRYPTO_LINK_LIB=-L$(SSL_LIBDIR) -lcrypto +SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@ +CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -lcrypto else +SSL_DED_LD_RUNTIME_LIBRARY_PATH= CRYPTO_LINK_LIB=$(SSL_LIBDIR)/libcrypto.a endif @@ -116,11 +108,11 @@ $(OBJDIR)/%.o: %.c $(LIBDIR)/crypto_drv.so: $(OBJS) $(INSTALL_DIR) $(LIBDIR) - $(LD) $(LDFLAGS) $(LD_R_OPT) -o $@ $^ $(LDLIBS) $(CRYPTO_LINK_LIB) + $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(CRYPTO_LINK_LIB) $(LIBDIR)/crypto_drv.dll: $(OBJS) $(INSTALL_DIR) $(LIBDIR) - $(LD) $(LDFLAGS) -o $@ -L$(SSL_LIBDIR) $(OBJS) -llibeay32 + $(LD) $(LDFLAGS) -o $@ $(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) $(OBJS) -llibeay32 clean: rm -f $(DYN_DRIVER) $(OBJS) diff --git a/lib/erl_interface/configure.in b/lib/erl_interface/configure.in index 2f5b5673bb..7728cb97be 100644 --- a/lib/erl_interface/configure.in +++ b/lib/erl_interface/configure.in @@ -1,19 +1,19 @@ # -*- Autoconf -*- # %CopyrightBegin% -# -# Copyright Ericsson AB 2000-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2000-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # # Process this file with autoconf to produce a configure script. @@ -65,18 +65,12 @@ fi TARGET=$host AC_SUBST(TARGET) -AC_CONFIG_HEADER([src/$host/config.h:src/auxdir/config.h.in]) +AC_CONFIG_HEADER([src/$host/config.h:config.h.in]) dnl ---------------------------------------------------------------------- dnl Optional features dnl ---------------------------------------------------------------------- -AC_ARG_WITH(xcomp-conf, -[ --with-xcompconf=PATH path to cross compilation configuration]) -if test "x$with_xcompconf" != "xno" -a "x$with_xcompconf" != "x" ; then - . $with_xcompconf -fi - # Use --disable-threads to force building single threaded libs even # if pthreads exists (for test purposes). AC_ARG_ENABLE(threads, @@ -95,9 +89,8 @@ AC_PROG_CC AC_PROG_CPP dnl AC_PROG_LIBTOOL AC_PROG_RANLIB -if test "x$LD" = "x"; then - AC_CHECK_TOOL([LD],[ld],[ld]) -fi +AC_CHECK_PROG(LD, ld.sh) +AC_CHECK_TOOL(LD, ld, '$(CC)') AC_SUBST(LD) AC_CHECK_SIZEOF(short) @@ -110,8 +103,8 @@ if test $ac_cv_sizeof_void_p = 8; then CFLAGS="$CFLAGS -DEI_64BIT" fi -AC_CHECK_PROG(AR, ar, ar, false) -if test "$ac_cv_prog_AR" = false; then +AC_CHECK_TOOL(AR, ar, false) +if test "$AR" = false; then AC_MSG_ERROR([No 'ar' command found in PATH]) fi @@ -164,7 +157,7 @@ AC_TRY_COMPILE([#include <sys/types.h> #include <sys/socket.h>], [socklen_t mylen;], [AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_SOCKLEN_T)], + AC_DEFINE(HAVE_SOCKLEN_T, [], [Define if you have the `socklen_t' type])], [AC_MSG_RESULT(no)]) # Checks for library functions. @@ -209,7 +202,7 @@ if test "x$with_gmp" = "xyes" ;then AC_CHECK_HEADER($dir/include/gmp.h, ac_cv_gmp=yes, ac_cv_gmp=no) if test $ac_cv_gmp = yes ; then CFLAGS="$CFLAGS -I$dir/include -L$dir/lib" - AC_DEFINE(HAVE_GMP_H) + AC_DEFINE(HAVE_GMP_H, [], [Define if you have "gmp.h"]) break fi done @@ -226,7 +219,7 @@ elif test "x$with_gmp" != "xno" -a -n "$with_gmp" ;then fi AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -I$with_gmp/include -L$with_gmp/lib" - AC_DEFINE(HAVE_GMP_H) + AC_DEFINE(HAVE_GMP_H, [], [Define if you have "gmp.h"]) AC_CHECK_LIB(gmp, __gmpz_export) # FIXME return ERROR if no lib fi @@ -279,110 +272,43 @@ AC_SUBST(MIXED_CYGWIN) dnl dnl Threads dnl -found_threads=no THR_LIBS= THR_DEFS= -EI_THREADS="false" AC_SUBST(THR_LIBS) AC_SUBST(THR_DEFS) AC_SUBST(EI_THREADS) case "$threads_disabled" in - no) - AC_MSG_CHECKING([for native win32 threads]) - if test "X$host_os" = "Xwin32"; then - THR_DEFS="-DWIN32_THREADS" - found_threads=yes - EI_THREADS="true" - AC_MSG_RESULT([yes]) - AC_MSG_CHECKING([for __declspec(thread) usability]) - if test "X$GCC" = "Xyes"; then - AC_MSG_RESULT([no]) - else - THR_DEFS="$THR_DEFS -DUSE_DECLSPEC_THREAD" - AC_MSG_RESULT([yes]) - fi + no) + LM_CHECK_THR_LIB + + case "$THR_LIB_NAME" in + "") + EI_THREADS="false" + ;; + win32_threads) + EI_THREADS="true" + AC_MSG_CHECKING([for __declspec(thread) usability]) + if test "X$GCC" = "Xyes"; then + AC_MSG_RESULT([no]) else - AC_MSG_RESULT(no) - - dnl Check for POSIX threads - - pthread_lib="" - AC_CHECK_LIB(pthread, - pthread_create, - [found_threads=yes - EI_THREADS="true" - THR_LIBS="-lpthread" - THR_DEFS="-D_REENTRANT -D_THREAD_SAFE -DPOSIX_THREADS" - pthread_lib=pthread]) - - # FreeBSD has pthreads in special c library, c_r - if test $found_threads = no; then - AC_CHECK_LIB(c_r, - pthread_create, - [found_threads=yes - EI_THREADS="true" - THR_LIBS="-lc_r" - THR_DEFS="-D_REENTRANT -D_THREAD_SAFE -DPOSIX_THREADS" - pthread_lib=c_r]) - fi - - if test "x$pthread_lib" != "x"; then - AC_CHECK_LIB($pthread_lib,pthread_atfork,AC_DEFINE(HAVE_PTHREAD_ATFORK)) - AC_CHECK_HEADER(pthread.h, AC_DEFINE(HAVE_PTHREAD_H)) - dnl Some Linuxes have <pthread/mit/pthread.h> instead of <pthread.h> - AC_CHECK_HEADER(pthread/mit/pthread.h, AC_DEFINE(HAVE_MIT_PTHREAD_H)) - case $host_os in - solaris*) - THR_DEFS="$THR_DEFS -D_POSIX_PTHREAD_SEMANTICS";; - linux*) - dnl NPTL test stolen from $ERL_TOP/erts/aclocal.m4 - AC_MSG_CHECKING(for Native POSIX Thread Library) - case `getconf GNU_LIBPTHREAD_VERSION 2>/dev/null` in - nptl*) nptl=yes;; - NPTL*) nptl=yes;; - *) nptl=no;; - esac - AC_MSG_RESULT($nptl) - if test $nptl = yes; then - need_nptl_incldir=no - AC_CHECK_HEADER(nptl/pthread.h, need_nptl_incldir=yes) - if test $need_nptl_incldir = yes; then - # Ahh... - nptl_path="$C_INCLUDE_PATH:$CPATH:/usr/local/include:/usr/include" - nptl_ws_path= - save_ifs="$IFS"; IFS=":" - for dir in $nptl_path; do - if test "x$dir" != "x"; then - nptl_ws_path="$nptl_ws_path $dir" - fi - done - IFS=$save_ifs - nptl_incldir= - for dir in $nptl_ws_path; do - AC_CHECK_HEADER($dir/nptl/pthread.h, - nptl_incldir=$dir/nptl) - if test "x$nptl_incldir" != "x"; then - THR_DEFS="$THR_DEFS -isystem $nptl_incldir" - break - fi - done - if test "x$nptl_incldir" = "x"; then - AC_MSG_ERROR(Failed to locate nptl system include directory) - fi - fi - fi - - ;; - *) - ;; - esac - fi + THR_DEFS="$THR_DEFS -DUSE_DECLSPEC_THREAD" + AC_MSG_RESULT([yes]) fi ;; - yes) - # Threads disabled - ;; + pthread) + EI_THREADS="true" + ;; + *) + EI_THREADS="true" + AC_MSG_WARN([Unexpected thread library: $THR_LIB_NAME]) + ;; + esac + ;; + yes) + # Threads disabled + EI_THREADS="false" + ;; esac # --------------------------------------------------------------------------- @@ -413,12 +339,10 @@ fi # FIXME We want to use libtool but until then.... # --------------------------------------------------------------------------- -AC_SUBST(DED_CFLAGS) -dnl AC_SUBST(DED_LD) -dnl AC_SUBST(DED_LDFLAGS) +AC_SUBST(LIB_CFLAGS) if test "X$host" = "Xwin32"; then - DED_CFLAGS="$CFLAGS" + LIB_CFLAGS="$CFLAGS" else case $host_os in darwin*) @@ -427,9 +351,9 @@ else esac if test "x$GCC" = xyes; then - DED_CFLAGS="$CFLAGS -fPIC" + LIB_CFLAGS="$CFLAGS -fPIC" else - DED_CFLAGS="$CFLAGS" + LIB_CFLAGS="$CFLAGS" fi fi diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in index b8ee5c83c7..ec094789ce 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1997-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -106,7 +106,7 @@ WARNFLAGS = @WFLAGS@ endif ifneq ($(findstring ose,$(TARGET)),ose) -CFLAGS = @DED_CFLAGS@ $(WARNFLAGS) $(INCFLAGS) $(TYPE_FLAGS) +CFLAGS = @LIB_CFLAGS@ $(WARNFLAGS) $(INCFLAGS) $(TYPE_FLAGS) else CFLAGS = @CFLAGS@ $(INCFLAGS) endif diff --git a/lib/erl_interface/src/auxdir/config.h.in b/lib/erl_interface/src/auxdir/config.h.in deleted file mode 100644 index 523c766993..0000000000 --- a/lib/erl_interface/src/auxdir/config.h.in +++ /dev/null @@ -1,277 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* Define to 1 if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define to 1 if you have the `clock_gettime' function. */ -#undef HAVE_CLOCK_GETTIME - -/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you - don't. */ -#undef HAVE_DECL_STRERROR_R - -/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -#undef HAVE_DOPRNT - -/* Define to 1 if you have the `dup2' function. */ -#undef HAVE_DUP2 - -/* Define to 1 if you have the <fcntl.h> header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `fork' function. */ -#undef HAVE_FORK - -/* Define to 1 if you have the `gethostbyaddr' function. */ -#undef HAVE_GETHOSTBYADDR - -/* Define to 1 if you have the `gethostbyname' function. */ -#undef HAVE_GETHOSTBYNAME - -/* Define to 1 if you have the `gethostbyname_r' function. */ -#undef HAVE_GETHOSTBYNAME_R - -/* Define to 1 if you have the `gethostname' function. */ -#undef HAVE_GETHOSTNAME - -/* Define to 1 if you have the `gethrtime' function. */ -#undef HAVE_GETHRTIME - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the <gmp.h> header file. */ -#undef HAVE_GMP_H - -/* Define to 1 if you have the `inet_ntoa' function. */ -#undef HAVE_INET_NTOA - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `gmp' library (-lgmp). */ -#undef HAVE_LIBGMP - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* Define to 1 if you have the `nsl' library (-lnsl). */ -#undef HAVE_LIBNSL - -/* Define to 1 if you have the `resolv' library (-lresolv). */ -#undef HAVE_LIBRESOLV - -/* Define to 1 if you have the `socket' library (-lsocket). */ -#undef HAVE_LIBSOCKET - -/* Define to 1 if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H - -/* Define to 1 if you have the `memchr' function. */ -#undef HAVE_MEMCHR - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the <netdb.h> header file. */ -#undef HAVE_NETDB_H - -/* Define to 1 if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define to 1 if you have the <pthread/mit/pthread.h> header file. */ -#undef HAVE_MIT_PTHREAD_H - -/* Define to 1 if you have the <pthread.h> header file. */ -#undef HAVE_PTHREAD_H - -/* Define to 1 if your system has a GNU libc compatible `realloc' function, - and to 0 otherwise. */ -#undef HAVE_REALLOC - -/* Define if you have the res_gethostbyname function. */ -#undef HAVE_RES_GETHOSTBYNAME - -/* Define to 1 if you have the `select' function. */ -#undef HAVE_SELECT - -/* Define to 1 if you have the `socket' function. */ -#undef HAVE_SOCKET - -/* Define to 1 if you have the <stddef.h> header file. */ -#undef HAVE_STDDEF_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the `strerror_r' function. */ -#undef HAVE_STRERROR_R - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strrchr' function. */ -#undef HAVE_STRRCHR - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define to 1 if you have the <sys/socket.h> header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the `uname' function. */ -#undef HAVE_UNAME - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `vfork' function. */ -#undef HAVE_VFORK - -/* Define to 1 if you have the <vfork.h> header file. */ -#undef HAVE_VFORK_H - -/* Define to 1 if you have the `vprintf' function. */ -#undef HAVE_VPRINTF - -/* Define to 1 if `fork' works. */ -#undef HAVE_WORKING_FORK - -/* Define to 1 if `vfork' works. */ -#undef HAVE_WORKING_VFORK - -/* Define if you have the writev function. */ -#undef HAVE_WRITEV - -/* Define if you have the socklen_t datatype */ -#undef HAVE_SOCKLEN_T - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define to the type of arg 1 for `select'. */ -#undef SELECT_TYPE_ARG1 - -/* Define to the type of args 2, 3 and 4 for `select'. */ -#undef SELECT_TYPE_ARG234 - -/* Define to the type of arg 5 for `select'. */ -#undef SELECT_TYPE_ARG5 - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if strerror_r returns char *. */ -#undef STRERROR_R_CHAR_P - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if <sys/types.h> doesn't define. */ -#undef gid_t - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - -/* Define to `int' if <sys/types.h> does not define. */ -#undef pid_t - -/* Define to rpl_realloc if the replacement function should be used. */ -#undef realloc - -/* Define to `unsigned' if <sys/types.h> does not define. */ -#undef size_t - -/* Define to `int' if <sys/types.h> doesn't define. */ -#undef uid_t - -/* Define as `fork' if `vfork' does not work. */ -#undef vfork - -/* Define to empty if the keyword `volatile' does not work. Warning: valid - code using `volatile' can become incorrect without. Disable with care. */ -#undef volatile diff --git a/lib/et/doc/src/book.gif b/lib/et/doc/src/book.gif Binary files differdeleted file mode 100644 index 94b3868792..0000000000 --- a/lib/et/doc/src/book.gif +++ /dev/null diff --git a/lib/et/doc/src/coffee_order.png b/lib/et/doc/src/coffee_order.png Binary files differnew file mode 100644 index 0000000000..b3f17e7ead --- /dev/null +++ b/lib/et/doc/src/coffee_order.png diff --git a/lib/et/doc/src/et.xml b/lib/et/doc/src/et.xml index 27cc47a4b4..9b170dd7d9 100644 --- a/lib/et/doc/src/et.xml +++ b/lib/et/doc/src/et.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>et</title> @@ -37,30 +37,28 @@ </description> <funcs> <func> - <name>report_event(DetailLevel, FromTo, Label, Contents) -> hopefully_traced</name> - <name>report_event(DetailLevel, From, To, Label, Contents) -> hopefully_traced</name> - <name>phone_home(DetailLevel, FromTo, Label, Contents) -> hopefully_traced</name> - <name>phone_home(DetailLevel, From, To, Label, Contents) -> hopefully_traced</name> - <fsummary>Reports an event, such as a message</fsummary> + <name>trace_me(DetailLevel, From, To, Label, Contents) -> hopefully_traced</name> + <fsummary>A function that is intended to be traced.</fsummary> <type> <v>DetailLevel = integer(X) when X =< 0, X >= 100</v> <v>From = actor()</v> <v>To = actor()</v> - <v>FromTo = actor()</v> <v>Label = atom() | string() | term()</v> <v>Contents = [{Key, Value}] | term()</v> - <v>actor() = term()</v> + <v>actor() = term()</v> </type> <desc> - <p>Reports an event, such as a message.</p> - <p>These functions are intended to be invoked at strategic places - in user applications in order to enable simplified tracing. - The functions are extremely light weight as they do nothing - besides returning an atom. These functions are designed for - being traced. The global tracing mechanism in et_collector - defaults to set its trace pattern to these functions.</p> - <p>The label is intended to provide a brief summary of the event. - A simple tag would do.</p> + <p>A function that is intended to be traced.</p> + <p>This function is intended to be invoked at strategic places + in user applications in order to enable simplified + tracing. The functions are extremely light weight as they do + nothing besides returning an atom. The functions are designed + for being traced. The global tracing mechanism in + <c>et_collector</c> defaults to set its trace pattern to these + functions.</p> + <p>The label is intended to provide a brief summary of the + event. It is preferred to use an atom but a string would also + do.</p> <p>The contents can be any term but in order to simplify post processing of the traced events, a plain list of {Key, Value} tuples is preferred.</p> @@ -68,6 +66,37 @@ Other events (termed actions) may be undirected and only have one actor.</p> </desc> </func> + + <func> + <name>trace_me(DetailLevel, FromTo, Label, Contents) -> hopefully_traced</name> + <fsummary>A function that is intended to be traced.</fsummary> + <desc> + <p>Invokes <c>et:trace_me/5</c> with both <c>From</c> and <c>To</c> + set to <c>FromTo</c>.</p> + </desc> + </func> + + <func> + <name>phone_home(DetailLevel, FromTo, Label, Contents) -> hopefully_traced</name> + <name>phone_home(DetailLevel, From, To, Label, Contents) -> hopefully_traced</name> + <fsummary>Send a signal to the outer space</fsummary> + <desc> + <p>These functions sends a signal to the outer space and the + caller hopes that someone is listening. In other words, they + invoke <c>et:trace_me/4</c> and <c>et:trace_me/5</c> + respectively.</p> + </desc> + </func> + <func> + <name>report_event(DetailLevel, FromTo, Label, Contents) -> hopefully_traced</name> + <name>report_event(DetailLevel, From, To, Label, Contents) -> hopefully_traced</name> + <fsummary>Deprecated functions</fsummary> + <desc> + <p>Deprecated functions which for the time being are kept for + backwards compatibility. Invokes <c>et:trace_me/4</c> and + <c>et:trace_me/5</c> respectively.</p> + </desc> + </func> </funcs> </erlref> diff --git a/lib/et/doc/src/et_architecture.xml b/lib/et/doc/src/et_architecture.xml deleted file mode 100644 index 44e262db96..0000000000 --- a/lib/et/doc/src/et_architecture.xml +++ /dev/null @@ -1,554 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE chapter SYSTEM "chapter.dtd"> - -<chapter> - <header> - <copyright> - <year>2002</year><year>2009</year> - <holder>Ericsson AB. All Rights Reserved.</holder> - </copyright> - <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. - - </legalnotice> - - <title>Usage</title> - <prepared>Håkan Mattsson</prepared> - <responsible>Håkan Mattsson</responsible> - <docno></docno> - <approved>Håkan Mattsson</approved> - <checked></checked> - <date></date> - <rev>%VSN%</rev> - <file>et_architecture.xml</file> - </header> - - <section> - <title>Overview</title> - <p>The two major components of the Event Tracer (ET) - tool is a graphical sequence chart viewer (<c>et_viewer</c>) - and its backing storage (<c>et_collector</c>). One collector - may be used as backing storage for several simultaneous - viewers where each one may display a different view of - the same trace data.</p> - <p>The interface between the collector and its viewers - is public in order to enable other types of viewers. - However in the following text we will focus on usage - of the <c>et_viewer</c>.</p> - <p>The main start function is <c>et_viewer:start/1</c>. - It will by default start both an <c>et_collector</c> and - an <c>et_viewer</c>:</p> - <p></p> - <code type="none"><![CDATA[ - % erl -pa et/examples - Erlang (BEAM) emulator version 2002.10.08 [source] - - Eshell V2002.10.08 (abort with ^G) - 1> {ok, Viewer} = et_viewer:start([]). - {ok,<0.31.0>} - ]]></code> - <p>A viewer gets trace events from its collector - by polling it regularly for more events to display. - Trace events are for example reported to the collector with - <c>et_collector:report_event/6</c>:</p> - <code type="none"><![CDATA[ - 2> Collector = et_viewer:get_collector_pid(Viewer). - <0.30.0> - 3> et_collector:report_event(Collector, 60, my_shell, mnesia_tm, start_outer, - "Start outer transaction"), - 3> et_collector:report_event(Collector, 40, mnesia_tm, my_shell, new_tid, - "New transaction id is 4711"), - 3> et_collector:report_event(Collector, 20, my_shell, mnesia_locker, try_write_lock, - "Acquire write lock for {my_tab, key}"), - 3> et_collector:report_event(Collector, 10, mnesia_locker, my_shell, granted, - "You got the write lock for {my_tab, key}"), - 3> et_collector:report_event(Collector, 60, my_shell, do_commit, - "Perform transaction commit"), - 3> et_collector:report_event(Collector, 40, my_shell, mnesia_locker, release_tid, - "Release all locks for transaction 4711"), - 3> et_collector:report_event(Collector, 60, my_shell, mnesia_tm, delete_transaction, - "End of outer transaction"), - 3> et_collector:report_event(Collector, 20, my_shell, end_outer, - "Transaction returned {atomic, ok}"). - {ok,{table_handle,<0.30.0>,11,trace_ts,#Fun<et_collector.0.83904657>}} - 4> - ]]></code> - <p>This is a simulation of the process events caused by a Mnesia - transaction that writes a record in a local table:</p> - <code type="none"> - mnesia:transaction(fun() -> mnesia:write({my_tab, key, val}) end). - </code> - <p>At this stage when we have a couple of events, it is time to - show how it looks like in the graphical interface of - <c>et_viewer</c>:</p> - <p></p> - <image file="sim_trans.gif"> - <icaption>A simulated Mnesia transaction which writes one record</icaption> - </image> - <p>In the sequence chart, the actors (which symbolically has performed the - traced event) are shown as named vertical bars. The order of the - actors may be altered by dragging (hold mouse button 1 pressed during - the operation) the name tag of an actor and drop it elsewhere:</p> - <image file="sim_trans_move_actor.gif"> - <icaption>Two actors has switched places</icaption> - </image> - <p>An event may be an action performed by one single actor (blue - text label) or it may involve two actors and is then depicted as an - arrow directed from one actor to another (red text label). Details of - an event can be shown by clicking (press and release the mouse button 1) - on the event label text or on the arrow:</p> - <p></p> - <image file="sim_trans_write_lock.gif"> - <icaption>Details of a write lock message</icaption> - </image> - </section> - - <section> - <title>Filters and dictionary</title> - <p>The Event Tracer (ET) uses named filters in various - contexts. An Event Trace filter is an <c>Erlang fun</c> - that takes some trace data as input and returns a possibly - modified version of it: - </p> - <p></p> - <code type="none"> - filter(TraceData) -> true | {true, NewEvent} | false - - TraceData = NewEvent | term() - NewEvent = record(event) - </code> - <p>The interface of the filter function is the same as the the - filter functions for the good old <c>lists:zf/2</c>. If the filter - returns <c>false</c> it means that the <c>TraceData</c> should be - dropped. <c>{true, NewEvent}</c> means that the <c>TraceData</c> - should be replaced with <c>NewEvent</c>. And <c>true</c> means that the - <c>TraceData</c> data already is an event record and that it - should be kept as it is. - </p> - <p>The first filter that the trace data is exposed for is - the collector filter. When a trace event is reported with - <c>et_collector:report/2</c> (or <c>et_collector:report_event/5,6</c>) - the first thing that - happens, is that a message is sent to the collector process - to fetch a handle that contains some useful stuff, such as - the collector filter fun and an ets table identifier. - Then the collector filter fun is applied and if it returns - <c>true</c> (or <c>{true, NewEvent}</c>), the event will - be stored in an ets table. As an optimization, subsequent - calls to <c>et_collector:report</c>-functions can use the handle - directly instead of the collector pid. - </p> - <p>The collector filter (that is the filter named - <c>collector</c>) is a little bit special, as its input - may be any Erlang term and is not limited to take an event - record as the other filter functions. - </p> - <p>The collector manages a key/value based dictionary, where - the filters are stored. Updates of the dictionary is - propagated to all subscribing processes. When a viewer is - started it is registered as a subscriber of dictionary updates. - </p> - <p>In a viewer there is only one filter that is active - and all trace events that the viewer gets from the - collector will pass thru that filter. By writing clever - filters it is possible to customize how the events - looks like in the viewer. The following filter replaces - the actor names <c>mnesia_tm</c> and <c>mnesia_locker</c> - and leaves everything else in the record as it was: - </p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%mgr_actors" type="erl"></codeinclude> - <p>If we now add the filter to the running collector: - </p> - <p></p> - <code type="none"><![CDATA[ - 4> Fun = fun(E) -> et_demo:mgr_actors(E) end. - #Fun<erl_eval.5.123085357> - 5> et_collector:dict_insert(Collector, {filter, mgr_actors}, Fun). - ok - 6> - ]]></code> - <p>you will see that the <c>Filter</c> menu in all viewers have - got a new entry called <c>mgr_actors</c>. Select it, and a new - viewer window will pop up:</p> - <p></p> - <image file="sim_trans_mgr_actors.gif"> - <icaption>The same trace data in a different view</icaption> - </image> - <p>In order to see the nitty gritty details of an event - you may click on the event in order to start a contents - viewer for that event. In the contents viewer there is - also a filter menu in order to enable inspection of the - event from other views than the one selected in the viewer. - A click on the <c>new_tid</c> event will cause a contents - viewer window to pop up, showing the event in the - <c>mgr_actors</c> view:</p> - <p></p> - <image file="sim_trans_contents_viewer_mgr_actors.gif"> - <icaption>The trace event in the mgr_actors view</icaption> - </image> - <p>Select the <c>collector</c> entry in the <c>Filters</c> - menu and a new contents viewer window will pop up - showing the same trace event in the collectors view:</p> - <p></p> - <image file="sim_trans_contents_viewer_collector.gif"> - <icaption>The same trace event in the collectors view</icaption> - </image> - </section> - - <section> - <title>Trace clients</title> - <p>As you have seen it is possible to use the - <c>et_collector:report</c>-functions explicitly. By using those functions - you can write your own trace client that reads trace data from any - source stored in any format and just feed the collector with it. You - may replace the default collector filter with a filter that converts - new exciting trace data formats to event-records or you may convert it - to an event-record before you invoke <c>et_collector:report/2</c> and - then rely on the default collector filter to handle the new - format.</p> - <p>There are also existing functions in the API that reads from - various sources and calls <c>et_collector:report/2</c>:</p> - <list type="bulleted"> - <item> - <p>The trace events that are hosted by the collector may be - stored to file and later be loaded by selecting <c>save</c> - and <c>load</c> entries in the viewers <c>File</c>-menu or - via the <c>et_collector</c> API.</p> - </item> - <item> - <p>It is also possible to perform live tracing of a running - system by making use of the built-in trace support in - the Erlang emulator. These Erlang traces can be directed - to files or to ports. See the reference manual for - <c>erlang:trace/4</c>, <c>erlang:trace_pattern/3</c>, - <c>dbg</c> and <c>ttb</c> for more info.</p> - <p>There are also corresponding trace client types that can - read the Erlang trace data format from such files or ports. - The <c>et_collector:start_trace_client/3</c> function makes - use of these Erlang trace clients and redirects the trace - data to the collector.</p> - <p>The default collector filter converts the Erlang trace data - format into event-records.If you want to perform this - differently you can of course write your own collector - filter from scratch. But it may probably save you some - efforts if you first apply the default filter in - <c>et_selector:parse_event/2</c> before you apply your - own conversions of its output.</p> - </item> - </list> - </section> - - <section> - <title>Global tracing and phone home</title> - <p>Setting up an Erlang tracer on a set of nodes and connecting - trace clients to the ports of these tracers is not intuitive. In order - to make this it easier the Event Tracer as a notion of global - tracing. When used, the <c>et_collector</c> process will monitor - Erlang nodes and when one connects, an Erlang tracer will - automatically be started on the other node. A corresponding trace - client will also be started on the collector node in order to - automatically forward the trace events to the collector. Set the - boolean parameter <c>trace_global</c> to <c>true</c> for either the - <c>et_collector</c> or <c>et_viewer</c> in order to activate the - global tracing. There is no restriction on how many concurrent - (anonymous) collectors you can have, but you can only have one global - collector as its name is registered in <c>global</c>.</p> - <p>In order to further simplify the tracing you can make use of the - <c>et:report_event/4,5</c> (or its equivalents - <c>et:phone_home/4,5</c> :-). These functions are intended to be - invoked from other applications when there are interesting events, - in your application that needs to be highlighted. The functions are - extremely light weight as they do nothing besides returning an atom. - These functions are - specifically designed to be traced for. As the caller explicitly - provides the values for the event-record fields, the default collector - filter is able to automatically provide a customized event-record - without any user defined filter functions.</p> - <p>In normal operation the <c>et:report_event/4,5</c> calls are - almost for free. When tracing is needed you can either activate - tracing on these functions explicitly. Or you can combine the usage of - <c>trace_global</c> with the usage of <c>trace_pattern</c>. When set, - the <c>trace_pattern</c> will automatically be activated on all - connected nodes. </p> - <p>One nice thing with the <c>trace_pattern</c> is that it provides - a very simple way of minimizing the amount of generated trace data by - allowing you to explicitly control the detail level of the tracing. As - you may have seen the <c>et_viewer</c> have a slider called - <c>"Detail Level"</c> that allows you to control the detail level of the - trace events displayed in the viewer. On the other hand if you set a - low detail level in the <c>trace_pattern</c>, lots of the trace data - will never be generated and thus not sent over the socket to the trace - client and stored in the collector.</p> - </section> - - <section> - <title>Viewer window</title> - <p>Almost all functionality available in the <c>et_viewer</c> is - also available via shortcuts. Which key that has the same - effect as selecting a menu entry is shown enclosed in - parentheses. For example pressing the key <c>r</c> is - equivalent to selecting the menu entry - <c>Viewer->Refresh</c>. - </p> - <p>File menu:</p> - <list type="bulleted"> - <item> - <p>Close Collector and all Viewers - Close the collector - and all viewers connected to that collector.</p> - </item> - <item> - <p>Close other Viewers, but keep Collector - Keep this viewer - and its collector, but close all other viewers connected - to this collector.</p> - </item> - <item> - <p>Close this Viewer, but keep Collector - Close this viewer, - but all other viewers and the collector.</p> - </item> - <item> - <p>Save Collector to file - Save all events stored in the - collector to file.</p> - </item> - <item> - <p>Load Collector from file - Load the collector with - events from a file.</p> - </item> - </list> - <p>Viewer menu:</p> - <list type="bulleted"> - <item> - <p>First - Scroll <c>this</c> viewer to the first collector - event.</p> - </item> - <item> - <p>Prev - Scroll <c>this</c> viewer one "page" backwards. - Normally this means that the first event displayed in the - viewer will be the last one and the previous <c>max_events</c> - events will be read from the collector.</p> - </item> - <item> - <p>Next - Scroll <c>this</c> viewer one "page" forward. - Normally this means that the last event displayed in the - viewer will be the first one and <c>max_events</c> more - events will be read from the collector.</p> - </item> - <item> - <p>Last - Scroll <c>this</c> viewer to the last collector event.</p> - </item> - <item> - <p>Refresh - Clear <c>this</c> viewer and re-read its events - from the collector.</p> - </item> - <item> - <p>Up 5 - Scroll 5 events backwards.</p> - </item> - <item> - <p>Down 5 - Scroll 5 events forward.</p> - </item> - <item> - <p>Abort search. Display all. - Switch the display mode to - show all events regardless of any ongoing searches. - Abort the searches.</p> - </item> - </list> - <p>Collector menu:</p> - <list type="bulleted"> - <item> - <p>First - Scroll <c>all</c> viewers to the first collector - event.</p> - </item> - <item> - <p>Prev - Scroll <c>all</c> viewers one "page" backwards. - Normally this means that the first event displayed in the - viewer will be the last one and the previous <c>max_events</c> - events will be read from the collector.</p> - </item> - <item> - <p>Next - Scroll <c>all</c> viewers one "page" forward. - Normally this means that the last event displayed in the - viewer will be the first one and <c>max_events</c> more - events will be read from the collector.</p> - </item> - <item> - <p>Last - Scroll <c>all</c> viewers to the last collector event.</p> - </item> - <item> - <p>Refresh - Clear <c>all</c> viewers and re-read their - events from the collector.</p> - </item> - </list> - <p>Filters menu:</p> - <list type="bulleted"> - <item> - <p>ActiveFilter (=) - Start a new viewer window with the - same active filter and scale as the current one.</p> - </item> - <item> - <p>ActiveFilter (+) - Start a new viewer window with - the same active filter but a larger scale than the - current one.</p> - </item> - <item> - <p>ActiveFilter (-) - Start a new viewer window with - the same active filter but a smaller scale than the - current one.</p> - </item> - <item> - <p>collector (0) - Start a new viewer with the collector - filter as active filter.</p> - </item> - <item> - <p>AnotherFilter (2) - If more filters are inserted into - the dictionary, these will turn up here as entries - in the <c>Filters</c> menu. The second filter will be - number 2, the next one number 3 etc. The names are sorted.</p> - </item> - </list> - <p>Slider and radio buttons:</p> - <list type="bulleted"> - <item> - <p>Freeze - When true, this means that the viewer - will not read more events from the collector - until set to false.</p> - </item> - <item> - <p>Hide From=To - When true, this means that the viewer - will hide all events where the from-actor equals - to its to-actor.</p> - </item> - <item> - <p>Hide Unknown - When true, this means that the viewer - will hide all events where either of the from-actor or - to-actor is <c>UNKNOWN</c>.</p> - </item> - <item> - <p>Detail level - This slider controls the resolution - of the viewer. Only events with a detail level <c>smaller</c> - than the selected one (default=100=max) are displayed.</p> - </item> - </list> - <p>Other features:</p> - <list type="bulleted"> - <item> - <p>Display details of an event - Click on the event name - and a new window will pop up, displaying the contents - of an event.</p> - </item> - <item> - <p>Toggle actor search - Normally the viewer will be in a - display mode where all events are shown. By clicking - on an actor name the tool will switch display mode - to only show events with selected actors. - </p> - <p>Click on an actor and only events with that actor - will be displayed. Click on another actor to include - that actor to the selected ones. Clicking on an already - selected actor will remove it from the collections of - selected actors. When the collection of selected actors - becomes empty the normal mode where all actors are shown - will be entered again.</p> - <p>Abort actor search with the <c>a</c> key or with the - <c>Viewer->Abort search</c> menu choice. - </p> - </item> - <item> - <p>Move actor - Drag and drop an actor by first clicking on - the actor name, keeping the button pressed while moving - the cursor to a new location and release the button where - the actor should be moved to.</p> - </item> - </list> - </section> - - <section> - <title>Configuration</title> - <p>The event-records in the ets-table are ordered by their timestamp. - Which timestamp that should be used is controlled via the - <c>event_order</c> parameter. Default is <c>trace_ts</c> which means - the time when the trace data was generated. <c>event_ts</c> means - the time when the trace data was parsed (transformed into an - event-record).</p> - </section> - - <section> - <title>Contents viewer window</title> - <p>File menu:</p> - <list type="bulleted"> - <item> - <p>Close - Close this window.</p> - </item> - <item> - <p>Save - Save the contents of this window to file.</p> - </item> - </list> - <p>Filters menu:</p> - <list type="bulleted"> - <item> - <p>ActiveFilter - Start a new contents viewer window - with the same active filter.</p> - </item> - <item> - <p>AnotherFilter (2) - If more filters are inserted into - the dictionary, these will turn up here as entries - in the <c>Filters</c> menu. The second filter will be - number 2, the next one number 3 etc. The names are sorted.</p> - </item> - </list> - <p>Hide menu:</p> - <list type="bulleted"> - <item> - <p>Hide actor in viewer - Known actors are shown as a - named vertical bars in the viewer window. By hiding the - actor, its vertical bar will be removed and the viewer - will be refreshed.</p> - <p>Hiding the actor is only useful if the <c>max_actors</c> - threshold has been reached, as it then will imply that - the "hidden" actor will be displayed as if it were <c>"UNKNOWN"</c>. - If the <c>max_actors</c> threshold not have been reached, - the actor will re-appear as a vertical bar in the viewer. - </p> - </item> - <item> - <p>Show actor in viewer - This implies that the actor - will be added as a known actor in the viewer with - its own vertical bar.</p> - </item> - </list> - <p>Search menu:</p> - <list type="bulleted"> - <item> - <p>Forward from this event - Set this event to be the first - event in the viewer and change its display mode to be - enter forward search mode. The actor of this event - (from, to or both) will be added to the list of selected - actors. - </p> - </item> - <item> - <p>Reverse from this event - Set this event to be the first - event in the viewer and change its display mode to be - enter reverse search mode. The actor of this event - (from, to or both) will be added to the list of selected - actors. Observe, that the events will be shown in reverse - order. - </p> - </item> - <item> - <p>Abort search. Display all - Switch the display mode - of the viewer to show all events regardless of any - ongoing searches. Abort the searches.</p> - </item> - </list> - </section> -</chapter> - diff --git a/lib/et/doc/src/et_collector.xml b/lib/et/doc/src/et_collector.xml index 01ca7caa5b..88c478c89a 100644 --- a/lib/et/doc/src/et_collector.xml +++ b/lib/et/doc/src/et_collector.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>et_collector</title> @@ -84,11 +84,12 @@ dictionary updates will be propagated to the subscriber processes matching the pattern {{subscriber, '_'}, '_'} where the first '_' is interpreted as a pid().</p> - <p>In global trace mode, the collector will automatically start - tracing on all connected Erlang nodes. When a node connects, a port - tracer will be started on that node and a corresponding trace - client on the collector node. By default the global trace pattern - is 'max'.</p> + + <p>In global trace mode, the collector will automatically + start tracing on all connected Erlang nodes. When a node + connects, a port tracer will be started on that node and a + corresponding trace client on the collector node.</p> + <p>Default values:</p> <list type="bulleted"> <item>parent_pid - self().</item> @@ -349,7 +350,7 @@ </type> <desc> <p>Iterate over the currently stored events.</p> - <p>Iterates over the currently stored eventsand applies + <p>Iterates over the currently stored events and applies a function for each event. The iteration may be performed forwards or backwards and may be limited to a maximum number of events (abs(Limit)).</p> diff --git a/lib/et/doc/src/et_desc.xmlsrc b/lib/et/doc/src/et_desc.xmlsrc new file mode 100644 index 0000000000..c02517ae01 --- /dev/null +++ b/lib/et/doc/src/et_desc.xmlsrc @@ -0,0 +1,683 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>2002</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>Description</title> + <prepared>Håkan Mattsson</prepared> + <responsible>Håkan Mattsson</responsible> + <docno></docno> + <approved>Håkan Mattsson</approved> + <checked></checked> + <date></date> + <rev>%VSN%</rev> + <file>et_desc.xml</file> + </header> + + <section> + <title>Overview</title> + + <p>The two major components of the <c>Event Tracer (ET)</c> tool + is a graphical sequence chart viewer (<c>et_viewer</c>) and its + backing storage (<c>et_collector</c>). One <c>Collector</c> may be + used as backing storage for several simultaneous <c>Viewers</c> + where each one may display a different view of the same trace + data.</p> + + <p>The interface between the <c>Collector</c> and its + <c>Viewers</c> is public in order to enable other types of + <c>Viewers</c>. However in the following text we will focus on + usage of the <c>et_viewer</c>.</p> + + <p>The main start function is <c>et_viewer:start/1</c>. By + default it will start both an <c>et_collector</c> and an + <c>et_viewer</c>:</p> + + <p></p> + + <code type="none"><![CDATA[ + % erl -pa et/examples + Erlang R13B03 (erts-5.7.4) [64-bit] [smp:4:4] [rq:4] + [async-threads:0] [kernel-poll:false] + + Eshell V5.7.4 (abort with ^G) + 1> {ok, Viewer} = et_viewer:start([]). + {ok,<0.40.0>}]]></code> + + <p>A <c>Viewer</c> gets trace <c>Events</c> from its + <c>Collector</c> by polling it regularly for more <c>Events</c> to + display. <c>Events</c> are for example reported to the + <c>Collector</c> with <c>et_collector:report_event/6</c>:</p> + + <code type="none"><![CDATA[ + 2> Collector = et_viewer:get_collector_pid(Viewer). + <0.39.0> + 3> et_collector:report_event(Collector, 60, my_shell, mnesia_tm, start_outer, + 3> "Start outer transaction"), + 3> et_collector:report_event(Collector, 40, mnesia_tm, my_shell, new_tid, + 3> "New transaction id is 4711"), + 3> et_collector:report_event(Collector, 20, my_shell, mnesia_locker, try_write_lock, + 3> "Acquire write lock for {my_tab, key}"), + 3> et_collector:report_event(Collector, 10, mnesia_locker, my_shell, granted, + 3> "You got the write lock for {my_tab, key}"), + 3> et_collector:report_event(Collector, 60, my_shell, do_commit, + 3> "Perform transaction commit"), + 3> et_collector:report_event(Collector, 40, my_shell, mnesia_locker, release_tid, + 3> "Release all locks for transaction 4711"), + 3> et_collector:report_event(Collector, 60, my_shell, mnesia_tm, delete_transaction, + 3> "End of outer transaction"), + 3> et_collector:report_event(Collector, 20, my_shell, end_outer, + 3> "Transaction returned {atomic, ok}"). + {ok,{table_handle,<0.39.0>,16402,trace_ts, + #Fun<et_collector.0.62831470>}}]]></code> + + <p>This actually is a simulation of the process <c>Events</c> + caused by a <c>Mnesia</c> transaction that writes a record in a local + table:</p> + + <code type="none"><![CDATA[ + mnesia:transaction(fun() -> mnesia:write({my_tab, key, val}) end).]]></code> + + <p>At this stage when we have a couple of <c>Events</c>, it is time to + show how it looks like in the graphical interface of + <c>et_viewer</c>:</p> + + <p></p> + + <image file="sim_trans.png"> + <icaption>A simulated Mnesia transaction which writes one record</icaption> + </image> + + <p>In the sequence chart, the actors (which symbolically has + performed the <c>Event</c>) are shown as named vertical bars. The + order of the actors may be altered by dragging (hold mouse button + 1 pressed during the operation) the name tag of an actor and drop + it elsewhere:</p> + + <image file="sim_trans_move_actor.png"> + <icaption>Two actors has switched places</icaption> + </image> + + <p>An <c>Event</c> may be an action performed by one single actor + (blue text label) or it may involve two actors and is then + depicted as an arrow directed from one actor to another (red text + label). Details of an <c>Event</c> can be shown by clicking (press + and release the mouse button 1) on the event label text or on the + arrow. When doing that a <c>Contents Viewer</c> window pops up. It + may look like this:</p> + + <p></p> + + <image file="sim_trans_write_lock.png"> + <icaption>Details of a write lock message</icaption> + </image> + </section> + + <section> + <title>Filters and dictionary</title> + + <p>The <c>Event Tracer (ET)</c> uses named filters in various + contexts. An Event Trace filter is an <c>Erlang fun</c> that takes + some trace data as input and returns a possibly modified version + of it: + </p> + + <p></p> + + <code type="none"><![CDATA[ + filter(TraceData) -> false | true | {true, NewEvent} + + TraceData = Event | erlang_trace_data() + Event = #event{} + NewEvent = #event{}]]></code> + + <p>The interface of the filter function is the same as the the + filter functions for the good old <c>lists:zf/2</c>. If the filter + returns <c>false</c> it means that the trace data should silently + be dropped. <c>true</c> means that the trace data data already is + an <c>Event Record</c> and that it should be kept as it is. + <c>true</c> means that the <c>TraceData</c> already is an <c>Event + Record</c> and that it should be kept as it is. <c>{true, + NewEvent}</c> means that the original trace data should be + replaced with <c>Event</c>. This provides means to get rid of + unwanted <c>Events</c> as well as enabling alternate views of an + <c>Event</c>.</p> + + <p>The first filter that the trace data is exposed for is the + <c>Collector Filter</c>. When a trace <c>Event</c> is reported with + <c>et_collector:report/2</c> (or + <c>et_collector:report_event/5,6</c>) the first thing that + happens, is that a message is sent to the <c>Collector</c> process + to fetch a handle that contains some useful stuff, such as the + <c>Collector Filter Fun</c> and an Ets table identifier. Then the + <c>Collector Filter Fun</c> is applied and if it returns + <c>true</c> (or <c>{true, NewEvent}</c>), the <c>Event</c> will be stored + in an Ets table. As an optimization, subsequent calls to + <c>et_collector:report</c>-functions can use the handle directly + instead of the <c>Collector Pid</c>.</p> + + <p>All filters (registered in a <c>Collector</c> or in a + <c>Viewer</c>) must be able to handle an <c>Event record</c> as + input. The <c>Collector Filter</c> (that is the filter named + <c>all</c>) is a little bit special, as its input also may be raw + <c>Erlang Trace Data</c></p> + + <p>The <c>Collector</c> manages a key/value based dictionary, + where the filters are stored. Updates of the dictionary is + propagated to all subscribing processes. When a <c>Viewer</c> is + started it is registered as a subscriber of dictionary + updates.</p> + + <p>In each <c>Viewer</c> there is only one filter that is active + and all trace <c>Events</c> that the <c>Viewer</c> gets from the + <c>Collector</c> will pass thru that filter. By writing clever + filters it is possible to customize how the <c>Events</c> looks + like in the viewer. The following filter in + <c>et/examples/et_demo.erl</c> replaces the actor names + <c>mnesia_tm</c> and <c>mnesia_locker</c> and leaves everything + else in the record as it was:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%mgr_actors" type="erl"></codeinclude> + <p>If we now add the filter to the running <c>Collector</c>:</p> + + <p></p> + + <code type="none"><![CDATA[ + 4> Fun = fun(E) -> et_demo:mgr_actors(E) end. + #Fun<erl_eval.6.13229925> + 5> et_collector:dict_insert(Collector, {filter, mgr_actors}, Fun). + ok]]></code> + + <p>you will see that the <c>Filter</c> menu in all viewers have + got a new entry called <c>mgr_actors</c>. Select it, and a new + <c>Viewer</c> window will pop up:</p> + + <p></p> + + <image file="sim_trans_mgr_actors.png"> + <icaption>The same trace data in a different view</icaption> + </image> + + <p>In order to see the nitty gritty details of an <c>Event</c> you + may click on the <c>Event</c> in order to start a <c>Contents + Viewer</c> for that <c>Event</c>. In the <c>Contents Viewer</c> + there also is a filter menu that enables inspection of the + <c>Event</c> from other views than the one selected in the + viewer. A click on the <c>new_tid</c> <c>Event</c> will cause a + <c>Contents Viewer</c> window to pop up, showing the <c>Event</c> + in the <c>mgr_actors</c> view:</p> + + <p></p> + + <image file="sim_trans_contents_viewer_mgr_actors.png"> + <icaption>The trace <c>Event</c> in the mgr_actors view</icaption> + </image> + + <p>Select the <c>all</c> entry in the <c>Filters</c> menu + and a new <c>Contents Viewer window</c> will pop up showing the + same trace <c>Event</c> in the collectors view:</p> + + <p></p> + + <image file="sim_trans_contents_viewer_collector.png"> + <icaption>The same trace <c>Event</c> in the collectors + view</icaption> + </image> + </section> + + <section> + <title>Trace clients</title> + <p>As you have seen, it is possible to use the + <c>et_collector:report_event/5,6</c> functions explicitly. By + using those functions you can write your own trace client that + reads trace data from any source stored in any format and just + feed the <c>Collector</c> with it. You may replace the default + <c>Collector Filter</c> with a filter that converts new exciting + trace data formats to <c>Event Records</c> or you may convert it + to an <c>Event Record</c> before you invoke + <c>et_collector:report/2</c> and then rely on the default + <c>Collector Filter</c> to handle the new format.</p> + + <p>There are also existing functions in the API that reads from + various sources and calls <c>et_collector:report/2</c>:</p> + + <list type="bulleted"> + <item> + <p>The trace <c>Events</c> that are hosted by the <c>Collector</c> may be + stored to file and later be loaded by selecting <c>save</c> + and <c>load</c> entries in the <c>Viewers</c> <c>File</c> menu + or via the <c>et_collector</c> API.</p> + </item> + + <item> + <p>It is also possible to perform live tracing of a running + system by making use of the built-in trace support in the + Erlang emulator. These Erlang traces can be directed to files + or to ports. See the reference manual for + <c>erlang:trace/4</c>, <c>erlang:trace_pattern/3</c>, + <c>dbg</c> and <c>ttb</c> for more info.</p> + + <p>There are also corresponding trace client types that can + read the Erlang trace data format from such files or ports. + The <c>et_collector:start_trace_client/3</c> function makes + use of these Erlang trace clients and redirects the trace data + to the <c>Collector</c>.</p> + + <p>The default <c>Collector Filter</c> converts the raw Erlang + trace data format into <c>Event Records</c>. If you want to + perform this differently you can of course write your own + <c>Collector Filter</c> from scratch. But it may probably save + you some efforts if you first apply the default filter in + <c>et_selector:parse_event/2</c> before you apply your own + conversions of its output.</p> + </item> + </list> + </section> + + <section> + <title>Global tracing</title> + + <p>Setting up an Erlang tracer on a set of nodes and connecting + trace clients to the ports of these tracers is not intuitive. In + order to make this it easier the <c>Event Tracer</c> has a notion + of global tracing. When used, the <c>et_collector</c> process will + monitor Erlang nodes and when one connects, an Erlang tracer will + automatically be started on the newly connected node. A + corresponding trace client will also be started on the + <c>Collector</c> node in order to automatically forward the trace + <c>Events</c> to the <c>Collector</c>. Set the boolean parameter + <c>trace_global</c> to <c>true</c> for either the + <c>et_collector</c> or <c>et_viewer</c> in order to activate the + global tracing. There is no restriction on how many concurrent + (anonymous) collectors you can have, but you can only have one + <b>global</b> <c>Collector</c> as its name is registered in + <c>global</c>.</p> + + <p>In order to further simplify the tracing, you can make use of + the <c>et:trace_me/4,5</c> functions. These functions are intended + to be invoked from other applications when there are interesting + <c>Events</c>, in your application that needs to be + highlighted. The functions are extremely light weight as they do + nothing besides returning an atom. These functions are + specifically designed to be traced for. As the caller explicitly + provides the values for the <c>Event Record</c> fields, the + default <c>Collector Filter</c> is able to automatically provide a + customized <c>Event Record</c> without any user defined filter + functions.</p> + + <p>In normal operation, the <c>et:trace_me/4,5</c> calls are almost + for free. When tracing is needed, you can either activate tracing + on these functions explicitly. Or you can combine the usage of + <c>trace_global</c> with the usage of <c>trace_pattern</c>. When + set, the <c>trace_pattern</c> will automatically be activated on + all connected nodes. </p> + + <p>One nice thing with the <c>trace_pattern</c> is that it + provides a very simple way of minimizing the amount of generated + trace data by allowing you to explicitly control the detail level + of the tracing. As you may have seen the <c>et_viewer</c> have a + slider called <c>"Detail Level"</c> that allows you to control the + detail level of the trace <c>Events</c> displayed in the + <c>Viewer</c>. On the other hand if you set a low detail level in + the <c>trace_pattern</c>, lots of the trace data will never be + generated and thus not sent over the socket to the trace client + and stored in the <c>Collector</c>.</p> + </section> + + <section> + <title>Viewer window</title> + + <p>Almost all functionality available in the <c>et_viewer</c> is + also available via shortcuts. Which key that has the same effect + as selecting a menu entry is shown enclosed in parentheses. For + example pressing the key <c>r</c> is equivalent to selecting the + menu entry <c>Viewer->Refresh</c>.</p> + + <p>File menu:</p> + + <list type="bulleted"> + <item> + <p><c>Clear all events in the Collector</c> - Deletes all + <c>Events</c> stored in the <c>Collector</c> and notifies all + connected <c>Viewers</c> about this.</p> + </item> + + <item> + <p><c>Load events to the Collector from file</c> - Loads the + <c>Collector</c> with <c>Events</c> from a file and notifies + all connected <c>Viewers</c> about this.</p> + </item> + + <item> + <p><c>Save all events in the Collector to file</c> - Saves all + <c>Events</c> stored in the <c>Collector</c> to file.</p> + </item> + + <item> + <p><c>Print setup</c> - Enables editing of printer setting, + such as paper and layout.</p> + </item> + + <item> + <p><c>Print current page</c> - Prints the events on the + current page. The page size is dependent of the selected paper + type.</p> + </item> + + <item> + <p><c>Print all pages</c> - Prints all events. The page size + is dependent of the selected paper type.</p> + </item> + + <item> + <p><c>Close this Viewer</c> - Closes this <c>Viewer</c> + window, but keeps all other <c>Viewers</c> windows and the + <c>Collector</c> process.</p> + </item> + + <item> + <p><c>Close other Viewers, but this</c> - Keeps this + <c>Viewer</c> window and its <c>Collector</c> process, but + closes all other <c>Viewers</c> windowsconnected to the same + <c>Collector</c>.</p> + </item> + + <item> + <p><c>Close all Viewers and the Collector</c> - Closes the + <c>Collector</c> and all <c>Viewers</c> connected to it.</p> + </item> + </list> + + <p>Viewer menu:</p> + + <list type="bulleted"> + <item> + <p><c>First</c> - Scrolls <c>this</c> viewer to the first + <c>Event</c> in the <c>Collector</c>.</p> + </item> + + <item> + <p><c>Last</c> - Scrolls <c>this</c> viewer to the last + <c>Event</c> in the <c>Collector</c>.</p> + </item> + + <item> + <p><c>Prev</c> - Scrolls <c>this</c> viewer one page + backwards.</p> + </item> + + <item> + <p><c>Next</c> - Scrolls <c>this</c> viewer one page + forward.</p> + </item> + + <item> + <p><c>Refresh</c> - Clears <c>this</c> viewer and re-read its + <c>Events</c> from the <c>Collector</c>.</p> + </item> + + <item> + <p><c>Up</c> - Scrolls a few <c>Events</c> backwards.</p> + </item> + + <item> + <p><c>Down</c> - Scrolls a few <c>Events</c> forward.</p> + </item> + + <item> + <p><c>Display all actors.</c> - Reset the settings for hidden + and/or highlighted actors.</p> + </item> + </list> + + <p>Collector menu:</p> + + <list type="bulleted"> + <item> + <p><c>First</c> - Scrolls<c>all</c> viewers to the first + <c>Event</c> in the <c>Collector</c>.</p> + </item> + + <item> + <p><c>Last</c> - Scrolls <c>all</c> viewers to the last + <c>Event</c> in the <c>Collector</c>.</p> + </item> + + <item> + <p><c>Prev</c> - Scrolls <c>all</c> viewers one page + backwards.</p> + </item> + + <item> + <p><c>Next</c> - Scrolls <c>all</c> viewers one page + forward.</p> + </item> + + <item> + <p><c>Refresh</c> - Clears <c>all</c> viewers and re-read + their <c>Events</c> from the <c>Collector</c>.</p> + </item> + </list> + + <p>Filters and scaling menu:</p> + + <list type="bulleted"> + <item> + <p><c>ActiveFilter (=)</c> - Starts a new <c>Viewer</c> window + with the same active filter and scale as the current one.</p> + </item> + + <item> + <p><c>ActiveFilter (+)</c> - Starts a new <c>Viewer</c> window + with the same active filter but a larger scale than the + current one.</p> + </item> + + <item> + <p><c>ActiveFilter (-)</c> - Starts a new <c>Viewer </c>window + with the same active filter but a smaller scale than the + current one.</p> + </item> + + <item> + <p><c>all (0)</c> - Starts a new <c>Viewer</c> with the + <c>Collector Filter</c> as active filter. It will cause all + events in the collector to be viewed.</p> + </item> + + <item> + <p><c>AnotherFilter (2)</c> - If more filters are inserted + into the dictionary, these will turn up here as entries in the + <c>Filters</c> menu. The second filter will get the shortcut + number 2, the next one number 3 etc. The names are sorted.</p> + </item> + </list> + + <p>Slider and radio buttons:</p> + + <list type="bulleted"> + <item> + <p><c>Hide From=To</c> - When true, this means that the + <c>Viewer</c> will hide all <c>Events</c> where the from-actor + equals to its to-actor. These events are sometimes called + actions.</p> + </item> + + <item> + <p><c>Hide (excluded actors)</c> - When true, this means that + the <c>Viewer</c> will hide all <c>Events</c> whose actors are + marked as excluded. Excluded actors are normally enclosed in + round brackets when they are displayed inthe + <c>Viewer</c>.</p> + </item> + + <item> + <p><c>Detail level</c> - This slider controls the resolution + of the <c>Viewer</c>. Only <c>Events</c> with a detail level + <c>smaller</c> than the selected one (default=100=max) are + displayed.</p> + </item> + </list> + + <p>Other features:</p> + + <list type="bulleted"> + <item> + <p><c>Vertical scroll</c> - Use mouse wheel and up/down arrows + to scroll little. Use page up/down and home/end buttons to + scroll more.</p> + </item> + + <item> + <p><c>Display details of an event</c> - Left mouse click on + the event label or the arrowand a new <c>Contents Viewer</c> + window will pop up, displaying the contents of an + <c>Event</c>.</p> + </item> + + <item> + <p><c>Highlight actor (toggle)</c> - Left mouse click on the + actor name tag. The actor name will be enclosed in square + brackets <c>[]</c>. When one or more actors are highlighted, + only events related to those actors are displayed. All others + are hidden.</p> + </item> + + <item> + <p><c>Exclude actor (toggle)</c> - Right mouse click on the + actor name tag. The actor name will be enclosed in round + brackets <c>()</c>. When an actor is excluded, all events + related to this actor is hidden. If the checkbox <c>Hide + (excluded actors)</c> is checked, even the name tags and + corresponding vertical line of excluded actors will be + hidden.</p> + </item> + + <item> + <p><c>Move actor</c> - Left mouse button drag and drop on + actor name tag. Move the actor by first clicking on the actor + name, keeping the button pressed while moving the cursor to a + new location and release the button where the actor should be + moved to.</p> + </item> + + <item> + <p><c>Display all actors</c> - Press the 'a' button. Reset the + settings for hidden and/or highlighted actors.</p> + </item> + </list> + </section> + + <section> + <title>Configuration</title> + + <p>The <c>Event Records</c> in the Ets table are ordered by their + timestamp. Which timestamp that should be used is controlled via + the <c>event_order</c> parameter. Default is <c>trace_ts</c> which + means the time when the trace data was generated. <c>event_ts</c> + means the time when the trace data was parsed (transformed into an + <c>Event Record</c>).</p> + </section> + + <section> + <title>Contents viewer window</title> + + <p>File menu:</p> + + <list type="bulleted"> + <item> + <p><c>Close</c> - Close this window.</p> + </item> + + <item> + <p><c>Save</c> - Save the contents of this window to file.</p> + </item> + </list> + + <p>Filters menu:</p> + + <list type="bulleted"> + <item> + <p><c>ActiveFilter</c> - Start a new <c>Contents Viewer + window</c> with the same active filter.</p> + </item> + + <item> + <p><c>AnotherFilter (2)</c> - If more filters are inserted + into the dictionary, these will turn up here as entries in the + <c>Filters</c> menu. The second filter will be number 2, the + next one number 3 etc. The names are sorted.</p> + </item> + </list> + + <p>Hide menu:</p> + + <list type="bulleted"> + <item> + <p><c>Hide actor in viewer</c> - Known actors are shown as a + named vertical bars in the <c>Viewer</c> window. By hiding the + actor, its vertical bar will be removed and the <c>Viewer</c> + will be refreshed.</p> + + <p><c>Hiding the actor</c> is only useful if the + <c>max_actors</c> threshold has been reached, as it then will + imply that the "hidden" actor will be displayed as if it were + <c>"UNKNOWN"</c>. If the <c>max_actors</c> threshold not have + been reached, the actor will re-appear as a vertical bar in + the <c>Viewer</c>.</p> + </item> + <item> + <p><c>Show actor in viewer</c> - This implies that the actor + will be added as a known actor in the <c>Viewer</c> with its + own vertical bar.</p> + </item> + </list> + + <p>Search menu:</p> + + <list type="bulleted"> + <item> + <p><c>Forward from this event</c> - Set this event to be the first + event in the viewer and change its display mode to be enter + forward search mode. The actor of this event (from, to or + both) will be added to the list of selected actors.</p> + </item> + + <item> + <p><c>Reverse from this event</c> - Set this event to be the + first <c>Event</c> in the <c>Viewer</c> and change its display + mode to be enter reverse search mode. The actor of this + <c>Event</c> (from, to or both) will be added to the list of + selected actors. Observe, that the <c>Events</c> will be shown + in reverse order.</p> + </item> + + <item> + <p><c>Abort search. Display all</c> - Switch the display mode + of the <c>Viewer</c> to show all <c>Events</c> regardless of + any ongoing searches. Abort the searches.</p> + </item> + </list> + </section> +</chapter> + diff --git a/lib/et/doc/src/et_examples.xml b/lib/et/doc/src/et_examples.xml deleted file mode 100644 index 7627b191a1..0000000000 --- a/lib/et/doc/src/et_examples.xml +++ /dev/null @@ -1,311 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE chapter SYSTEM "chapter.dtd"> - -<chapter> - <header> - <copyright> - <year>2002</year><year>2009</year> - <holder>Ericsson AB. All Rights Reserved.</holder> - </copyright> - <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. - - </legalnotice> - - <title>Examples</title> - <prepared>Håkan Mattsson</prepared> - <responsible>Håkan Mattsson</responsible> - <docno></docno> - <approved>Håkan Mattsson</approved> - <checked></checked> - <date></date> - <rev>%VSN%</rev> - <file>et_examples.xml</file> - </header> - - <section> - <title>A simulated Mnesia transaction</title> - <p>The Erlang code for running the simulated Mnesia transaction example - in the previous chapter is included in the <c>et/examples/et_demo.erl</c> file: - </p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%sim_trans" type="erl"></codeinclude> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%mgr_actors" type="erl"></codeinclude> - <p>If you invoke the <c>et_demo:sim_trans()</c> function a viewer - window will pop up and the sequence trace will be almost the same as - if the following Mnesia transaction would have been run:</p> - <p></p> - <code type="none"> - mnesia:transaction(fun() -> mnesia:write({my_tab, key, val}) end). - </code> - <p>And the viewer window will look like:</p> - <p></p> - <code type="none"><![CDATA[ - $ erl -pa ../examples - Erlang (BEAM) emulator version 2002.10.08 [source] - - Eshell V2002.10.08 (abort with ^G) - 1> et_demo:sim_trans(). - {ok,{table_handle,<0.30.0>,11,trace_ts,#Fun<et_collector.0.83904657>}} - 2> - ]]></code> - <p></p> - <image file="sim_trans.gif"> - <icaption>A simulated Mnesia transaction which writes one record</icaption> - </image> - </section> - - <section> - <title>Some convenient functions used in the Mnesia transaction example</title> - <p>The <c>module_as_actor</c> filter converts the event-records so - the module names becomes actors and the invoked functions becomes - labels. If the information about who the caller was it will be - displayed as an arrow directed from the caller to the callee. The - <c>[{message, {caller}}, {return_trace}]</c> options to <c>dbg:tpl/2</c> - function will imply the necessary information in the Erlang traces. - Here follows the <c>module_as_actor</c> filter:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%module_as_actor" type="erl"></codeinclude> - <p>The <c>plain_process_info</c> filter does not alter the event-records. - It merely ensures that the event not related to processes are skipped:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%plain_process_info" type="erl"></codeinclude> - <p>The <c>plain_process_info_nolink</c> filter does not alter the - event-records. It do makes use of the <c>plain_process_info</c> , but - do also ensure that the process info related to linking and unlinking - is skipped:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%plain_process_info_nolink" type="erl"></codeinclude> - <p>In order to simplify the startup of an <c>et_viewer</c> process - with the filters mentioned above, plus some others (that also are - found in <c>et/examples/et_demo.erl</c> src/et_collector.erl the - <c>et_demo:start/0,1</c> functions can be used:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%start" type="erl"></codeinclude> - <p>A simple one-liner starts the tool:</p> - <code type="none"> - erl -pa ../examples -s et_demo - </code> - <p>The filters are included by the following parameters:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%filters" type="erl"></codeinclude> - </section> - - <section> - <title>Erlang trace of a Mnesia transaction</title> - <p>The following piece of code <c>et_demo:trace_mnesia/0</c> - activates call tracing of both local and external function calls for - all modules in the Mnesia application. The call traces are configured - cover all processes (both existing and those that are spawned in the - future) and include timestamps for trace data. It do also activate - tracing of process related events for Mnesia's static processes plus - the calling process (that is your shell). Please, observe that the - <c>whereis/1</c> call in the following code requires that both the - traced Mnesia application and the <c>et_viewer</c>is running on the - same node:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%trace_mnesia" type="erl"></codeinclude> - <p>The <c>et_demo:live_trans/0</c> function starts the a global - controller, starts a viewer, starts Mnesia, creates a local table, - activates tracing (as described above) and registers the shell - process is as 'my_shell' for clarity. Finally the a simple Mnesia - transaction that writes a single record is run:</p> - <p></p> - <codeinclude file="../../examples/et_demo.erl" tag="%live_trans" type="erl"></codeinclude> - <p>Now we run the <c>et_demo:live_trans/0</c> function:</p> - <p></p> - <code type="none"> - erl -pa ../examples -s et_demo live_trans - Erlang (BEAM) emulator version 2002.10.08 [source] - - Eshell V2002.10.08 (abort with ^G) - 1> - </code> - <p>Please, explore the different filters in order to see how the traced - transaction can be seen from different point of views:</p> - <p></p> - <image file="live_trans.gif"> - <icaption>A real Mnesia transaction which writes one record</icaption> - </image> - </section> - - <section> - <title>Erlang trace of Megaco startup</title> - <p>The Event Tracer (ET) tool was initially written in order to - demonstrate how messages where sent over the Megaco protocol. This - were back in the old days before the standard bodies of IETF and ITU - had approved Megaco (also called H.248) as an international - standard.</p> - <p>In the Megaco application of Erlang/OTP, the code is carefully - instrumented with calls to <c>et:report_event/5</c>. For call a detail - level is set in order to dynamically control the trace level in a - simple manner.</p> - <p>The <c>megaco_filter</c> module implements a customized filter - for Megaco messages. It does also make use of <c>trace_global</c> - combined with usage of the <c>trace_pattern</c>:</p> - <p></p> - <code type="none"> - -module(megaco_filter). - -export([start/0]). - - start() -> - Options = - [{event_order, event_ts}, - {scale, 3}, - {max_actors, infinity}, - {trace_pattern, {megaco, max}}, - {trace_global, true}, - {dict_insert, {filter, megaco_filter}, fun filter/1}, - {active_filter, megaco_filter}, - {title, "Megaco tracer - Erlang/OTP"}], - et_viewer:start(Options). - </code> - <p>First we start an Erlang node with the a global collector and - its viewer. The <c>et_viewer: search for: [] ++ ["gateway_tt"]</c> - printout is caused by a click on the "gateway_tt" actor name in the - viewer. It means that only events with that actor will be displayed - in the viewer.</p> - <p></p> - <code type="none"> - erl -sname observer -s megaco_filter - Erlang (BEAM) emulator version 2002.10.08 [source] - - Eshell V2002.10.08 (abort with ^G) - (observer@amrod)1> et_viewer: search for: [] ++ ["gateway_tt"] - </code> - <p>Secondly we start another Erlang node which we connect the - observer node, before we start the application that we want to - trace. In this case we start a Media Gateway Controller that listens - for both TCP and UDP on the text and binary ports for Megaco:</p> - <p></p> - <code type="none"> - erl -sname mgc -pa ../../megaco/examples/simple - Erlang (BEAM) emulator version 2002.10.08 [source] - - Eshell V2002.10.08 (abort with ^G) - (mgc@amrod)1> net:ping(observer@amrod). - pong - (mgc@amrod)2> megaco:start(). - ok - (mgc@amrod)3> megaco_simple_mgc:start(). - {ok,[{ok,2944, - {megaco_receive_handle,{deviceName,"controller"}, - megaco_pretty_text_encoder, - [], - megaco_tcp}}, - {ok,2944, - {megaco_receive_handle,{deviceName,"controller"}, - megaco_pretty_text_encoder, - [], - megaco_udp}}, - {ok,2945, - {megaco_receive_handle,{deviceName,"controller"}, - megaco_binary_encoder, - [], - megaco_tcp}}, - {ok,2945, - {megaco_receive_handle,{deviceName,"controller"}, - megaco_binary_encoder, - [], - megaco_udp}}]} - (mgc@amrod)4> - </code> - <p>And finally we start an Erlang node for the Media Gateways and - connect to the observer node. Each Media Gateway connects to the - controller and sends an initial Service Change message. The controller - accepts the gateways and sends a reply to each one using the same - transport mechanism and message encoding according to the preference - of each gateway. That is all combinations of TCP/IP transport, UDP/IP - transport, text encoding and ASN.1 BER encoding:</p> - <p></p> - <code type="none"> - erl -sname mg -pa ../../megaco/examples/simple - Erlang (BEAM) emulator version 2002.10.08 [source] - - Eshell V2002.10.08 (abort with ^G) - (mg@amrod)1> net:ping(observer@amrod). - pong - (mg@amrod)2> megaco_simple_mg:start(). - [{{deviceName,"gateway_tt"},{error,{start_user,megaco_not_started}}}, - {{deviceName,"gateway_tb"},{error,{start_user,megaco_not_started}}}, - {{deviceName,"gateway_ut"},{error,{start_user,megaco_not_started}}}, - {{deviceName,"gateway_ub"},{error,{start_user,megaco_not_started}}}] - (mg@amrod)3> megaco:start(). - ok - (mg@amrod)4> megaco_simple_mg:start(). - [{{deviceName,"gateway_tt"}, - {1, - {ok,[{'ActionReply',0, - asn1_NOVALUE, - asn1_NOVALUE, - [{serviceChangeReply, - {'ServiceChangeReply', - [{megaco_term_id,false,["root"]}], - {serviceChangeResParms, - {'ServiceChangeResParm', - {deviceName|...}, - asn1_NOVALUE|...}}}}]}]}}}, - {{deviceName,"gateway_tb"}, - {1, - {ok,[{'ActionReply',0, - asn1_NOVALUE, - asn1_NOVALUE, - [{serviceChangeReply, - {'ServiceChangeReply', - [{megaco_term_id,false,["root"]}], - {serviceChangeResParms, - {'ServiceChangeResParm', - {...}|...}}}}]}]}}}, - {{deviceName,"gateway_ut"}, - {1, - {ok,[{'ActionReply',0, - asn1_NOVALUE, - asn1_NOVALUE, - [{serviceChangeReply, - {'ServiceChangeReply', - [{megaco_term_id,false,["root"]}], - {serviceChangeResParms, - {'ServiceChangeResParm',{...}|...}}}}]}]}}}, - {{deviceName,"gateway_ub"}, - {1, - {ok,[{'ActionReply',0, - asn1_NOVALUE, - asn1_NOVALUE, - [{serviceChangeReply, - {'ServiceChangeReply', - [{megaco_term_id,false,["root"]}], - {serviceChangeResParms, - {'ServiceChangeResParm'|...}}}}]}]}}}] - (mg@amrod)5> - </code> - <p>The Megaco adopted viewer looks like this, when we have clicked - on the "gateway_tt" actor name in order to only display the events - regarding that actor:</p> - <p></p> - <image file="megaco_tracer.gif"> - <icaption>The viewer adopted for Megaco</icaption> - </image> - <p>A pretty printed Megaco message looks like this:</p> - <p></p> - <image file="megaco_filter.gif"> - <icaption>A textual Megaco message</icaption> - </image> - <p>And the corresponding internal form for the same Megaco message - looks like this:</p> - <p></p> - <image file="megaco_collector.gif"> - <icaption>The internal form of a Megaco message</icaption> - </image> - </section> -</chapter> - diff --git a/lib/et/doc/src/et_examples.xmlsrc b/lib/et/doc/src/et_examples.xmlsrc new file mode 100644 index 0000000000..7678184515 --- /dev/null +++ b/lib/et/doc/src/et_examples.xmlsrc @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>2002</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>Advanced examples</title> + <prepared>Håkan Mattsson</prepared> + <responsible>Håkan Mattsson</responsible> + <docno></docno> + <approved>Håkan Mattsson</approved> + <checked></checked> + <date></date> + <rev>%VSN%</rev> + <file>et_examples.xml</file> + </header> + + <section> + <title>A simulated Mnesia transaction</title> + <p>The Erlang code for running the simulated <c>Mnesia</c> transaction + example in the previous chapter is included in the + <c>et/examples/et_demo.erl</c> file:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%sim_trans" type="erl"></codeinclude> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%mgr_actors" type="erl"></codeinclude> + + <p>If you invoke the <c>et_demo:sim_trans()</c> function, a + <c>Viewer</c> window will pop up and the sequence trace will be + almost the same as if the following <c>Mnesia</c> transaction + would have been run:</p> + + <p></p> + + <code type="none"><![CDATA[ + mnesia:transaction(fun() -> mnesia:write({my_tab, key, val}) end).]]></code> + + <p>And the viewer window will look like:</p> + + <p></p> + + <code type="none"><![CDATA[ + Erlang R13B03 (erts-5.7.4) [64-bit] [smp:4:4] [rq:4] + [async-threads:0] [kernel-poll:false] + + Eshell V5.7.4 (abort with ^G) + 1> {ok, Viewer} = et_viewer:start([]). + {ok,<0.40.0>;} + 2> et_demo:sim_trans(). + {ok,{table_handle,<0.45.0>,24596,trace_ts, + #Fun<et_collector.0.62831470>}}]]></code> + + <p></p> + + <image file="sim_trans.png"> + <icaption>A simulated <c>Mnesia</c> transaction which writes one + record</icaption> + </image> + + </section> + + <section> + <title>Some convenient functions used in the <c>Mnesia</c> transaction + example</title> + + <p>The <c>module_as_actor</c> filter converts the <c>Event + Records</c> so the module names becomes actors and the invoked + functions becomes labels. If the information about who the caller + was it will be displayed as an arrow directed from the caller to + the callee. The <c>[{message, {caller}}, {return_trace}]</c> + options to <c>dbg:tpl/2</c> function will imply the necessary + information in the Erlang traces. Here follows the + <c>module_as_actor</c> filter:</p> + + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%module_as_actor" type="erl"></codeinclude> + + <p>The <c>plain_process_info</c> filter does not alter the + <c>Event Records</c>. It merely ensures that the event not + related to processes are skipped:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%plain_process_info" type="erl"></codeinclude> + + <p>The <c>plain_process_info_nolink</c> filter does not alter the + <c>Event Records</c>. It do makes use of the + <c>plain_process_info</c> , but do also ensure that the process + info related to linking and unlinking is skipped:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%plain_process_info_nolink" type="erl"></codeinclude> + + <p>In order to simplify the startup of an <c>et_viewer</c> process + with the filters mentioned above, plus some others (that also are + found in <c>et/examples/et_demo.erl</c> src/et_collector.erl the + <c>et_demo:start/0,1</c> functions can be used:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%start" type="erl"></codeinclude> + + <p>A simple one-liner starts the tool:</p> + + <code type="none"><![CDATA[ + erl -pa ../examples -s et_demo]]></code> + + <p>The filters are included by the following parameters:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%filters" type="erl"></codeinclude> + + </section> + + <section> + <title>Erlang trace of a real Mnesia transaction</title> + + <p>The following piece of code <c>et_demo:trace_mnesia/0</c> + activates call tracing of both local and external function calls + for all modules in the <c>Mnesia</c> application. The call traces + are configured cover all processes (both existing and those that + are spawned in the future) and include timestamps for trace + data. It do also activate tracing of process related events for + <c>Mnesia</c>'s static processes plus the calling process (that is + your shell). Please, observe that the <c>whereis/1</c> call in the + following code requires that both the traced <c>Mnesia</c> + application and the <c>et_viewer</c> is running on the same + node:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%trace_mnesia" type="erl"></codeinclude> + + <p>The <c>et_demo:live_trans/0</c> function starts the global + <c>Collector</c>, starts a <c>Viewer</c>, starts <c>Mnesia</c>, + creates a local table, activates tracing (as described above) and + registers the shell process is as 'my_shell' for clarity. Finally + a simple <c>Mnesia</c> transaction that writes a single record + is run:</p> + + <p></p> + + <codeinclude file="../../examples/et_demo.erl" tag="%live_trans" type="erl"></codeinclude> + + <p>Now we run the <c>et_demo:live_trans/0</c> function:</p> + + <p></p> + + <code type="none"><![CDATA[ + erl -pa ../examples + Erlang R13B03 (erts-5.7.4) [64-bit] [smp:4:4] [rq:4] + [async-threads:0] [kernel-poll:false] + + Eshell V5.7.4 (abort with ^G) + 1> et_demo:live_trans(). + {atomic,ok}]]></code> + + <p>Please, explore the different filters in order to see how the traced + transaction can be seen from different point of views:</p> + + <p></p> + + <image file="live_trans.png"> + <icaption>A real <c>Mnesia</c> transaction which writes one record</icaption> + </image> + + </section> + + <section> + <title>Erlang trace of Megaco startup</title> + + <p>The <c>Event Tracer (ET)</c> tool was initially written in + order to demonstrate how messages where sent over the + <c>Megaco</c> protocol. This were back in the old days before the + standard bodies of <c>IETF</c> and <c>ITU</c> had approved + <c>Megaco</c> (also called <c>H.248</c>) as an international + standard.</p> + + <p>In the <c>Megaco</c> application of Erlang/OTP, the code is + carefully instrumented with calls to <c>et:trace_me/5</c>. For + each call a detail level is given in order to enable dynamic + control of the trace level in a simple manner.</p> + + <p>The <c>megaco_filter</c> module implements a customized filter + for <c>Megaco</c> messages. It does also make use of + <c>trace_global</c> combined with usage of the + <c>trace_pattern</c>:</p> + + <p></p> + + <code type="none"><![CDATA[ + -module(megaco_filter). + -export([start/0]). + + start() -> + Options = + [{event_order, event_ts}, + {scale, 3}, + {max_actors, infinity}, + {trace_pattern, {megaco, max}}, + {trace_global, true}, + {dict_insert, {filter, megaco_filter}, fun filter/1}, + {active_filter, megaco_filter}, + {title, "Megaco tracer - Erlang/OTP"}], + et_viewer:start(Options).]]></code> + + <p>First we start an Erlang node with a global <c>Collector</c> + and its <c>Viewer</c>.</p> + + <p></p> + + <code type="none"><![CDATA[ + erl -sname observer + Erlang R13B03 (erts-5.7.4) [64-bit] [smp:4:4] [rq:4] + [async-threads:0] [kernel-poll:false] + + Eshell V5.7.4 (abort with ^G) + (observer@falco)1> megaco_filter:start(). + {ok,<0.48.0>}]]></code> + + <p>Secondly we start another Erlang node which we connect the + observer node, before we start the application that we want to + trace. In this case we start a Media Gateway Controller that + listens for both TCP and UDP on the text and binary ports for + Megaco:</p> + + <p></p> + + <code type="none"><![CDATA[ + erl -sname mgc -pa ../../megaco/examples/simple + Erlang R13B03 (erts-5.7.4) [64-bit] [smp:4:4] [rq:4] + [async-threads:0] [kernel-poll:false] + + Eshell V5.7.4 (abort with ^G) + (mgc@falco)1> net:ping(observer@falco). + pong + (mgc@falco)2> megaco:start(). + ok + (mgc@falco)3> megaco_simple_mgc:start(). + {ok,[{ok,2944, + {megaco_receive_handle,{deviceName,"controller"}, + megaco_pretty_text_encoder,[],megaco_tcp,dynamic}}, + {ok,2944, + {megaco_receive_handle,{deviceName,"controller"}, + megaco_pretty_text_encoder,[],megaco_udp,dynamic}}, + {ok,2945, + {megaco_receive_handle,{deviceName,"controller"}, + megaco_binary_encoder,[],megaco_tcp,dynamic}}, + {ok,2945, + {megaco_receive_handle,{deviceName,"controller"}, + megaco_binary_encoder,[],megaco_udp,dynamic}}]}]]></code> + + <p>And finally we start an Erlang node for the Media Gateways and + connect to the observer node. Each Media Gateway connects to the + controller and sends an initial Service Change message. The + controller accepts the gateways and sends a reply to each one + using the same transport mechanism and message encoding according + to the preference of each gateway. That is all combinations of + TCP/IP transport, UDP/IP transport, text encoding and ASN.1 BER + encoding:</p> + + <p></p> + + <code type="none"><![CDATA[ + Erlang R13B03 (erts-5.7.4) [64-bit] [smp:4:4] [rq:4] + [async-threads:0] [kernel-poll:false] + + Eshell V5.7.4 (abort with ^G) + (mg@falco)1> net:ping(observer@falco). + pong + (mg@falco)2> megaco_simple_mg:start(). + [{{deviceName,"gateway_tt"}, + {error,{start_user,megaco_not_started}}}, + {{deviceName,"gateway_tb"}, + {error,{start_user,megaco_not_started}}}, + {{deviceName,"gateway_ut"}, + {error,{start_user,megaco_not_started}}}, + {{deviceName,"gateway_ub"}, + {error,{start_user,megaco_not_started}}}] + (mg@falco)3> megaco:start(). + ok + (mg@falco)4> megaco_simple_mg:start(). + [{{deviceName,"gateway_tt"}, + {1, + {ok,[{'ActionReply',0,asn1_NOVALUE,asn1_NOVALUE, + [{serviceChangeReply, + {'ServiceChangeReply', + [{megaco_term_id,false,["root"]}], + {serviceChangeResParms, + {'ServiceChangeResParm', + {deviceName,"controller"}, + asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE, + asn1_NOVALUE}}}}]}]}}}, + {{deviceName,"gateway_tb"}, + {1, + {ok,[{'ActionReply',0,asn1_NOVALUE,asn1_NOVALUE, + [{serviceChangeReply, + {'ServiceChangeReply', + [{megaco_term_id,false,["root"]}], + {serviceChangeResParms, + {'ServiceChangeResParm', + {deviceName,"controller"}, + asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE, + asn1_NOVALUE}}}}]}]}}}, + {{deviceName,"gateway_ut"}, + {1, + {ok,[{'ActionReply',0,asn1_NOVALUE,asn1_NOVALUE, + [{serviceChangeReply, + {'ServiceChangeReply', + [{megaco_term_id,false,["root"]}], + {serviceChangeResParms, + {'ServiceChangeResParm', + {deviceName,"controller"}, + asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE, + asn1_NOVALUE}}}}]}]}}}, + {{deviceName,"gateway_ub"}, + {1, + {ok,[{'ActionReply',0,asn1_NOVALUE,asn1_NOVALUE, + [{serviceChangeReply, + {'ServiceChangeReply', + [{megaco_term_id,false,["root"]}], + {serviceChangeResParms, + {'ServiceChangeResParm', + {deviceName,"controller"}, + asn1_NOVALUE,asn1_NOVALUE, + asn1_NOVALUE,...}}}}]}]}}}]]]></code> + + <p>The <c>Megaco</c> adopted viewer looks like this, when we have clicked + on the <b>[gateway_tt]</b> actor name in order to only display the events + regarding that actor:</p> + + <p></p> + + <image file="megaco_tracer.png"> + <icaption>The viewer adopted for Megaco</icaption> + </image> + + <p>A pretty printed <c>Megaco</c> message looks like this:</p> + + <p></p> + + <image file="megaco_filter.png"> + <icaption>A textual <c>Megaco</c> message</icaption> + </image> + + <p>And the corresponding internal form for the same <c>Megaco</c> message + looks like this:</p> + + <p></p> + + <image file="megaco_collector.png"> + <icaption>The internal form of a <c>Megaco</c> message</icaption> + </image> + + </section> + +</chapter> + diff --git a/lib/et/doc/src/et_intro.xml b/lib/et/doc/src/et_intro.xml index 8dfa678b11..0c5fb14d55 100644 --- a/lib/et/doc/src/et_intro.xml +++ b/lib/et/doc/src/et_intro.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>Introduction</title> @@ -31,65 +31,89 @@ <rev>%VSN%</rev> <file>et_intro.xml</file> </header> - <p>The Event Tracer (ET) uses the built-in trace mechanism in Erlang - and provides tools for collection and graphical viewing of trace - data.</p> - <p>The viewed trace data is normally collected from Erlang trace ports - or files.</p> + + <p>The <c>Event Tracer (ET)</c> uses the built-in trace mechanism in + Erlang and provides tools for collection and graphical viewing of + trace data.</p> + + <p>The viewed trace data is normally collected from Erlang trace + ports or files.</p> <section> - <title>Scope and Purpose</title> - <p>This manual describes the Event Tracer (ET) application, as a component - of the Erlang/Open Telecom Platform development environment. It - is assumed that the reader is familiar with the Erlang - Development Environment, which is described in a separate User's - Guide.</p> + <title>Scope and Purpose</title>' + + <p>This manual describes the <c>Event Tracer (ET)</c> application, + as a component of the Erlang/Open Telecom Platform development + environment. It is assumed that the reader is familiar with the + Erlang Development Environment, which is described in a separate + User's Guide.</p> </section> <section> <title>Prerequisites</title> + <p>The following prerequisites is required for understanding the - material in the Event Tracer (ET) User's Guide:</p> + material in the <c>Event Tracer (ET)</c> User's Guide:</p> + <list type="bulleted"> <item> - <p>familiarity with the Erlang system and Erlang programming in - general and the especially the art of Erlang tracing.</p> + <p>familiarity with the Erlang system and Erlang programming + in general and the especially the art of Erlang tracing.</p> </item> </list> - <p>The application requires Erlang/OTP release R7B or later.</p> + + <p>The application requires Erlang/OTP release R13BB or later. If + you use the old <c>GS</c> based GUI it does suffice with R7B.</p> + </section> <section> <title>About This Manual</title> - <p>In addition to this introductory chapter, the Megaco User's - Guide contains the following chapters:</p> + + <p>In addition to this introductory chapter, the <c>Event + Tracers</c> User's Guide contains the following chapters:</p> + <list type="bulleted"> <item> - <p>Chapter 2: "Usage" describes the architecture - and typical usage of the application.</p> + <p>Chapter 2: "Tutorial" provides a walk-through of the + various parts of the application. The tutorial is based on + <c>Jayson Vantuyl's</c> article + <c>http://souja.net/2009/04/making-sense-of-erlangs-event-tracer.html</c>.</p> + </item> + + <item> + <p>Chapter 3: "Description" describes the architecture and typical + usage of the application.</p> </item> + <item> - <p>Chapter 3: "Examples" gives some usage examples</p> + <p>Chapter 4: "Advanced examples" gives some usage examples</p> </item> </list> + </section> <section> <title>Where to Find More Information</title> + <p>Refer to the following documentation for more information about - Event Tracer (ET) and about the Erlang/OTP development system:</p> + <c>Event Tracer (ET)</c> and about the Erlang/OTP development system:</p> + <list type="bulleted"> <item> <p>the Reference Manual of the <c>Event Tracer (ET)</c>.</p> </item> + <item> - <p>documentation of basic tracing in <c>erlang:trace/4</c> and - <c>erlang:trace_pattern/3</c> and then the utilities derived from - these: <c>dbg</c>, <c>observer</c> and <c>et</c>.</p> + <p>documentation of basic tracing in <c>erlang:trace/4</c> and + <c>erlang:trace_pattern/3</c> and then the utilities derived + from these: <c>dbg</c>, <c>observer</c>, <c>invisio</c> and + <c>et</c>.</p> </item> + <item> - <p>Concurrent Programming in Erlang, 2nd Edition (1996), - Prentice-Hall, ISBN 0-13-508301-X.</p> + <p>Programming Erlang: Software for a Concurrent World by Joe + Armstrong; ISBN: 978-1-93435-600-5</p> </item> </list> </section> diff --git a/lib/et/doc/src/et_selector.xml b/lib/et/doc/src/et_selector.xml index 59b1d3dea9..dd12166d85 100644 --- a/lib/et/doc/src/et_selector.xml +++ b/lib/et/doc/src/et_selector.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>et_selector</title> @@ -35,72 +35,112 @@ <description> <p></p> </description> + <funcs> <func> <name>make_pattern(RawPattern) -> TracePattern</name> <fsummary>Makes a trace pattern suitable to feed change_pattern/1</fsummary> + <type> <v>RawPattern = detail_level()</v> <v>TracePattern = erlang_trace_pattern_match_spec()</v> - <v>detail_level() = min | max | integer(X) when X =< 0, X >= 100</v> + <v>detail_level() = min | max | integer(X) when X >= 0, X =< 100</v> </type> + <desc> <p>Makes a trace pattern suitable to feed change_pattern/1</p> - <p>Min detail level deactivates tracing of calls to phone_home/4,5</p> - <p>Max detail level activates tracing of all calls to phone_home/4,5</p> + <p>Min detail level deactivates tracing of calls to <c>et:trace_me/4,5</c></p> + <p>Max detail level activates tracing of all calls to <c>et:trace_me/4,5</c></p> <p>integer(X) detail level activates tracing of all calls to - phone_home/4,5 whose detail level argument is lesser than X.</p> - <p>See also erlang:trace_pattern/2 for more info about its match_spec()</p> + <c>et:trace_me/4,5</c> whose detail level argument is lesser than + X.</p> + <p>See also <c>erlang:trace_pattern/2</c> for more info about its <c>match_spec()</c></p> </desc> </func> + <func> <name>change_pattern(Pattern) -> ok</name> + <fsummary>Activates/deactivates tracing by changing the current trace pattern</fsummary> + <type> <v>Pattern = detail_level() | empty_match_spec() | erlang_trace_pattern_match_spec()</v> - <v>detail_level() = min | max | integer(X) when X =<0, X >= 100</v> + <v>detail_level() = min | max | integer(X) when X >= 0, X =< 100</v> <v>empty_match_spec() = [] </v> </type> + <desc> <p>Activates/deactivates tracing by changing the current trace pattern.</p> - <p>Min detail level deactivates tracing of calls to phone_home/4,5</p> - <p>Max detail level activates tracing of all calls to phone_home/4,5</p> - <p>integer(X) detail level activates tracing of all calls to - phone_home/4,5 whose detail level argument is lesser than X.</p> - <p>An empty match spec deactivates tracing of calls to phone_home/4,5</p> - <p>Other match specs activates tracing of calls to phone_home/4,5 - accordingly with erlang:trace_pattern/2.</p> + <p><c>min</c> detail level deactivates tracing of calls to <c>et:trace_me/4,5</c></p> + <p><c>max</c> detail level activates tracing of all calls to <c>et:trace_me/4,5</c></p> + <p><c>integer(X)</c> detail level activates tracing of all + calls to <c>et:trace_me/4,5</c> whose detail level argument is + lesser than <c>X</c>.</p> + <p>An empty match spec deactivates tracing of calls to <c>et:trace_me/4,5</c></p> + <p>Other match specs activates tracing of calls to + <c>et:trace_me/4,5</c> accordingly with + <c>erlang:trace_pattern/2</c>.</p> </desc> </func> <func> <name>parse_event(Mod, ValidTraceData) -> false | true | {true, Event}</name> + <fsummary>Transforms trace data and makes an event record out of it</fsummary> + <type> <v>Mod = module_name() | undefined <v>module_name() = atom() <v>ValidTraceData = erlang_trace_data() | record(event)</v> <v>erlang_trace_data() = {trace, Pid, Label, Info} | {trace, Pid, Label, Info, Extra} | {trace_ts, Pid, Label, Info, ReportedTS} | {trace_ts, Pid, Label, Info, Extra, ReportedTS} | {seq_trace, Label, Info} | {seq_trace, Label, Info, ReportedTS} | {drop, NumberOfDroppedItems}</v> </type> + <desc> <p>Transforms trace data and makes an event record out of it.</p> - <p>See erlang:trace/3 for more info about the semantics of - the trace data.</p> - <p>An event record consists of the following fields: - detail_level - Noise has a high level as opposed to essentials. - trace_ts - Time when the trace was generated. - Same as event_ts if omitted in trace data. - event_ts - Time when the event record was created. - from - From actor, such as sender of a message. - to - To actor, such as receiver of message. - label - Label intended to provide a brief event summary. - contents - All nitty gritty details of the event.</p> - <p>See et:phone_home/4 and et:phone_home/5 for details.</p> - <p>Returns: - {true, Event} - where Event is an #event{} record representing the - trace data - true - means that the trace data already is an event - record and that it is valid as it is. - No transformation is needed. - false - means that the trace data is uninteresting and - should be dropped</p> + + <p>See <c>erlang:trace/3</c> for more info about the semantics of the + trace data.</p> + + <p>An event record consists of the following fields:</p> + <taglist> + <tag><em>detail_level</em></tag> + <item><p>Noise has a high level as opposed to essentials.</p></item> + + + <tag><em>trace_ts</em></tag> + <item><p>Time when the trace was generated. Same as + event_ts if omitted in trace data.</p></item> + + <tag><em>event_ts</em></tag> + <item><p>Time when the event record was created.</p></item> + + <tag><em>from</em></tag> + <item><p>From actor, such as sender of a message.</p></item> + + <tag><em>to</em></tag> + <item><p>To actor, such as receiver of message.</p></item> + + <tag><em>label</em></tag> + <item><p>Label intended to provide a brief event summary.</p></item> + + <tag><em>contents</em></tag> + <item><p>All nitty gritty details of the event.</p></item> + </taglist> + + <p>See <c>et:trace_me/4</c>and <c>et:trace_me/5</c> for details.</p> + + <p>Returns:</p> + <taglist> + <tag><em>{true, Event}</em></tag> + <item><p>where Event is an #event{} record representing the + trace data</p></item> + + <tag><em>true</em></tag> + <item><p>means that the trace data already is an event + record and that it is valid as it is. No transformation is + needed.</p></item> + + <tag><em>false</em></tag> + <item><p>means that the trace data is uninteresting and + should be dropped</p></item> + </taglist> </desc> </func> </funcs> diff --git a/lib/et/doc/src/et_tutorial.xmlsrc b/lib/et/doc/src/et_tutorial.xmlsrc new file mode 100644 index 0000000000..c72234a587 --- /dev/null +++ b/lib/et/doc/src/et_tutorial.xmlsrc @@ -0,0 +1,273 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>2009</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>Tutorial</title> + <prepared>Håkan Mattsson</prepared> + <responsible>Håkan Mattsson</responsible> + <docno></docno> + <approved>Håkan Mattsson</approved> + <checked></checked> + <date></date> + <rev>%VSN%</rev> + </header> + + <section> + <title>Visualizing Message Sequence Charts</title> + + <p>The easiest way of using <c>ET</c>, is to just use it as a + graphical tool for displaying message sequence charts. In order to + do that you need to first start a <c>Viewer</c> (which by default + starts a <c>Collector</c>):</p> + + <code type="none"><![CDATA[ + {ok, ViewerPid} = et_viewer:start([{title,"Coffee Order"}]), + CollectorPid = et_viewer:get_collector_pid(ViewerPid).]]></code> + + <marker id="report_event"></marker> + <p>Then you send events to the <c>Collector</c> + with the function <c>et_collector:report_event/6</c> like this:</p> + + <code type="none"><![CDATA[ + et_collector:report_event(CollectorPid,85,from,to,message,extra_stuff).]]></code> + + <p>The <c>Viewer</c> will automatically pull events from the + <c>Collector</c> and display them on the screen.</p> + + <p>The number (in this case 85) is an integer from 1 to 100 that + specifies the "detail level" of the message. The higher the + number, the more important it is. This provides a crude form of + priority filtering.</p> + + <p>The <c>from</c>, <c>to</c>, and <c>message</c> parameters are + exactly what they sound like. <c>from</c> and <c>to</c> are + visualized in the <c>Viewer</c> as "lifelines", with the message + passing from one to the other. If <c>from</c> and <c>to</c> are + the same value, then it is displayed next to the lifeline as an + "action". The <c>extra_stuff </c>value is simply data that you can + attach that will be displayed when someone actually clicks on the + action or message in the <c>Viewer</c> window.</p> + + <p>The module <c>et/examples/et_display_demo.erl</c> illustrates + how it can be used:</p> + + <codeinclude file="../../examples/et_display_demo.erl" tag="%module" type="erl"></codeinclude> + + <p>When you run the <c>et_display_demo:test().</c> function in the + example above, the <c>Viewer</c> window will look like this:</p>. + + <p></p> + + <image file="coffee_order.png"> + <icaption>Screenshot of the <c>Viewer</c> window</icaption> + </image> + + </section> + + <section> + <title>Four Modules</title> + + <p>The event tracer framework is made up of four modules:</p> + + <list type="bulleted"> + <item><p><c>et</c></p></item> + <item><p><c>et_collector</c></p></item> + <item><p><c>et_viewer</c></p></item> + <item><p><c>et_selector</c></p></item> + </list> + + <p>In addition, you'll probably want to familiarize yourself with + the <c>dbg</c> module and possibly <c>seq_trace</c> module as + well.</p> + </section> + + <section> + <title>The Event Tracer Interface</title> + + <p>The <c>et</c> module is not like other modules. It contains a + function called <c>et:trace_me/5</c>. Which is a function that + does not do any useful stuff at all. Its sole purpose is to be a + function that is easy to trace. A call to it may be something + like:</p> + + <code type="none"><![CDATA[ + et:trace_me(85,from,to,message,extra_stuff).]]></code> + + <p>The parameters to <c>et:trace_me/5</c> are the same as to + <seealso + marker="#report_event"><c>et_collector:report_event/6</c></seealso> + in the previous chapter. The big difference between the two is in + the semantics of the two functions. The second actually reports an + <c>Event</c> to the <c>Collector</c> while the first does nothing, + it just returns the atom <c>hopefully_traced</c>. In order to make + the parameters to <c>et:trace_me/5</c> turn up in the + <c>Collector</c>, tracing of that function must be activated and + the <c>Collector</c> must be registered as a <c>Tracer</c> of the + <c>Raw Trace Data</c>.</p> + + <p>Erlang tracing is a seething pile of pain that involves + reasonably complex knowledge of clever ports, tracing return + formats, and specialized tracing <c>MatchSpecs</c> (which are + really their own special kind of hell). The tracing mechanism is + very powerful indeed, but it can be hard to grasp.</p> + + <p>Luckily there is a simplified way to start tracing of + <c>et:trace_me/5</c> function calls. The idea is that you should + instrument your code with calls to <c>et:trace_me/5</c> in + strategic places where you have interesting information available + in your program. Then you just start the <c>Collector</c> with + global tracing enabled:</p> + + <code type="none"><![CDATA[ + et_viewer:start([{trace_global, true}, {trace_pattern, {et,max}}]).]]></code> + + <p>This will start a <c>Collector</c>, a <c>Viewer</c> and also + start the tracing of <c>et:trace_me/5</c> function calls. The + <c>Raw Trace Data</c> is collected by the <c>Collector</c> and a + view of it is displayed on the screen by the <c>Viewer</c>. You + can define your own "views" of the data by implementing your own + <c>Filter</c> functions and register them in the + <c>Viewer</c>.</p> + </section> + + <section> + <title>The Collector and Viewer</title> + + <p>These two pieces work in concert. Basically, the + <c>Collector</c> receives <c>Raw Trace Data</c> and processes it + into <c>Events</c> in a <c>et</c> specific format (defined in + <c>et/include/et.hrl</c>). The <c>Viewer</c> interrogates the + <c>Collector</c> and displays an interactive representation of the + data.</p> + + <p>You might wonder why these aren't just one module. The + <c>Collector</c> is a generic full-fledged framework that allows + processes to "subscribe" to the <c>Events</c> that it + collects. One <c>Collector</c> can serve several + <c>Viewers</c>. The typical case is that you have one + <c>Viewer</c> that visualizes <c>Events</c> in one flavor and + another <c>Viewer</c> that visualizes them in another flavor. If + you for example are tracing a text based protocol like <c>HTML</c> + (or <c>Megaco/H.248</c>) it would be useful to be able to display + the <c>Events</c> as plain text as well as the internal + representation of the message. The architecture does also allow + you to implement your own <c>Viewer</c> program as long as it + complies to the protocol between the <c>Collector/Viewer</c> + protocol. Currently two kinds of <c>Viewers</c> exists. That is + the old <c>GS</c> based one and the new based on + <c>wxWidgets</c>. But if you feel for it you may implement your + own <c>Viewer</c>, which for example could display the + <c>Events</c> as ASCII art or whatever you feel useful.</p> + + <p>The <c>Viewer</c> will by default create a <c>Collector</c> for + you. With a few options and some configuration settings you can + start collecting <c>Events</c>.</p> + + <p>The <c>Collector</c> API does also allow you to save the + collected <c>Events</c> to file and later load them in a later + session.</p> + + </section> + + <section> + <title>The Selector</title> + + <p>This is perhaps the most central module in the entirety of the + <c>et</c> suite. The <c>Collector</c> needs "filters" to convert + the <c>Raw Trace Data</c> into "events" that it can display. The + <c>et_selector</c> module provides the default <c>Filter</c> and + some API calls to manage the <c>Trace Pattern</c>. The + <c>Selector</c> provides various functions that achieve the + following:</p> + + <list type="bulleted"> + <item><p>Convert <c>Raw Trace Data</c> into an appropriate + <c>Event</c></p></item> + <item><p>Magically notice traces of the <c>et:trace_me/5</c> + function and make appropriate <c>Events</c></p></item> + <item><p>Carefully prevent translating the <c>Raw Trace Data</c> + twice</p></item> + <item><p>Manage a <c>Trace Pattern</c></p></item> + </list> + + <p>The <c>Trace Pattern</c> is basically a tuple of a + <c>module</c> and a <c>detail level</c> (either an integer or the + atom max for full detail). In most cases the <c>Trace Pattern</c> + <c>{et,max}</c> does suffice. But if you do not want any runtime + dependency of <c>et</c> you can implement your own + <c>trace_me/5</c> function in some module and refer to that module + in the <c>Trace Pattern</c>.</p> + + <p>The specified module flows from your instantiation of the + <c>Viewer</c>, to the <c>Collector</c> that it automatically + creates, gets stashed in as the <c>Trace Pattern</c>, and + eventually goes down into the bowels of the <c>Selector</c>.</p> + + <p>The module that you specify gets passed down (eventually) into + <c>Selector</c>'s default <c>Filter</c>. The format of the + <c>et:trace_me/5</c> function call is hardcoded in that + <c>Filter</c>.</p> + + </section> + + <section> + <title>How To Put It Together</title> + + <p>The <c>Collector</c> automatically registers itself to listen + for trace <c>Events</c>, so all you have to do is enable them.</p> + + <p>For those people who want to do general tracing, consult the + <c>dbg</c> module on how to trace whatever you're interested in + and let it work its magic. If you just want <c>et:trace_me/5</c> + to work, do the following:</p> + + <list type="ordered"> + <item><p>Create a <c>Collector</c></p></item> + <item><p>Create a <c>Viewer</c> (this can do step #1 for you)</p></item> + <item><p>Turn on and pare down debugging</p></item> + </list> + + <p>The module <c>et/examples/et_trace_demo.erl</c> achieves this.</p> + + <codeinclude file="../../examples/et_trace_demo.erl" tag="%module" type="erl"></codeinclude> + + <p>Running through the above, the most important points are:</p> + + <list type="bulleted"> + <item><p>Turn on global tracing</p></item> + <item><p>Set a <c>Trace Pattern</c></p></item> + <item><p>Tell <c>dbg</c> to trace function Calls</p></item> + <item><p>Tell it specifically to trace the <c>et:trace_me/5</c> function</p></item> + </list> + + <p>When you run the <c>et_trace_demo:test()</c> function above, the + <c>Viewer</c> window will look like this screenshot:</p>. + + <p></p> + + <image file="coffee_order.png"> + <icaption>Screenshot of the <c>Viewer</c> window</icaption> + </image> + + </section> + +</chapter> diff --git a/lib/et/doc/src/et_viewer.xml b/lib/et/doc/src/et_viewer.xml index a3e34ac06e..c16e5b8869 100644 --- a/lib/et/doc/src/et_viewer.xml +++ b/lib/et/doc/src/et_viewer.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>et_viewer</title> @@ -72,7 +72,7 @@ <fsummary>Start a sequence chart viewer for trace events (messages/actions)</fsummary> <type> <v>Options = [option() | collector_option()]</v> - <v>option() = {parent_pid, extended_pid()} | {title, term()} | {detail_level, detail_level()} | {is_suspended, boolean()} | {scale, integer()} | {width, integer()} | {height, integer()} | {collector_pid, extended_pid()} | {event_order, event_order()} | {active_filter, atom()} | {max_events, extended_integer()} | {max_actors, extended_integer()} | {trace_pattern, et_collector_trace_pattern()} | {trace_port, et_collector_trace_port()} | {trace_global, et_collector_trace_global()} | {trace_client, et_collector_trace_client()} | {dict_insert, {filter, filter_name()}, event_filter_fun()} | {dict_insert, et_collector_dict_key(), et_collector_dict_val()} | {dict_delete, {filter, filter_name()}} | {dict_delete, et_collector_dict_key()} | {actors, actors()} | {first_event, first_key()} | {hide_unknown, boolean()} | {hide_actions, boolean()} | {display_mode, display_mode()}</v> + <v>option() = {parent_pid, extended_pid()} | {title, term()} | {detail_level, detail_level()} | {is_suspended, boolean()} | {scale, integer()} | {width, integer()} | {height, integer()} | {collector_pid, extended_pid()} | {event_order, event_order()} | {active_filter, atom()} | {max_actors, extended_integer()} | {trace_pattern, et_collector_trace_pattern()} | {trace_port, et_collector_trace_port()} | {trace_global, et_collector_trace_global()} | {trace_client, et_collector_trace_client()} | {dict_insert, {filter, filter_name()}, event_filter_fun()} | {dict_insert, et_collector_dict_key(), et_collector_dict_val()} | {dict_delete, {filter, filter_name()}} | {dict_delete, et_collector_dict_key()} | {actors, actors()} | {first_event, first_key()} | {hide_unknown, boolean()} | {hide_actions, boolean()} | {display_mode, display_mode()}</v> <v>extended_pid() = pid() | undefined</v> <v>detail_level() = min | max | integer(X) when X >=0, X =< 100</v> <v>event_order() = trace_ts | event_ts</v> @@ -113,7 +113,6 @@ <item>collector_pid - undefined.</item> <item>event_order - trace_ts.</item> <item>active_filter - collector.</item> - <item>max_events - 100.</item> <item>max_actors - 5.</item> <item>actors - ["UNKNOWN"].</item> <item>first_event - first.</item> diff --git a/lib/et/doc/src/files.mk b/lib/et/doc/src/files.mk index 13d6cf4d74..41964de892 100644 --- a/lib/et/doc/src/files.mk +++ b/lib/et/doc/src/files.mk @@ -1,19 +1,19 @@ #-*-makefile-*- ; force emacs to enter makefile-mode # %CopyrightBegin% -# -# Copyright Ericsson AB 2002-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2002-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% XML_APPLICATION_FILES = \ @@ -31,27 +31,23 @@ XML_PART_FILES = \ XML_CHAPTER_FILES = \ et_intro.xml \ - et_architecture.xml \ + et_tutorial.xml \ + et_desc.xml \ et_examples.xml \ notes.xml BOOK_FILES = book.xml -GIF_FILES = \ - book.gif \ - live_trans.gif \ - megaco_collector.gif \ - megaco_filter.gif \ - megaco_tracer.gif \ - note.gif \ - notes.gif \ - ref_man.gif \ - sim_trans.gif \ - sim_trans_contents_viewer_collector.gif \ - sim_trans_contents_viewer_mgr_actors.gif \ - sim_trans_mgr_actors.gif \ - sim_trans_move_actor.gif \ - sim_trans_write_lock.gif \ - user_guide.gif \ - warning.gif +IMAGE_FILES = \ + coffee_order.png \ + live_trans.png \ + megaco_collector.png \ + megaco_filter.png \ + megaco_tracer.png \ + sim_trans.png \ + sim_trans_contents_viewer_collector.png \ + sim_trans_contents_viewer_mgr_actors.png \ + sim_trans_mgr_actors.png \ + sim_trans_move_actor.png \ + sim_trans_write_lock.png diff --git a/lib/et/doc/src/live_trans.gif b/lib/et/doc/src/live_trans.gif Binary files differdeleted file mode 100644 index e2070f89e9..0000000000 --- a/lib/et/doc/src/live_trans.gif +++ /dev/null diff --git a/lib/et/doc/src/live_trans.png b/lib/et/doc/src/live_trans.png Binary files differnew file mode 100644 index 0000000000..94192697d2 --- /dev/null +++ b/lib/et/doc/src/live_trans.png diff --git a/lib/et/doc/src/live_trans.ps b/lib/et/doc/src/live_trans.ps deleted file mode 100644 index 8855f2694b..0000000000 --- a/lib/et/doc/src/live_trans.ps +++ /dev/null @@ -1,1559 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/live_trans.ps -%%CreationDate: Mon Oct 14 17:29:47 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 429 326 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 310.991634 translate -414.655512 -310.991634 scale -% Image geometry -496 372 8 -% Transformation matrix -[ 496 0 0 372 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 496 string def -/gstr 496 string def -/bstr 496 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 85402 ASCII Bytes -colorimage -!AQV60nB=U!.b->!<4eQ3Ih~> -r'Z)9JH16$RfN@SJ,~> -"DW"!C3+q+JH16$RfEJ1CAr:)~> -r]0uYnc&U&JcC<$JcFp5!56GQrr<*\0faa~> -r^?bdnc&U'JcC<$JcFp5!5?MRrrE$dJ,~> -rcA)>nc&U&JcC<$JcFp5!56GQrrE%>J,~> -s"OQTs8VWG!53s6J^o>%kLBRGa56ja!WY5@J,~> -s$Qngs8VWC!5=$8J_#D'kLKXIa4gR]!WYVVJ,~> -s)S5As8VWG!53s6J^o>%kLBRGa56ja!W[:_J,~> -!]^8\n(n&XJ^o>%J^rr6!56A.!lY-oJ,~> -!^m%gn(IcUJ_#D'J_'#8!5?G+!l=q*J,~> -!cnAAn(n&XJ^o>%J^rr6!56A.!lY.\J,~> -!\j]Tn(n&XT%*h[J^s#8!6'N>jOF7D`SL[8!&9!~> -!^m%gn(IcUT%3qbdXg!7ecEqAdanHHQIZ&M`S(C1!(;>~> -!cnAAn(n&XT%*h[J^s#8!6'N>jOF7D`SL[8!-<Y~> -!<E/fh>k7Cec1lXeHNpfe\-<VrfmH5!J>a8eH(S\^t&ILpXKAZH[D":eHLSPe^]nKpXK:sHi;Iq -UqN;K!57RPpRLp5s.'&Es.'#D!NZ9O~> -!<E/fg&Sk@f)LlVedTEhf"Q]`R?<W_eq&Cgf)LTBf)Lm,ecWX;I@9*Gs+14$s,m',s+1."!MR5t -ec<GIg@q$.gAdT>gAdT=g&\>VJ,~> -!<E/fh>k7Cec1lXeHNpfe\-<VrfmH5!J>a8eH(S\^t&ILpXKAZH[D":eHLSPe^]nKpXK:sHi;Iq -UqN;K!57RPpRLp5s.'&Es.'#D!NZ9O~> -!<E/thZ',ChZ',Eh>k7dec0srMuM6.UjIaYec1m+eH*Y&gsm"UHaM=]Hc=O"Ph"<:He$Zc]uAM& -K6tDas-39.!fMEEiRJ*aHe$Z2PkW]/K7!RI!jm<nS^d_RkMGs'p>5b<s5*^ErS@RV!.Y~> -!<E/tf)M08f)M0:ec<G]df4^qNW.?-Tm_XZdf5I%dK.4ngsQeOJ[X!dIE'QpOj_[/J^Vu`[`-\p -J\]_6On[9+NIAglimRjXs3gq0pX9(mrR(bUID29#!5@XIpR1a+rL*]:rL*W8!NlEQ~> -!<E/thZ',ChZ',Eh>k7dec0srMuM6.UjIaYec1m+eH*Y&gsm"UHaM=]Hc=O"Ph"<:He$Zc]uAM& -K6tDas-39.!fMEEiRJ*aHe$Z2PkW]/K7!RI!jm<nS^d_RkMGs'p>5b<s5*^ErS@RV!.Y~> -!<E/uhYiuChYiuDh>k7dec'n!c.1?sH\:&&!J>aSeHLkqe^];!qpbk&He$Z!Hc=M9K6suU!J>aW -eH(;Lo@3koHi2CpP`)*_!57RPpRLs6pRM3=!NZ9O~> -!<E/uf);$8f);$9ec<G]df+Xub0n^lI>-D's+/tR"c8MmdXcuHdf4mudf4m;df4m*df4mVdf4mi -df4mrdK,ViS^IMPkLTBqp=Au+rRM"P!.Y~> -!<E/uhYiuChYiuDh>k7dec'n!c.1?sH\:&&!J>aSeHLkqe^];!qpbk&He$Z!Hc=M9K6suU!J>aW -eH(;Lo@3koHi2CpP`)*_!57RPpRLs6pRM3=!NZ9O~> -!<E/uhY`oDhY`oCh>k7deL>itHaM>BH\6t$eVf@!K6suUe]!GnK='1Z`J](iK>#ffHe$*"H[C[i -r7(eCrd,^*Mi4Zp`KY^rMoF5sXG_FPMp9ekMgL)`e^]S9XGd&-"MK/qeXZVc#gJ!Ke^];!eYN1k -s2>D)H\8]UeVf?eMq*H,qpk_)*PI)P[+3-[H[C[ie^]S9]n:[=["E_4e^_WsH\8^)eHDChK6qt? -ec1O<["F:]e^]S9XGbW1MgLA`rm_pgMgKf/c.0dkH\8]Ue]!GnH\9#^`J](iK>%*2$\NfVeVf@! -K6suUSGmj=c)chMMlc['s,.5tK6suUeZ=[UMlcp.)2!:deUr5!eVf@!K6suUeUr5!c$QPB]mIGa -eH!;GhY3Q5hYE]>h>s\XJ,~> -!<E/uf)1s9f)1s8ec<G]dOBTuIBq;<JUrO'dZ'6tKn6PXd__,pKsK.T_NBCtKsoE\J^VQ#JUNNl -r6bS=rd>j)NK'co`fYh#NP<ihY).RTM9=8`OaVqhdaF,7V2bH%"M0#md[C)_#g.^LdaE\td\6Yg -s2#2,I>+uTdZ'6_NREB/qpPM(*P-rUZI6aTJUNNldaF,7[Y9:8[Y9:<daH!pI>,!+dKH+lJUN+E -df5:;[Xj:TdaF,7V2`p+M1(5`rmD^fM1'f/b0n.hI>+uTd__,tI>,,X_NBCtKspg*s+13us,@2n -Kn6PXRJqU<b-$SLM6?U$s,@AsKn6PXd]SFTM6?j+s+13us+13us,@Q#Kn6PXdXcttb(6S@[XG`Y -dK%#Ef(YU*f(ka3ecDoRJ,~> -!<E/uhY`oDhY`oCh>k7deL>itHaM>BH\6t$eVf@!K6suUe]!GnK='1Z`J](iK>#ffHe$*"H[C[i -r7(eCrd,^*Mi4Zp`KY^rMoF5sXG_FPMp9ekMgL)`e^]S9XGd&-"MK/qeXZVc#gJ!Ke^];!eYN1k -s2>D)H\8]UeVf?eMq*H,qpk_)*PI)P[+3-[H[C[ie^]S9]n:[=["E_4e^_WsH\8^)eHDChK6qt? -ec1O<["F:]e^]S9XGbW1MgLA`rm_pgMgKf/c.0dkH\8]Ue]!GnH\9#^`J](iK>%*2$\NfVeVf@! -K6suUSGmj=c)chMMlc['s,.5tK6suUeZ=[UMlcp.)2!:deUr5!eVf@!K6suUeUr5!c$QPB]mIGa -eH!;GhY3Q5hYE]>h>s\XJ,~> -!<E/teb>U4eH!;[bpe"0H^)dNP_4V5c%CA$S9on5`IifVP^CBoMgMhE[(X_:Hd07*]sN-Er66G) -H[EHNK6rNP]r\oSH]-.EH],8<UrC<*K>!Lr`Qa$^Mkp<r,+O#!c,G$V^!21Vc-:lfc,G$V]u>VV -]p*l_c%CA$Us4gMqopL@H]+D@K?_*2]sN-Ec-:lfMk#-@Mk#-Hc,G<f]p*l_c(o]^]mG,$bqF]r -Pa$NZc-:lfMkmG$PeE<.XNdPfMmTje`PmI^]p*l_c&6qU]sPJtMgMhE[(Z:['n^kXc%CA$S9on5 -`HusFXF$2FP^BM,bpe9lMk#-Hc)c8V]p*lFc-:lfc-:lfc-:lfMk#-Hc-:lfc'4.2c,G%"T$78K -kLBR&q:,J8o[Wi/qpb_K!.Y~> -!<E/tdeB1.dK%#Yc7+14I?i*SR>$@?c@LD#Tm_X?b(58XQ$pZtM1)hH[_C%<J^2!4^:&HHr6?M+ -JUPD\JUNBO^952YI>Q7GI>P8<WlE24Kt<Ot`m0-`M5C0r,,'G)cGkE`_Tm^`cH^ulcGkE`_T%.\ -\s7]`c@LD#V9XpSqp$R?I>OYGL!IE8^:&HHcH^uhNM1cKNM1cScH:]l\s7]`cCoZ[^4Ck1c7a`s -Od1?[cH^uhM5@5#Q+iN3Wm7GhM6aRi`l`jd\s7]`cA?tX^:(c$M1)hH[_DR_s+13q&V5@eTm_X? -`drQTWdU/HQ$o\-c7+<mM4o?OcDl;X^6O,HcH^ulcH^ulcH^uhM4o?OcH^ulcB4+3cGk:+T$@>M -kL'?uq9f82o[<W)qpGMJ!.Y~> -!<E/teb>U4eH!;[bpe"0H^)dNP_4V5c%CA$S9on5`IifVP^CBoMgMhE[(X_:Hd07*]sN-Er66G) -H[EHNK6rNP]r\oSH]-.EH],8<UrC<*K>!Lr`Qa$^Mkp<r,+O#!c,G$V^!21Vc-:lfc,G$V]u>VV -]p*l_c%CA$Us4gMqopL@H]+D@K?_*2]sN-Ec-:lfMk#-@Mk#-Hc,G<f]p*l_c(o]^]mG,$bqF]r -Pa$NZc-:lfMkmG$PeE<.XNdPfMmTje`PmI^]p*l_c&6qU]sPJtMgMhE[(Z:['n^kXc%CA$S9on5 -`HusFXF$2FP^BM,bpe9lMk#-Hc)c8V]p*lFc-:lfc-:lfc-:lfMk#-Hc-:lfc'4.2c,G%"T$78K -kLBR&q:,J8o[Wi/qpb_K!.Y~> -!<E/sebPa5eH!;[boM/,P^CZ5["F"Uc%CA^c$Of^XF$J^XF%%nMgLu-rlkIrHiD7l`P$nVqoo:s -Hd0ffHi;1o`P$nVc%CA^rQPYMH^r?^H`YJEHi)%gP^EDS(k[1[c%CAfc%CAfc%CAfXF$J^XF%%n -K7!=:"bV0@c$Og:boXj;K7hFnK6tS^H[E`VH[F#=H^r?^H`YJEHc=6^Hhbi$K6tk^H\9SfK6tkf -K6tS^`I!6^K6tT9bmUV"SB\-^XNcZMSA"pH",hMr^%]bdK6tkfK6tS^H[F#^K6tjqHc=7KH\;+< -,_LH_c$Of^K6tS^`I!6^c%CAfc%CAfc%CA^c$Of^c%CAEHbKF'!IL'&blGH?eGu-8eGu-3ebbm6 -eH)`OJ,~> -!<E/sdeT=/dK%#Yc5h>0Ob(Z3ZA""Xc@LD`c@LPlY'm"dY'mIuM1(r3rm(OprltV_^4D"8cMrIq -c2rQFb5TZk_S1STc@p\`rQYbQIA+fdIBLkHIEMK5!L8*4cMrIqcMrIqcMrIqcMrG'cE;Shb-$/q -c@LDdpW`qnIE'Q`Jc<q9_S1STcH^uhb0GQdb0GQhcE;Shb-$/qc@p\hc@LQAc5(tZb/Sj\cH^uh -b0Gil`m2SPM9^g'_YqafY'm"dY'mIuM1(r3rltV&I@\7LcMrIqc4PVU`m0-dcH^ulcA?thcGk9h -ps(.9IE'Q`J^0+#`m2SPM9aCtJ^2PlJ^2PlIE'Q`J^2PlJZaF<rltOmQ(H8$^?<oERJG82RInr) -RJYD5XoNt~> -!<E/sebPa5eH!;[boM/,P^CZ5["F"Uc%CA^c$Of^XF$J^XF%%nMgLu-rlkIrHiD7l`P$nVqoo:s -Hd0ffHi;1o`P$nVc%CA^rQPYMH^r?^H`YJEHi)%gP^EDS(k[1[c%CAfc%CAfc%CAfXF$J^XF%%n -K7!=:"bV0@c$Og:boXj;K7hFnK6tS^H[E`VH[F#=H^r?^H`YJEHc=6^Hhbi$K6tk^H\9SfK6tkf -K6tS^`I!6^K6tT9bmUV"SB\-^XNcZMSA"pH",hMr^%]bdK6tkfK6tS^H[F#^K6tjqHc=7KH\;+< -,_LH_c$Of^K6tS^`I!6^c%CAfc%CAfc%CA^c$Of^c%CAEHbKF'!IL'&blGH?eGu-8eGu-3ebbm6 -eH)`OJ,~> -!<E/rebbm6eH!;[bn>B!XF$aic%CYnc%CAfc%CAfV#5QOUs6lCH[C[ac%CAf]n:rqH\;4?&;,>S -c%CAfc+Sa^MgL*$H[G\8!2TO>"/O1oHi)%gP^EDS%tf5Rc%CAfc%CAfc%CAfV#5QAUs4O=p<=M. -Hd0ffHd06VK8Y)/c-:lfc-:lfc-:lfc(t8a#GfUkHd0ffHhbhpK6tkfH[F#^K6tkfH[Gb:s*Fgl -H[G\8!2TO>%]%@gP^@b8^!4N\H[C[aq99J'Hd0ffHd0ffHd0ffHd-narltIiprs(sHd0ffHd-na -rltIis3271Hd0ffHd0ffHd0ffHd0ffH\6[arlkIjPb-,"^&6C\^%n/u^%TtVSGC\8SFtG.SG^n< -X8mb~> -!<E/rdefI0dK%#Yc4YQ%Y'm<ub(YPpc@LPlc@LPlV>P`RV9ZrCI=7*hc@LPl\qP]pI>.RDs+13q -s+13q#eG_@NI?N+I=;%=!2]UA"/X:oJc!^nQ$rYWs+13qs+13qs+13qs+(3rV>P`DV9XXCp<N\h -s3CXq'[F:DJW5)3cH^ulcH^ulcH^ulcDCGe#Go^oIEp,hJb[OjJcF$qIK.UmJcF!rJUROCs*Xso -I=;%=!2]UA%].IfQ$n(?^<XT\I=7*hq9K"ks3CXqs3CXqs3CXq!mZ@Frm(Olps/njs3CXq!mZ@F -rm(Ols3CXqs3CXqs3CXqs3CXqs3:auI>NNprltOmQ(H8$^AQCZ](q`o](XPPRJG82RJ##(RJbJ6 -XoNt~> -!<E/rebbm6eH!;[bn>B!XF$aic%CYnc%CAfc%CAfV#5QOUs6lCH[C[ac%CAf]n:rqH\;4?&;,>S -c%CAfc+Sa^MgL*$H[G\8!2TO>"/O1oHi)%gP^EDS%tf5Rc%CAfc%CAfc%CAfV#5QAUs4O=p<=M. -Hd0ffHd06VK8Y)/c-:lfc-:lfc-:lfc(t8a#GfUkHd0ffHhbhpK6tkfH[F#^K6tkfH[Gb:s*Fgl -H[G\8!2TO>%]%@gP^@b8^!4N\H[C[aq99J'Hd0ffHd0ffHd0ffHd-narltIiprs(sHd0ffHd-na -rltIis3271Hd0ffHd0ffHd0ffHd0ffH\6[arlkIjPb-,"^&6C\^%n/u^%TtVSGC\8SFtG.SG^n< -X8mb~> -!<E/qebu$7eH!;[bnPN#`Hurrc%CYnc%CAfc%CAfXF$K6bmhXfH\9RqHd.Iqc-:lnqoo_*Hd0ff -Hd0fnHd0ffK?]$q^&?1WXF$K8blNHDqoonPHc=7SK6tkfK6tkfK6tkfK6tkEH^t#Y!J>amboD@_ -c-:lfc&6qnc%CYnc%CAfc%CAfc%CAfXF$K8blr`H`Q`aVprsS,Hd0NVK?_YnHd0ffHc=7KH\9Rq -HbKC&!j$a=qTT,]UjIanblbq\H\;.='n^kXc%CAfc%CAfc%CAfK6tS^`I!74bpe9lc-:lfc%CA^ -c,G$^c-:lfc-:lfc-:lfc-:lfc-:lf[!S%^c,G%"T$78Kr71P3p=0/5q:,J8p=8o-rRCqM!.Y~> -!<E/qdf#U1dK%#Yc4k]'`dN9#c@pttc@LPlc@LPlY'm#?c4.deI>,stJ^07+b0G]pqp,4ms3CXq -s3:q1J]c8lL!GC#^AZ=YY'm#AcMrImc5*+%`m2k\J^2PlJ^2PlJ^2PlJ^1EHU&<49JbIChJcF$q -JJQOjJ]c8lL!ItpJ^2PlJ^2PlJ^1EHU&<1>JUP\`JV!UAs+(m0b'euhc@LPlcA?thcGk9hc@p\\ -rQYJIIA-M_"3.$_L&T@"`h@g7q9K"ks3CXqs3CXqs3CXq#L80S`m2SPM>5BrJcF$qJKrHsIE'RP -I>Q7pJUu+lJUu+lJUu+lJUu+lJUt7XQ-R[pIA*7X!5ABZpR1a'!1EZ2!1EQ/pR2!.!NlEQ~> -!<E/qebu$7eH!;[bnPN#`Hurrc%CYnc%CAfc%CAfXF$K6bmhXfH\9RqHd.Iqc-:lnqoo_*Hd0ff -Hd0fnHd0ffK?]$q^&?1WXF$K8blNHDqoonPHc=7SK6tkfK6tkfK6tkfK6tkEH^t#Y!J>amboD@_ -c-:lfc&6qnc%CYnc%CAfc%CAfc%CAfXF$K8blr`H`Q`aVprsS,Hd0NVK?_YnHd0ffHc=7KH\9Rq -HbKC&!j$a=qTT,]UjIanblbq\H\;.='n^kXc%CAfc%CAfc%CAfK6tS^`I!74bpe9lc-:lfc%CA^ -c,G$^c-:lfc-:lfc-:lfc-:lfc-:lf[!S%^c,G%"T$78Kr71P3p=0/5q:,J8p=8o-rRCqM!.Y~> -!<E/pec208eH!;[bpn(9c&6qMc%CYnc%CAfc%CAfc%CA=[&gXZUpRhBH]-.$Hd.IqXK6bq^&6+s -K6suMK6tkfMgMP,H[EH-H\8E5XMrG:H_e$M[*=5Mqop.pHaM&BK6tkfK6tkfK6tkfK6suEK6sE$ -XL-6)HiD7jMhCoO-\Hcjc%CAfMgMP,H[EHNK6tkfK6tkfK6tkfK6sE$XL-6:H^'bAHhbi=K6t;- -H_ep2K6tkfXF$2FP^BLVXF#T$]r]2tK6sE$XL-6J[(WhnMp8')]sN-Eq99Y,Hd0ffHd0ffHd0ff -Hd/X=PeE<.XSC$hK6tkfK6tkEH^)4.H`YK:K6tkfK6tkfK6tkfK6tkfK6tk-HaM&)HbH#q!58<\ -pRLs-!1`l8!1`c5rLEo<rLEi:!NZ9O~> -!<E/pcMs1*c2bTUasqh5b)(PLb(YPlb(5,db(5,d`eAi;[]ZpYTsDD<I>Q*tJ]`gtWiCJq^AQ+q -M1)hPJUttdM1)D(I=8i0I>+i4Wkuc0IAOBTZH@`LqoTqjIBL`8JUttdJUttdJUttdM1)hLKmff+ -Y-Q3$Jc<glM>PHqJcEmmJK`0mIB';qID3jTJ]c,dJ]c,dJ]budIAOBTZHAG\Q'$KGpr`Vf/\[p, -TutN/J]c-8I?hC/IAP)dI>+i4Wkuc0IAOBTZHAlH^9W0Db+Z,[email protected]*b5[%mb5[%mb5[%mb5["t -b,TlT\s7]?pr`Vfs2t@m,Kd$7Q+E6/V96r3J]c,dJ]c,dJ]c,dJ]c,dJ]a7+Y0*nq[[tVA^AQ:N -Q1iK'Q2/]*Q1iN%Q2f/.Q2Su/XoNt~> -!<E/pec208eH!;[bpn(9c&6qMc%CYnc%CAfc%CAfc%CA=[&gXZUpRhBH]-.$Hd.IqXK6bq^&6+s -K6suMK6tkfMgMP,H[EH-H\8E5XMrG:H_e$M[*=5Mqop.pHaM&BK6tkfK6tkfK6tkfK6suEK6sE$ -XL-6)HiD7jMhCoO-\Hcjc%CAfMgMP,H[EHNK6tkfK6tkfK6tkfK6sE$XL-6:H^'bAHhbi=K6t;- -H_ep2K6tkfXF$2FP^BLVXF#T$]r]2tK6sE$XL-6J[(WhnMp8')]sN-Eq99Y,Hd0ffHd0ffHd0ff -Hd/X=PeE<.XSC$hK6tkfK6tkEH^)4.H`YK:K6tkfK6tkfK6tkfK6tkfK6tk-HaM&)HbH#q!58<\ -pRLs-!1`l8!1`c5rLEo<rLEi:!NZ9O~> -!<E/feH!;[bpn(9c+U4'c%CYnc%CAfc%CAfc,GooH\8EEP_4=0Pf:n"Hd/pMH^pmYSG^VR["E_= -K6tkf["E^qUjJWVXG_FPMoEr[P^@b0XNcBEqT]%us32C5Hd0ffHd0ffHd0gBK6t;NP^@b0XNcBE -rlkIrHi)&8K6tkfK6tkMK6s,aH^r?5Hd0ffHd0ffHd0gSP^@b0XNe_BK=$8Xprrekrd+X8rlkIr -HiD7mXFkkPXT$H_XG_FPMoEr[P^@b0XNcu^H[D!rc'3j-H^)MFbnPeWc-:lfc-:lfc-:lfc-<>B -H\8Eobm]5Oc-:lfc-<>BH\8F!bnu([c-:lfc-:lfc-:lfc-:lfc,G<f`J]YFblGHTeH!;YS,g7r -eb>U,ec20<ec20;eH)`OJ,~> -!<E/fc2bTUasqh5b.=Umb(YPlb(5,db(5,db/0EpI>+iHQ%=@7Q+kClJ]bETI@['[RJb2LZ@RS< -JUttd[Y9.#Tm`?OWel.PM8%-LQ%=@;Y0)<HqTAhts2t@ms2t@ms2t@ms2kbUJUtDLQ%=@;Y0)<H -rlY7lqo\qis2t@m+j.6II@['[REC)3b0#9db0#9db0%SdJUN6Tb/0!dY(;0!aom9DI=[gcb5[%l -aonPpI>+^#ar7::I=6sdb/0EpI>+iHQ%=@7Q+kD+JUN*7^A5qOJcEmmJcEmmJcEmmJcEjqV1j>O -WqX[9JcEmmJcEjqV1j>OWrC0@JcEmmJcEmmJcEmmJcEmmJHj9:JUth#NLe2l^AQ7V[eZ0g[eA#@ -Q1`H&Q2T#.Q2Jo.XoNt~> -!<E/feH!;[bpn(9c+U4'c%CYnc%CAfc%CAfc,GooH\8EEP_4=0Pf:n"Hd/pMH^pmYSG^VR["E_= -K6tkf["E^qUjJWVXG_FPMoEr[P^@b0XNcBEqT]%us32C5Hd0ffHd0ffHd0gBK6t;NP^@b0XNcBE -rlkIrHi)&8K6tkfK6tkMK6s,aH^r?5Hd0ffHd0ffHd0gSP^@b0XNe_BK=$8Xprrekrd+X8rlkIr -HiD7mXFkkPXT$H_XG_FPMoEr[P^@b0XNcu^H[D!rc'3j-H^)MFbnPeWc-:lfc-:lfc-:lfc-<>B -H\8Eobm]5Oc-:lfc-<>BH\8F!bnu([c-:lfc-:lfc-:lfc-:lfc,G<f`J]YFblGHTeH!;YS,g7r -eb>U,ec20<ec20;eH)`OJ,~> -!<E/feH!:YblYk:XL$1JHNLm5Hdg79HN:bEc2)be^"^d5XFnK_blGGqeH)`OJ,~> -!<E/fc2bSSao]G2V6e>@I0.!2J^_d<I/pkDb5-Md]%b@/We&$XaoK/oc2k'JJ,~> -!<E/feH!:YblYk:XL$1JHNLm5Hdg79HN:bEc2)be^"^d5XFnK_blGGqeH)`OJ,~> -!<E/fblGGP`<!ZJX2P*lH\TK?UqN;;!56=q!NZ9O~> -!<E/faoK/N`W<fIX2b0jL;j7f^7<1C^;S.pXoNt~> -!<E/fblGGP`<!ZJX2P*lH\TK?UqN;;!56=q!NZ9O~> -!<E/fblGG.`QQ7#XF\?_`;mTiblOmGJ,~> -!<E/faoK/,`llC%Y(=Tb`W3`kaoSXFJ,~> -!<E/fblGG.`QQ7#XF\?_`;mTiblOmGJ,~> -!<E/fblGG.`IZ!Z`TP2?]u8.rX8mb~> -!<E/faoK/,`du-\`ok>A^;S.pXoNt~> -!<E/fblGG.`IZ!Z`TP2?]u8.rX8mb~> -!!%S&JV/N+PCii8J,~> -!!%S$JUrB'PCW]6J,~> -!!%S&JV/N+PCii8J,~> -!<E0!joD3.s+13$s.0/nV#TT>]`<Q~> -!<E0!joD*+s+13$s.0/nU&X9;\c@6~> -!<E0!joD3.s+13$s.0/nV#TT>]`<Q~> -!<E0!joD3.s+13$s.95pK;AP0k.LbF~> -!<E0!joD*+s+13$s.95pJYE,+k.1PC~> -!<E0!joD3.s+13$s.95pK;AP0k.LbF~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:A!!:[N!:A>:!<(IH!7TKs!;Y1F!!:[N!:eV>!9Vi-!!^sR!7fU"!9Vi3!<1OK -!;Y1F!.i[OebI\pK*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IF!!:jS!:AM?!<(XM!7T[#!;Y@K!!:jS!:eeC!9W#2!!_-W!8?-,!9W#8!<1^P -!;Y@K!.ijTgA'D%JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:A!!:[N!:A>:!<(IH!7TKs!;Y1F!!:[N!:eV>!9Vi-!!^sR!7fU"!9Vi3!<1OK -!;Y1F!.i[OebI\pK*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!;b7G!:A>:!<(IJ!7KEt!<:UL!;b7G!!:[N!:eV>!9Vi3!;b7G!<:UL!9Vi3 -!<1OK!;Y1F!.i[OebI\pK*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!;bFL!:AM?!<(XO!7KU$!<:dQ!;bFL!!:jS!:eeC!9W#8!;bFL!<:dQ!9W#8 -!<1^P!;Y@K!.ijTgA'D%JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!;b7G!:A>:!<(IJ!7KEt!<:UL!;b7G!!:[N!:eV>!9Vi3!;b7G!<:UL!9Vi3 -!<1OK!;Y1F!.i[OebI\pK*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<:UL!!LgP!7fWu!<:UL!<:UL!<:UL!<:UJ!<:UL -!!:[N!;+hA!;k=F!<:UL!!LgP!7fWu!<1OI!<:UJ!<:UJ!<:UL!!:[N!;+hA!<(IJ!!CaO!7h#J -s4.&Js4.,L!n@8No[WsArmh#Ks4.&Js4.,L"k<SQeGoT#eUc9Mec17*V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<:dQ!!M!U!8?0*!<:dQ!<:dQ!<:dQ!<:dO!<:dQ -!!:jS!;,"F!;kLK!<:dQ!!M!U!8?0*!<1^N!<:dO!<:dO!<:dQ!!:jS!;,"F!<(XO!!CpT!8@AO -s4[DOs4[JQ!nmVSo\0<Frn@APs4[DOs4[JQ"kiqVg&M,(g4@uWgAc^-U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<:UL!!LgP!7fWu!<:UL!<:UL!<:UL!<:UJ!<:UL -!!:[N!;+hA!;k=F!<:UL!!LgP!7fWu!<1OI!<:UJ!<:UJ!<:UL!!:[N!;+hA!<(IJ!!CaO!7h#J -s4.&Js4.,L!n@8No[WsArmh#Ks4.&Js4.,L"k<SQeGoT#eUc9Mec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@s4.,L*7Y#heGoU"eGoU"!!(R"!!(R"!!(OL -!7fU"!7guIo[WsAr71fIs4.,L+OpGleGoU"!!(R"!!(OL!7fU"!7fU"!7fU"!7fU"!7guIo[WsA -rRLoJ&(LX[e^XX"e^XX"e^XX"ebfF>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[Oec42"K*A(N -k2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Es4[JQ*81Amg&M-,g&M-,!!(a,!!(a,!!(^Q -!8?-,!8@>No\0<Fr7_/Ns4[JQ+PHeqg&M-,!!(a,!!(^Q!8?-,!8?-,!8?-,!8?-,!8@>No\0<F -rS%8O&)%!`g=cN,g=cN,g=cN,gACsCgA_0PgA_-[g&M-,g&M-,!!(aP!!:jS!.ijTgAfn,JH_bI -k2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@s4.,L*7Y#heGoU"eGoU"!!(R"!!(R"!!(OL -!7fU"!7guIo[WsAr71fIs4.,L+OpGleGoU"!!(R"!!(OL!7fU"!7fU"!7fU"!7fU"!7guIo[WsA -rRLoJ&(LX[e^XX"e^XX"e^XX"ebfF>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[Oec42"K*A(N -k2s>WJ,~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ec,XLec,UheGoU"!!(R"!!(R"!!(OL!7_&Le^XX" -e^XX"ec#R>ec,XIec,XLec,U[eGoU"!!(OL!7fU"!7_&Lqpk]Hs4.,Ls4.,L!7h&Ko%!X<'%Hs^ -eGoU"eGoU"eGoU"eGoU"rW)N>q>_)W!!(R"!!(OL!7_&Le^XX"J^o>%s4..%"f21\k.LbF~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA_0QgA_-mg&M-,!!(a,!!(a,!!(^Q!87DQg=cN, -g=cN,gAV*CgA_0NgA_0QgA_-`g&M-,!!(^Q!8?-,!87DQqqD&Ms4[JQs4[JQ!8@DPo%O!A'&!<c -g&M-,g&M-,g&M-,g&M-,rW)NCq>_)\!!(a,!!(^Q!87DQg=cN,J_G\/s4[L("ektYk.1PC~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ec,XLec,UheGoU"!!(R"!!(R"!!(OL!7_&Le^XX" -e^XX"ec#R>ec,XIec,XLec,U[eGoU"!!(OL!7fU"!7_&Lqpk]Hs4.,Ls4.,L!7h&Ko%!X<'%Hs^ -eGoU"eGoU"eGoU"eGoU"rW)N>q>_)W!!(R"!!(OL!7_&Le^XX"J^o>%s4..%"f21\k.LbF~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo$n!Ge^XZMeGoU"qZ-ZHrr<;S!!(OL!7fWs!!:[N!:eV> -!;tCI!<:UL!!^sR!7_&Leb]=JeGoUHec,XLec,XLec,UNeGoU>ec,XJec,UTeGoU"eGoU"eb]=J -eGoU>ec,XKec,ULeb]=QeGoU"!!(R"!!%T#J^seNs+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo%F?Lg=cP\g&M-,qZ-ZMrr<;X!!(^Q!8?0(!!:jS!:eeC -!;tRN!<:dQ!!_-W!87DQgA:jOg&M-MgA_0QgA_0QgA_-Sg&M-CgA_0OgA_-Yg&M-,g&M-,gA:jO -g&M-CgA_0PgA_-QgA:jVg&M-,!!(a,!!%T(J_L.Xs+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo$n!Ge^XZMeGoU"qZ-ZHrr<;S!!(OL!7fWs!!:[N!:eV> -!;tCI!<:UL!!^sR!7_&Leb]=JeGoUHec,XLec,XLec,UNeGoU>ec,XJec,UTeGoU"eGoU"eb]=J -eGoU>ec,XKec,ULeb]=QeGoU"!!(R"!!%T#J^seNs+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Lma_79s4.,L!n@8Nqpk]H$.T"UeGoU"eGoUIec,X>ec,XI -ec,XLec,UTeGoU"!!(OL!;tCI!;k=H!<:UL!<:UL!!:[N!:eV>!<(IJ!".6V!7fU"!7fU"!;tCI -!:eV>!<1OK!!:[N!;tCI!!^sR!7fU"!.i[Oec42"K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQmb7U>s4[JQ!nmVSqqD&M$/,@Zg&M-,g&M-NgA_0CgA_0N -gA_0QgA_-Yg&M-,!!(^Q!;tRN!;kLM!<:dQ!<:dQ!!:jS!:eeC!<(XO!".E[!8?-,!8?-,!;tRN -!:eeC!<1^P!!:jS!;tRN!!_-W!8?-,!.ijTgAfn,JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Lma_79s4.,L!n@8Nqpk]H$.T"UeGoU"eGoUIec,X>ec,XI -ec,XLec,UTeGoU"!!(OL!;tCI!;k=H!<:UL!<:UL!!:[N!:eV>!<(IJ!".6V!7fU"!7fU"!;tCI -!:eV>!<1OK!!:[N!;tCI!!^sR!7fU"!.i[Oec42"K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"n^[X>rmh#K#1W\Re^XX"rmh#Ks4.,Lrmh#Ks4.,L -!n@8NnC@O=s4.&Js4.,L(tATdeGoU"!!(R"!!(OL!7fU"!7fU"!7h&Ks4.,L!n@8Nn^[X>rRLoJ -#LreSe^XX"ec#RKec,UNeGoU>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[Oec42"K*A(Nk2s>W -J,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,n_4!Crn@AP#20%Wg=cN,rn@APs4[JQrn@APs4[JQ -!nmVSnCmmBs4[DOs4[JQ(tnrig&M-,!!(a,!!(^Q!8?-,!8?-,!8@DPs4[JQ!nmVSn_4!CrS%8O -#MK.Xg=cN,gAV*PgA_-Sg&M-CgA_0PgA_-[g&M-,g&M-,!!(aP!!:jS!.ijTgAfn,JH_bIk2s5T -J,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"n^[X>rmh#K#1W\Re^XX"rmh#Ks4.,Lrmh#Ks4.,L -!n@8NnC@O=s4.&Js4.,L(tATdeGoU"!!(R"!!(OL!7fU"!7fU"!7h&Ks4.,L!n@8Nn^[X>rRLoJ -#LreSe^XX"ec#RKec,UNeGoU>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[Oec42"K*A(Nk2s>W -J,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:\P=!<1OK!<:UJ!<(IJ!<:UL!<(IH!<:UL!:SJ:!<:UJ -!<:UL!!LgP!7fWu!<1OI!<(IJ!<:UJ!<:UL!:eV>!<(IJ!!:[N!<1OK!<:UJ!<:UL!:eV>!<1OK -!<:UJ!<:UL!!UmQ!7_&LJ^o>%rmh%$"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:\_B!<1^P!<:dO!<(XO!<:dQ!<(XM!<:dQ!:SY?!<:dO -!<:dQ!!M!U!8?0*!<1^N!<(XO!<:dO!<:dQ!:eeC!<(XO!!:jS!<1^P!<:dO!<:dQ!:eeC!<1^P -!<:dO!<:dQ!!V'V!87DQJ_G\/rn@C'"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:\P=!<1OK!<:UJ!<(IJ!<:UL!<(IH!<:UL!:SJ:!<:UJ -!<:UL!!LgP!7fWu!<1OI!<(IJ!<:UJ!<:UL!:eV>!<(IJ!!:[N!<1OK!<:UJ!<:UL!:eV>!<1OK -!<:UJ!<:UL!!UmQ!7_&LJ^o>%rmh%$"f21\k.LbF~> -!<E0!joV@Ys+/_"ec,W#eUc9Jec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uTgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9Jec17*V#TT>]`<Q~> -!<E0!joV@Ys+/_"ec,W#eUc9Jec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uTgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9Jec17*V#TT>]`<Q~> -!<E0!joV@Ys+/_"ec,W#eUc9Jec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uTgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9Jec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tOgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8Eec17*V#TT>]`<Q~> -!<E0!joV@Ys+,fRK7SZIK*A(Nk2s>WJ,~> -!<E0!joV7Vs+,`PJUrBEJH_bIk2s5TJ,~> -!<E0!joV@Ys+,fRK7SZIK*A(Nk2s>WJ,~> -!<E0!joM:XJV/N+JV0PH"f21\k.LbF~> -!<E0!joM1UJUrB'JUsDD"ektYk.1PC~> -!<E0!joM:XJV/N+JV0PH"f21\k.LbF~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.e`#'V!;=tC!;P+E!!:[N!;k=H!9_o4!.i[OeHMcKk2s>WJ,~> -!<E0!joD*+g>Uc`!;>.H!;P:J!!:jS!;kLM!9`)9!.ijTg'+2Mk2s5TJ,~> -!<E0!joD3.e`#'V!;=tC!;P+E!!:[N!;k=H!9_o4!.i[OeHMcKk2s>WJ,~> -!<E0!joD3.e`#'Y!<:UL!;G%D!;4nB!;k=H!9_o4!.i[OeHMcKk2s>WJ,~> -!<E0!joD*+g>Ucc!<:dQ!;G4I!;5(G!;kLM!9`)9!.ijTg'+2Mk2s5TJ,~> -!<E0!joD3.e`#'Y!<:UL!;G%D!;4nB!;k=H!9_o4!.i[OeHMcKk2s>WJ,~> -!<E0!joD4Keb9%=eb]?&ec,XKec,XLeboLJeboLJeboLJec,UNeGoUHec,XIeboLJec,XKec,XL -eboLJec,W#eUc6SV#TT>]`<Q~> -!<E0!joD+Hg@kRBgA:l+gA_0PgA_0QgAM$OgAM$OgAM$OgA_-Sg&M-MgA_0NgAM$OgA_0PgA_0Q -gAM$OgA_/(g4@r]U&X9;\c@6~> -!<E0!joD4Keb9%=eb]?&ec,XKec,XLeboLJeboLJeboLJec,UNeGoUHec,XIeboLJec,XKec,XL -eboLJec,W#eUc6SV#TT>]`<Q~> -!<E0!joD4KebB(DKDF't!//o&!<1OK!#X5d!7fU"!7fU"!7fU"!7fU"!7_&LeGoUHec,XJec,XL -ec,UNeGoUKec,UUeGoU"eGoU"!!%T#J^jq"s5rIW!.Y~> -!<E0!joD+Hg@tUIJbe%"!/0)+!<1^P!#XDi!8?-,!8?-,!8?-,!8?-,!87DQg&M-MgA_0OgA_0Q -gA_-Sg&M-PgA_-Zg&M-,g&M-,!!%T(J_C:$s5rIT!.Y~> -!<E0!joD4KebB(DKDF't!//o&!<1OK!#X5d!7fU"!7fU"!7fU"!7fU"!7_&LeGoUHec,XJec,XL -ec,UNeGoUKec,UUeGoU"eGoU"!!%T#J^jq"s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,UOeGoU"r;ciIr;clJquHcIr;`_FrrE&Krr<DV!!(R"!!(R" -!!)oHrr<5Q!!(OL!;k=H!<(IJ!<:UL!<:UL!"IHY!7fU"!7fU"!7_&LJ^o>%"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0OgA_-Tg&M-,r;ciNr;clOquHcNr;`_KrrE&Prr<D[!!(a,!!(a, -!!)oMrr<5V!!(^Q!;kLM!<(XO!<:dQ!<:dQ!"IW^!8?-,!8?-,!87DQJ_G\/"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XJec,UOeGoU"r;ciIr;clJquHcIr;`_FrrE&Krr<DV!!(R"!!(R" -!!)oHrr<5Q!!(OL!;k=H!<(IJ!<:UL!<:UL!"IHY!7fU"!7fU"!7_&LJ^o>%"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJebT:Gec,UReGoU"eGoUJec,UReGoU"eGoTIec,XKec,ULeb]@H -ec,XKebfCNeGoU"!!)oHrrE#JqZ-ZHrr<2P!!(R"qZ$]J!!%T#J^jq"s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA1gLgA_-Wg&M-,g&M-OgA_-Wg&M-,g&M,NgA_0PgA_-QgA:mM -gA_0PgACpSg&M-,!!)oMrrE#OqZ-ZMrr<2U!!(a,qZ$]O!!%T(J_C:$s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJebT:Gec,UReGoU"eGoUJec,UReGoU"eGoTIec,XKec,ULeb]@H -ec,XKebfCNeGoU"!!)oHrrE#JqZ-ZHrr<2P!!(R"qZ$]J!!%T#J^jq"s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tebfCIec#RKec,XLec,UReGoU"eGoUKec,XLec,XLec,WIec,XKec,UN -eGoUHec,XLec,XLec,UQeGoU"!!)oHrrE#JrrDoGrW)rJrrDuIrr@W#J^jq"s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gACpNgAV*PgA_0QgA_-Wg&M-,g&M-PgA_0QgA_0QgA_/NgA_0PgA_-S -g&M-MgA_0QgA_0QgA_-Vg&M-,!!)oMrrE#OrrDoLrW)rOrrDuNrr@W(J_C:$s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tebfCIec#RKec,XLec,UReGoU"eGoUKec,XLec,XLec,WIec,XKec,UN -eGoUHec,XLec,XLec,UQeGoU"!!)oHrrE#JrrDoGrW)rJrrDuIrr@W#J^jq"s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XKeb]=Heb]@GeGoUKeb]?Eec,XLec,XLec,XLec,XLec,UL -ec#RKec,UQeGoU"!!)oHrrE#JrrE)LrrE&KrW)rJrrE)Lrr<,N!!%T#J^jq"s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA:jMgA:mLg&M-PgA:lJgA_0QgA_0QgA_0QgA_0QgA_-Q -gAV*PgA_-Vg&M-,!!)oMrrE#OrrE)QrrE&PrW)rOrrE)Qrr<,S!!%T(J_C:$s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XKeb]=Heb]@GeGoUKeb]?Eec,XLec,XLec,XLec,XLec,UL -ec#RKec,UQeGoU"!!)oHrrE#JrrE)LrrE&KrW)rJrrE)Lrr<,N!!%T#J^jq"s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XIec,XHec,XKec,WEebfFGeboLHec,XLec#OKeboIL -eGoUHeb]=HeboLGeGoUIeboLJec,W#eUc6SV#TT>]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA_0NgA_0MgA_0PgA_/JgACsLgAM$MgA_0QgAV'PgAM!Q -g&M-MgA:jMgAM$Lg&M-NgAM$OgA_/(g4@r]U&X9;\c@6~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XIec,XHec,XKec,WEebfFGeboLHec,XLec#OKeboIL -eGoUHeb]=HeboLGeGoUIeboLJec,W#eUc6SV#TT>]`<Q~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XLec,UUeGoU"eGoU"!!)uJrrE)Lrr@W#J^o>%j4+=/ -s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA_0QgA_-Zg&M-,g&M-,!!)uOrrE)Qrr@W(J_G\/j4X[1 -s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XLec,UUeGoU"eGoU"!!)uJrrE)Lrr@W#J^o>%j4+=/ -s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XJeboLIeboLJebfFIeboK!eUc8%e`,*_V#TT>]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0OgAM$NgAM$OgACsNgAM#&g4@t/g>^fiU&X9;\c@6~> -!<E0!joD4Kec5[Gec19tec,XJec,XJeboLIeboLJebfFIeboK!eUc8%e`,*_V#TT>]`<Q~> -!<E0!joD4Kec5[EK7VR(eUc8ZeHMcKk2s>WJ,~> -!<E0!joD+HgAh3JJUuO+g4@tdg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[EK7VR(eUc8ZeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8dec,XJeboLIeboK!eaM#lV#TT>]`<Q~> -!<E0!joD*+g4@tngA_0OgAM$NgAM#&g@*`!U&X9;\c@6~> -!<E0!joD3.eUc8dec,XJeboLIeboK!eaM#lV#TT>]`<Q~> -!<E0!joD3.eUc8feboLIec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD*+g4@tpgAM$NgA_0QgA_-Wg&M-,g&M,(g@3f"U&X9;\c@6~> -!<E0!joD3.eUc8feboLIec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g@3f"U&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g@3f"U&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g@3f"U&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g@3f"U&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#eaV)mV#TT>]`<Q~> -!<E0!joD4Keb4Xkec,XKec,UNeGoUIec,XAeb]@,ebK2reZ77#!<1OK!<:UL!!^sR!7fU"!.i\i -eHMcKk2s>WJ,~> -!<E0!joD+Hg@g*ngA_0PgA_-Sg&M-NgA_0FgA:m1gA(`"g8is-!<1^P!<:dQ!!_-W!8?-,!.ikn -g'+2Mk2s5TJ,~> -!<E0!joD4Keb4Xkec,XKec,UNeGoUIec,XAeb]@,ebK2reZ77#!<1OK!<:UL!!^sR!7fU"!.i\i -eHMcKk2s>WJ,~> -!<E0!joD4Keb=[rs7t4F!<1OK!;Y1F!;+hA!8Q-)!.i\!ec,XKec,XLec,UReGoU"eGoT#eaV)m -V#TT>]`<Q~> -!<E0!joD+Hg@p-us7tCK!<1^P!;Y@K!;,"F!8Q<.!.ik&gA_0PgA_0QgA_-Wg&M-,g&M,(g@3f" -U&X9;\c@6~> -!<E0!joD4Keb=[rs7t4F!<1OK!;Y1F!;+hA!8Q-)!.i\!ec,XKec,XLec,UReGoU"eGoT#eaV)m -V#TT>]`<Q~> -!<E0!joD4Kec19uXT/=rec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#Jrr</O!!(RJ!<:RM!7h&K -!7h&Kp!s'BrRLiHJ^q!TrrE#Jr;ciIr;_E!n'qT;s5rIW!.Y~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE#Orr</T!!(aO!<:aR!8@DP -!8@DPp"KEGrS%2MJ_I?^rrE#Or;ciNr;_E&n(Ir=s5rIT!.Y~> -!<E0!joD4Kec19u@fQK(ec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#Jrr</O!!(RJ!<:RM!7h&K -!7h&Kp!s'BrRLiHJ^q!TrrE#Jr;ciIr;_E!n'qT;s5rIW!.Y~> -!<E0!joD4Kec19uXT/=rec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IE!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeW//`V#TT>]`<Q~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<(XJ!<:dQ!".E[!8?-, -!8?-,!;>.H!<1^P!<:dQ!.ijTg5akjU&X9;\c@6~> -!<E0!joD4Kec19u@fQK(ec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IE!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeW//`V#TT>]`<Q~> -!<E0!joD4Kec19uXT/=rebT7WeGoU"!!(R"!!(OL!7fU"!;k=E!!(RK!<:UL!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%Nn"</s5rIW!.Y~> -!<E0!joD+HgAca#0`V1KgA1d\g&M-,!!(a,!!(^Q!8?-,!;kLJ!!(aP!<:dQ!<:dQ!"7K\!8?-, -!8?-,!8@;MrS%8Orn@APs4[JQJ_G\/NnOZ1s5rIT!.Y~> -!<E0!joD4Kec19u@fQK(ebT7WeGoU"!!(R"!!(OL!7fU"!;k=E!!(RK!<:UL!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%Nn"</s5rIW!.Y~> -!<E0!joD4Kec19uXT/=rec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<(IJ!<1OK!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeW//`V#TT>]`<Q~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-[g&M-,!!(a,!!(aM!;kLM!<(XO!<1^P!<:dQ!".E[!8?-, -!8?-,!;>.H!<1^P!<:dQ!.ijTg5akjU&X9;\c@6~> -!<E0!joD4Kec19u@fQK(ec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<(IJ!<1OK!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeW//`V#TT>]`<Q~> -!<E0!joD4Kec19uXT/=rec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<(IJ!<1OK!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%Nn"</s5rIW!.Y~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-]g&M-,!!(a,!!(^Q!;G4I!<(XO!<1^P!<:dQ!"7K\!8?-, -!8?-,!8@;MrS%8Orn@APs4[JQJ_G\/NnOZ1s5rIT!.Y~> -!<E0!joD4Kec19u@fQK(ec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<(IJ!<1OK!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%Nn"</s5rIW!.Y~> -!<E0!joD4Kec19uXT/=rec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IJ!<1OK!<:UL!".6V -!7fU"!7fU"!;=tC!<1OK!<:UL!.i[OeW//`V#TT>]`<Q~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<(XO!<1^P!<:dQ!".E[ -!8?-,!8?-,!;>.H!<1^P!<:dQ!.ijTg5akjU&X9;\c@6~> -!<E0!joD4Kec19u@fQK(ec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IJ!<1OK!<:UL!".6V -!7fU"!7fU"!;=tC!<1OK!<:UL!.i[OeW//`V#TT>]`<Q~> -!<E0!joD4Kec19uXT/=rec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#JrrE#Jr;clJrrE)LrrE)L -rrDcCrrE#Jr;bI"JV1dkJ^sMF"f21\k.LbF~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE#OrrE#Or;clOrrE)QrrE)Q -rrDcHrrE#Or;bI'JUtXgJ_KkP"ektYk.1PC~> -!<E0!joD4Kec19u@fQK(ec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#JrrE#Jr;clJrrE)LrrE)L -rrDcCrrE#Jr;bI"JV1dkJ^sMF"f21\k.LbF~> -!<E0!joD4Kec19ss+/]#eU`@iK)kq&eb@StV#TT>]`<Q~> -!<E0!joD+HgAca!s+/l(g4=glJH5_$g@s;)U&X9;\c@6~> -!<E0!joD4Kec19ss+/]#eU`@iK)kq&eb@StV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^#B!Beb@StV#TT>]`<Q~> -!<E0!joD*+g?72iJUt\u_VtNGg@s;)U&X9;\c@6~> -!<E0!joD3.e`YK_K7U_r^#B!Beb@StV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^#]1pKE(t&eb@StV#TT>]`<Q~> -!<E0!joD*+g?72iJUt\u_W:^uJcGb$g@s;)U&X9;\c@6~> -!<E0!joD3.e`YK_K7U_r^#]1pKE(t&eb@StV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(pY#eEs5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#pXKGCs5rIW!.Y~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAec,XKec,XFec,WYec18Q^#Qg+s7OnCKE(Vps+C@O -J^sMF"f21\k.LbF~> -!<E0!joD+Hg@kRBgA_0PgA_-Sg&M-NgA_0FgA_0PgA_0KgA_/^gAc_T_W/N5s7P(HJcGDss+14M -J_KkP"ektYk.1PC~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAec,XKec,XFec,WYec18Q^#Qg+s7OnCKE(Vps+C@O -J^sMF"f21\k.LbF~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!<1OK!;Y1F!4UMYK7U_r^&S-*eH(=&p!s(ps8RZ# -pXKGCs5rIW!.Y~> -!<E0!joD+Hg@tUIJbe%"!<1^P!;Y@K!;,"F!<1^P!;Y@K!4U\^JUt\u_Z0Z/g&Zd)p"KFss8RZ( -pY#eEs5rIT!.Y~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!<1OK!;Y1F!4UMYK7U_r^&S-*eH(=&p!s(ps8RZ# -pXKGCs5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE&Krr<__!!(OL!7fU"!7fU" -!7_&LeGoUKeboLJec,XLec,XLec,UQeGoU"!!(a's+>m9j1YKmp!j(qs7OqBKE(t&eb@StV#TT> -]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE&Prr<_d!!(^Q!8?-,!8?-, -!87DQg&M-PgAM$OgA_0QgA_0QgA_-Vg&M-,!!(a,s+,a<j21irp"BFts7P+GJcGb$g@s;)U&X9; -\c@6~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE&Krr<__!!(OL!7fU"!7fU" -!7_&LeGoUKeboLJec,XLec,XLec,UQeGoU"!!(a's+>m9j1YKmp!j(qs7OqBKE(t&eb@StV#TT> -]`<Q~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<1OK!!(RK!".6V!7_&L -eGoU"ec#O`eGoU"!!(R"!!(OL!7fU"!7fU"!7h&K!n@8NgXZ=VJ\C*Ws8V_D!<;YCs8RZ#pXKGC -s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<1^P!!(aP!".E[!87DQ -g&M-,gAV'eg&M-,!!(a,!!(^Q!8?-,!8?-,!8@DP!nmVSgY2[YJ\pHas8V_B!<;YAs8RZ(pY#eE -s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<1OK!!(RK!".6V!7_&L -eGoU"ec#O`eGoU"!!(R"!!(OL!7fU"!7fU"!7h&K!n@8NgXZ=VJ\C*Ws8V_D!<;YCs8RZ#pXKGC -s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>m9j1PHmjFdL4J^sMF"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA1d\g&M-,!!(a,!!(^Q!8?-,!;kLM!<1^P!!h3X!8?-,!8@AOrn@AP -s4[JQ(tnrig=cN,g=cN,g&M-,!!(a,!!(a,!!(d-s+,a<j2(frjFR@2J_KkP"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>m9j1PHmjFdL4J^sMF"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>n&_uG;<pXKGCs5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-[g&M-,!!(a,!!(aM!;kLM!<1^P!!h3X!8?-,!8@AOrn@AP -s4[JQ(tnrig=cN,g=cN,g&M-,!!(a,!!(a,!!(d-s+,b$_uG;ApY#eEs5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>n&_uG;<pXKGCs5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<1OK!%l_$!7fU"!7_&LeGoU" -eGoU"eGoU"!!(R"!!(R"!!(OL!7_&Le^XX"e^XX"gXQ:VJcEUeJ^sMF"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-]g&M-,!!(a,!!(^Q!;G4I!<1^P!%ln)!8?-,!87DQg&M-, -g&M-,g&M-,!!(a,!!(a,!!(^Q!87DQg=cN,g=cN,gY)XYJcEUeJ_KkP"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<1OK!%l_$!7fU"!7_&LeGoU" -eGoU"eGoU"!!(R"!!(R"!!(OL!7_&Le^XX"e^XX"gXQ:VJcEUeJ^sMF"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;b7G!$B_k!7fU"!7fU"!7_&L -e^XX"eGoU"eGoU"!!(R"!!*#KrrE)LrrE&KrrE)Lrr@W#J^on5"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;bFL!$Bnp!8?-,!8?-,!87DQ -g=cN,g&M-,g&M-,!!(a,!!*#PrrE)QrrE&PrrE)Qrr@W(J_H7?"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;b7G!$B_k!7fU"!7fU"!7_&L -e^XX"eGoU"eGoU"!!(R"!!*#KrrE)LrrE&KrrE)Lrr@W#J^on5"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;cZDquHcIrrE)Lrr<,N!!*#Kr;clJ -rrE)Lr;cfHrrE)LrrE&KrrE)Lrr@W#J^on5"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;cZIquHcNrrE)Qrr<,S!!*#Pr;clO -rrE)Qr;cfMrrE)QrrE&PrrE)Qrr@W(J_H7?"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;cZDquHcIrrE)Lrr<,N!!*#Kr;clJ -rrE)Lr;cfHrrE)LrrE&KrrE)Lrr@W#J^on5"f21\k.LbF~> -!<E0!joD4Kec5[EK7VR(eUc8ZeHMcKk2s>WJ,~> -!<E0!joD+HgAh3JJUuO+g4@tdg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[EK7VR(eUc8ZeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F#rKDX1&V#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`'Jc".)U&X9;\c@6~> -!<E0!joD3.eUc8%e[F#rKDX1&V#TT>]`<Q~> -!<E0!joD3.eUc8%e[F#sK)krKeHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g:#`(JH5`Ig'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%e[F#sK)krKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%e[F$.KDN7]KDN:]s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jbm4`Jbm7`s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KDN7]KDN:]s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KDW=_s+C0]s8VuH"f21\k.LbF~> -!<E0!joD*+g4@t/g:#`8Jc!:bs+1$`s8VuM"ektYk.1PC~> -!<E0!joD3.eUc8%e[F$.KDW=_s+C0]s8VuH"f21\k.LbF~> -!<E0!joD3.eUc8%e[F$.KDW=`s+>t$^&S-0eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g:#`8Jc!:cs+,au_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%e[F$.KDW=`s+>t$^&S-0eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%e[F$.KD`F_s8R`K^&S-0eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g:#`8Jc*Cbs8RZI_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%e[F$.KD`F_s8R`K^&S-0eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%e[F$.KD`F_rrU`'KD`F_s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jc*CbrrUo*Jc*Cbs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KD`F_rrU`'KD`F_s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KDiL`s8UXLKD`F_s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jc3Ics8UgQJc*Cbs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KDiL`s8UXLKD`F_s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KDiL`s8LRKKDiL`s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jc3Ics8LaPJc3Ics81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KDiL`s8LRKKDiL`s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KDrRas8CLJKDiL`s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jc<Ods8C[OJc3Ics81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KDrRas8CLJKDiL`s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KDrRas8:FIKDrRas81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jc<Ods8:UNJc<Ods81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KDrRas8:FIKDrRas81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KE&Xbs81@HKDrRas81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8JcEUes81OMJc<Ods81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KE&Xbs81@HKDrRas81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KE&Xbs8(:GKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8JcEUes8(ILJcEUes81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KE&Xbs8(:GKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD3.e`>9\s7OqBs8CLJs.%U>s7+V>s-qO=s7+Y>s7=e@s68)6K*&ads7t4FKE&Xbs81=M -V#TT>]`<Q~> -!<E0!joD*+g>puf!;5(G!<(XO!1_aC!:ebC!1V[B!:eeC!;"qE!9r5;JHE^gs7tCKJcEUes81LR -U&X9;\c@6~> -!<E0!joD3.e`>9\!;4nB!<(IJ!1_R>!:eS>!1VL=!:eV>!;"b@!9r&6K*&ads7t4FKE&Xbs81=M -V#TT>]`<Q~> -!<E0!joD4Lec5[Lec#LJeboFOec5["s8UXKs8UXLs8UXLrrCUIrrCUKs-hI<s7FhAs8:CIs,5D- -s,#8+s74\?s68)6K*&ads7k.EK*&ads81=MV#TT>]`<Q~> -!<E0!joD+IgAe#LgARiJgAIcOg81Y"V5;oFV>o9LV>o9LV#]6IV#]6KV4-*<!;+tF!;tON!/oP2 -!/]D0!:nhD!9r5;JHE^gs7k=JJHE^gs81LRU&X9;\c@6~> -!<E0!joD4Lec,XLeboIJebfCOeGoU"!!(RK!<:UL!<:UL!!(RI!!(RK!1MF<!;+eA!;t@I!/oA- -!/]5+!:nY?!9r&6K*&ads7k.EK*&ads81=MV#TT>]`<Q~> -!<E0!joD4KeIMW0ec41Ms4,["e^a]Ms8LOVs4,["e^a]Mec42"rm_5Qe^a]Mec2r*s8NATs4,[" -s4./LpsoBDs4.,KrRLrJr7(fIr7(fI\(1NY#M&k)ec42"s8CLJs8CLIs8LRKs8LRKs7b(BrrgmP -s4.._ec5XSec41Ms4./LrRLrJrRLoIrmh&Krmh&Kp!j'BrRLrJrRLrJrm_,Nec5[Kec5[KeH,^# -rr;fEs+C@Oon*=Zs8VuH"f21\k.LbF~> -!<E0!joD+Hg('t5g83NWV:sY"g=iCWV>f0VV:sY"g=iCWg83N"rn7RQg=iCWg82+/rr<>Y!8?-, -!87DQptG]Is4[GPrS%8Or7V,Nr7V,N\(^i^#MK13g&Th,!<(XO!<(XN!<1^P!<1^P!;G4G!!M!U -!87FdgA_-Xg&Tj\!87DQrS%8OrS%5Nrn@APrn@APp"BBGrS%8OrS%8Orn7GSg&M-PgA_0Pg&V3- -rW)cJs+14Momm1]s8VuM"ektYk.1PC~> -!<E0!joD4KeIDT0eH".M!7fU"e^XZM!<1LV!7fU"e^XZMeH","rm_2Qe^XZMeGuo*rr<>T!7fU" -!7_&Lpso?Ds4.)KrRLoJr7(cIr7(cI\(1KY#Lrh)eH","!<(IJ!<(II!<1OK!<1OK!;G%B!!LgP -!7_(_ec,USeH".M!7_&LrRLoJrRLlIrmh#Krmh#Kp!j$BrRLoJrRLoJrm_)NeGoUKec,XKeH#[# -rW)cEs+C@Oon*=Zs8VuH"f21\k.LbF~> -!<E0!joD4KeIDQ/ec41Ms8UXLe^a^"rRLrJ'@m-5ec41Ms4./"s4./"ec5["s0C/^s4./"s4,[" -e^a]qeH#XIeHu9+ec41Ms4,["rRCoJr7(fI\()/lec42"e^a]Mec41Ms4,["e^a]reH#XIeH#XD -eH#XKeHGp&s4..`eJ%u5s4./"ec41Ms4,["e^a]Mec5Kr!<;uI!<;cC!<<&K%fb)0s4,["e^a]M -ec42"rm_,Ne^a^!eH#XCec17%s7:mCs81=MV#TT>]`<Q~> -!<E0!joD+Hg'sn4g83NWV5;nBg=iC"rS%:J'AB;:g83NWV:qd"V:qd"g81Y"V6\e^!87G,!8?-, -g=cQ&g&M-Ng'Ic5g&Tj\!8?-,rRq5Or7V,N\(VJqg&Th,g=cP\g&Tj\!8?-,g=cQ'g&M-Ng&M-I -g&M-Pg&qE0!87Feg(OJ?!87G,g&Tj\!8?-,g=cP\g&V!'!!)rN!!)`H!!*#P%KP5:!8?-,g=cP\ -g&Th,rn7GSg=cQ+g&M-HgAc^(s7:gAs81LRU&X9;\c@6~> -!<E0!joD4KeI;N/eH".M!!(OLe^XX"rRLoJ'@d*5eH".M!7_)"!7_)"eGoU"!4(,^!7_)"!7fU" -e^XZqeGoUIeHl6+eH".M!7fU"rRClJr7(cI\(),leH","e^XZMeH".M!7fU"e^XZreGoUIeGoUD -eGoUKeH>m&!7_(`eIqr5!7_)"eH".M!7fU"e^XZMeH#Hr!!)rI!!)`C!!*#K%KP&0!7fU"e^XZM -eH","rm_)Ne^X[!eGoUCec17%s7:mCs81=MV#TT>]`<Q~> -!<E0!joD4KeIMW0ec41Ms4./Le^a]Ms8LO`s4./Le^a]Mec42"ec42"e^a]Ms8TCT$NJZVec41M -s4,["psoEErm_2Pe^a]Mec,UHeH#XIeH#WYeI;K.s4./"ec41Ms4,[!s8CLJs8:CIs8LRJs7b%D -s8LOOs4./"s1["ls4./"s4,["e^a]Mec,UIec5[IeH#XKec,UBeH#XKeHZ'(ec41Ms8:FIs8CLI -s8CIJs7Y"CKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+Hg('t5g83NWV:qcBg=iCWV>f0`V:qcBg=iCWg83N"g83N"g=iCWV5:KO$38c[g&Tj\ -!8?-,ptG`Jrn7MUg=cP\gAV*Mg&M-Ng&M,^g'du8!87G,g&Tj\!8?0+!<(XO!;tON!<1^O!;G1I -!<1[T!87G,[email protected]!87G,!8?-,g=cP\gAV*NgA_0Ng&M-PgAV*Gg&M-Pg'.Q2g&Tj\!;tRN!<(XN -!<(UO!;>.HJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4KeIDT0eH".M!7_&Le^XZM!<1L`!7_&Le^XZMeH","eH","e^XZM!!'=T$38TVeH".M -!7fU"psoBErm_/Pe^XZMec#RHeGoUIeGoTYeI2H.!7_)"eH".M!7fX!!<(IJ!;t@I!<1OJ!;G"D -!<1LO!7_)"!5?tl!7_)"!7fU"e^XZMec#RIec,XIeGoUKec#RBeGoUKeHQ$(eH".M!;tCI!<(II -!<(FJ!;=tCKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4KeKFnBec41Ms4,["e^a]Mec41Ms4,["e^a]Mec41Ms4./KeH>j%ec2r*$NJZVec41M -s4,["p=0TOe^a]Mec41Ms4,["rRCoJr7(fI\()&iec42"e^a]Mec41Ms4,["r7(fIrRD,Pe^a]M -ec5Bo#liH*s8UXLec3A6&HC;\ec41Ms4,["e^a]Mec5Qt!<<#J#636(s4,["p=00Crm_MYe^a]M -ec41Ms4,["ec5X!"96p%s8LOKs7Y"CKCJp<eHMcKk2s>WJ,~> -!<E0!joD+Hg*!6Gg83NWV:sY"g=iCWg83NWV:sY"g=iCWg83NWV:qdFg&n2*g82+/$38c[g&Tj\ -!8?-,p=]oTg=cP\g&Tj\!8?-,rRq5Or7V,N\(VAng&Th,g=cP\g&Tj\!8?-,r7V,NrRqGUg=cP\ -g&Um$#QWT4!!(^Qg&Sk@&-1Dag&Tj\!8?-,g=cP\g&V')!!)uO"p!B2!8?-,p=]KHrn7h^g=cP\ -g&Tj\!8?-,g&V-+!s%'/!<1[P!;>.HJai^:g'+2Mk2s5TJ,~> -!<E0!joD4KeK=kBeH".M!7fU"e^XZMeH".M!7fU"e^XZMeH".M!7_)KeH5g%eGuo*$38TVeH".M -!7fU"p=0QOe^XZMeH".M!7fU"rRClJr7(cI\()#ieH","e^XZMeH".M!7fU"r7(cIrRD)Pe^XZM -eH#?o#QWE*!!(OLeH!>6&-15\eH".M!7fU"e^XZMeH#Nt!!)uJ"p!3(!7fU"p=0-Crm_JYe^XZM -eH".M!7fU"eH#U!!s$m%!<1LK!;=tCKCJp<eHMcKk2s>WJ,~> -!<E0!joD4Jec5[Lec5[LeH,^#rr<#Krr<#K!<<&Ks8W)K$3/QUe^a^"e^a]*eHu9+s4./Le^a^" -psoBDs4.,K#1`bRe^a^"rmgrH!7h#I\^^f^ec41trs%$Rs4,["s8LRJs8LRHrrgmPs4./Dec5XR -ec42"ec5ZaeH>j%s4.&I#1`bRe^a^"rmh#JrmgrH"P*PPec5Hqr;ZfIs8W&Js8W,Ls8N/Ns8W)K -s8W)KrVuZCs+BqC!e^OQqpbkGs5rIW!.Y~> -!<E0!joD+GgAe#LgAe#Lg&\&(rh]YKrh]YK!2]\Ks/#_K$)Q@Pg=iC"g=iC/g'Ic5!87DQg=cN, -ptG]Is4[GP#20%Wg=cN,rn@8M!8@>N\_7,cg&Tk)!!_-W!8?-,!<1^O!<1^M!!M!U!87GIgA_-W -g&Th,g&M,fg&h?/!8@>N#20%Wg=cN,rn@>Orn@8M"PNhUg&Us&quHcNrrE#OrrE)Qrr<,S!!*#P -rrE⪻cWHs+0eA!eLCOqq;4Is5rIT!.Y~> -!<E0!joD4Jec,XLec,XLeH#[#rW)uKrW)uK!!*#KrrE&K#lrKUe^XX"e^XZ*eHl6+!7_&Le^XX" -pso?Ds4.)K#1W\Re^XX"rmgoH!7guI\^^c^eH".t!!^sR!7fU"!<1OJ!<1OH!!LgP!7_)Dec,UR -eH","eGoTaeH5g%!7guI#1W\Re^XX"rmguJrmgoH"P!JPeH#EqquHcIrrE#JrrE)Lrr<,N!!*#K -rrE&Kr;cWCs+BqC!e^OQqpbkGs5rIW!.Y~> -!<E0!joD3.eb%Als+/^Oe\p#<KE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g@X)!!.ijTg;M_FJcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eb%Al!.i[Oe\p#<KE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eb7Pns8CLFs+/_pebfB-ebfBsec1:%s7CsDs81=MV#TT>]`<Q~> -!<E0!joD*+g@j8#!<(XK!.ikugA:l2gA:m#gAca(s7CmBs81LRU&X9;\c@6~> -!<E0!joD3.eb7Pn!<(IF!.i\peb]?-eb]?sec1:%s7CsDs81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.K)krCKE(uKeHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g:#`8JH5`AJcGcIg'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%e[F$.K)krCKE(uKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g:#`8Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%e[F$.KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X;eH#X=eH#X7eH#WjeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-@g&M-Bg&M-<g&M,og&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU;eGoU=eGoU7eGoTjeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X;eH#X=eH#X7eH#WjeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-@g&M-Bg&M-<g&M,og&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU;eGoU=eGoU7eGoTjeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec,UKec#OJec5[JeH,^#rr2uKrVuZCs8W,Ls8N5Ps8UX"rVulIs8W)K -!WU^Ls4>d$s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-FgAV*PgAM$OgA_0Og&V3-rVurPr;cWHrrE)Qrr<2U!!(a,r;ciNrrE&P -!<CjQ!8#p)!/fJ1!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUAec#RKeboLJec,XJeH#[#rVurKr;cWCrrE)Lrr<2P!!(R"r;ciIrrE&K -!<C[L!8#a$!/f;,!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeH#XHeH#XHeH#XJeH#XIeH#XDeHu9+ec41Ms4,["rm_#KrRD#Me^a^! -eH#X!eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Gg&M-Mg&M-Mg&M-Og&M-Ng&M-Ig'Ic5g&Tj\!8?-,rn7>PrRq>Rg=cQ+ -g&M-&g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeGoUHeGoUHeGoUJeGoUIeGoUDeHl6+eH".M!7fU"rm^uKrRCuMe^X[! -eGoU!eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec5[JeH#XJec,UIeH#XIeH#XDeHu9+ec41Ms4,["rm_#KrRLoIrRCoJ -eC=R!MU__,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgA_0Og&M-OgAV*Ng&M-Ng&M-Ig'Ic5g&Tj\!8?-,rn7>PrS%5NrRq5O -eCjm&MV8%1[bCb4o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec,XJeGoUJec#RIeGoUIeGoUDeHl6+eH".M!7fU"rm^uKrRLlIrRClJ -eC=O!MU_\,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#X?eH#XKeHc-)ec5["ec5Tu!<;uI"96p%s8(7Ps4,["e^a]Mec5X!#liH* -s4./"ec5X!!<:R!!<7r,!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Dg&M-Pg'7W3g&M-,g&V**!!)rN!s%'/!;bCU!8?-,g=cP\g&V-+#QWT4 -!87G,g&V-+!!(O&!!%o1!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoU?eGoUKeHZ*)eGoU"eH#Qu!!)rI!s$m%!;b4P!7fU"e^XZMeH#U!#QWE* -!7_)"eH#U!!!(O!!!%o,!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBec,UHec5[Lec5XOec41MrVuiHs8VlEs8W&Js8N,Ms8LRKs8LRKs8LRI -s45^#s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-GgAV*MgA_0QgA_-Tg&Tj\r;cfMrrDiJrrE#Orr<)R!<1^P!<1^P!<1^N -!7oj(!/fJ1!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBec#RHec,XLec,UOeH".Mr;cfHrrDiErrE#Jrr<)M!<1OK!<1OK!<1OI -!7o[#!/f;,!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X%ebfBWeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-*gA:l\g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU%eb]?WeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5eboLGeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gAM$Lg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5eboLGeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eVO8+s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g5#`dg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eVF3_eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4ec#RHeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gAV*Mg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4ec#RHeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XHeH#XIec5Z`eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-Mg&M-NgA_/eg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUHeGoUIec,W`eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XAeH#W`eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-Fg&M,eg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUAeGoT`eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XCeH>j%s8W&Js8W,L"om-Qec5[Gec#OIec5[Jec,T_eH#W,eH#WXec19m -^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Hg&h?/!!)uOrrE)Q"T[6Vg&M-LgAM$NgA_0OgAV)dg&M,1g&M,]gAc`p -_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUCeH5g%!!)uJrrE)L"T['QeGoUGeboLIec,XJec#Q_eGoT,eGoTXec19m -^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeIV]1ec41Ms4,["ec42"ec5Ep!<;rH!<<&K"96p%s1["`s,,>,s0gJX -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg(+2;g&Tj\!8?-,g&Th,g&Up%!!)oM!!*#P!s%'/[email protected]!/fJ1!4LV] -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeIMZ1eH".M!7fU"eH","eH#Bp!!)oH!!*#K!s$m%!5?t`!/f;,!4LGX -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeHQ!'ec41Mrr<#K"TR$Pec5Ep!<;rH!<<&K"96p%s1["`s,,>,s0gJX -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg'%K1g&Tj\rW)uP"9@-Ug&Up%!!)oM!!*#P!s%'/[email protected]!/fJ1!4LV] -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeHGs'eH".MrW)uK"9?sPeH#Bp!!)oH!!*#K!s$m%!5?t`!/f;,!4LGX -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeIMW0ec41Ms4,["e^a]Ms7b%Gs4,["rm_#Krm_,Ne^a]6eH#W,eH#WX -ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Gg(",:g&Tj\!8?-,g=cP\!;G1L!8?-,rn7>Prn7GSg=cP@g&M,1g&M,] -gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeIDT0eH".M!7fU"e^XZM!;G"G!7fU"rm^uKrm_)Ne^XZ6eGoT,eGoTX -ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XCec,RQec5["ec5[KeH5d$s7Y"Cs8UXIs8UXLrrL[M^XW>aMU__,[akD1 -o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-HgAV'Vg&M-,g&M-Pg&_9.!;>.H!<:dN!<:dQ!!1dR^Y/YfMV8%1[bCb4 -o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUCec#OQeGoU"eGoUKeH,a$!;=tC!<:UI!<:UL!!1UM^XW;aMU_\,[akD1 -o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X1ebfBKeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-6gA:lPg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU1eb]?KeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH5d$eb]?0eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gA:l5g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$eb]?0eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eVO8+s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g5#`dg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eVF3_eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH5d$ebfE0eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gACr5g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$ebfE0eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#X*eH#XJeH#X=ec5[@ec5[2eH#W,eH#WXec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&Rt,g&M-Fg&M-/g&M-Og&M-BgA_0EgA_07g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoT,eGoUAeGoU*eGoUJeGoU=ec,X@ec,X2eGoT,eGoTXec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#W,eH#XAeH#X%eH#X<eH#X?eH#X2eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Fg&M-*g&M-Ag&M-Dg&M-7g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAeGoU%eGoU<eGoU?eGoU2eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBec#OJeH,^#r;QiKs8VrG#liHTec5["s4.,Ks4./LrmguIrmh&Kp=00C -rRLrJrRLrJrm_,Nec5[5eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-GgAM$Og&V3-qu?fP!!)lL#QWQYg&M-,!8@DPs4[JQrn@;Nrn@APp=]KH -rS%8OrS%8Orn7GSg&M-:g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeboLJeH#[#qu?fK!!)lG#QWBTeGoU"!7h&Ks4.,LrmgrIrmh#Kp=0-C -rRLoJrRLoJrm_)NeGoU5eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#XIeH#XJeH>j%ec5Kr"TR$Pec5X!!<;rH!<<#J!<<#J"96p%s7b%D -s8LOYs4,["e^a]Mec41Ms4./4eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Fg&M-Ng&M-Og&h?/g&V!'"9@-Ug&V-+!!)oM!!)uO!!)uO!s%'/!;G1I -!<1[^!8?-,g=cP\g&Tj\!87G9g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAeGoUIeGoUJeH5g%eH#Hr"9?sPeH#U!!!)oH!!)uJ!!)uJ!s$m%!;G"D -!<1LY!7fU"e^XZMeH".M!7_)4eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#XIeH#XJeH>j%ec5Kr"TR$Pec5X!!<;rH!<<#J!<<#Jrr;]B!<<&K -#636(s4,["r71iIk1'J3MU__,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Fg&M-Ng&M-Og&h?/g&V!'"9@-Ug&V-+!!)oM!!)uO!!)uOrW)ZG!!*#P -"p!B2!8?-,r7_/Nk1Te8MV8%1[bCb4o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAeGoUIeGoUJeH5g%eH#Hr"9?sPeH#U!!!)oH!!)uJ!!)uJrW)ZB!!*#K -"p!3(!7fU"r71fIk1'G3MU_\,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XAeHZ'(ec41Ms8CIMs4,["q:,QHec5Tu!<;rH!<<#J#liH*s4./"ec5Bo -!<<&K%fb)0s4,["e^a]Mec42"kLBS4MU__,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Fg'.Q2g&Tj\!<(UR!8?-,q:YlMg&V**!!)oM!!)uO#QWT4!87G,g&Um$ -!!*#P%KP5:!8?-,g=cP\g&Th,kLon9MV8%1[bCb4o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAeHQ$(eH".M!<(FM!7fU"q:,NHeH#Qu!!)oH!!)uJ#QWE*!7_)"eH#?o -!!*#K%KP&0!7fU"e^XZMeH","kLBP4MU_\,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#X@ec5[Lec#OIec5[EeH5d$s8LRIs8UXIs8LRKs8LRKs7k.Bs8UXLs8CLJ -s8UXLrrUaNs6.u5s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-EgA_0QgAM$NgA_0Jg&_9.!<1^N!<:dN!<1^P!<1^P!;P:G!<:dQ!<(XO -!<:dQ!!:jS!9i,:!/fJ1!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoU@ec,XLeboLIec,XEeH,a$!<1OI!<:UI!<1OK!<1OK!;P+B!<:UL!<(IJ -!<:UL!!:[N!9hr5!/f;,!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#X5eH#WFeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-:g&M,Kg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU5eGoTFeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X7ec5[JebfC,ebfBoeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-<gA_0OgA:m1gA:ltg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU7ec,XJeb]@,eb]?oeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5eboLGeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gAM$Lg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5eboLGeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eU[^_!!*&-ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g496c!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eU[^^!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4ec#RHeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gAV*Mg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4ec#RHeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XBec5Z`eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-GgA_/eg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUBec,W`eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XAeH#W`eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-Fg&M,eg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUAeGoT`eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec5XPec42"ec,RMec5[KeH>j%s8W)KrVulIs8W&Jrr9^_!<7r,!<9LX -s+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-FgA_-Ug&Th,gAV'Rg&M-Pg&h?/!!*#Pr;ciNrrE#OrW'[d!!%o1!!'I] -s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAec,UPeH","ec#OMeGoUKeH5g%!!*#Kr;ciIrrE#JrW'[_!!%o,!!'IX -s+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBeH>j%ec5X!!<;rH!<<&K"96p%s8LOKs8CISs4,["e^a]Mec3A6!<7r, -!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg&h?/g&V-+!!)oM!!*#P!s%'/!<1[P!<(UX!8?-,g=cP\g&Sk@!!%o1 -!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeH5g%eH#U!!!)oH!!*#K!s$m%!<1LK!<(FS!7fU"e^XZMeH!>6!!%o, -!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBeH>j%ec5X!!<<#Jrr;uJ"96p%s8LOKs8CLIs8LONs4,["^=<5`MU__, -[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Gg&h?/g&V-+!!)uOrW)rO!s%'/!<1[P!<(XN!<1[S!8?-,^=iPeMV8%1 -[bCb4o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUBeH5g%eH#U!!!)uJrW)rJ!s$m%!<1LK!<(II!<1LN!7fU"^=<2`MU_\, -[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XBeH>j%ec5X!!<<&K"96p%s8LONs4,["rm_MYe^a]Ms4,["e^a]Mec3A6 -!<7r,!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg&h?/g&V-+!!*#P!s%'/!<1[S!8?-,rn7h^g=cP\!8?-,g=cP\g&Sk@ -!!%o1!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeH5g%eH#U!!!*#K!s$m%!<1LN!7fU"rm_JYe^XZM!7fU"e^XZMeH!>6 -!!%o,!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XAec,UKec#OJec5XNec42!rrUaNs8LRKs8LRKs8CLJrrL[M^XW>aMU__, -[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgAV*PgAM$OgA_-Sg&Tk+!!:jS!<1^P!<1^P!<(XO!!1dR^Y/YfMV8%1 -[bCb4o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec#RKeboLJec,UNeH"/!!!:[N!<1OK!<1OK!<(IJ!!1UM^XW;aMU_\, -[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#X?eH#W<eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Dg&M,Ag&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU?eGoT<eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBec,T:eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-GgAV)?g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBec#Q:eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH5d$eb]?0eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gA:l5g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$eb]?0eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eU[^_!!*&-ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g496c!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eU[^^!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH5d$ebfE0eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gACr5g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$ebfE0eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X5ec5[,eH#XHeH#XIec5[#eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-:gA_01g&M-Mg&M-NgA_0(g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU5ec,X,eGoUHeGoUIec,X#eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X4eH#X,eH#XAeH#X#eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-9g&M-1g&M-Fg&M-(g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU4eGoU,eGoUAeGoU#eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeH,^#rr<#Ks8W#I!<<#Js8W)Ks8W#Irr;uJs8VlErVulIs8W&Jrr:R" -!<7r,!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg&V3-rW)uPrrDuN!!)uOrrE&PrrDuNrW)rOrrDiJr;ciNrrE#OrW(O' -!!%o1!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeH#[#rW)uKrrDuI!!)uJrrE&KrrDuIrW)rJrrDiEr;ciIrrE#JrW(O" -!!%o,!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XAeH#XJeH>j%ec5Tu!<<&K"96p%s8CIJs8LOKs8:CLs4,["psfBEqpb]H -rm_,Ne^a]NeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Fg&M-Og&h?/g&V**!!*#P!s%'/!<(UO!<1[P!;tOQ!8?-,pt>]Jqq;#M -rn7GSg=cPXg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAeGoUJeH5g%eH#Qu!!*#K!s$m%!<(FJ!<1LK!;t@L!7fU"psf?EqpbZH -rm_)Ne^XZNeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#XJec,UHeH#XKec,UJec,UIec5[Kec,UCeH#XHeH#XKeH>j%ec44N -!<7r,!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Fg&M-OgAV*Mg&M-PgAV*OgAV*NgA_0PgAV*Hg&M-Mg&M-Pg&h?/g&T^X -!!%o1!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAeGoUJec#RHeGoUKec#RJec#RIec,XKec#RCeGoUHeGoUKeH5g%eH"1N -!!%o,!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XAeH#XJeH>j%ec5Tu!<<&K#liH*s4./"ec5Ns#636(s4,["psfKHe^a^! -eH#XKeH>j%ec44N!<7r,!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Fg&M-Og&h?/g&V**!!*#P#QWT4!87G,g&V$("p!B2!8?-,pt>fMg=cQ+ -g&M-Pg&h?/g&T^X!!%o1!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAeGoUJeH5g%eH#Qu!!*#K#QWE*!7_)"eH#Ks"p!3(!7fU"psfHHe^X[! -eGoUKeH5g%eH"1N!!%o,!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBec#OIec5[KeboIIec5[Kec5XOec41Mrr;rIs8VfCs8W,Lr;ZfIs8N,M -s4>d$s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-GgAM$NgA_0PgACsNgA_0PgA_-Tg&Tj\rW)oNrrDcHrrE)QquHcNrr<)R -!8#p)!/fJ1!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeboLIec,XKebfFIec,XKec,UOeH".MrW)oIrrDcCrrE)LquHcIrr<)M -!8#a$!/f;,!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#WnebfBceH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,sgA:lhg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoTneb]?ceGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5eboLGeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gAM$Lg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5eboLGeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eU[^_!!*&-ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g496c!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eU[^^!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4ec#RHeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gAV*Mg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4ec#RHeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X@ec5[Eec5[DeH#X=eH#X%eH#XHeH#X@eH#W,eH#WXec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD+?g&Rt,g&M-EgA_0JgA_0Ig&M-Bg&M-*g&M-Mg&M-Eg&M,1g&M,]gAc`p_Z0Z5g'+2M -k2s5TJ,~> -!<E0!joD4BeGoT,eGoU@ec,XEec,XDeGoU=eGoU%eGoUHeGoU@eGoT,eGoTXec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD4BeH#W,eH#X?eH#XDeH#XDeH#X=eH#X%eH#X9eH#W,eH#WXec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&Rt,g&M-Dg&M-Ig&M-Ig&M-Bg&M-*g&M->g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoT,eGoU?eGoUDeGoUDeGoU=eGoU%eGoU9eGoT,eGoTXec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#W,eH#XAec,UJec5[IeH#XJec5[Kec#OIec5[Eec#OJeH,^#rr3&Ms8W)K"96pO -s8CLIs8UXLs8:FIs8LRIs8LRKs8CLJs8UURs4./Le^a\WeH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-FgAV*OgA_0Ng&M-OgA_0PgAM$NgA_0JgAM$Og&V3-rW!#R!!*#P!s%$T -!<(XN!<:dQ!;tRN!<1^N!<1^P!<(XO!<:aW!87DQg=cOag&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAec#RJec,XIeGoUJec,XKeboLIec,XEeboLJeH#[#rW!#M!!*#K!s$jO -!<(II!<:UL!;tCI!<1OI!<1OK!<(IJ!<:RR!7_&Le^XYWeGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeHu9+ec41Ms4,["rRCoJrm_,Ne^a^!eH#XJeH>j%ec5Ep!<;uI!<;rH -!<<&K#636(s4,["qUGTGrm_,Ne^a^!eH#XHeH#XKeI2E-ec41Ms4,["ec1NW!<9LXs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,rRq5Orn7GSg=cQ+g&M-Og&h?/g&Up%!!)rN!!)oM -!!*#P"p!B2!8?-,qUtoLrn7GSg=cQ+g&M-Mg&M-Pg'[o7g&Tj\!8?-,g&R#a!!'I]s+0aXs8VuM -"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeHl6+eH".M!7fU"rRClJrm_)Ne^X[!eGoUJeH5g%eH#Bp!!)rI!!)oH -!!*#K"p!3(!7fU"qUGQGrm_)Ne^X[!eGoUHeGoUKeI)B-eH".M!7fU"eGtKW!!'IXs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBeHQ!'ec41Mrr;oH!<<&Krr;rI!<<#Jrr;`C!<;uI!<<#Jrr;uJ"96p% -s8LRKs8LRJs8LOKs81=Hs81=Hs8LOVs4,["e^a]Mec42"MU__,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Gg'%K1g&Tj\rW)lM!!*#PrW)oN!!)uOrW)]H!!)rN!!)uOrW)rO!s%'/ -!<1^P!<1^O!<1[P!;kIM!;kIM!<1[[!8?-,g=cP\g&Th,MV8%1[bCb4o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUBeHGs'eH".MrW)lH!!*#KrW)oI!!)uJrW)]C!!)rI!!)uJrW)rJ!s$m% -!<1OK!<1OJ!<1LK!;k:H!;k:H!<1LV!7fU"e^XZMeH","MU_\,[akD1o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XBeHu9+ec41Ms4,["rRCoJrm_,Ne^a^!eHl3*ec42"e^a]peHZ'(ec41M -s8LONs4,["rm_,Ne^a]teHQ!'s4,["rm_,Ne^a^!eH>j%ec5X!!<<&K$iec-s4,["e^a]Ms,,>, -s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,rRq5Orn7GSg=cQ+g'@]4g&Th,g=cQ%g'.Q2g&Tj\ -!<1[S!8?-,rn7GSg=cQ)g'%K1!8?-,rn7GSg=cQ+g&h?/g&V-+!!*#P$NSo7!8?-,g=cP\!/fJ1 -!4LV]Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeHl6+eH".M!7fU"rRClJrm_)Ne^X[!eHc0*eH","e^XZpeHQ$(eH".M -!<1LN!7fU"rm_)Ne^XZteHGs'!7fU"rm_)Ne^X[!eH5g%eH#U!!!*#K$NS`-!7fU"e^XZM!/f;, -!4LGXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XAec5XQec41Ms8W)Kr;ZfIs8W#Is8W)Ks8VfCs8W,LrVuoJs8N/Ns4.,K -"4dGOec,UJec5XMec5X!s8W#Is8W,Lr;ZfIs8W,Lrr2uKrr7l+!<9LXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-FgA_-Vg&Tj\!!*#PquHcNrrDuNrrE&PrrDcHrrE)Qr;clOrr<,S!8@DP -"53_TgAV*OgA_-Rg&V-+rrDuNrrE)QquHcNrrE)QrVurPrW%i0!!'I]s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAec,UQeH".M!!*#KquHcIrrDuIrrE&KrrDcCrrE)Lr;clJrr<,N!7h&K -"4[AOec#RJec,UMeH#U!rrDuIrrE)LquHcIrrE)LrVurKrW%i+!!'IXs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#WtebfB]eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-$gA:lbg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoTteb]?]eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5eboLGeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gAM$Lg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5eboLGeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eVO8+s,,>,s0gJXKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g5#`dg&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eVF3_eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4ec#RHeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gAV*Mg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4ec#RHeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19ks81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`ns81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19ks81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec17%^%D=+KE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc^(_Y!j0JcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec17%^%D=+KE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc^*_Z0Z2gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:%^&S-.ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca(_Z0Z3gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:%^&S-.ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:%^&S-/ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca(_Z0Z4gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:%^&S-/ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:$^&S-0ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca'_Z0Z5gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:$^&S-0ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:$^&S-1ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca'_Z0Z6gAca'_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:$^&S-1ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:#^&S-2ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca&_Z0Z7gAca'_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:#^&S-2ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:#^&S-3ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca&_Z0Z8gAca&_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:#^&S-3ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:"^&S-4ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca%_Z0Z9gAca&_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:"^&S-4ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:"^&S*6eUrMP^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca%_Z0W;g4=hQ_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:"^&S*6eUrMP^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:!]`A*3KD`F_s81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca$_>sW8Jc*Cbs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:!]`A*3KD`F_s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec1:!]`S4dKDW@^s81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca$_?0agJc!=as81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec1:!]`S4dKDW@^s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19u^&N`^^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca#_Z,2a_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19u^&N`^^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19u]`<]]^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAca#_>o/`_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19u]`<]]^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXec19ks81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]gAc`ns81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXec19ks81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WXeGt6js81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,]g&Q]ms81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTXeGt6js81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#W?eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,Dg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoT?eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD*+g4@t/g7?q$U&X9;\c@6~> -!<E0!joD3.eUc8%eXb4oV#TT>]`<Q~> -!<E0!joD4SeU`@(K7SZhKBC\fV#TT>]`<Q~> -!<E0!joD+Pg4=g+JUrBdJ`bYiU&X9;\c@6~> -!<E0!joD4SeU`@(K7SZhKBC\fV#TT>]`<Q~> -!<E0!joD4SeU`@(K7SZiK)kr6eHMcKk2s>WJ,~> -!<E0!joD+Pg4=g+JUrBeJH5`4g'+2Mk2s5TJ,~> -!<E0!joD4SeU`@(K7SZiK)kr6eHMcKk2s>WJ,~> -!<E0!joD4Sec19n]`J/HK)^D8J\C!Ts8V`)s8V63"f21\k.LbF~> -!<E0!joD+PgAc`q_?'\RK)^D=J\p?^s8V`.s8V68"ektYk.1PC~> -!<E0!joD4Sec19n]`J/HK)^D8J\C!Ts8V`)s8V63"f21\k.LbF~> -!<E0!joD4Sec19p^&S*5K=up;!/#j9J\C!TrVuT)s8V63"f21\k.LbF~> -!<E0!joD+PgAc`s_Z0W:J\m'>!.f^<J\p?^rVuT.s8V68"ektYk.1PC~> -!<E0!joD4Sec19p^&S*5K=up;!/#j9J\C!TrVuT)s8V63"f21\k.LbF~> -!<Bh3SGUk:KD3(Ys8R]Q^&S+eec18Q]n*lT^&.j)^&S,peHMJVS=BQZJ,~> -!<B_0RJY_<JbR%\s8RWO_Z0XjgAc_T_L]S^_YaB._Z0Yug'*nUR@+$TJ,~> -!<Bh3SGUk:KD3(Ys8R]Q^&S+eec18Q]n*lT^&.j)^&S,peHMJVS=BQZJ,~> -!!)uB!1`r:s+C-\rVm&OK7gl;s+])(K7U^e^#6U(s8UXJs8'G/s5qi8SB\a\S,e'~> -!!)u?!1E`<s+1!_rVm&TJUt]<s+]8-JUt[h_Vi<2s8UgOs8'V4s5r#=REE+PR/ha~> -!!)uB!1`r:s+C-\rVm&OK7gl;s+])(K7U^e^#6U(s8UXJs8'G/s5qi8SB\a\S,e'~> -!<CCD]`=T"ec1:!^&A!1ec17'^&S+eec18Q]n*lT^&S-2ec#OG^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca$_YsN6gAc^*_Z0XjgAc_T_L]S^_Z0Z7gAV'L_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:!^&A!1ec17'^&S+eec18Q]n*lT^&S-2ec#OG^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:#^&A!/ec17'^&S+eec18Q]n*lT^&S-0ec#OI^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca&_YsN4gAc^*_Z0XjgAc_T_L]S^_Z0Z5gAV'N_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:#^&A!/ec17'^&S+eec18Q]n*lT^&S-0ec#OI^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:%^&A!-ec17'^&S+eec18Q]n*lT^&S-.ec#LL^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca(_YsN2gAc^*_Z0XjgAc_T_L]S^_Z0Z3gAV$Q_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:%^&A!-ec17'^&S+eec18Q]n*lT^&S-.ec#LL^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ebb!oec17'^&S+eec18Q]n*lT^&S--ebt.#s5qi8SB\a\S,e'~> -!<C:A\cA/qgA?HrgAc^*_Z0XjgAc_T_L]S^_Z0Z2gAQU&s5r#=REE+PR/ha~> -!<CCD]`=T"ebb!oec17'^&S+eec18Q]n*lT^&S--ebt.#s5qi8SB\a\S,e'~> -!<CCD]`=T"ec1:%^&<T[ec17'^&S+eec18Q]n*lT^&S-.ebt+%^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca(_Yo&^gAc^*_Z0XjgAc_T_L]S^_Z0Z3gAQR(_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:%^&<T[ec17'^&S+eec18Q]n*lT^&S-.ebt+%^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:#^&<T]ec17'^&S+eec18Q]n*lT^&S-0ebt."^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca&_Yo&`gAc^*_Z0XjgAc_T_L]S^_Z0Z5gAQU%_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:#^&<T]ec17'^&S+eec18Q]n*lT^&S-0ebt."^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:!^&<T_ec17'^&S+eec18Q]n*lT^&S-2ebt-u^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca$_Yo&bgAc^*_Z0XjgAc_T_L]S^_Z0Z7gAQU#_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:!^&<T_ec17'^&S+eec18Q]n*lT^&S-2ebt-u^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec19t^&<QeeUrLfs8Ri(s+>m9J\C!Ts8W,LrIas[s8V63"e<iN]po(Q~> -!<C:A\cA/qgAca"_Yo#hg4=gls8Ri-s+,a<J\p?^s8W,QrIOg^s8V68"e!NE\sWPK~> -!<CCD]`=T"ec19t^&<QeeUrLfs8Ri(s+>m9J\C!Ts8W,LrIas[s8V63"e<iN]po(Q~> -!<CCD]`=T"ec19r^&3Ka^&S+eec18Q]n*lT^&S-2KD<.[s5qi8SB\a\S,e'~> -!<C:A\cA/qgAc`u_Yerd_Z0XjgAc_T_L]S^_Z0Z7Jb[+^s5r#=REE+PR/ha~> -!<CCD]`=T"ec19r^&3Ka^&S+eec18Q]n*lT^&S-2KD<.[s5qi8SB\a\S,e'~> -!<CCD]`=T"ec19p^&EWc^&S+cK7U^e^#6U(s8R`F^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAc`s_Z#)f_Z0XhJUt[h_Vi<2s8RZD_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec19p^&EWc^&S+cK7U^e^#6U(s8R`F^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec19n]`Ni"s+>rT]n*lT]`J.coY(;)k1'X*c+Uf\!.Y~> -!<C:A\cA/qgAc`q_?,;*s+>lR_L]S^_?'[foYUY.k1U!,b.>0P!.Y~> -!<CCD]`=T"ec19n]`Ni"s+>rT]n*lT]`J.coY(;)k1'X*c+Uf\!.Y~> -!<CCD]`=T"ec18Qs+13$s1nZseHMJf]tKp9J,~> -!<C:A\cA/qgAc_Ts+13$s1nZsg'*ne]"4:0J,~> -!<CCD]`=T"ec18Qs+13$s1nZseHMJf]tKp9J,~> -!<CCD]`=T"eGt5Qs+13$s1eTreHMJf]tKp9J,~> -!<C:A\cA/qg&Q\Ts+13$s1eTrg'*ne]"4:0J,~> -!<CCD]`=T"eGt5Qs+13$s1eTreHMJf]tKp9J,~> -!<CCD]`=RReUc8%eXb4oSB\a\S,e'~> -!<C:A\cA.Lg4@t/g7?q$REE+PR/ha~> -!<CCD]`=RReUc8%eXb4oSB\a\S,e'~> -!<CCC^%%VDUk,=mUqNQ(^%.Znc2PBWS,e'~> -!<C:@]()2>Tn/ngTtR-"](26hb5SsQR/ha~> -!<CCC^%%VDUk,=mUqNQ(^%.Znc2PBWS,e'~> -!\j]"rOqgI!53s`JcC<$^&RWIrk/B'!',Q~> -!^m%2rOVUC!4ma]JcC<$^&RWFrji0!!(;>~> -!cn@drOqgI!53s`JcC<$^&RWIrk/B'!-<Y~> -!]^8*n%A^kJ`_OGJ`aZ.!6suG!h96FJ,~> -!^m%2n%&LeJ`_OGJ`aZ.!6XcA!gs$VJ,~> -!cn@dn%A^kJ`_OGJ`aZ.!6suG!h973J,~> -">Mn:S=K,_!1\W&J`_OG^#f=>n\+sm!WY5@J,~> -s$QngR@3TV!1AE#J`_OG^#f=;n[eag!WYVVJ,~> -"DVuXS=K,_!1\W&J`_OG^#f=>n\+sm!W[:_J,~> -">Mns!!)MYJ\?WJJ\A_0nXTUZ!]_tqJ,~> -r^?bdn<nj=J\$ED]XmX$rrE$dJ,~> -rcA)>n=5'CJ\?WJ]Y3j*rr<+AC3+n~> -!BDn63Iq0]!.b->!!G#:0f^t=~> -r'Z)9JH16$RfN@SJ,~> -!HW#TF+F=B!.b->!;png~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/megaco_collector.gif b/lib/et/doc/src/megaco_collector.gif Binary files differdeleted file mode 100644 index 56a2c5891e..0000000000 --- a/lib/et/doc/src/megaco_collector.gif +++ /dev/null diff --git a/lib/et/doc/src/megaco_collector.png b/lib/et/doc/src/megaco_collector.png Binary files differnew file mode 100644 index 0000000000..d5c2cde7e4 --- /dev/null +++ b/lib/et/doc/src/megaco_collector.png diff --git a/lib/et/doc/src/megaco_collector.ps b/lib/et/doc/src/megaco_collector.ps deleted file mode 100644 index bdc603f087..0000000000 --- a/lib/et/doc/src/megaco_collector.ps +++ /dev/null @@ -1,3247 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/megaco_collector.ps -%%CreationDate: Mon Oct 14 18:04:40 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 433 458 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 443.079478 translate -417.999508 -443.079478 scale -% Image geometry -500 530 8 -% Transformation matrix -[ 500 0 0 530 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 500 string def -/gstr 500 string def -/bstr 500 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 194862 ASCII Bytes -colorimage -"4bhXB)#L068!gRJNn]M`]jGHoiV;t7J0da:/CXf"%jdo1k5~> -"5;@eBD>U16Sa3Zq*KWuJO.RI!$q5?!E_b_=TM8npfR\n/42gU~> -"4bhXB)#L084%l+JQ%+u`_ujnoiV;t7J0da:/CXf"'&!2F+=~> -"k%V!e`,ckkQ'lHmK'S4JX5tp<L9#;Q^3u(QC!o(QBml'QC!o(QBml'Q^3r(QBml'Q^3r(QC!r( -Q^3r(QC!o'Q^3u)QC!o'Q^3u)QC!o(Q^3u(QC!o(Q^3u(Q^=#)QBml'Q^=$:QNNP?Q^7T:!1*SM -J!QFaOckiiP*(oiOckiiP*(oiP*1rjOcbfhP*1rjOckliP*(liOckliP*(liOckihP*(ojOckih -P*(ojOckiiP*(oiOckiiP*(oiP*1rjOcbfhP*1rjOckliP*(liOckliP*(ojOckihP*(ojOckih -P*(oiOckiiP"Lk"OcbfhP*1rjOckliP*(liOckliP*(ojOckihP*(ojOckiiP*(oiOckiiP*(oi -P*1rjOcbfhP*1rjOcbfhP*1rjOc`Z6iVqg:kPjZKlL+*+a6*B\!9=%A"mk[FeD]<aiW/*=kQBYF --oQS~> -%bH$2e`5cQk32'qm-_6-MP'sAnXb<&hOOY<qOIVXrLEq[qOIVXrLEq[qOIVXrLF%^SXlANSH,8X -SH,8[SH,8XSH,8[SH,8XSH,8[SH,8XSH,8[SHGISSY#eN!1s%X!1s.[!1s%X!1s.[!1s%X/=rE' -?h*%3ioB.^k32'qm-DXRi8EVTjlP[hlKdidiSNMOioK4_kigd*0116~> -"k%V!e`,ckkQ'lHmK(25J`<$U($"<5j5T+YioB%Yio9"XioB%Yio9"siX"T(ioB%Yio9"si]#oW -ioB%Yio9"XioB%Yio9"Xj5T(Yio9"Xj5T(YioB%Xj5T(YioB%Xj5T+YioB%Xj5T+YioC!s#ijq( -j5T+YioC!s2rioWj5T+YioB%Xj5T+YioB%Yio9"XioB%Yio9"Xj5T(Yio9"Xj5T(YioB%Xj5T(Y -ioB%Xj8IsCj5T(YioB%Xj8IsUj5T(YioB%Xj5T(YioB%Xj5T+YioB%XOn%E0iW/0@kQU8>md%pU -ro*q<rTFFOmdAT`hu;U8jo+BFh69@gJ,~> -"H0M7e_C)[#2nV*k3/jIX)J#\d;Nc=EGoi<Df]o;FDu8AE--)>F)Q,?E--&>F)Z8AEcc5BEcH>C -F*;JGEcQDCF`h\KEH?;AH?=4TDg-DFHZF7SDg?JHIrBOWE.)eLI;aLWF+A4SI<'g]FanFYH?4RX -G^XR\G]eLVH[A;)Jou9gEI`@WK5uBhF+e^^JoQ?gFbFd_Irg6dG_0sdI!(-aH[p-hG^"d\Isc?k -FF&IXK6_ZnEdiFYKQMNkEIrL[K5uEiF*!"WH%BseH?Fm]I=H<lG'\a[K6qcqF+/U[Km.fpEe8[] -L3%cnEeSa`K5uNkFbOpbJT?HiG_C*fI<:0cH\$0iH?Y$_IsuKnG'eg\KR7lrEdiLZKm.ipEeA^^ -Kl_]mF+ng`K5uQkFbXscJ9$?gGS#LJJUMZpFF8X[HqWkWe^iLSh>lL4jorf`e^`:-rn[Y7roO70 -iVq@-f`'_2hrNq^O<oD~> -%Z[dDf%Jd3hV[>Qk3&pXX*XksJC]'EI"$EjI=-HjI!p?iI!gBiIXQTnI=6TlIXZ]qI"$QmJUMrt -H[pWoJp`'"H\6itK7/<%I>!'!KRAH(IYE3%K7/H'J:r<(JprN(Jq\W.J:N-(I>*<'MLC,4I>NN* -M1(,3IYiN+LOG&3JVnl1Kmnu1K8P&6K7Jo/L515:J:`Z+MM-M>I>*K+N.HV>I#<W.NI?M;I>i`/ -Mg^G:IuSo2M1(A9JrP28LOY>6KSt5;KS#54M26YBJ;&r0NJ)kDI>E`/O+;nCI>ir4O+)k1Mgg\= -K8k><Lk(S:L5UM@KS,;6MMQeDJ;0#3NeN(FIYio2O+E"DI>rr4O+)qCIuf/6NI?e@JWG89MLUY< -KT1D=LOkM9LPpVAK7f25MhlnEItio2NeE%FIYrr3O+;qCI>(_gdacq%g=tKAioB1_`ST(of@npm -gtpuKjQ=eHdaQe"g=kB>iSrs\/:[~> -"H0M7e_C)[#2nV*k30LUX31Iee&m0ab0%rNbKe8Tbfe;Sbg";UbKJ2Rc-4AVb08,QcHFDVb0A/R -cH=AUb0J2RcH=DWb0\>UccXPXbL"DVcH=JVbg4GYc-4SXcI'k`ccsk]d*U"ac-F_\dEg(bbg4Y[ -dE^%ebgXt`e]cChbgaq`eBH@gbgjtbe'-=fc.'u;dW<X_c-On`eBcCibgFk_e]lFibgXq`e]cFh -bgk"aeBHCgc.1%be'-=ecIC(edEL.cd*p4gcd(%ada?:hc-Ok_eBcChbgOq`e]lFibgXq`e]cFh -bgjt`eBHCgc.1%ce'-=ecIC(edEU4cd*p4gcH\i-bgXt`e]lIibgat`[email protected]%d -d`g7dcd^1fd*:+bdF-7hc-Fh_e'Q@ibgFn`eBZ@hbg)+5e^`7*rn[Y5rT4:(i76B0h>Z72ir8'@ -dc(2U!8.;-"lJD'k)`5d~> -%VF8Ag=Xj1i8s"NkO#?LqIp"GD//HP!GuWHB`W!co4\8\]P$SF$u19WJCM'BJWe5iCi&BN"cpuB -\YNp6Bf'aEC2Rg&D/*p'OH"$lD/*p'C2Rd'Chds)DJs90Chn'+E,KE2CMn6/Ec>f=CiXW4GA_;J -G&)5ACjBr>G&2ABDg6,CFDQ>CF*MMIEGp2@GBReME-$>AIWKFWDL$JCIrTRYCjgACJ8]^XD1?PH -I;OCSDLcYMHYn7REdqtSG&;hMGC47[F)lkMIX#^`EHltLJol!bDLHeIKQ23dD1ZkKKPu6aD1lqQ -JSfs\DhN%UG^O@\EclqMJTbpbE-cqLK626lDh<@RMfX5uD23=VM/RroD2NF]L2DZiEf"acIr1$a -G_^-iH#SX\It2BmFa&UXKmIZqEd`OVLj!rtDM*:RMfO2tD23=WM/RuoD2WI^Kl)TiF,=jeIVjsa -H%p0jG]AU[It%lDM04&uD2!4,mFBbArn\"?jlY^hlc7r6aD(Tf&o=u<lIFkDe^Au:gt-eLjlX]H -J,~> -%VO>Cf[S7'hr<SGk3B-WqK2j_H$8Rt!I8n`FTH]2o5t+r^iSjb%!IJuMq,MXMjr"5G^/Lr"dm\Y -^8c;PF`2GIG'\CUGBS.RG'S:uQ$7ItG'S:UH$4L[G'nOZI!0j^GCFa_HZsp`H%'scH?XmaI!p3h -H$XsaJ9uKmG^Y'cJpMcqG_(9eKmA-!GD(?iL3S<#G_^WpKm/<#HAHj!JU!#uItr6'IsQrtK7c71 -M1'l0H&-rqMgL)1G`$ouM0Xl,H&R*%L3ST)I>W?*JpE<&Jr"Z0IXI*#LP'l3I"@-!Mh-58H\R8G -H&[9'Mg:22H]WW0Lj>&2J;ni4K6iZ-Ko()8J:ET*MM-8:I>!K'NduS>HAR?$OF;b?G`@9&O*c\; -H&mE+NHpM7I#r]1LM_<tIY!K(N.QD<I"mH&NdlS>HAdE$OaMk?H&dE)Nd?S9H'!H-Mg:;4IZJi4 -KmAc.K8b&7JUNT+Lkg8:IY*Q)N.FsneCN=,gYUiIj6#Of_qrqcB4tsmCMgKAkgA89f$]#7g=LYK -jQ=NFJ,~> -%VF8Ag=Xj1i8s"NkO#sXqSWHS`l7>`!QN+Q_u[iso>C^WkJ?N'%)pNDbjOEQbgl$q`l75]"k;qT -jk7QH`;do.`5op;aMl3>f%%aZa2Q-=`Q6$=`l6$<`lH'>`l6$<a3)BCaMuEBaN;EE`lH9Bb/q]I -a2lECcH+/P`m)WHc,\#O`m;cKcGn,Oa3VfLbf7rMaj.oNbK%rMbK\&PaiViKbfe&QaNMiJcH=8S -a3;`IccF8R`m)ZIcH"/QI`B^Ub0J#Ob/hoLbKRuOair,OdE9PYaNi&Md`K\Z`mDoMd`B_Z`mVuO -dDsVWa3r&RcGn8Sb0e8VbfA2Rc-ODWb/r&OccjDWair)NdE9SYa3W#Md`K\Z`mMuNd`B_Y`mVuP -d)OGUaO8/ScGn;Tb0e8VbK&&Pc-F>Vs2m:Ja3`&Me&fh[`mMrNdDsSW`mVuQcc4ATajS8Uc,S2R -bL"8VbK/,QcHXAWaii&Od)q13e^`FRh?r3&k2tmna5GLhC&McZCpiEje`#'/dX[eAf6F7Uk/p)B~> -%U%fGfQ0d"jlV^nZ0n\eqHj;A]OpS=!arT_pKmueT3V"q!d'MolsC3@ctf]!8!?o@j@,l*?0bi$ -Q0LcbSQ5Jm&n&Cs@UNSQ?XdGNG0tPC?XdDNIpubr@piqV@qB"Z@UWtXAS>Ic@qBIaCM70p@:s=` -D.R6o?ts@bDdd?t@;ogiE+*U!@rc$lDIIQuAoV6tD.@]uC3!^)C1_ZuEH#E5ASZErG&(];@;p<u -HY7)=@!?L#Hspr9@X;^%H!ti9AUS-/G[l,<C4'N7F(Tl5DgZh>Hu<\HA9E!*I;!MG@XW61J7NbH -AUeH3I:@PDBRjW7H";D?Cjol?F(^&8FF%JJD/Fc4HZ`tQAo`6.J8T1Q@sN61JnK(N@Xi?4J7NnK -Aq=Z8I:@\GC4To=G\)G@Dgc)CF(p5:Fa7MKCi4]3Hus%RATN0.J8K-QIq*eIB7a`9HXhSECOfo? -G%Q>>EI;5FE,'o6GB[YMBlAE/IWAdcmFBtjh>lL5jp(&;m)S&9b54I:V!II!iRQSL5s^BE5sa/i -ha2h~> -%U%iFe8\0oio?7kXm<&jqJ-.Y_/esZ!c>]&pM0i%V.oR;!e?\<lt[&Vd;uS4;4V*hj\`(FC?oX= -T'K2%U14%9<GZMfDSL^=Ci!s(DJa3>dt2LREGfW6CiFB2Ec,f9CiaQ5FDZ#<D09`8F_l2?DKfr= -F_uDCEHl;DF)QDCFEqbNEcQMDH$4+TDfpDDIWTUZDL-VMDh2kNIVjUYEe81UI;jg[GCaX_H#eOU -H[TjcFEW7RJ9l6iDgHnOKQVHjDLd(SLN%QjDhWCXKl;KjEJSU[KPlKhFbamcIrU9cH%^'iH?=s] -It2KoFEiLWKm[s!Dh!@XMKO0!DM<L[Mf=)sDi&[^Iu%uqIWLKfI"lQsH$>-aK7J!$EdNRZM0a?' -Dh3L[N,s<$DMW[_Mf4,uEJnsbLi.urFGt-fKQ)flG_p<lIWLKfI>)TsG^#$_KRe*%EI<LZM0X9% -Dh<O\N,j9#DM`^_Mf4/uEJnpbLi/#rCJjEKg"P3;hr<\YkN_<LhuVHMr]h/a6q!m8lI+M>f9efg -MJbgMf]h-VJ,~> -%U%fGfQ0d"jlV^nZ0o;pqRH[Djgslj!kRI0pUL@Tf!k:^!lDd@m(!SAl`&@cMoh:8nrhbQ\Eg[/ -deAjk^oR:AICeLV]=GPe\\5Vd`p(@Q\\5Sd]t(ef]"P\e]Xb_e]>1tj^:M(j]>(nj]Y)(n^VIIt -]tM=q_83e&]YD@r_nWn']>;=q`4Wh%]>MCr`4Nh%]Z%S"_n3n'^;[b%_S!k$^W*n*_S+%'_Ss1. -^V@h$`PT=0]YVS!a1oAha1K=.]u[k&`k0:,^;mk(_n=((^rF",_7mt%_o04/]thY"`kf@0]Yh\# -a1f=/]?%k'ah5R2]ZIq)a1KC/^<+%+`Os=-^rX.._nF1)_oB=1^qaR']>hb%ah>R2]?.n(aLfF0 -]ue"*a1KF/^WF.-`4X4+_8j1/_S4.)`5TC2^VRt&a2>X5]Yh_$ahY^5]>hb%ah>U3]?.k(aLfI1 -]udt)`k0@/^W=(,`4a:,_T0:0_RYBfe_C)[!9!k=#3bLAa5GRlq`tgilgE<^e_$<V6&KJE6.kP] -6@]~> -)-Q.ZdS3#*^6hG_K^Pm0<)ckE`PH_hrj5o/<$PYKai/ON^W2XBDT/0rK7X!GEjWoR<4&F>Zt\+W -KUg-#Ki@tMBS!s2CUef=9mO^pGEJ_;b'/l&DoK_E?,`n#;cK$i>1`"fdrUc7?0:*mUW9H>RC]YP -cV[Y@A[':qCk9OFLf]Z&5L,g"TuX9AK#Pj,LAfDN]uQUHCrNH&XeA]r<E<:&>$+d1=BILg<Er[, -?<:<8<af-7@96f@<ao09?WLT=>@^fE>utW@?=R#I>?YW@@U`GU>[V8IBjb.]>%M8p=);/ND-(O^ ->B!eZBj#@]?uB+`@p3kWAnkIh?t"%YDIm!n?"[tVEa`?r>A[tUF^8Tt=`RtXFB`Qq=a"4bFBNWr -?$BRiDHV*kAp7F$B3fjjD/`['@q9ggFD4s+?YjadG[t</>B4I^HXCN1=a+IdH<bH,>'j[lG$0!$ -B4#sjDf8g*@V9pgG%b3/?>a^cH"1E1>'4OaHs^`2>'ORgH!>?)>C9dnFBNj"@X24!Cg)0nC3<[' -Amp!kE,Jj+@;'jfG%Y0/?#OXbH=CN3>'4LaHX:T0>'XUhGZo3'>]E-rg]$%=i8s+`l0[p*`8KIp -932$n#u[_ima^.Gh9Tj85m9`Bl0dFqJ,~> -%U%oIcV-W(]U;;YJF9L<rac=ka2Nb2rOQeDAKu'!bK5Ho_oe]fIESM<NK3qaJ[rpsB"P1d\9Qco -OJBt<O(A6$FcOLcHG59a?AQYAL7PJnc@VLLJ&fZhDTfGOA7_IGB%uU-epa4PB^+N5XN@eaUVXHt -d:-ZuFh,]9HB6.iQ=u]P:"#bHWl_YeON>YFPl/pl_TJ]kIET!S[&IVPBP2-oC2.?sBPD<qD/!X$ -BP_R!E,',YE+a**B6.a'E+a3,CNF00DJ40-DffZ9D/4B1F)kr=CN+K2G].ADC3=W4HYmbLBmF`7 -Ir':QBmsu?I;4.NCOp>GH>.kJE.<@PI!'1UD0C8?IrTCWCO:5>K5Pj_C4LDEK5>m\C4gJJJSK^W -DM2kQHtn:RFG"=ZG&;tOH@9O]EcZnLJ9PgbDgHnJKQD0gCk6kIM/R]lC5$bLLM_QgCPZqSK5-'^ -E//:ZHu"LWGD'^aG&E+RI=>seEcm(OK6M0gDL?DQCPHnPKkl9bCl*(WJ80g\Ee\C]H>A=UH%Kdb -FE*(QIsYseE-R"MKQV3gD16nKLN.KjC4pbJLi.WiCPQqQKkl<bD1>@Gg"P3;hr<\YkN_C!_Vj.h -8l\qq>#_Ebm*seBg<=7r6UXM2k3CbgJ,~> -%U%uOdS3#*^6hG_K^QO?rj)jLj5Io)s4F^XZQls5jl*tmiSr4k_!0D8a2\/?^YIksZJjKth7N+H -`7!]&`NoKLCrbSI^>HiiW5[fU`6m/LkJ5?a^uOIp\*;\iZEr!+S*][WlaG43S+Z3df&PJleDoE( -lE7J"]A;Q+]#`mjbI#UiNU4H\f&PMoaQ;F/a8b5BiT&Cs_!0Xlg;pS/['[?M\$iWR[^E]R\@?pn -]!f)Z[CNfU]!]/\[D',\]sYPa\%];_]=#A^\\5D`\[K5\]">Aa\@K;\]XbMc\%[email protected][_TMa -_RI4m[_]Mb_7%+j[_fPe^UCth\\Y_h]XG\e]YCki]"#Sc^V%"l\@fVc^q.(n\%fVb_R[:p[_]Sc -_RI7nGIGB!]>:ql]=>ki^qdCt\\#eg_nEP"\A,nh`O`\#\&5qga18q$[`,ki`OE_$[`H(pa0rt$ -\]D:s_m[Ut]uRS"^UV@q^r3\%]Y):n`5&k(\\Q.l`kB"*\&6"iah#7+[`6"laLB%&[`H%o`jWk# -\]D:t_Bu_4]=l7n`P8t)\\Z1la1T++[`#qjaLT+)[`?%na1'"&\&*d_g]$%=i8s+`l0[p*`8KIp -932$n#u[_ima^.Gh9Tj85m9`Bl0dFqJ,~> -)-Q1[hS)lR6:FIikjkW;:/53IQ(tj3pfBl_:*ZFdCL:,tQttW-Fo.?D[SZaEW6'A<>i*DdohE*5 -6gq$\:eL^^FC+']N2Usi:"5N&]781UpQi:(aeFs=@eus"8l!-^8[uW"p25uQ6.M]ZiH<jn[,$"1 -N]g-4[a&>k@H;u]k&$%A4jBOHj*'%<k`8eM9_a(gT5!28DYo\oLsejj;-6Rn<DQ^q;HQas<Dcmr -='&7(<)cCm:g-pu>u=X+;-m4%?Vk$3;diR+>u4s2=(G39?;tQ<>%CKA>ZPK9?XZoJ='TE9BO=hV -;dj38C0=hV;JBN?D,XnV;fGuHIrA5"A63eN@;AbZ?!D5FBOt4b=C>uEDdcgh<G,uGF'<!i;fQ;N -E`Hdf<c_MRE`6si=a!hYD,k[a?ZT.aB39@YAT(Oi?s[nRD/!-t=CuMOG%"^"<,QGQGZeTt;g)YV -G#`Bp=*IkYE`7*l>^'1`CfYac@WPIhAm0F[Bk2*]G@"^!<,lSSGZJHq<H_bWFB!0m=a4%\E)_!i -??K7cC05^aA8tOjA6j@YCi!0s>[qeQFCe[#<GHAOG?n[!;fZMSGZI/thVR/LjlYakmdBQ4_r]au -N8s'_keXChnCQIph>kh"5m:rgmdB($J,~> -"^0sBhRlhd6k=A%n>]5f>AMl\VnIZU@8[#.,H'@>Bk?.nG2e7+qjG[=>k`cLb^eD]i5hP_=MV^J -n#g>0<rQ<QCZL;7Y(?(Det&VPM:77PS@imdVO,JEq5I_&>Jle.]u3S;G*qAcf;=8^I,'([gjs%$ -8m>N4dVN];jbeNNH'@Pcd%Z9UIG(+TQ=FT7pP%:sFQ&.'qO(NNdoTm^@U*;K?"@8KA6`YR?=mMQ -AR/qV?tWbXA7'(X@qT(_s'f,H?"dkYD.$pk?>X7`DI.*n?uTOdDd@?r@[email protected]#CL_Nq -DK0'/AnZ?pFDYN5?uC$nG\Li8@!$?tHX^f7@!QL"H!k]5@XDX%G@,Z4B7+-/F(Sm0ASZQuHZ!GE -@<-L"IV3GC?[?[&IpmA@@=N!+I:.>AAV"?1H=;8=C49T:FC]r5E-u)EDJ=W0G]mVLAo<$)IrK(P -@Wm!+JnT"M@"**.JmrhI@Y&91IUIPEAqFN6H=DD?CM\K/HZWhO@rZj(J8K%O@<m!+Jn8kJ@"3*/ -J73YGA:eH3I:.PDBRsW9G[l;<D15lAEb9o4FEq>HC2AB-HuikO@nc1AgtpuKjQ>[km-j>XinMS5 -i8`n]^8^Mge_Ag4h985S6tbcNmGC3[~> -)-Q1[hS)lR6:FIikjl6FW2R#g]u\a6s,i`KW$B^RTq.Y?]Vb,,]DoM#e"Zl>akj2aVX`BUqO-<m -MYY;`R%jSYGd$\Ha3:[^OR'[$f"BtOqnLp[il/XfXoH>)U8[%YT\nCTs.IO*N:"H`m],QTgutf1 -\r3Mcgu"WoU@PFgnZg10M<_mfn#PZfoXC0WT`;"R_kc_5\Gs.&`S[5cWirJ)Y,\Y+WirG)Y,SV* -Y-4k2XfSh.Ycr2LZ`C77Wj8e/ZDt.5X0\k/ZDt45XgG+6YcG15YdLL>[email protected][BQdB -X0T(4\?<*HWjo@:];r<IX1GL=\Z30GXh1X?\#R$DYdpdD[]R6EZF['JZELsD\%/WSYd1pB]=+lU -XgYdA]s4hk]WA]QY.h$G\u`QMZ+R0K\#mBI[(EEPZ`q-E\@A]VYI2!D^9k/ZXh)$F^Tb,YX1l!G -^9+rVXhV*I]W8`SYeI6L\ui]OZb3BP\$*QL\%8]UZEh0F]=4uYY-tsD^9b,YXLbpE^TY&WXM2'H -^9+uVY.q3J]W8cSYeI7>\MUG'Z*_0E]sb,ZXgksE^9Y)YXLu$G^TN+RhVR/LjlYakmdBQ4_r]au -N8s'_keXChnCQIph>kh"5m:rgmdB($J,~> -)-Q1\j6"3U84n6hp%G:J8kO!_cH!2+p.e3Y8gD'\5Y,&S@nG[>E;)i/[RKn/alC.Y@bZl[p-cBt -6B0.4M+IS;J%W8&E.7:^jNkiOB&]i0be@B?d_iV(pL-N_9#$?UZarHrDN<d?d?gQp_:!V5\j/eV -7nQD)Tg;4fqasNUFGT3Dbak3k_9o7[9LVKJp3-:I9\kqLpJ+;2ej2r*9i4e^<)67g9N"\\<)$1f -9ik.f=%u[m9it.h<D6Ik;-@*u=B&%#:K:Ol>ZFX.:g@4#@T-?9:LI4#@o6H8:M!L-A5Hc<;.id4 -?Vb65=_LWD?;YQ=?tN8N>$,Q<ARJDQ<aKH9C0FYS;e0<6CfanV:ha-6D,b"TIo1#a?>WPU>ublE -AS+hY=^5fACL:"\<F]]>DH^7^;ef]=EE6O_;/TT@Dc:=Y;fu/ODGbFZ=`dVYAQ*\Q@W54c>uu/K -C1gIf=^Z5IEF2^h<G6)EFBW!k;fH,DG?/?l;KQ,JF&Qsc<-D>SD,PF[>BEh\A5dYQ@rG4b>uXsL -<,6)EF]`'k;K?)FG#`6i;fu5NEDgd`<HhJWC/T.W??/t_@8qGO;F'U*hk+1[?=[ZTn+H:ijke4A -k2tmp`NA\(g>(QAeT!l@7SoiGoAr;h~> -(g6(ZiSq^Q6pu=[na`VP=BKh1d`Sn>p0%>r,K%5l<bD,C=QG`opJJK4;YG@Yjho;Xh33'V:qX>8 -QHdg?=8l<2=i.bbG_tp$jjM;ZDr[t@cGX>Qf#PF=p1[H-=N6V,\@kZ2G*_5\e=<?(`RTIG]h;C+ -<`iJVVbpK@qGpbnIZ`qec_@'%`RM!e=]JO.p3l^W>Mtuqp/kFVfM,OV>$YE`>%(W@@U!8J>@UoG -@U!AL?"@/M?s@5J@:WSU?X@GPARo%]?XmeTC11Ib?"dhUD-pgj?#4%YEF3Ep?>s@bE*dHp?ZTUk -DdINsAoqC"BjZ$mCiNd(An?-nEGJp+@V^$kF_50.?u^$jG[kN3??^'mH!t]2?[?9uG[GW/'k2N! -E,o?5B5)["GAL]:@rQQtH>$uAH=:u7@=;[)G$fQ/B7"'1E++6-Dg>];C1_p(G&h#?Ao<!(HYd5C -@ruj$IV<PG@!Z["J7N_F@")g)I:7D>@Y&*2G[Pr7BmsK8EFFB/E-bo>CM/-+G&h#@AoE$'Hu*DE -@s)m%IqNVG@!c^#J7E\D@")d*I:.A=@Y&'2/U(TOBki')H#I,BARJ0qh;4]0?XR8MZgRDR^u=.o -NoT9blG9Rjo%2OLhUHTF6j62Um-rt"J,~> -)-Q1\j6"3U84n6hp%GnTUSG6ehqQ;Ss,NiQUEeXBOJ&QNR%NlV[/Z$;dZsj+j6bFQT^T7ls,,X[ -PJc8=`M*7*Eo57#U:^8gn_i0FVXM[\hV+:`in;\Qs-T@OUZ&MNgXMAcTZ?VZlat71fA`g\e;g2n -Sti(G^QbCuremKHVo8=akeP11fAagLNLZW=s.oU`U@,V!s,N_dj,^"7V5C2eVl-AjUo1/eWMZYq -V6$SmGH@X@WMQ_oWN2ksW2?\nWiDntVl6\mXJi&!VQHqrZ)=V*V6HqsZ)4Y*V6Qu!YbeP'VQm&$ -XerD'XL>(6YG\n1YI(49XfJq0Z`p@:Wirh-[B6I<W3W\+\#Z[?VR<S+\#HX<Vmi_/[\pL8W48h2 -Z_t75XF@UU['-C;Wj/q/[]HR>W3ie-\>ld?Vm`_.\#?X<W4T+8\>Qm?X1P@=Z`(L:YdgUAYH#46 -['ZdCXKT14\?DmEWjB+2\ui-GW40"0]W/9GVn0"4\u<'BW4T(8\#6d>XLbC>ZDbC9Z+-^BY,f16 -[BlgDXK]75\Z`$FWW0=lW4K(6\Z!$BWP#7;[AUU<Y.CR@Z)G=8Vge!hhk+1[?=[ZTn+H:ijke4A -k2tmp`NA\(g>(QAeT!l@7SoiGoAr;h~> -)-Q1ak2tjI=a0!"p@bCK8kN:7V-RMAoj^\p8gBh^Htd9LR!@S-E:uc0[RKb=XjCKb:YUeIp-c4' -:ip-]fKoI.(kM2%7YL8&c_auV<6EpCmB0+&Y?k[?p0dkl(7qEqZarKsDN<d?bc$BZF'htQ\Nskq -r^p>!dWB8FjF`!E?ARl.baj"?G@,IQRV->5nqZ"mGi*RUp.S)NY<boU:f9td:JOk_;Gg.g9i+b^ -=AVgq9NG(e=A;[o9NY.h>>/.!:0^On>>&7&;-m"&>\6cA;H@1"@9?E;:Kq+#@oHK>9k.C*B2;f@ -:M<d3CJSSO;f5K>B2<>J=DL`E@T%)C?"cuL>ZY`<A7JMS<Es65CL1"X;.='5D-("Z:MjN@ED^7[ -;/o`DD,4tW<H:rGBi&bQ><?^uC1C4`;djE:E*QOa:hXB<FB)df:39iHFAQ^c;g;APF&6si=EmbY -D,YX`?Z]+bB30@WB5UUk?=%u#;/g2LGuS?o;0H;OF]!$j<I%VTEDUge>BWn\CK5U]@WG7e@p+"R -CMZsp>$uDJFCeR!;e^)IG?eKs:i^2MGuSEp;KlGQF]!*k<d@\VCI%7CjBt8?84lL$p%J!pjl"OH -k324#`NT"/g>(QDT0Yc%F%T'cp>nVk~> -)-Q1^ioT=?;g%0koC]%S<E3SZW+K^^okmn2<?n-oK5khbT7Q$HGkOtF\kqsTZI3H#>2><dp.r-9 ->^^J+fM2<E(l@\-;iC-Ed]-nm?d7>Zn$Z<@ZY*r\p1XG*(8S$3\%PN0Fd1uXc`N;jH"UKm]M*:8 -r`(GUeU)@_jG\lWB92@Jc_?!QI;"#jTPnjUnrM_*KAq<#p/Y4h[7jh+>$?DV?<C?;=']'5@9?cA -=(,<:?rpcC=^tQ>@om8K>@puH@9I8J?Y*;O?X.;IAS,+]?!qAKCL^Xe>%MANDdQpi=D_\VF'E9o ->&n(^E`m<p?$0CcDcq0m@WP^jC0bsfAoLmoARTacDf/j*?tXO`F_P6->]"CaG@G-*>'4U:@!Z'p -EEmd"ATh7!CgVNoCiWa*ARp!gF`(Q6?>F[eHY?r:>B=aiI:6l8>'k$pHsC`6FC'H,C3j'2D.8!# -EcbT9ASHKpH>d5A?#XslIV*5>>Bk*pJ6m,;>CL6tHs:c6?[uO#G[#T2AURg+EaO<*CO'*3Ch%p! -F*(`<@qp<nHYm5A?#b!mIV!2>>Bt-qJ6d):>^g<uHs:i7@";U$E_>WRiF;dS+[nnHnal@fj581D -k3)$q`3&V%g">0>SjYu*DFR1Vo&;rc~> -)-Q1ak2tjI=a0!"p@c"PS=HG<`LEBorLBJYS0Q2@Z`L:q]smF&YQ'F4dZFC/e)?gfQ0tu^s+f7Z -RC&gFk)oV4(q]M!NP51Iji3d[S)ib7oZr]ZbaY,ms-N_T(<aU`f[Pr]T>U5RkJk1&VOX%'duLKM -rg[TPiioPkn?KXoQ,*-IkJ4@kW19pZ_5aW2r35S)\F$&ks,<Jkb);p_T:VRGSXuUJTqS$PT:_sO -VP0Z[Str-QVOsQYSu/6TVOjTZSu/-RV4FKXTrO]]VOsl]USs`_UnOf[VP\R0WhH2eSuJNYWh-2k -T<P2hYb/%tTsCAjY+MqrUp-MnX.cemVllYrW2$VjX/r#"USb5eYGe5$TW5)dZ)"8#T<G5gZ(\/! -TWt>iYb/(uU9^JnYb8A$VR)r"XJ3+sWj/2'W2?qpYH=P,UT(Mj[&Kn/TWYGCTs^\qZCeJ'UpZkt -YG&A#W3W&$X/!(rXKS;(VPgbmZ)j_/TrYDj[&9e-TWkMl[A'\+T<tPn[%OV)U:$bqZ(JD&V6lnu -Y+`8!W3W&%Whd%rXfnG+V5U\lZE'b.TrbJk[&0b-T<YJm[\9b(I-f_N?pR+M8kL1Pp%J!pjl"OH -k324#`NT"/g>(QDT0Yc%F%T'cp>nVk~> -%U&2]k3)+!h<">'p@kFKr^mE2[(r&2Y-`QTE[,.c^q4H!Zb1rSB[&o9R7!^^@@Y0<>e,&lbsHEk -IBgMoE+o5k).?peM`l:)4))(;R893V6HFC>@^3_@>g?CL8q1Kq>b%<Nc=)4:4G:anMS?`@R@?Kf -_ECL`>,&jE@!&rlF?Oug40O?2N4llGEOruP9VT4DZ+PoVABdYJb%XF>:f9td:/4b^;G^(e9i+b^ -=&2Xo9ib.d=ADdp9ik+e>>A=#:0^Rp=AE+#:gQt&>>J^+=("g3<`*@'>[1l:@T-B=:h*U*B2MuB -:hE[.BMrJL;f,KAB2NGI=DLfH?rCiA?YE;O=]T?;ARSJQ<aBE:C0FVS;e'<8CfanY;Jf]=EE$L] -;K#ZBD,P.U<,klJBMrbO>AdAS?rV,G@VSbY=]mh);e]]>E)pLe;KH&FFB!$e<-;ARF&R-f=*Rb] -CK,I]@!#@f@TI_TBl-dk>[DPPE+Dsn=(lMNF^89UF]E?l<HhPWEDgmb>BX"`BN97ZA9(Uj?WhSR -Chcpm>%2POF(&-p<bcGMG$A?r<,lDKGZSTs;fu>OF]<<k<HqVYE(rU^jQ<CQD/O60_=mTq^uXV/ -DghV;&q@akp=n3Yk1tKWlJm;ro_.B5J,~> -%U&)VjlYgmguS"sp%P@Sr_Wo?\AF\@YI8u\G9^mu_n0o0[_[ejDU2"MSkGimCSSeQ@_@/,cV&E% -K<i>(GB!P*)/!NrO@Xc@6u]WQS5u/f9uqiYBXPaO@aAE\;0$NsA"TGectS-K7>Jp-PJFnRSY/T( -`C<^%@&V#TAUD)+H:NJ)7'VYKOhe\VHG.4`<2I<W[)%eoC<oacb]-Q[<`W+#<)m.$>$"X-<*<F( ->uk!3<*`X+?WC98<+/p2@T?`?<Ff09@T6i?=(YKA@7XF3=^5Q>B3eVS=(5Z?CKb%Y<bYrDDcpXb -=)D5LD-1R`=`IVVCKGF\?#Wq^Am'1ZAT(Xi?sRhVCM6jl?"@nVEFE'n>&%ea=`n%\E`d<k>'=+c -Cfkdd@WP[kAQj7]C2[3t?X\.^EG8U%?"n@^G%+j(>B"@]G[>*,=a4F`H<Y?*>'aOgG$0$#?$fgp -Dd%EoATq=#B3]ghDK/g)@:XUdFD+m*?#4RbG[b-#H!59(>C0[kFBEct@!Z$sCg)-lBQ[I&A6sUe -E,Jj*?Y=ObG%Fp*>]4RaH!k3->'4I_HX(E-=a=FcGZo3'>C0XlF&PZoiSpbKBk_C#^@V'j^>n5& -EIE:cJpk?)p=e*UinJsQk2CZgnFYd-J,~> -%U&2]k3)+!h<">'p@l%Jrf[Sbcdodsc-EWoXWsXXf@-CgcIT(JV;d-J]nseYT>T7)RFe:1ie+;c -XjGVHTq_Og)5<eTY_TF=J>UWC^6?FXLYS_bU!;0*RcBJ.PA[2QS]/@"j-?t'J[X7/\^]0)_nLr2 -gOk]RSAj+.RAnWcTn9Q(JC1Q^\^T*,VUX5/O2o_Kc.94PU>gs#i1#jmQ^3l(QBdo(R$a2.QC=;. -SX>b7QCF>/SX5b7Q(=;/SX,b6QCXA3SsH%:Qm&/hSt)+?Q^aV5TUD.?Q_0h8U6qIDQDC+>W0j9S -Q_p:CJ#A[0TU;[HTV\!PS=?FEUnO3TR\6LEVOa3SRA6IDVjj<UR&6FDX-of[R&c^LWL0ZWR]MpQ -V3n<RT;e3VTUDmLUo'N[SXujLVkKN[R\QgKWh#Z\RAZdJXIGu`R&cgLX-ol]R]N!QWL0]XS?/-U -V4"BSTrFH[TUW$OV/)rrX.5i_RAlmKXI>u`RB)mNWgTf[R]MsRW0jWVSZA0VURJ9RU8XH[St)mM -Vkf`^S"ZgLWh5c^R\lpLX.5i_RAljKXI>u_RB)jMWgTi[R]MsRVj)JkjQ<CQD/O60_=mTq^uXV/ -DghV;&q@akp=n3Yk1tKWlJm;ro_.B5J,~> -%U&5^k3VO(n+?>Ip\pjJrC$oT4$#Yp:QGF3,@Neu3]f\n3]fVr5<VFr5smat5s.1l697M!4[hRr -5W_"sO8b"SBL>'I6:F(%76ipq5Xde#697M'5W_"l5Wes6(Irk)6T[S"4%2:s6p<[u4ZY\m4$c:u -55mu>5s%+i6TmIl6:F%$6om\&4ZY\m4ZY\m6U*^u4Zc&&5='UE4[i"77o2fL:Ie/R85MiM:.A,R -92e>X:.S>U9i4AY9MBq87oW;V=@uCk7T`M\>"Map8mY7i>=_st9OC@l=@lps;dW(&<_['r=Be@- -;H.1!@U)ZB:0M*uBNJ,F8mkq!Bi%oA8S;.&BM2]=9l!U0A4^K<;JJj4?VG66=Ck';>Z#?3?Xl`F -<EEm,B3e>N9jV@&CfXPN8nD=*Dbj^rAP$fB<c:WD@SUr@?#3)P>Z>c;An=\X;d=35DdZLc:1S$4 -F')Ua95S-9FAH@\9QO?>C2cj^@o7>E?u&DU>?>f<Bk1%^;I403Ea;[c9kS'6F&ZF^8oS-:F%p4Y -:30H?DG+kU;fkcEBh`YN>&R&M@T%;D@;8GV>$,`;C1C(^;.+03?U!f<k3)+!mdKiBpA"O#kiV$k -mI'E4rq6Ehi7Itj!:'RO!;$3`!U)k#~> -%U&,Zk3;0umd]oAp\CXTrD3\l84Q?K>aGAN,ABkD7n?EK7n?BO91i#O9i">Q:.RlI:.J)Q8l//O -9LqZOR/W0bE)02!:/FPU:eXDM9Me;S:.J,W9h7cI9M#.Z(K,pA:.S)R85MoO:eF;S8Ol?J852oQ -9E%a):.RlH:J+,J:/FPU:Ie/U8kDTM:.RoN:]=%291Vl[9MU7r92S\i;-6ar=]&=(;d31&>>ea- -<ErF,>#\j.=^4g5>#o*2?!UE><a0!1@p<#F;da!4B3AGM;eKH>C/n\P<,5]DBN&SR=Dh2MBN/kU -?#3MUAQWqS@qnt^?sR\NBkUUi>@VPMEar?q<bcB!=*._WDcC^f>BEq[CKGXb@W>CfB3TO\BPgdm -?t"(UE+iEu=_DVPG@Fs(<cDkYH!G!&<Hr(^G?8^"=a=:cFB*Qu?@#[jDch?nAT_!sBjH'fD/`R& -@:XO^F_Y0/=_i"XH=LE.<c`%\HWt3*<I/1aGZSm%>'jLfFB!QuA7'U`E,Jg*?=n=[G\CE0=Di%Z -HXLE.<H`(^HWY*(=*e=cG?/g$>^T[hE`RKr@X(ppCg26jBld9g8a56rk3;0un+$#Bp\2D`j6#Oi -lgF64oChq6f&GcQkj%O&nFH8Gj["C~> -%U&5^k3VO(n+?>Ip\qLIrJLl9JUrT5O1"tj,F+%:JV8r:JV&`:KnPA8Ll-h<M1^A4Lk1G;KStP8 -L4Xu6\,NQKRYZ`NM2R%@Mhlq8LPpb=Lk1GAM1U;5LP#M`(QGT$M1LG;JW#/7MhH\=KRnc5JVT/: -L&R!2M1U;4MhZe8MMm.AMLgVBKn4i5L4Ou7MM?e>K7]&BKnlk5Jr>YMN099^P)YQcNg>]fQ&V)l -O-YchPE(riOd1lkOcPffPEV#qOHZ&kR?N`$NL#l5Ngc&nR#RMtOID/rRZF,,Pb3u,R?=2)R%981 -QB\#&S=5P5OdDW!TU(e7O.Ml(V3@=?Nh`#,UlV(;OJJ,.ToPk8PGF;1Srfb5Q_KM6RZaM/S"Gb; -QBlTdNhDl)V3.4=Nhi#,UQ;%;Oen5/TT5h8PbX;2S<Bk8S>2+CR['h4Tq@IHQ("M/VONgLOJ&8. -WKrsKNhr81WK<^FO/\J5VN7ODPGs\8U5l4?Q`#n>Ss$(:S>2+CR?jb3U7[RIPaeJ/Vj`mLO.`.1 -OK"M6UlM=APc9b:Toc7>RAGq?S<Kq7StV4EQ^FY2Un*^KP+A>-STjD^k3)+!mdKiBpA"O#kiV$k -mI'E4rq6Ehi7Itj!:'RO!;$3`!U)k#~> -%U&5`m-a<2p%J.Trr8ZQp-\dFhF%6.j?iu;7mYWls$ZlV1.+Q"6q9X86qBO.77KX;84?6A8P2BE -7n66@91_QK7S?EC:e+&P6r$<A<(9SW6rQWIIoSp7:./,R:/jV_9Lr8T;boea8PN2Q>"hIk7o`DS ->tRjo6s<DX@S'U%6t&eb?U\6t7Ueti=[ZXm9j^@o;FP(g;d)Rs:JG=h>uX4)9N5:d@Sf^-86f1` -AkZ*07:B%bA4]s,6tK(i?q"I#87b@p=[Zpu;.N+*;FbLr=asgJBMqW>7q,RhCe[u>7;#OnBLlN6 -6u5Uu@mt!/95-t(>=<7&<+SL0<(^mt>[9d5:f:moA5u0993PXjBi.]>7UoIgCeRr=7;,RoBLcK5 -7;P\"@RXp.9kd1+>"!1%<FeO1<(gpt?!Kg6:K(gnAQ;<:93Y[jBi%Z>7V!uK53q@pm-a<2p%J.T -rqsRqkNVF&n+$,Fp\OpJfB2;^mdBT9p@e:ZlU$+~> -%U&2^l0Ia*nalJKqYR'XpJ:icrD)6H!)NPg!)M]Qs%rbjfhc9X:f1%c;G^4h:fL=i<)HRm<)6:g -<DZ^o;-6[q<_upt<*E+$<Dcsu='/:(<)d(!>ZXd1;cm7#?rg97;-d:#@T6K;:gmI*@o?Z=:hEa2 -@8UQ<<+]'9?VtN=>%UWD>?#B;@:;i,CKObR;.j-4CK4eS;/BE=CJneP;K#WDAl3>J=DUoL?r:oG -?YE;Q>ZYfBAn"VV=^Gi?CgC%Z<G#c=E`uad;/KW<EE-L\:iKTAIVr"u?W(rG@q\\Y>?PoCCLL%] -=(,i?E*QLc;eol>G$&-g:iTcBF&Zja:j#oJDGY:Y<HM5RAl*SQ?#NPX?W2&IAS=n]>?c&DDI?=a -=(>r@Ea2df;J]c<G$&3h:iTcCE`6^_:j,uLD,>1W<c_5RAPdMP?>`SX?;u#Hs(3u^FBVpg;/T]2 -l/h*mlgF64oChqTq7c"RkN_C$nFH5Gq"rjsjQGamm-jH8p%S:F6%A~> -%U&5`m-a<2p%J.Trr9<RpP]*1rJKHjrJKZp!f`4te;XEes,LBDOH#6\NK9'[M2[IUN0'-\P)b]g -NKoTeQ&V#jNL#TfPDtihO-P]hOc>ZfPE_&oOH>iiQBI5rO->igR$!GsNg>lgT95A.NLZ8qSrf>, -NLl>tSW0,(O.MH%RTYWDPE_]"SsGG3OdV\uTp1b6Nh)MsUQLq6NM)N!TT>V1NMDZ'SW0;-OeIi* -R>mr(QCa).Q&q]$R[T54PEqo%U6^n;OIVf"V3@1=NhMc"V3.7<NMMf'GG^FoRuOA1R\Ge;Q]n;. -T:Cn>PaJ5*UmR=COIi#&Vj3UENMDo(VidOBNM_u,V2_4<O/J/2TT,h7Q)0M7RZ=>1R\>_;Q^"A. -TUUq>PF8/)UmR=BOIr)'W0E[ENMDl'VidRBNMi&.UlD.;OJe52T8f_6Q7\qnU7$8lk321"mdToC -p\=ac_!'tGmdBQ6p@e7Ws5;Mkkj%U(nFQAIq#'GEJ,~> -!(-Umrji*Ark/>d,_7+i+b:fV+TaC+[/IK5\cBAA]`P7B[JmW8\Gj&D]Y2"dZ*^t=[fEu<])TGE -[Q/j~> -%RIM/['d<M\%&rZ]"<\JJL?!rfdD=tmNsACZa-pE[C*HP\@B,]];W$@Za@-K[^WcW]">8NZEpmF -[C3NR\@K2W3.L~> -!(-Umrji*Ark/>u:4Yfa7"IbG6ipc([/IK5\cBAA]`P7B[JmW8\Gj&D]Y2"dZ*^t=[fEu<])TGE -[Q/j~> -"'=dJ]_M@(qLS?kp4;qVp&OjCqZQ#pm+4OR~> -"'=dJ](l.&qLS?kp4;qVp&OjCqZQ#nm++FP~> -"'=dJ]_M@)qY,R7JbFZg`qBE-h>7?:^?jH;J,~> -"^19U^&R>Jj+66Aj-ep2fTs);g-U;~> -"^19U]Dq5KkCMfIkF(K:g6B)9fg1,~> -"^19U^&R>Jj+66Aj-ep2fTs);g-U;~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U^&QsgeH""p_#_iuo[O>p_U[,OcG@rZe]Gi&eH<\)_9_W$!R/ITeH!km_$.d#`RVlNJ^o>% -J^sPG"iGu'nCg3Z~> -"^19U]Dpmig&T\$`<"H-o\']%a4f1be&Bqmg<Rn5g&oC7`RF>1!R]!^g&TS"`<FB0b1anaJ_G\/ -J_KnQ"il2'nC^*X~> -"^19U^&QsgeH""p_#_iuo[O>p_U[,OcG@rZe]Gi&eH<\)_9_W$!R/ITeH!km_$.d#`RVlNJ^o>% -J^sPG"iGu'nCg3Z~> -"^19U^&QsgeH_rO='f3?M$rt+$]#5A^As[._U[1>47q&+SK_B);t/<<H5cM-!J:[W?3PC^0%CVe -J^o>%J^sPG"iGu'nCg3Z~> -"^19U]Dpmig&e8S=oMh1N=5C4$]>JJ_uQ<9a4f6O4nRG2Td*u3<Ue]CI2_h5!JUmZ@0Ldf0A7(n -J_G\/J_KnQ"il2'nC^*X~> -"^19U^&QsgeH_rO='f3?M$rt+$]#5A^As[._U[1>47q&+SK_B);t/<<H5cM-!J:[W?3PC^0%CVe -J^o>%J^sPG"iGu'nCg3Z~> -"^19U^&QsgeI8;T`7:P6M$qF'8k-hreI[NFe\;*H/[]G'9fp3Q8mop>eJ`-[\!SA^<D#WtV`[@m -W%EcVLI".hH5;0*a8+7%K+c_bKh>r0LB]?M>tR5s=D:BH8P2e"J^o>%L"-@EK=UL*6@]~> -"^19U]Dpmig'jt]aP*FCN=4$29M!>%g(9/Og;EuV0"Gn1:-HWZ94H<Eg)=`c]UU4m=%l'*X$&q" -X=fA_MF'[email protected](`4oLeDG8M?bcW?VEW(>&6lQ92&4-J_G\/L"Z^NJ[b.%6%A~> -"^19U^&QsgeI8;T`7:P6M$qF'8k-hreI[NFe\;*H/[]G'9fp3Q8mop>eJ`-[\!SA^<D#WtV`[@m -W%EcVLI".hH5;0*a8+7%K+c_bKh>r0LB]?M>tR5s=D:BH8P2e"J^o>%L"-@EK=UL*6@]~> -"^19U^&QsgeI8;TA8RA.M$nhJeLYD0eI[[email protected]'!/giP.m$Nqd/]R/eJW9PCUAd+eM:W^T;hmL -!$5eSP,iPJ%@\_^q:-:6$#P$.-"\d['7uGKeNd(m!)b]hUiiPceUc8)eHNjC\a\<>J,~> -"^19U]Dpmig'jt]B5j"7N=1@Rg+@(8g(9/HE+As/!0.&W/3Qj"ec;68g)4lXDRbK5g,!;iUTOTW -!$>qVQ*57W%A,%fq:ZX>$#k<5->>-e'8;bQg-Sh"!)kfjW-G=ng4@t3g',NJ\+&':J,~> -"^19U^&QsgeI8;TA8RA.M$nhJeLYD0eI[[email protected]'!/giP.m$Nqd/]R/eJW9PCUAd+eM:W^T;hmL -!$5eSP,iPJ%@\_^q:-:6$#P$.-"\d['7uGKeNd(m!)b]hUiiPceUc8)eHNjC\a\<>J,~> -"^19U^&QsgeI8;TUU$$`M$nh=8hPMeeI[NDZCh2U!/gij=Z]Cr8LL>0eJc04^E";J"\LFmT/Sh3 -MZC'5!g;*aH5b<]D>D]uK+G8rE$]*KeJ!P!!(o"_2bqW9R3b2<J^o>%L"-@EK=UL*6@]~> -"^19U]Dpmig'jt]Vm_ikN=1@D9J:nkg(9/L[\Nn`!0.&q><Ph$9.6_6g)@iA_]9bR"\^UrUGt@9 -NW?NA"-qToI2^ffE;A3(L(C`)E[GKRg(T1,!),1d3)J&FSL-bHJ_G\/L"Z^NJ[b.%6%A~> -"^19U^&QsgeI8;TUU$$`M$nh=8hPMeeI[NDZCh2U!/gij=Z]Cr8LL>0eJc04^E";J"\LFmT/Sh3 -MZC'5!g;*aH5b<]D>D]uK+G8rE$]*KeJ!P!!(o"_2bqW9R3b2<J^o>%L"-@EK=UL*6@]~> -"^19U^&QsgeI8;T`7:%PM$nhJeU*e]eI[NFe\;*B!/giO.Q^Epdq#l^eJ_LPeW0og&(Q,r-u>m` -MZClL!g9R#H5b<]D>D]uK+c_bE$]*KeJ!O,!7cgc2dOt*Gb>OmJ^o>%L"-@EK=UL*6@]~> -"^19U]Dpmig'jt]aP)p\N=1@Rg4#[ig(9/Og;EuO!0.&V.m6a!fOh\ig)=-Yg6)Yr&))T).;u?h -NW@AY"-p$-I2^ffE;A3(L(`4oE[GKRg(T06!8<9o3+(C6H__.!J_G\/L"Z^NJ[b.%6%A~> -"^19U^&QsgeI8;T`7:%PM$nhJeU*e]eI[NFe\;*B!/giO.Q^Epdq#l^eJ_LPeW0og&(Q,r-u>m` -MZClL!g9R#H5b<]D>D]uK+c_bE$]*KeJ!O,!7cgc2dOt*Gb>OmJ^o>%L"-@EK=UL*6@]~> -"^19U^&QsgeI8]:a46n>RlSYm8kI,"eI\01e\j/30Xbt1C0nkA8n?6CeJcFm8j\T^=\;0(W]ad/ -5qpO5NC#mtO$qMoL&'78Ps3aKLJ<7teX8\2@7ic'>C"c@9hJ@,J^o>%L"-@EK=UL*6@]~> -"^19U]Dpmig'kAEbhApMSiY5#9M<Y+g(9f:g;u+B1:hO;D.1RN94lZKg)A.$9LG#j>>.T3Y!6E9 -6Sd'CO@2F)P"+/%M##a@R6]K[MGJh)g7:RB@n]/1?$k;M:/"[6J_G\/L"Z^NJ[b.%6%A~> -"^19U^&QsgeI8]:a46n>RlSYm8kI,"eI\01e\j/30Xbt1C0nkA8n?6CeJcFm8j\T^=\;0(W]ad/ -5qpO5NC#mtO$qMoL&'78Ps3aKLJ<7teX8\2@7ic'>C"c@9hJ@,J^o>%L"-@EK=UL*6@]~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]DplAg4@t/g6pXua+:_hfg1,~> -"^19U^&Qr?eUc8%eX=qk_h5Mhg-U;~> -"^19U]AqOpeUc8%eYLahe-4..^@9iCJ,~> -"^19U\`V_!g4@t/g8*Hrf`fg:]^XT?J,~> -"^19U]AqOpeUc8%eYLahe-4..^@9iCJ,~> -"^19U\^e0?Y(<a,Y,8?'dFF$HK*@7R_!p&EJ,~> -"^19U\D"cM\q.GD\u*%?f@kuRJH^tP^@9fAJ,~> -"^19U\^eKH\q.GD\u*%?daa-IK*@7R_!p&EJ,~> -#$LBV\^c7IJSp$VJSqH)"`L*aeVBaqX9#AerN$1XkJ6T@6@]~> -#$LBV\D!1"JVJ`1JVL+X"Ld%<L7eIK!Nq^dY6E_H^@9fAJ,~> -#$LBV\^d1/JWPGEJWQgl"ME=9LS"LH!NVLaX9IDB_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP"hO-ReVC+&]`R5W\Gj/Fp?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W"lfR=g4l[-_?/e]]`,bOpZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro"mc3AeVC+&]`R5W\Gj/Fp?06\g-U;~> -#$LBV\^c7gY,hr+S"$@XXJ;8SWe%7&XG3ea]'e2#LT%o"d.)pnrk/L/kJ6T@6@]~> -#$LBV\D!1KY1a30`5L3[g<[^UfR_b-g4n;hir@lhL9&2.eFA9srk\j5lFuc@6%A~> -#$LBV\^d1YY3$&Hcd1S4k1\/-jFQHEk(`"+li5YgLT%o"d.)pnrk/L/kJ6T@6@]~> -#?gKW\^c7gD#RcCVQ?$\?NHOOrEff)XCYb=XK8B"?NcmR?XIgKX9NZO?\PS_RJgItO^DY#UL.ej -rEfYh?XI75X9tq/9hf3#T2nZ\EIk3BXG3ea]'e2#LT%o#l0kp8rk/L/kJ6T@6@]~> -#?gKW\D!1KM>h`$db;A4GQGXarHJRmg44G"g=k'UGQc$dG^,;Fg'3X`GcBEN_Yn]a\9NMWcZk8E -rHJFSG^+T,g'ZDM@UalAa_bKrOFc,:g4n;hir@lhL9&2/lLD6<rk\j5lFuc@6%A~> -#?gKW\^d1YOT'_2hWDiVIf[d'rI5(+k(eHHk2tV$Ig"0*It*g\jp%3&J$S5!c2E+s_LI=&g4,0h -rI4pdIt*(AjpL*kB4m"^e8o88R"=CNk(`"+li5YgLT%o#l0kp8rk/L/kJ6T@6@]~> --X#m"\^c7gG=[RI=e_TDM2>,\?u/;R5aSR+3gZqLWeiEdV42BqOnl'sO\9S]XK83WJVdWR<b8A2 -8p-RVM2=0YM(jhcX9"u\q5aq"6`d@OXH$GbX?;'8JZOU-'Y<_aeVC*:`r4f?PGPt+p?06\g-U;~> --X#m"\D!1KQWpVqER)cjY-)H5H&>ae;8Cna9#007f<.6=dDV#N\G=hs\6b-4g=jkCUTS^&D1UEk -?'N8iY-(71Xurodg&]C4q:Z2'<8-&"g9bkRg.[(OJ_Gk4']T/Lg4lZFb5L>JP,H16pZfK^fg1,~> --X#m"\^d1YT4#.;GhL_7\$p7VJ<=0+<m'R1:<M_]j0q:_h9V<q_YN=4_dntWk2tDkXLEPGF,8u; -@[t_/\$nuQ[m7M&joO&Uq;r%?=m"jCk.Z*&k"pWkJ`_^L'^PePeVC*:`r4f?PGPt+p?06\g-U;~> -**M^l\^c7gN`rNcIVPrHXEBAcKpl,*I\NolCHVQs!'L7^!K17XX8uXbrN$W%TluHXMd3?X<h-6R -XEAccX??E^!F$Q>X9tq-='&e2N`iHb4FsSbXG3ej]'e2#LT%oPn(#smOgr*ukJ6T@6@]~> -**M^l\D!1KZZFjSTSD/og6AbSWP`\`T?Z)^LJ7[#!)3CG!O6eAg&ZE$rRqlfba,WEZ$"dGD8k4& -g6@uSg._Fu!H]U_g'ZDJDJjdSZuOgR9S(oKg4n;qir@lhL9&2Xn_2^%OhAR*lFuc@6%A~> -**M^l\^d1Y]m8c&WK$%:k+&p&ZHdX/W7^71O&5f;!)W[W!P3[QjoKn@rT4`!fUfdl\pWYnF3s&G -k+&.&k"u!<!I?*gjpL'gF`i8t^3Jf&:k@b[k(`"4li5YgLT%oPn(#smOgr*ukJ6T@6@]~> -&6\G`\^c7gN`rNcIVPrG4<+7#!EbH_X91V:<danJ!'L7^"H-QeXI&db'OHZuVOaeY3#8KpXA>7> -@B?OV4>Hi:#<])hQ`R9\Q2.KgVFco48?@hSXK4O8XF[I-X;&86f@>YTd/)GGe]j#R^%UX)nCg3Z~> -&6\G`\D!1KZZFjSTSD/n9HsGh!H>LHg&k*GD4U[[!)3CG"L3+'g;!L<'R-b7d`:'F7i^+6g18($ -HeR1,9KrI0#>Ek*^Y7Da^%p@hdp0Ak>M?H(g=f5Og4@t4g(`QHhV*^beGJ+Vg<ke\_Y<?0nC^*X~> -&6\G`\^d1Y]m8c&WK$%9:a>r$!Hu9Xjo\M`F/Alu!)W[W"M0!Ck0!P_'RdOSh9tFl9-*$Sk%W)I -K')2N:dP*C#>jRFb3%j:aSFs*hI4:<@-51Jk2oKkk(2ZLjqR.]g!tkVd/)GGe]j#R^%UX)nCg3Z~> -*Ehgm\^c7gN`rNcIVPrHXE]McXK5NcXK6VM>[1;.X8kB^X9=GeXK4P\X:AQoXGU>c8"k6fNi\mE -4T;Dg4KNdMVlW"^X??0W$Dg+kX?<SE=fe\eJZOF(L9(Wkmap!EW9`pNeHi=;^%UX)nCg3Z~> -*Ehgm\D!1KZZFjSTSD/og6eqRg=gMSg=hj7F`hO"g&OhGg'"['g=f6sg(&>1g95_S>0NG@[+`]- -9`E`P9\Pkue(RLLg._1n$IMi,g.^5-ESB,?J_G\/L=umls5)IaX6fBTg'FpA_Y<?0nC^*X~> -*Ehgm\^d1Y]m8c&WK$%:k+T3'k2pj&k2r:^I!fu6joA6Wjoi8Ck2oM:jplgMk.,p&?J)$b^?4!S -;#]S`;!+IAhr[btk"ta5$JekIk"t3SGin-bJ`_OGL?8a,s4PqXW9`pNeHi=;^%UX)nCg3Z~> -.9Z*$\^c7gF%(b8>,7fDKS3-OXGfPbRA2`fSV8\ZWe<!XUmPpfKS2A_X<<KnC4p>.U,ICP=EU^G -@=5/XQnF&F24&tKKS2(]XCX!ZX9tk!KS3($Pur]m;h;$$XG3e]]'e2#LU-TsrPAiRNhlC3_!p&E -J,~> -.9Z*$\D!1KP$"W[F3r&jVl+(#g9Ob<_TkZ?a/M,1f;C[-d(tK@Vl*)_g*!_+L8TcMc:+;%E0T)/ -H_&mE^cJBk7),W\Vl)`4g4)-Yg'Z;:Vl+"X]l0gHBn=uhg4n;dir@lhL:$X!rP]&XNMcI8^@9fA -J,~> -.9Z*$\^d1YRU*/%H/-q5YcqlDk.=f\c.Ygcd]u$Sj01\NgWPXbYcpgujrh?FNj+OlfgqsDG+@^U -JYhMkb<<)68'.tuYcpFUk(Z"ojpL!WYcqd&aE=_kDLpr$k(`"'li5YgLU-TsrPAiRNhlC3_!p&E -J,~> -#?gKW\^c7gE;jALVQ?*^A.>!/F(Ag=S7H/mAn6@hraZ&#M#CiaGl+QBFo>hOMjsZU#F2BlNgm,O -M#CiaPPo"pC94LoE;6L@OCVmlXK71fA>XpZJZOU-#.j6SeVDVNqL]!6o&mgXg-U;~> -#?gKW\D!1KNrFM0e(VP7Igs<LP(.tb`IEBHJq'HDrdOsiXo3_LR/>S;Q2Q15Z,HTj#JJjF[)LbQ -XSmVK])@*]L>(@bNqh<7[srnIg=iTWJ'ro%J_Gk4#3,[>g4n%OqLJj3o'3sYfg1,~> -#?gKW\^d1YQMuU?hWDoXL(2GjRYHR-d"[:lM2&"fre:I&[f(p\U&3sPSc+9D]$L>0#KPuh^<l$) -[Jbg[`VkMoNTTB6QMBSK_1m]lk2s%*L>ILDJ`_^L#4)<BeVDVNqL]!6o&mgXg-U;~> -#$LBV\^c7gJZOF(JZPiP"hO-ReVCX/b6@\(_!p&EJ,~> -#$LBV\D!1KJ_G\/J_I*W"lfR=g4m05c3=%/^@9fAJ,~> -#$LBV\^d1YJ`_OGJ``ro"mc3AeVCX/b6@\(_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP"hO-ReVDWLrs%*JkJ6T@6@]~> -#$LBV\D!1KJ_G\/J_I*W"lfR=g4n&Ors%'IlFuc@6%A~> -#$LBV\^d1YJ`_OGJ``ro"mc3AeVDWLrs%*JkJ6T@6@]~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpl"nL%"3?nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&IqqDA"KC8$=nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpl"nL%"3?nCg3Z~> -$<cfZ\^c7g:HCRbri?cB4,U,@H9+/NG-#I?4?P]Y4??!SX9!g1cE%(_4+VsaJZQ5[#.j6SeVDWD -qpbqlKCA!=nCg3Z~> -$<cfZ\D!1KA4fLcrn8$59!?t&Rn6:IQ.h$c9MA*W9M&F0g&[nRcIr>T9;I-mJ_IKb#3,[>g4n&H -qq;:uJaVg;nC^*X~> -$<cfZ\^d1YC/.U%roOlH:UoQLUeOZ^T&l&.:f'rl:ekB>joMKqcK51g:T]31J`a?%#4)<BeVDWD -qpbqlKCA!=nCg3Z~> -$!H]Y\^c7gXAYA^X8uU:ri?MjXK59cX?<Sc4KP8Hr2]pVI*er0W^BU"SueW&UkjH#XFkA/XJTj# -D0Z&]"*/6qQhmcoGE8>4VlZtOD47PRM0a$5ri?ERCoj[SENFP)TRj1qXLtV=]'e2#LXYejeHa-I -n)qLUg-U;~> -$!H]Y\D!1Kg1S.ug&frMIK%q/9\S34^tMK9g.^5F=T$kRYFX%o("ZGtMTFMqMU/Dsg=iE]NnVs> -^5A<Wg&mIpMSK#A&!s]FMU^A6V2E1ET!"N>c2QE'SVc(QMN?J^MTUM(J_Icj#3,[>g4n&Hqq;:u -JaVg;nC^*X~> -$!H]Y\^d1Yk&&6=joXXlK`:*B;!-nVb2uO_k"t3n?2Wgc\Y[[8(#rG4P1/RFP2!FDk2rk1QKI%e -ac`@sjo_$7P0*R_&"gVcP2PKbY*.)mVRWCag&C+?VNL$%P*b=.P1G3HJ`aW-#4)<BeVDWDqpbql -KCA!=nCg3Z~> -$!H]Y\^c7gXAYA_X:h<s6Dgic3h`6ERB/EB>`>bY7f9=g<ADk%*3)Y8H_IO:4*FtGJ;RobG[[O> -3.#O`XCcU%=EXJA*,JYVHXEk*Ap[LSH5gaK=f8@&Hu,mb:0XfF321u*JZQMc#.j6SeVDWDqpbql -KCA!=nCg3Z~> -$!H]Y\D!1Kg1S.ug(Mb5<79LS9$GLl_:hH(FKsQE=T$kRCd-5"*8"V>SBT^599sjYU9B*;R!dCc -7\#Bug4>KYE0U4Q*/SNLS9`haJXgN(Rj*f]ER`^rSVc(R@W^=m8'Z\>J_Icj#3,[>g4n&Hqq;:u -JaVg;nC^*X~> -$!H]Y\^d1Yk&&6=jq?EQ=l&6&:>"39biVUOHFr=m?2WgcE^A(7*91UUUtFha:S*)sX13q\TRu*, -8u.Z<k(oP'G+JKl*0G;`UjqO/Lno"GUa2/"GMhQFVNL$&BR8g89A+mYJ`aW-#4)<BeVDWDqpbql -KCA!=nCg3Z~> -,?aHs\^c7gXAY@cR?=R4ARIs.X=d"5=/;o?7ldZPU.25cI`nenBn$#^s&8lt%Xqtt7''gPXGpGc -Ear[-q5aXV-D:@>'d[F&?UgJZXK7=cXK6ecXK71cXE/N8XF[IbX9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -,?aHs\D!1Kg1S.R_RJ5lJ9k;Ng,`D@DU7#c>"IB$bui]RTZc$iL7nM!!GQ<Ig('d+HWJjIX4jn$ -g6$f6SGCk?Z7sK$g(c8kJ9b;9@bTP?G1tZ@M;$[aHeOXIJ_G\/]@mJKs5)Iaddm:h#Kq\dlFuc@ -6%A~> -,?aHs\^d1Yk&&6&c,/U=Lk/gnjum$WFPGq.?;0MDfj3b&W6=<(NN)m=!H)iSjpn>GJQq8f[H>/J -k*^mYV>96T]/%t:jqTY-Lk&gWB]eHgI-0RgOlkf5K'&MmJ`_OG]B0=`s4PqXe+*=c#KMJckJ6T@ -6@]~> --X#m"\^c7gXAY@cIVOLGK7dNhX?<Sc;4"@HXH?ScU.25c4KPWYT$OJCBn!.VXK5?cri?ZaA:nki -XC6mcNE`KXKS*ofqQ'^V>lC`6211%-Lmgc2XFk)cXF+j`X9(n\6\2=iXLbJ;]'e2#LXYejeHa-I -n)qLUg-U;~> --X#m"\D!1Kg1S.RTSB@oV58F@g.^5SB#*+og:2%Sbui]R9\S4FaNrQFL7m8Dg=g8Srn7p^I\i*+ -g3]mSZZFjFW25*?qUttUFT'o'6_:-MXi+>lg80>Rg7=*"g&bHq<e8tUg:GuBir@lhL=5Yig'>fP -mcqOUfg1,~> --X#m"\^d1Yk&&6&WK"-:YHNGek"t4&Cs(m:k/)6&fj3b&;!-one'I.]NN)'kk2pR&roOcsKs-hI -k(0r&]m8bmZ*0"bqW7gjHi<(:8#EJl\'A:<k-'R&k,+:?joSo7>(Pgek.9[Zli5YgLXYejeHa-I -n)qLUg-U;~> --X#m"\^c7gCFi@i7;>4SH$))@M'623<hY!d?="h;==.?\/?GpK.*nt6Lg"+kXIh(AMQEn?=C+cL -OYp+>=tuaD<aJpfqQ'a$13!5o'TQ=&?$)M[>@(g@XF<MuGH@mC/q\_VJZQGa#.j6SeVDWDqpbql -KCA!=nCg3Z~> --X#m"\D!1KLcB'l=,'aNRZp<OXsnR=Cs8S%GBYRGE%lK[383(t1XFboXE&N/g;u?fYM.^=E-GkH -[mOrbE^.iUD0L!*qUu!j5E>`s'XVh'G*KosF*E&dg7VG=QeL0A3i7J^J_I]h#3,[>g4n&Hqq;:u -JaVg;nC^*X~> --X#m"\^d1YO#q3,>`DocU7=ki\1E&VEn@<BI=3]_Fu+Pp46G[?2UCM)[<R+Jk0uM1\E;qhG("*[ -_FAP-Gs^1oF+&8EqW7j'6^@Z5'Y\a=I%8J8H$tA.k,DN[TB>:m4g0G!J`aQ+#4)<BeVDWDqpbql -KCA!=nCg3Z~> -#?gKW\^c7gOSt%AT8SSmP_tHkre^cIXI0!E!K3WLM?K!AXI><tX9XrHV6$POMOjaJ%[N!FMP,if -XH8=<R>Qleq5aXZMN[q>':"H6XI;nHMPmPWR#6cdXK80kUk,UuXLbJ;]'e2#LXYejeHa-In)qLU -g-U;~> -#?gKW\D!1K[f*B7ag&%`]W\Z^riZCCg;3cl!O0cGY6;8eg;CJHg'>3mdG!'QYK-Xr%_f-iYKO,W -g:"38_QU/Uq:YnYYIXVc'>:TTg;II1YLD4Z_6:&Ug=jk^d"0o%g:GuBir@lhL=5Yig'>fPmcqOU -fg1,~> -#?gKW\^d1Y_#:eKe[i<5`jre2rj`*Xk03e7!7q+Z"Ma*]cGRri#K=7/k2*YZdf/A=aLTm4f"&QX -^q&CI\[fcVjoW?/_u8^2aLSqFc=k)*hra(F\[fcCk1XJ&J`_OG]&j4_s4PqXe+*=c#KMJckJ6T@ -6@]~> -#$LBV\^c7gJZJsT@OG[\X94DX,aa.aJZQGa#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_C4[I5-0Fg&nWm/\lqkJ_I]h#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`['sK/A8Vjo`840[#%0J`aQ+#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZJsTR$*d1X952[P,<f3JZQGa#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_C4[_7@;Tg&oX2\^H&_J_I]h#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`['sbeqNsjoa;S_qot,J`aQ+#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -$<cfZ\^c7gXDp%2ri?ir4?ll#BJV%o-CU/b4Aqc(+ZqklUk,UuXF[ImX9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -$<cfZ\D!1Kg5eLRrn8*r9MfT*KL%@\0Z1P%9PDMF.SNNXc[jf$g4@ttg'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -$<cfZ\^d1Yk*JJrroOs3:fVSBMa]Kn1X3p@:i=de/5T/igO\L<k(2[7jp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> --X#m"\^c7gXK5T)Uo]P[XJe:4@#.pH;1McHXHlbc4KPVkM6*e%?dPkhAo;(!?$EBO<(E^bXD17^ -8!9rY7p5hm#a%VhC94='7s'<`JZPED#.j6SeVDWDqpbqlKCA!=nCg3Z~> --X#m"\D!1Kg=gU_ce>[Hg=8omH*)%oAts=og:h7S9\S3FY1hTpGgP.ZJW"o<G*gq:CKf'<g4ie5 ->.N@0>&jPq#e4&iL>(*[>*FNkJ_H[K#3,[>g4n&Hqq;:uJaVg;nC^*X~> --X#m"\^d1Yk2pr.gZH.pk2B1=J@9X:Cohg;k/_H&;!-ni\E;qEJ'd<mM3ER[I@oZaEF7G^k)NfX -?c2#R?[)M3#f9r*Noo5+?^lW/J``Nc#4)<BeVDWDqpbqlKCA!=nCg3Z~> -)-QCi\^c7gXHHUrJuj09XK8A"VlEj\VLrCXX9q(k4KPGaPH:j#:=-'dSelYjG#G,>PbD*FC4;jY -5H0!fTnZsVOBeK1(7S9sTlbF.XF[IEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -)-QCi\D!1Kg:;$NV:q5sg=k'-eCSZJe#.Zog'UO-9\S!:]%YkmA'ipRa;pZlQ>"Tb]?G*.L7lb/ -:tD/Abc5sB[rooj*5lU9b`e9Bg4@tLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -)-QCi\^d1Yk/;:rY3)@Ck2tU]hrAmqhQV_5jpFrI;!-Y[`TH<BB[GlcdiY;/So*5-`Rf.SNi:QP -<T9gcf<^"i_0ae9*RA]Vf:/:]k(2Zdjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -%U&5^\^c7gXAUuA1TYe?qlBp&OK=.Gri?8cX>W:2M9DtAV*ghHQ;W_d5<gf84KPW[7'*Ik5;ZTG -8tN,cK5Z&7X8kA6XF[IEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -%U&5^\D!1Kg1NlO6/%Wdqq;0l[b@[/rn7NLg-eb<Y05N?d8\1n^1al':f'6-9\S4I<nc8F:dT6W -?HCjSVMprBg&Oftg4@tLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -%U&5^\^d1Yk&!^j7-:,.qrS$)^uhqVroOA\k"&KV\'*nTh-&3:a_eaC<E28B;!-oq>NY'i<CM2q -A(0T&YEYd\joA5/k(2Zdjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> --X#m"\^c7gN`rE]I;=XHXK7\YXK5NcXHHedXI;nc4K4oPTrb>UJ^CJBV*ghHQ;X)MTrFKG:RJ55 -7''jOWFfA9C4<7cLP'0>XHQY8XF[IEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> --X#m"\D!1KZuXaKSqsLog=j6]g=gMSg:;:Tg;@FS9\.:$bhCdWUX7^=d8\1n^1b?!bgs\EA\m)o -<n_r#eq%nrL7d2RX/:F$g:D*Og4@tLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> --X#m"\^d1Y^3S\rViS9:k2sb6k2pj&k/2K&k0@Z&:uTlDfB25/XO-)Rh-&3:a_f4Af\t,rC<Yh? ->NURDiJ;dANi;+&[BGAJk/;:kk(2Zdjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> --X#m"\^c7g73PZI/LIEO4?QN5XA^8uGcZih4AM;t(hp(8=KJT%/C:IB>T/,4INOr<6Te#-Rnl.Q -7')VD4BE_uXD0j[@]Y/D4B8&*XF[IEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> --X#m"\D!1K==S*C3AK'b9MB-@g1i'%QeJ]A9Okr;*erC[Dq`oY2pg8&FWmM*TI7R`<D6c6`+;Vd -<nb/i9PuB%g4i9pI+kDj9Phn'g4@tLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> --X#m"\^d1Y>V0rX4>Yp':f)&Yk&2e=T]Wje:h\+X+H>O&Flqh'3md"5HQoO<W%#s*>#8bOcY?:* ->NWn4:in;<k)E26K''44:ib0=k(2Zdjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gTWA0BCOrR<XGj4b]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KT\9F=LOn01g5O_iir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YT]Q9RO+HGEk)AF,li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gUT=QT4?RD1XF[I2X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KUY5gR9MC4mg4@t9g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YUZMZg:f*4(k(2ZQjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#?gKW\^c7gWVr4iUm[XPX-oEOrL!neR@^LJRB3"ZR/i`QXSnOjTrb#WU7^8C(9;R?4GU#;BKSDC -XJT5b5bP3R:cqFHqQ'b!ClA:o"H,B)ENAr;!M`QjX9*o+WVNUrKlI!l"#2o#NV]^_K028?XK-J+ -4GN^6"K#Ed5bRqS!I]7mX:La^4CtIm69I@bU9(4r4H'3?#`ga-XJfVk4Igu(NN<>qmap!Ee+*=c -#KMJckJ6T@6@]~> -#?gKW\D!1Kf)<Did)*WQftkVQrP8`d_8t?I_V3-2_#VINg&T"h_$/$9cb[oLh:`XtPY=cOg=CpN -9YT6/F\GZUg<X>(@F"`'!niC6rn7LZ9MCQ#qUttrB`-QcU-.$&g&\15rRq?;9MDehg'OZN9UFJd -PY=cNqUu)$F\GZUq:Yk@RJtnN_b<aRe_3tr9Kp_TdWA0ern7Xd5el%&I8!>SJ_H+;#3,[>g4n&H -qq;:uJaVg;nC^*X~> -#?gKW\^d1YiVgt*gs+(*jil$(rQGN&bgY_!bi[FSbQ-#djoE[*bQZV\g<A7#h<#L7S5<%hk2M=r -:rqeUHVdbok1aZJB%m+D!p,NTroO?o:f*P?qW7h4DZ&VuX$G\?joMcRrT42K:f+k%jpA7g:nZt4 -SPW.hqW7q;Hr*hoq;q^UU&O0bc;7>mi9"-<:dNarhKi#0roOL%6d"QLKMYLmJ`_sS#4)<BeVDWD -qpbqlKCA!=nCg3Z~> -,?aHs\^c7gS0g[#3bg]5XJ[a?K,dZ_-%[<oX>r2?2btDh.Jg+P*_m_J8#'-]<\W@2(8XC"X?<SE -=fe\eXE\]cUdV:mLTHJ>qQ'a>0S05)"?`ce8Y>m]!i/mHr2]r^5cFO\!e`mHrN#u]pT+[?XK4Uc -WH5/B4Sl,^G]0[[6i*kcIlqHEX:7:nXC-gbE3--5Suc.Ur2^/d=HKV;A?;jpJZOj4#.j6SeVDWD -qpbqlKCA!=nCg3Z~> -,?aHs\D!1K`@tD*8qor*g=/5cVB]Y`0;U0\g.4Wc7:d]T2#>o4-=\?.>0h(tD*?_/(=?+8g.^5- -ESB,?g6[iRcrSkIX4jn$qUu"64JVo0"AIP'>furt!mkgAr7V3G;:YNs!iT%ArRq6FpY#q5g=f<S -ere\?9`!HGR>oqJ<VkDNThL1>g'pa0g3TjSNS<)lakCjBr7VEMDn"H!IbNLLJ_H+;#3,[>g4n&H -qq;:uJaVg;nC^*X~> -,?aHs\^d1Ycn\mA:5r"=k28L/Y9dpu19N2nk"J>.8STPd2u;YC-tju<?e][;F$SRD(>W-Uk"t3S -Gin-bk+J%&gfrol[H>/JqW7jJ5cjtI"An7C@Fb8;!o%fUr8n&W<T3f:!jPjVrT4)VpZ;dIk2oS& -igJrk;#9;WTp=cr=o.7^W_eZRjpb/Lk(0r&Q0.4<eE2(ir8n8]Fi!4FL$%MoJ`_sS#4)<BeVDWD -qpbqlKCA!=nCg3Z~> -,?aHs\^c7gXAY@TK62TWXK,fcX?<SQ?^jVtGBS#.:96RZ:AV$u:8pIQ=.)gbS4W^]!@iBSX;7k( -XIr+cN`iHb4KNdHXJA7cSu&N=BDS\2QY1mKX9:YeX@]&]X9,Ai4T2>`>E(nHqQ'agKjO_Z!],t. -poFakO[Z:OXI,,?qQ'gEDlfd&qQ'adHtiS]"?`ce@#+`_'9-=tX?;r6Uo^Y8H<?91Un4ZW9nBC* -X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -,?aHs\D!1Kg1S.>VN[^-g=UeSg.^5=Gf3j9Q^*]e@bON0@f"db@b+B$DSfo;`E`Dr!B$;)g(r>W -g<3^SZuOgR9\Phng<`mSaO/_:KDO:'^Or<\g&t+'g0Detg&fjC9`<ZIF0e`oqUu"iWH\<p!^X?8 -pt?"n\6.D;g;1:'qUu(?NS;c[qUu"fSV@'s"AIP'HE@,"'=)i6g.]Dod+[33Rr>did)aq[@=d-l -g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -,?aHs\^d1Yk&&5fYFDPNk2_0&k"t3cJ'VPWT:MD4B]`.RB_pitB]<%GFNnO^cscq9!B6b4jqd%$ -k13r&^3Jf&;!+F:k1j2'e(s/fMYcH:abm2!joeNCk$cg;joXMe;#TMYH+d5:qW7k+Z@;c7!^soO -puVk/_Hl6bk01\MqW7pSQ0-n*qW7k(VMtN:"An7CJ[PL>'>/bRk"s@?gZIX^UNOE8gskK4B7]3) -jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -*Ehgm\^c7gXAVY:Suf"UXJ84cX>!X,XK5!L<c`<\X8kBWX9bdiXK80t<E5[jX8uRci2dEb<gg%L -=fe\eXE\]cUdY3`"G16eXEskG"HKRbB7^&`#s>;j8Y<(d<E36%X8kB^X9=kjVEh*UX9"2brN$*' -=&tR]X9a)Q<i`='DHC6BX9<cdXJJ;[X9!fbri?5bXK5fbri?Q_@]ZXS<``J+UK3gcOT)<_PZFf8 -XGs:c]'e2#LXYejeHa-In)qLUg-U;~> -*Ehgm\D!1Kg1O_EaP,?Ag<WjSg-'75g=ff5D39t[g&Oh@g'H8+g=jhhCi%5mg&Z?&i7\[gD8P#6 -ESB,?g6[iRcrU/""Jp\'g7/(X"LQn:K;8G"#u'(,>ftc=Ci".kg&OhGg'#3.do"Zkg&\C$rRq?m -DJd&^g'F-bD;!XsMf*k;g'!h'g<iprg&[n$rn7KKg=gkSrn7g\IG3C(D/OCJcY^U=\,P(_]PZ8O -g5Xejir@lhL=5Yig'>fPmcqOUfg1,~> -*Ehgm\^d1Yk&"T_e)odhk1X)&k!3rMk2p*\F.&HqjoA6Pjp9sHk2tB=EcT\/joKhAi8tO)F3Wj] -Gin-bk+J%&gfsd?"KmRCk+qus"MX$\MQHg>#uKdH@FaL_EcQI)joA6WjoikKhGrP1joMu@rT43* -FE>Itjp7]'F62QHPB;BPjohBCk1s29joMK@roO>[k2q6&roOZqK]_DJF*)]igN1\`_>`Qu`cL0k -k)JL-li5YgLXYejeHa-In)qLUg-U;~> -*Ehgm\^c7gXAXRIQ_1@K9hV%YX>lD=R]&fM='K_EX8kBWX9bdiXK8@\PESPmX;@L2Suf#R=fe\e -XE\]cUdV;cL1[BcXIfET"J`'"B7^&`#s>;j8Y<)KPEV71X8kB^X9=/PM)1:iX9"2bqlBg6I.s]C -5-"R_!'L+Z"F+jdV*k'[!Inh_X9:YeXC-h_X:e$sXK47RX?<SR4c)XSXK7dlUOfM*X9Q9(f@>Z* -nb^iAa+NjD_!p&EJ,~> -*Ehgm\D!1Kg1R0p^rb<K@UI10g./_a_pr#7DKCs>g&Oh@g'H8+g=k)a]"2/%g)%kLaP,@TESB,? -g6[iRcrSlSWe&^Sg;s9)"OGfUK;8G"#u'(,>ftd4]"5QRg&OhGg'"<cY!KSng&\C$qq;(,T(gq> -:>#O!!)37C"IY8'd8g"r!MP5Hg&t+'g3Tk"g(IT5g=em>g.^5>:9I`gg=jA_c@O].g'6R:hV*_4 -o)%,GbCT*H^@9fAJ,~> -*Ehgm\^d1Yk&%2<bLG\#B4THQk"EX,c/<$\FEs;RjoA6Pjp9sHk2tX9`5H*>jqlNie)of,Gin-b -k+J%&gfrq'[#!Z&k0s=J"P`)$MQHg>#uKdH@FaMZ`5K[pjoA6Wjoho(\4"40joMu@qrRp@VYB3R -;WRf=!)WOS"JM+Ch-'R9!NM+XjoeNCk(0r>jq;"Qk2o.fk"t3e;Rg&.k2sj3fn&:Ejp(/Og!tl, -nb^iAa+NjD_!p&EJ,~> -&6\G`\^c7gXAY@cIVPsb=C(p-#s>;j;3skHX9EYDX8kBWX9bdiXK7g7R]JXNX8u7ViiEoo<1'b) -XH$GbX?<S/E3,j'XFk)cRt(78!G?u_X9:YeX@]&[X8kB^X9=u!?R'^hX9"2bri?BEWiTu`XK6qX -ri?EDXK4UcWH,)A4T;Dk>(WiWG]0[[6`dA^9q2-`!Inh_X9:YeXC-h_X8kB^X:JQpX?<S[?XGKn -XHlqbXDWTjNN<>qmap!Ee+*=c#KMJckJ6T@6@]~> -&6\G`\D!1Kg1S.RTSD1RE-D67#u'(,B#%Zog'<c>g&Oh@g'H8+g=jCq_qIf`g&Yrkin>0uCV\Y_ -g9bkRg.^4eNnVi\g80>R`M*+]!J@0Hg&t+'g0Derg&OhGg'#<<GV,3Vg&\C$rn7X<f\2.Qg=i9D -rn7[;g=f<Ser\V>9`E`TF/@UER>oqJ<SH0M@`A?#!MP5Hg&t+'g3Tk"g&OhGg(/>2g.^5IG^)Aq -g:hLSg5LU:NS4Trs5)Iaddm:h#Kq\dlFuc@6%A~> -&6\G`\^d1Yk&&6&WK$'%G('AP#uKdHCs$2:jp.=RjoA6Pjp9sHk2soAc/qk%joKD1ioV$8E6IC. -k.Z*&k"t35QKHt,k-'R&c`6g'!K*uXjoeNCk$cg9joA6WjoitYIP78fjoMu@roOKPjQ;Q$k2r^l -roONOk2oS&igAlj;#]SdH*6;lTp=cr=m"ktB[Hb@!NM+XjoeNCk(0r>joA6WjpugNk"t3qIXXP1 -k/hc&k*1GZNTLH2s4PqXe+*=c#KMJckJ6T@6@]~> -,?aHs\^c7gQnpcc2gVR,IYFl)H8%HD1P7GcXET5sVE?OpQ27QgLcdCZXI`]m4HTQD!A]&^X;7]g -4?Pj0WG+IWQ`R)j4@#UAF#Z9BDu-OB>r=QYXK7@C4E@M"X9>1Y0Kbg'X9+A9@/?r7F>u*YXK8*Y -4C>"fXDgE'X9jSC4F+$/G!%mBri@##F0)I@>s(BGXK7m@Q)q'(2`4pCXID=7AZ5U0!*B0$"/fBd -JGuVUS23pAN\ij\<.V-1X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -,?aHs\D!1K_*CRc7[r,cTW-Z!RlsG=5c-bcg6\SgdS)et^&$FhX@k`Wg;nGI9XarS!C379g(r1% -9MA::eqHdk^Y7.Z9Ms'gP"/2:N;D68G!e`Wg=if*9Te!)g'#Sm4\Wfng&eQDH2?5)P=IrWg=jbG -9R5.Ag5]#/g'O]O9UXVfQ:suQrn88aP1nX=G"bcWg=jM(^"V1t7RMCRg;Q`ZJ^sbR!,qkj"4MBd -UAijP`^++gZpRM\COt3!g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -,?aHs\^d1Yb=#'$8u(P2WNt[KUd7gR7'At%k+Jg<h,$C6aSP$*[ST7nk0n`m:r*(m!CNaDjqci@ -:f(-Rif-c2b3%T/:fc62RS-INPksMLHq-emk2s9P:mpDAjoj:45u>o,joW1]JGSC<RnH1lk2t8n -:k7Kdk*B!GjpA:h:nd%5Skr7kroP+qRc`biI8Eqrk2t#NaQDWI8k4?mk0Qq$LuJ?q!-S;'"5eH% -X8_5ed7%a2^.(pqEIm83jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gjK&?(r&at2JZOF(JZR+t#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KjOsTur(I*eJ_G\/J_JB,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YjQ6H4r(mBrJ`_OGJ`b5>#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#?gKW\^c7gUA]*8Q?@4gFoJHDIWD4_X9G,7Knc[]rc/!cqQ'[=rc/1"XHIUbL>ApHWa._LDQKR5 -4?S%nRSQ%0M6)n34@YJ0X9,@jJc;_RE]cHgW;<RrOtus:!bW@Kq5aU.?i@&.(d'p?qQ(!=4?QuO -Wa7eMD>L=:Rnl.1M>=4R>&+&<)1an4<1p=oN](CKXCF@TAZVt@0K`46XG])iXGa.a]'e2#LXYej -eHa-In)qLUg-U;~> -#?gKW\D!1Kc2Eb-^6FbBQ2]J=TTRP!g',KYW2eRKrfI2NqUtq5rfIAfg:<?SWnlAEf60h]MqZEm -9MD&3`+2P;Y1gHk9N\e#g&fi-V#K'NOA&>ieb[u#\Ng#G!eVQEq:Yk"Gl?=u+&#A7qUu729MB]a -fQU"_MYc$0`+2P;XngZOEeaSI)5Kr"C<P>bZUB8rg3u^hJ_Jh(4\TJAg9=,!g5FYhir@lhL=5Yi -g'>fPmcqOUfg1,~> -#?gKW\^d1Yf_q3@aIJZdSc7aQWL;H=jos/#Z*`Ysrg<b^qW7dIrg<r#k/3V&[,'j[j*aa#PNLP> -:f+(PcY63S\)tV::gLs7joXOJXo@GcQr$V*i;2R:_aF@a!fA,Zq;q^5J,SL3+AbnJqW8*E:f)Z' -j*aa#P5=;DcY?9T\,#.eG`Mdc)6H_3E7X16]h!k>k(QW.M!!iN5Yu:Zk.+0:k)8@+li5YgLXYej -eHa-In)qLUg-U;~> -,?aHs\^c7gN]pZ7<bbQ-F`M&pXFNEmXK8C#F^l2gIkZ"f1&@sX.W[+X8"W_&=Y'KQ!N2sWX;7X% -XK4OcN`[email protected]>PbE&?q,_HX9:YeX@]&]X9,%q1&\0UWBWYHqQ'a?<aPa+!'L"W -$&G[a5,tW?XK4P\X9<cdXJJ;\X9*6:C&Y1I4KPVlLTIOREFQ#N4KPVHXK5ccri?0a>r[D:Ml[,o -map!Ee+*=c#KMJckJ6T@6@]~> -,?aHs\D!1KZVGUBD2)b6Q'$XOg7h9Ig=k+mQ$s_,TKJL)55Nt>2Ng"W>0:TFE&R^L!S#c]g(r+> -g=f6SZuOgR9\Phng<`mSIBD50F8FSlH<I$Bg&t+'g0Detg&fH755j1;ekf5oqUu"7Cj5j3!)3.@ -$*Dq8:>"4&g=f6sg'!h'g<ipsg&d.FL&Td>9\S3HXP2??O+#a99\S2og=ghSrn7FaG"7,;MqSBp -s5)Iaddm:h#Kq\dlFuc@6%A~> -,?aHs\^d1Y]i'/ZF,b*NSXG;rk,V=lk2tZBSV8-IWBd#F62K^M31;ml?e'(cFufQa!T2qsjqccY -k2oM&^3Jf&;!+F:k1j2'KXU$VH2?Y)J6o>VjoeNCk$cg;joX.U62fpJi`&q:qW7jKEdmuL!)WFP -$+B!Y;WQoLk2oM:johBCk1s2:joUZ^N;hrQ;!-nk[H?RfQ\=M`;!-n:k2q0&roO:"I7o.RMrk60 -s4PqXe+*=c#KMJckJ6T@6@]~> -,?aHs\^c7gR<aNrOFqasXJ84cXHZ[HXK5!cXK6$8U.1u8B)8S8AuS"kD4+/#XChI5!=Nc%X::7n -XH$GbX?<S/E3,j'rN$$;H24NBB7^&`"?`ce8Y>g[!'L4]"%](MW;3LqMI-7_![_]8poFaTCJ_(5 -XF+ecqQ'gEDlfd&q5aUHC&Y1K4KPVlLTHJ>Kjq-b;JU&HXK5c/CSCa/!'Gh6Ml[,omap!Ee+*=c -#KMJckJ6T@6@]~> -,?aHs\D!1K_O@KP[\f@Pg<WjSg:V/og=ffSg=h/4buiDrK)41-K%<cGMS`lWg4K=X!=k"Eg'tK0 -g9bkRg.^4eNnVi\rRq:2RebY<K;8G""AIP'>fulr!)3@F"'`rGebRo"YBTs!!\oJ-pt?"QLM#5n -g7F(<qUu(?NS;c[q:YkCL&Td@9\S3HXP1"%WI<LSBSV@Wg=gggLX#hP!).stMqSBps5)Iaddm:h -#Kq\dlFuc@6%A~> -,?aHs\^d1Yc(_Os^osAsk1X)&k/M@:k2p+&k2qN_fj3FBM>H?@M;hOkP0I_'k)'*"!=k:Mjpf+L -k.Z*&k"t35QKHt,rT4-FUA<pPMQHg>"An7C@Fb29!)WXV"(9\[iVDU:\:4D=!],nApuVjfO)*k> -k,+2^qW7pSQ0-n*q;q^XN;hrS;!-nk[H>/JZ@qB&DNBisk2q/5O4aHo!)S7/Mrk60s4PqXe+*=c -#KMJckJ6T@6@]~> -)HlLj\^c7gXK7.cXK6V[T3[P[XAXgiENDa(rN$*q(cG+`X9bdiXK8=,4?Si,X9!j@i2d]_=JDmW -=fe\eXE\]cUdV;cWc*3bXDIku"GX"ZB7^&`#s>;j8Y<(K4?Pt0X8kB^X9=PhWBdEXX9"2brN$*M -I:.p-X9ao99<5.qMLA=tX9<cdXJJ;[X9!fbri?hsXK5fbXAY@<@]ZY)I=4hkXI"?`;uWiu4FsSl -X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -)HlLj\D!1Kg=iQSg=hjHb&t/Hg1[ODOP3s^rRq@u+%0T5g'H8+g=k&%9ME%sg&[qdi7\saE6[+D -ESB,?g6[iRcrSlSfSuBSg55f&"KL20K;8G"#u'(,>ftbs9MAFbg&OhGg'"g+eksung&\C$rRq@G -Sp@L7g'G-Y?eF)dYF]>%g'!h'g<iprg&[n$rn8)\g=gkSg1\4"IG3C_St9BEg:s5NC&Zfd9S(oU -g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -)HlLj\^d1Yk2s"&k2r:peU50pk&.SgR-%i-rT448+@p/?jp9sHk2tQN:f,+0joMO/i8tg#G1brk -Gin-bk+J%&gfrq'jHZP'k)fR="LI7QMQHg>#uKdH@FaL?:f(<ojoA6WjoiGHi`4t5joMu@rT43\ -Vgu;Qjp8c#AE;n8\>O-=johBCk1s29joMK@roOqlk2q6&k&/8GK]_E.Vl+1ik/sU"DuSl!:k@be -jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -)HlLj\^c7gXK7.cXK6V"8RJR#N(ur9=//?ZrN$-r7\Y$Rq5ak$5HLr^KWM7;goLO<=T5B3N`iHb -4KNdHXJA7cXD`CYX8usbri?5bXK5!cq5aQYri?6T3b'I]q5aUS?Mgf)COGlX!C!O^X8kBZX9<cd -XJJ;[X9!fbri?VmXK5fbX=n'X3Mrl?XK4P^X8kB^X8kA6XGa.a]'e2#LXYejeHa-In)qLUg-U;~> -)HlLj\D!1Kg=iQSg=hiU>^4uVZ"%$DDU2S1rRqD!=O!,&q:Z,*:tjXMW7os!gtDe;E;nQ$ZuOgR -9\Phng<`mSg5VNpg&Zi$rn7KKg=ffSq:YgBrn7LQ8U`=\q:YkQGPg(pLn=@p!D_;Gg&OhCg'!h' -g<iprg&[n$rn7lVg=gkSg,jam8CQ9dg=f6ug&OhGg&Oftg5FYhir@lhL=5Yig'>fPmcqOUfg1,~> -)HlLj\^d1Yk2s"&k2r:$@=RG%]4k\^FP:0RrT479?.kdHq;qtB<T`GuZ0(1Fgu\XQG5gV6^3Jf& -;!+F:k1j2'k*;Y7joL@@roO>[k2p+&q;qZRroO?f9nb<qq;q^fIf&7.OJ_d7!E/"WjoA6SjohBC -k1s29joMK@roO_fk2q6&k!+Q49]"o.k2oM<joA6WjoA5/k)8@+li5YgLXYejeHa-In)qLUg-U;~> -,?aHs\^c7gXJ'f<SZHO9XGpVa<-Y++7uER8Q^:sYPs(J#3;T]_V3O$.XI1#^QU^tU!AJl[X;7^% -NL*MDP$+-<8$%/SQ]b1HEb:YjD>[email protected]=+MX9tto24(;DUP41IJblGXU3T\-XK6!! -QY(iNXDU3#X9i4"QU@dO?^I*Jri@h8Eic?lBpXuYXK7m=Q)q'[E*T!9X@S\E?AttDKj$a>X@&>@ -6`ctmQ^:1CVjB9-X+@@3X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -,?aHs\D!1Kg<>h!a4c5sg9Q%PCREAb>-GV[^qb*H]hZAY8,CpGd_&)eg;5)6^fgZj!Bcn3g(r.< -ZbU5-\T#@">M>^(^pn"1OFb3FMYc$6aE*Heg=fZE^gPC`g'ZHI6bq:,cD[EoU\`[Sc'i@dg=h(k -^k/E:g5Jc*g'Mu=^fK+<Geh*rrn9(uOP8E]L;:?2g=jJ#^"V2`NciFsg0DG/GHol,W,Y\ag/Yr( -<SGZI^qa+,eA+Gefn%k:g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -,?aHs\^d1Yk1H8HdcQODk.H9#EM1t1?b+7'bKG7pa&:+(9D[cWh8`.3k053Yb?k21!C3L@jqciX -]ut6S_fs;I@-4DJbJS,XR#&qiP5=;Jds7>4k2osmb@T<&jpL.l8'BoSg9IY;XSV&hfV3<3k2qH? -bDECak*/aBjp?IZb?EucJ'6#?roPq0R-*P1NQ]4Sk2suIa6)O8Q$h'Ck$cHVI_4aRZ$9=-k#omN ->3=FlbKF5Si6+X6jalQRjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -+'J$o\^c7gXF*i@Brk92XK729:f)RI:h?_l:f*.QC]7-1?M^`0N_iPQXJ1#M:nIZf!EP*;X8o3u -:_$a3XF*i@Uo^Y::fXTuK`4dJJblGSCf!rRXK7mf:kebI!2KNi!1s1k!g6AtqQ'dJ:f(g(X9)9r -F8i6AJRADX$'e=`Mla"::f*MXX8uU[ri?0@:fRFq%\QXgXK6YC:i*57W)-<9rN$N7:o17S:f*:U -XFj>GSZJ1W:]RJGXGs:c]'e2#LXYejeHa-In)qLUg-U;~> -+'J$o\D!1Kg7;hfL"^9Sg=iX6AnIZ\Aq8UHAnJC'M#LudGP^#"Zt<oeg<H+8B#su*!H#%"g&T\& -Ae&t;g7Dngd+[36Ao$,SVuC9.U\`[NLh:7fg=jMXAuYX\!7(RU!6G/n!kDp%qUu%EAnHYog&br" -OoF&8Uj;sn$,'q_YhIg6AnJjXg&ZAprn7F7Ao%D"%a/J(g=hp+Ar56qeRiE]rRqd(B$o>@AnJR, -g88Ioa4e<-AcUG6g5Xejir@lhL=5Yig'>fPmcqOUfg1,~> -+'J$o\^d1Yk,)s2N95(qk2s(`Ci$#"Ckq/lCi$fIO8`qqIJW(4^2.V,k1QM^Ct&CG!HYg2joFB> -C^tgSk,)s2gZIXaCiSV"Yl8G=XSV&cODJa-k2t!+CpNp"!87?f!7Ur0!lSo=qW7mZCi"t-joTF: -RJu=LXag?4$--ju]&r.aCi%8njoKk6roO9KCiKC9%b>IDk2r@RCm!lBi,!5'rT4W;Cu"0gCi$uN -k-&T;dcS^OC]NIGk)JL-li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gjK&?Qr/^oQJZOF(JZR+t#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KjOsUTr3cUMJ_G\/J_JB,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YjQ6Hkr4i<bJ`_OGJ`b5>#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gjK&?5r)`rYJZOF(JZR+t#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KjOsU1r,;YAJ_G\/J_JB,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YjQ6HGr,r(QJ`_OGJ`b5>#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -)-QCi\^c7gXK5MtMheBN9Mqmd9NnN&9VHV.9EItjB`:[2>('(pQ:tqm:]=#kFKC!dHu=M:JZOF( -f;o1fmap!Ee+*=c#KMJckJ6T@6@]~> -)-QCi\D!1Kg=gLSYcHK8@;"<>@<1(E@EXo7@00olK`5BcEh6^6^0uZJAH$!@PM2d?SVr'QJ_G\/ -f@gGgs5)Iaddm:h#Kq\dlFuc@6%A~> -)-QCi\^d1Yk2pi!\[CR_Ao6\aApEHbB%NRPAccZ.MuI;oH)G8TaC^=lC&V]JS*$eaVNZSnJ`_OG -fB*;'s4PqXe+*=c#KMJckJ6T@6@]~> -1g08/\^c7gUg9%N1hplSS!R3K="]ej;lWEN4-qk,QTpt/3M[g$UHt0H2jcUg8"3>ECb,Ld!J?nn -XF[I(XPBl]]'e2#LXYejeHa-In)qLUg-U;~> -1g08/\D!1Kcule96ACAf`P6?6DEGS.C"HUu9><pL^ei"h8C/i+cVhI17DVO)>/b'lLc57d!N*kf -g4@t/g>(Bdir@lhL=5Yig'>fPmcqOUfg1,~> -1g08/\^d1YgjHoa7?*J+d)gF\F?[dJDrY9A:WZ2jb#Ha79\V+Bg/lAX8^'lG?dEN7O?*=&!O0t& -k(2ZGk1o)'li5YgLXYejeHa-In)qLUg-U;~> -%9`,]\^c7gN`rNcRZT`3X<VA.?uT)(>HELU6)T46U.1kuJ#kb.Qq3mOJ#PZ2KUGT:XFL5N!=Naq -XF[I(XPBl]]'e2#LXYejeHa-In)qLUg-U;~> -%9`,]\D!1KZZFjS_miD>g*;6FH&cXFFP<\B;q%Gobui5RU"W1O_->+:U"3&iVnurtg7eN"!=k!< -g4@t/g>(Bdir@lhL=5Yig'>fPmcqOUfg1,~> -%9`,]\^d1Y]m8c&cGNKXjs,bbJ<k/eHKMKi=5U%?fj37!Wod,mb[B#aWo@%:Yg$nEk,SFC!=k9D -k(2ZGk1o)'li5YgLXYejeHa-In)qLUg-U;~> -#[-TX\^c7gN`uC_!'L7^#%rHoLKJS$ri?u'VlZto(cG*iX?<CH8>*&cWB[JcX)pHdHN'uHUoApH -JZOF(goL^kmap!Ee+*=c#KMJckJ6T@6@]~> -#[-TX\D!1KZZH*!!)3CG#(r[rX)F)Arn85ge(WO#+%0Slg.^!o>KbaSekk)Sfoo*'Rf;"Acdm[$ -J_G\/gtDtls5)Iaddm:h#Kq\dlFuc@6%A~> -#[-TX\^d1Y]m9S=!)W[W#)]L4[!%g_roP)"hra(S+@p/-k"su:@+OK&i`5.'jdT(CU]0BVgZ!eH -J`_OGgu\h,s4PqXe+*=c#KMJckJ6T@6@]~> -#[-TX\^c7gN`uC_!'L7^#%rHoLlON#ri?u'VlZto7])&RX?<S!)PF15WB[JcTQ%!64FsSbXF[J) -X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#[-TX\D!1KZZH*!!)3CG#(r[rXgC]Brn85ge(WO#=OOC%g.^4U+NrKmekk)SbDt<19S(oKg4@u0 -g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#[-TX\^d1Y]m9S=!)W[W#)]L4[_>L_roP)"hra(S?/E,Gk"t3#,1bo=i`5.'es5C[:k@b[k(2[H -jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -1g08/\^c7gXDhrp@tBGCEGoNf5@U]\>HFoL.rL`UHnKDY0TRTDOVjamR;XQtXI1#?EEW:B!=Wgr -XF[I(XPBl]]'e2#LXYejeHa-In)qLUg-U;~> -1g08/\D!1Kg5h#NI\X#jOGnkA:jgtrFP>H62iGN+SN;jo4gd&T\0&oJ_MpF;g;5(dOE(9R!=t*> -g4@t/g>(Bdir@lhL=5Yig'>fPmcqOUfg1,~> -1g08/\^d1Yk*D'qKrh_4R$<Nc<.j=9HKO@]3g7eMVEL<65ef1n_BILmc':8Zk0530R!8Pl!>(EF -k(2ZGk1o)'li5YgLXYejeHa-In)qLUg-U;~> -+'J$o\^c7gXK6hnKrhA4G'U0eG(-NePH:j4G'9=ULAl?.IZel<XGs0[Rs&t$XJV&0G,5,=!IC,a -XF[I(XPBl]]'e2#LXYejeHa-In)qLUg-U;~> -+'J$o\D!1Kg=i0bW7ot-QC?OWQCusW]%Yl-QBoGBWrA:rTX^<"g9T8_`0Q^Xg=*I)QI,Wb!LgiU -g4@t/g>(Bdir@lhL=5Yig'>fPmcqOUfg1,~> -+'J$o\^d1Yk2rS5Z0(2XStbB)SuCf)`9-3XSt=6iZi6O.WPb=Hk.K[8c^p`'k2*kST%j8,!Mdki -k(2ZGk1o)'li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -$X)o[\^c7gXK5#VU]%7oA,!&*B;g]h!/(85"`LKD9fuMVX8tLLri?-mE.P*AXNIUK]'e2#LXYej -eHa-In)qLUg-U;~> -$X)o[\D!1Kg=fk,cMcGsIeVOsK%>h5!2f`h"c_6i@8(V=g&XuGrn7CqNe,o8g</+Rir@lhL=5Yi -g'>fPmcqOUfg1,~> -$X)o[\^d1Yk2p/MgAU.6K_OU0M;a?S!3cAu"dS64B2EaMjoJC[roO73Q@\1Lk/ufjli5YgLXYej -eHa-In)qLUg-U;~> -$!H]Y\^c7gXK4P^X9!6bri?0"+-?H&!G89fX;$;GXI2kc<g'P9Aun4rWDK+dXB^^8XF[IrX9Q9( -f@>Z*nb^iAa+NjD_!p&EJ,~> -$!H]Y\D!1Kg=f6ug&[2$rn7Eg-as!-!J8m[g(^Bhg;7CSD7SAsJ_ErOen)hSg3'ZOg4@u$g'6R: -hV*_4o)%,GbCT*H^@9fAJ,~> -$!H]Y\^d1Yk2oM<joLaAroO9#.DYoE!K#cmjqP#2k07W&F2R.CLuq[ribHj&k'O^kk(2[<jp(/O -g!tl,nb^iAa+NjD_!p&EJ,~> -$!H]Y\^c7gXK4P^X9!6brN$$%OT)<l6oV'GKKXWDCTFP;Ccm!DqlCuBBMWJ;G-%W/4Jf-Y=Zh0n -Q`*P><iN1%JNRIJXI;76Ei])=1gXQkAQ!BHW(K1CXK#Yj4CkOm;ER$^XK77@?)`K?HTZ&CXHG\F -A6Q(7?Ta+FTK/3U:oX5k&Qk-r=cK8,BrjOuXClp^XB^^8XF[IrX9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -$!H]Y\D!1Kg=f6ug&[2$rRq9k[f4tk=%:`oVbNXSLtLG6M+j>jqq<62K4KjGQ.j_e9[VSFED3&r -^XZ[bD:[FpUeH5[g;?TXOP0Nb1j=7`J7skpeQkkhg=LXE97GUGBM;$]g=i]'Fk<NcRnSUig:Bsm -Ira8pGYG0lb=K4*A_-Y1&TG24EO4&cL"]ASg4GpMg3'ZOg4@u$g'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -$!H]Y\^d1Yk2oM<joL^@rT4-(_#EI,>>!l:YYq5mO6#HaO\he6qrT)DMe\AaS`\j5:u19nG>P;4 -b2Hl-F5l?EX\a^uk06_!R-"5-1k'ssLMi:;iF>^4k2V"h:ke&kDGX)sk2s-LI,hJ/Uem*4k/:)8 -Km;b?Io*N7f1a,LCZ5'N&U(tPGeMn3N94+!k)#ttk'O^kk(2[<jp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -$!H]Y\^c7gXK4P^X8uObrN$$%OSu6j6)Ufc2K#U'M6(N@XD`C]X<O&SI3NuDS5Z8c;O(IIXAi#t -GFbgdAupPrXFq[V=KJTIEr2ppV&Fq+Io;q>SubtUG]9a^D6.0$XI4C9L176B?*#r$XC-jB?*'81 -T<)CVXCR!c?;>^3I/'cT4KPWA8OH15XD2E^.X\>!HYe87JZR%r#.j6SeVDWDqpbqlKCA!=nCg3Z~> -$!H]Y\D!1Kg=f7!g&frLZi/SYE45`!%TCj1g-gkQGcobWS_B'kqq<72-_DoYGK":Eg1S'>[G#A, -g6]k6Uk7<qK%d+N[W'sSQB;!t1smJC-)#"qCrtCJ\X/?1e;Dt,X4kF[g8TMSZ$"bhMV<?XY]ea5 -,g+hcY1e?&g3@+o_4CAT&PUp4Y?Y(9\(ZRiK/K7Sg74"Ng4@u$g'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -$!H]Y\^d1Yk2oM=joXXj]`$snG/4(=%ThQMk"(]uJ%4X'V<4#:qrT*I.B"hoIF)ogk&&.a^ZKKM -k+C)aXbl2AMWV/n^inl&Ss]E;1u0CZ-`V%8En'5m_k<=Xi0!/Q[H>`0k-K^&\pWX3P3.;'\pWY[ --Iq7.\)rCLk'h$:bGP's&Q%WP\RAZR_<-`8M`@Trk,"2kk(2[<jp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -$!H]Y\^c7gXK4P^X8udbrN$$%OSu6f6)Ufc4KPVkM6&*(49.SBX<*d)P#dHHK-NK@/Tj=[XI)hc -Ue3a$Aun1rXK7ImL&S.R4Su37V*ghHQ;W_b4?P<9Sl7a:UTBhT4ADZR8iJjp+KR],XC-idOK>NT -T<&kl4?63=?>T>:&pJ;rXB(LcJnD*cJ:ME_XK6DcJZOF(bH(oZmap!Ee+*=c#KMJckJ6T@6@]~> -$!H]Y\D!1Kg=f6ug&ZT$rRq9k[f+ne;q'IS9\S3FY1bW09E7ibg)e+@\S\NoV(GA73L!Fqg;.@S -csBC+K%`uOg=ir_WW(TO9`*Nud8\1n^[email protected]_=FHcJ$*@9OcE'?:IU^.,%AKg3Kf=[bBG? -b1[q29M&dKG_u.J&snX4g24CSV1I@SU8*O9g=hUSJ_G\/bM!0[s5)Iaddm:h#Kq\dlFuc@6%A~> -$!H]Y\^d1Yk2oM<joL+@rT4-(_#<C&=5W0&;!-ni\E5XI:]OGkjrVc]_fNA:Y:i^K4IfI7k0.T& -gga/CM<7ask2sF3ZMrtd;#BB0h-&3:a_eaA:f'EAe8J/ag?-Uh:[email protected]('m`_<0lg -e`IuN:ebZdIZa?d&tkQQk&\K'Y))6&X/qD[k2r#&J`_OGbN9#ps4PqXe+*=c#KMJckJ6T@6@]~> -$!H]Y\^c7gXK4P^X9!6brN$$%OSu7>6)Ufc4KPVkM6($?XK6cMXEo;rXI2hH<f14K=Jr6aO].UJ -B2G[0PH7VnXDW?cXF#S2XK7.cqlDNK6_6o9;O^^]XI,'6P,tHIXG`UMNE`K,F0)HiX?<Sc@#05H -XICZ2XAtIcW.:sUM>XFUArutm#\AXiXB(LcJnG"`#-(ggXK5ZcrN$$LGCciHXO4*R]'e2#LXYej -eHa-In)qLUg-U;~> -$!H]Y\D!1Kg=f6ug&[2$rRq9k[f+o=;q'IS9\S3FY1e-'g=i(Ng7"Veg;7@1D6J/rE7EUR\7rb4 -K4WbP]%UbJg5DHSg75$jg=iNSqq<dP<6/C[BZ4l7g;121\_>D2g9ATNZZFibP1nW[g.^5SH**Zo -g;Ghjg2+@Se=tZAY5HuSK"(^4#_8f+g24CSV1JX"#1mk)g=g\SrRq:GQ\!kAg<nUYir@lhL=5Yi -g'>fPmcqOUfg1,~> -$!H]Y\^d1Yk2oM<joL^@rT4-(_#<CS=5W0&;!-ni\E87Mk2rN&k+ej:k07VXF1H_>G2VN%_JdTZ -MJD9n`TCunk*)S&k,#8:k2s"'qrTWh=jpm&D:!CXk01T\_rf`Yk.8t&]m8b1Rc`b/k"t4&J@;A; -k0H!:k&JB&i2c!h\GYIiM8B/Q#`#VGk&\K'Y)*)>#30pEk2q$&rT4-\T7Q-Uk0`;qli5YgLXYej -eHa-In)qLUg-U;~> -$!H]Y\^c7gXK4P^X9!6briA:^.Q2OQX@+?rL4ggdTdrR5V-Z8HN3&j2:9:Nq."<[p/"i1o4B8&G -;*8GeXI2R@@kFRZDEL%(XG/i"@]0+)10l2X-\*V4R79;7SUN4S5F&<c1d"?uXK6S-4DoftBq[%F -XFE?,3M3CG<BNO4TIVj?ri?0n&9[rQ%;q!'XI2R@:7\Jf5!G82X8uRbri?0u4@+P"JZR8##.j6S -eVDWDqpbqlKCA!=nCg3Z~> -$!H]Y\D!1Kg=f6ug&[2$rn9PN2+3ebg/fq"Wi%G'bVrVWd<J>YZ.dSi@bTOM18-Os2Trg49P_hm -Ak[beg;7#eIQ>j1MbHg0g8[h?IFJ)I13P=I0qpJ?_,sBBaIkXh:qbS<6;1\'g=hfc9T,f#L!2JV -g7_2L8BTZ0CeR^?b;VbNrn7Fq'pS[N%?.FCg;7#eA&m<W:/8M%g&Z?$rn7G&9N-MrJ_JN*#3,[> -g4n&Hqq;:uJaVg;nC^*X~> -$!H]Y\^d1Yk2oM<joL^@roQC_3(T_)k$'Q9['26Df/d1!h0r0s]B7m8B]eGq26&U63S);Q:iY(8 -Cf#q&k0770Kfn5SP>G)Hk-Il\K\u[h141j[1oiOYb["%[e#>Q.<QO<`78RI=k2r42:m8.<N7^0q -k,M6j9\&:VEDT]Wf/cBiroO:3(7b?c%?n6_k0770B[Z&*;cCa9joKh@roO:=:fi51J`bAB#4)<B -eVDWDqpbqlKCA!=nCg3Z~> -$X)o[\^c7gXK3mSV>dOsN*PPI!H^?jX9!-b_lNp-<Mf>h!D$hhX9,+sS,TJjJMF'RXF[J#X9Q9( -f@>Z*nb^iAa+NjD_!p&EJ,~> -$X)o[\D!1Kg=eE(dJhi#Z?59`!L-.Dg&[&$_qG1/Csqt0!F(-Ag&fQ:`W"QmUd!:Zg4@u*g'6R: -hV*_4o)%,GbCT*H^@9fAJ,~> -$X)o[\^d1Yk2nXJh>ZO;]R/i(!LujPjoLR@_r_$FEo$BM!FU`MjoX4Wd/N//X[:ork(2[Bjp(/O -g!tl,nb^iAa+NjD_!p&EJ,~> -$X)o[\^c7gXK7SFWr9"!RHL[OU@PAfJil/Fm]6D*r&at9hQ-fS4AVU@X9"fjm&U5eSGfMiV4`C@ -JZR5"#.j6SeVDWDqpbqlKCA!=nCg3Z~> -$X)o[\D!1Kg=j*EfDXD'_WTYQcLTZkV+aRUmb.Z!r(I*nhV&'A9Ou<;g&].Dm+MKk`r4TldE@*p -J_JK)#3,[>g4n&Hqq;:uJaVg;nC^*X~> -$X)o[\^d1Yk2sRqj8J*?bie-gg%+8-Y#%romcFM4r(mC'hW=oR:heJOjoNfgm,e?-dJ`2.gt%&= -J`b>A#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gq5aUh=Pp1\F?0/u!0clQ!J,C)X9+k?QLCmZM^5=(Sq`R$X9"bpr2]oVGk8!;X%`/e -#-3K7XH/+3l)XuYU7A"MX8nIAX9"WdrN$!_r2]s`XHWXb!EYnEXS&Y!]'e2#LXYejeHa-In)qLU -g-U;~> -#$LBV\D!1Kq:YkkDr97LP=bT(!5%^R!Mbpkg&f2L^$jYZYV"M]aJuuEg&]*6r7V0=R.K#4fO4@* -#2-#Yg:"$.l.Q6\c,S*$g&SbBg&\q=rRq7`r7V4ag:R@<!H-&2g@a/(ir@lhL=5Yig'>fPmcqOU -fg1,~> -#$LBV\^d1Yq;q_-Fl2<^Rn`_@!6+Eh!N_j'joWjfaRA6q\hN4-e$I0djoNbSr8n#MU%@CIjCRuG -#3E2"k.n=Yl/i)sf[8FEjoEBXjoNT`rT4+!r8n("k/I>^!HckCk4Rj@li5YgLXYejeHa-In)qLU -g-U;~> -#$LBV\^c7gq5aU8H/>V&4Sc&Y4R]?O4LhHn<g)mP"[8rfOBP6GX8uLbr2]pCEV$74X*jQ@#-0op -XD0;Wl)Xu&I:S$&X8kB?X8tnbrN#u]r2]r^X??K`!HiI7XS&Y!]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1Kq:Yk/RGQWt9_mBB9^g[89XrdWD7T)g"]!_([W5[Dg&Z6$r7V1<O7V'+fq.ii#2)c] -g4hT-l.Q5qSpmX0g&Oh(g&YL$rRq6Fr7V3Gg._M"!L/aug@a/(ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Yq;q^BU>G#4;#05R;"*NH:q5WgF2[M/"]FFD^j'>YjoK_@r8n$QQh0>?jeh\4#38\m -k)DINl/i)/VhMDIjoA68joJr@rT4)Vr8n&Wk"u'>!M#U0k4Rj@li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gq5aU8H2al[Ilp7hR?Biu;4W@a@m!qiFXpZYA#]@,(8kP&>rA^W=$/U(XF_0L8Z]"Y -7QaA5poGc(XK67l<\dTBXI;mHG-%KE4CKLcSl7a9OK>O54@hi,P!M3-SbfE&Ug#rj6EFrb4Dq6! -5tO1eX?KHG4H0-<)HL0,9UVuC4Zl`:I3r>a?DX`D4ARQ/XK8$cri?3e76H7uX;G-$XK7RO4B6C& -Wan4pU37T%P9O&/M*"6,X<Es'4C;U"P!M3gXDMWHRSKrL7QaA4N#uXSAgXUW?p%_kqQ(BHI:S#4 -V-Q2l-%DOd4?ek.Hkeb>ri?iT4A_Q%*b_X%*ccTi4CY7%*ef:hB`"k;P8ZABW2tXe4@fCP!^*PH -ri?-CF+LFcX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1Kq:Yk/RJtnTThJZj_RWQ<B?-o#IS=e-PW!SVIFe;L(=[Y(G!k!-DbNj1g8,]]>h[oF -=A3/@pt@#fg=hHID*Vi;g;IGoQ.jT,9RJIeaD"=E\(]Q09NtN5\Pl16`qnC(cZ;d.;qd"#9T.V= -;I)tfg.l3W9X4HJ)Js^m@)CX*9h]BGShPF`GLG3-9P$6:g=jYSrn7Ie=%oOeg)+k;g=j)99PfdD -f7-J6cBT`C\gqXOY"Mstg*+7;9R)!>\Pc,*g5CSo_dhE6=\N5?Z7(;QJM>g-H;&M0qUuX>SpmWl -d</-00;6L&9M`+NSJk14rn8*K9P)5C-A1$B-BO`k9RPBC-E3pjK_sI0\faI9e_6o>9NqGL!_h<A -rn7C;P(D?[g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Yq;q^BUAj9iWDHu*c,3UZCsoO?Ki!$JS2kjkK];mk(>j[>I7NGOF\koIk,o\#@HQ^m ->u5.XpuWl!k2qgkF$jnOk0@X:S`\^S:kCC%dr/&^_<0m[:gdJN_cKZNdJDu?gNl\L=QYZ@:m:$[ -=(5"(k#6%r:qQSd)KU@(B$KJQ;G_DaV_`j"IGO%R:hi/Sk2t0&roO='>Yq["jqr?Wk2sTa:i_ob -j+^BSfpsO``%?&m[npH2jrqoW:k+/\_cK[Gk)tX:c=l@]?;P4X]IJafLbe,MJ5C[MqW8KQVhMD< -gjDqL0ri`B:fG0lVArEHroOr_:i"Ia.#[5a.%$f,:kR_a.'g*+Mu2WC`$.fMiT@?a:ga4a!`8#U -roO6ORXsVojp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gqQ(X::me>cI;>pW0n3?(XHuec3/"A?M6&@iX@T#]X:8QnXG\j8S<9nS4KPVHrN$-Z -U9&oXq5aUDD>pU[/!26E4K)/HXE/MhN3%alXI,9SUdV;5C94'`Ip&\NQVmU\'jH[!L,WjqXK6_b -RP:A84KO0!VlW#WX<L\XXFb&cJubtgI&o/\XAtI)G-%&XWiW:o8Z]"^=/2j/K)2Q4SlMGbQ!'uc [email protected];X?<Sc8tN,cW]dGbU/[_c?sJq!VlX6^D0B*5:99AJXFk)c5^b\F4KMqHXGU<[X:g_c -OI`IYMl_[kXI,6RVF%Ac4T2>rEHeLO:old\B<44sJZPqFSZFrTX??<[!D/p^X8kB\X9*sSJc;_O -QVi=8orJA/map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KqUunAB#33TT82.C5G<)Hg:q:S8#Y-dY1c"Eg0;btg'rA0g9<fq`ja[U9\S2orRqCX -cJ#(Gq:Yk=MuMER2RkQU9\!dog6.\BZ.c3Hg;(DUcrSknL>'g8TlAK7^h3Gs'm$_8WCDZ8g=i$S -`&u/q9\QC>eCmUmg*1Bcg80ASUtOIXT%ZN5g2"<^QJ0//f\5'$?/"#NDU-seV>An0a_]/S]l;HS -@#s#kVqSOug.^5S?-1gSfM:/Sc"bASH?Hi>eCo/MMjACYA(n03g89DS;4^CV9\Ofog95\rg(M!7 -[`@*EZ.c6Hg;1GUdT"rS9`<Z[O-eS:B%fr4KA'#QUY=F.aP'>Ag._=r!F<hGg&OhEg&e&'U]/sJ -^Lr,Op"BW0s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YqW8aYCWtr'W/p)l6E57ek/qN&9<mW/\E6#hk$Zd;jpcmMk.*kAdD=u-;!-n:rT46n -g#fDnq;q^RP5aSe3Q!_p:uH39k*hfe]B6Ikk0(g-gfrp>Nonn[Wd!@_b&$q:'mdOTZUp1Uk2rJ& -c9TnA;!+u[i9!l4js"l'k,sO&XlSW+VWL@Vk&JA-T'"6QjQ>US@clguFP>l5Y579Ee8j.&a*->% -AXDP6Yi`]Ek"t4&@asQ&jAP.&fPo@&JU>@[hr]EtP+Hp"B]cnYk-'R&<MrTp;!*;:k.,p:jq>VW -^sV:l]&pCjk01j-hH8q&;#TMkQ_3E`CZ\IUMWRatXQJYUe)jKhk"tm9!FjRWjoA6UjoVXHXT%>_ -a_cUkp#ZJEs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gq5ap?H`X;VLod\VKOb"_$p:URXK5ccX?<Sc8>,j]!'L7^#s>;]<'39(XK4P_X9=YR -4=t1@X9#:bri?JiX?<RHV&)6V4)R1[X:@@oS5;=.7''gPXK8@S@fEG/4Sl,Z4T;DoW'R>_XJ/1Q -:9:NZXFk&bX???\,$'l.JnD*A4Zk$<X?<Sc<Kg.HXK4UcXK8$cXK7I)4?PZQqQ((*>*#b?@B?PS -END+u4=`q'MI)'HX/rD&4fk`S9rtFsWIuKY4?A.4H@&gjXHH"7/nM+LW'%.DX=sQ8!)E3g!'L7^ -#s>;Z;*6m+XK4P_X;+De4?PR(>`:e1;lk.)4;sclF`VSHq5aTgTDbhk4SGiWGB&28orJA/map!E -e+*=c#KMJckJ6T@6@]~> -#$LBV\D!1Kq:Z15SD)\BXkMLZVgeX!$r#AKg=geSg.^5S>Kcot!)3CG#u''qCJ7Dng=f7!g'"oe -9K@_#g&]c$rn7`Rg.^3od2bnS98cLCg($g1`F_e7<n_o$g=k)UI/_h"9`!HC9`E`Xe5FcLg<Ed= -@bTO0g8BGSg._@s,&OmEV1I@(9h[43g.^5SCV+#ng=f<Sg=jYSg=it_9MA'MqUu>1EjaW%HeR2? -O4m&%9Ij<#YBR$pg"P04:>4F@@G9Gfeu1,n9M)1@S"4V1g::9Y3e5p]eP+[jg-#@.!+Y]U!)3CG -#u''mB1tlrg=f7!g(e!a9M@q0Fg4WRC"ehG9HhL2P`h,oq:YjTao0on9_R0@Q]H^Op"BW0s5)Ia -ddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Yq;r$IUupfi[cZ`2Y_E)=$rH(_k2q0'k"t4&@+P5;!)W[W#uKd7E)9A*k2oM=joiP* -:csU1joOI@roOSbk"t2:h&fHi:QnWSjpk5MctcHO>NULEk2tX.KDt!5;#9;S;#]Shi)eguk1O(d -B]eGRk-0U&k"tp:,'1]bY))5N;,B$Fk"t4&EQ)S:k2oS&k2t0&k2sH.:f'obqW81IGe`CJK')3g -Qf^m=:b,l7\:1f:jlY^d;Wd,gBBJ@;iit+4:ee3XUnr?Mk/1G#4br0"iDAZ5k!/iA!,2&f!)W[W -#uKd3Cf!i.k2oM=jqVH!:f'dHHb3+pDs!Wf:a=HOS=5h:q;q]eeG\M0;"j#PT9k,kp#ZJEs4PqX -e+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gq5bKQH*"*1<i`9?O]%sTLg[;HX/oWaX?<Sc8"fa\)L68%F"=>EAZKB'XK4ObSoCc2 -PH-ZTXK7.@r2]l\ri@8*X?<RHWEbIaST/[nX)'PmG]9]f6`cGOX/g6&;kg=K?i$i=EHeIa@u"Kn -X'^^P9rtEYXFk&bX$$6[-<651Jn;#JW2M"iX?<Sc<0N5GX,@^mXK8!bX/r$rS?%^$XK4L?rN$Z9 -Ni\jOU8oncXFOubX(/6)<(E/OX=C55X/r1$PcL*pSl2>aLkfhnX=?uH=-9OEA?8"o4KCTGH#Kaa -A#ubG>ktHKF*4O#0s#\=X'J&nX?<PNG-$U-X/fa3V&*G]LTEV=P8^!nRSHVHq5alpSuZA&X?<PV -DY^@7F`[M_!I7@iXS](']'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1Kq:ZaHRG-B*DV<^'\7j1@XErSog"LYPfhC,R>KZis)OcW<OuD$kJD#HEg=f9Sac>(k -]%KT)g=iQ&r7WGjg=k4Rg.^3of6+IRa,lFKfnhrIR#]j@<SG!#g"DFrC!PD6H2?50O-ePQIB._J -fm0a<@bTL/g89ARfhD7r->^6HUk%/qe^Z=Dg.^2RCV$cofruFIg=jVQg"O_g`n@bog=f3&rRqp* -[+`Z:c.P1=g7s>SfmVT!CKe=Kg+(]Kg"Onp]\1&ea_9#RXK.5Ig,<HpDR\:kJ(d`K9\E+mR>onQ -IG3D/FSXW<P*FXX52)Hafl^6Ig.^29Q.iHcg"Cf-d2dE\X4g8#\fo,J_dd2pq:Z-]aOu!qg.g8D -Mtu'-P`l"!!L[>HgABS.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Yq;rT[U?:UUFQMVM_J\)h[XdL:jlV$$j\Y($?e,&9)PWJXRQ9K5LZO:ck2oP&e<T0: -`8sXJk2s!Lr8o;%k2tc%k"t2:j*\Q%d[-AmjcMpmTU+\b>3<_DjlMfFDqX6\JGSCCQ_3C$KXHEn -jaXbbBBJ;PjfaF$j\Yg9-?@#dXbZ%=iScPhk"t1%E5]>8jgcDlk2t-%jlY6;d,i$Ck2oLMrT4c< -^?3saf]>;_k,aL&jb2dKEF6Z`jsoChjlYED`oY=8e8F"%[Bu*ljuI,;FMd-7L?;Lo:utO8U6Od$ -K]_EVHMQ\NR[iK&60=r,ja:1mk#(6aS`[M3jlM0Xg`Lts[,t6I`$<^mc=gn:q;qune)c8Fk#(6k -PPO>AS=9E=!MO+Vk549Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gq5aU8H2al[S39#[XK4iR@'##EC8!dbFZk#54^@ib%XC3Z:3ipU4bGtTXJA!Nri??! -4bZ%rX@k/CX<]p0XDU1O6A7R[XBIb[XK6G*Hp"L3@m,N/O0"m84a4!/7Qk,RX;,_<4f#094["b* -=?Vsm4aBU^Uh2cGr2^m-4]AFQ4f,5E5_;FQ4`HiQ;ll'D?"IKHJNZ.gri?>u4^"kfKb]LDX8uLb -ri?Pu4bZNGsPcUs+<rT0&M*4!hri?0#4]23[*^r5"W]`_NTPpp5:-F:oKfrjQAmB,QGs+<[ -XIUqGpoFsH4aK5lXCOJJ4cZV84\u'Y'9>:>Krh18Kft[%R6=Pe>-+fYAG</176RTNXJS-OpoFL= -F8i6BVEI4rXS](']'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1Kq:Yk/RJtnT`_B0pg=fY'HJ58kL<NA$PYIRV9m$6c%[p+V@[c#+9r:ahg<`Q"rn7Tc -9rUk8g0Zl<g*BAGg5A\"<2`Qpg2]npg=hZ`SP7bkISHe9[bAbr9paSf=A=)9g(fZC:!hUr9hhnH -E)"'29po9]d"+omr7W./9ki<d:!qZj;5I?d9od+cC>--kG(>"pUeOQirn7Tb9l\n@W#Mr=g&Z6$ -rn7fa9rUk@g7h;9]\;)$D>r5kY"_Virn7Eg9kXIZ*`l'^fM,B"bDk60@nipsWD._dJTZb%R8$Dp -g;c6opt?4@9q+i1g4)hr9siWr9kF=X'=LV0WS5irWD1"Y_+ea'En]6FJ+qY%=A@?"g<r]"pt>b5 -P5a/:dS3YkgABS.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Yq;q^BUAj9id8<c6k2ooGJEF(5Nn7-@S5Gut;1&0%%\cgjBVOXL;6Ns-k1igCroOGu -;6j'Uk%$UPjs3dck*&ZC=g:l7k'9g7k2r(/V,6=:Ki,-Q^uj'B;5!(6>u?.IjqX4[;;:6B;,Osf -G#?>N;5.Msgk\h8r8o!F;/bT*;;LA6<N]T*;3oL)E9=u6I><I;X\hr*roOGt;0V0bYoU@QjoK_@ -roOYr;6j*^k,V?V`ocEMF8k;([o$"*roO9$;/Q<p*aDQnjAB+Ces5C[BMl'4Z;H4*LjP3FU/=e7 -k0cD:puW'T;5@%Nk(Za=;822B;/6*m'>RIBZKC(BZ;JX(bY`DDGin.mLA0g8>uBSCk2&sCpuVUI -Rf;FNh,.7)k549Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gq5aUc<9UC`Vu3=jWp-Sc0V&'B!I/bZX9>T"UhPDKX8o6tU]@@YXSejoV;83R6Ak]B -!L$^*X9+&JWVNUuX/)P+JE!X6UcG?SXJYok!3>Ri!E,EdX9+kQU4KECX9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1Kq:YkeC?X@Oe,7MlfBLui4iR?Q!LT/Eg'$'Sc\8._g&T_%cN)M\gAK7sdG<LW<3Q5R -!P<Bjg&e0Zf(n#&f[%luU>jl1cq)X>g=#oF!86hp!GKFNg&f2cc%4UGg'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1Yq;q_'E9QEahu)4/j6>\,5g]Gk!MH"Ujojc"gPi6&joFE=gAp0sk5<s6gth)n=Le:k -!QB<%joVeuiq_^>jP/FLX5`7FgJ$Mek2-$j!9N\3!H-6_joWk)fR`2^jp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7ghQ-]mr'UOKe#WY?6puOmX8n%R6i_GsX8o9u6i^2FX94q[7"4*r"\D*rXK5e,6i`j1 -XPp5b]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KhV%scr)Wm0e(OoA=')*`g&S2O<reTQg&Tb&<rd#pg&o;q=.eI*"^G,_g=gfL<rgBo -g>U`iir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YhW=g!r*'0?e)gbX>?e,qjoDge>6(;]joFH>>6&Z%jo`t7>H$NC"^tVok2q0k>6*3) -k2GG,li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQ_i!2BCm!M-+YX8nuTX8o!nX9#>rJZS^L#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_Iup!6tGq!QNUZg&TBXg&TCrg&]jPJ_KtS#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`ai3!8.53!R]fqjoF%ojoF'4joOPsJ`cgk#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZQbj!Jk.]X8t>$o;htm4nPf[X'fM?F'tR'X94NMN10.8!.+1:!gR/?ri?0Z@"n0Q -!d^qori?-#PQ%WbU/db8XS](']'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_J#q!N^VFg&Xa*o@a5t:A!6EfQr)%Oa>(4g&ne!Z,H%`!1WN4!k`iLrn7FXHDpDg -!h7o5rn7Bh])LCbc"tFOgABS.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`al4!OdRWjoJ/BoB$)7;Y9)UjFE$JR=N`Mjo`EA]?fm,!2T/I!loheroO9mJ?nb. -!i4tSroO6%`;\m#fQ,Dkk549Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQbj!EtN_X:pnaG&aUbUQhCPTp27KPaebNP_T.<+.8@hTrb>]PcLic(nQ=BV6$&K -R]N?MUm7^@XK8+[T_YYkCOK`Hri@B4Pbb%TSWoD@Wg'<DR&mB]1mFK2XIPl^Pc(U]Pa%oDXJ(D4 -ri?0kF]87?%@36ZXJD/`R\-[_4KL[EX9!HbrN$$+MLhl+X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_J#q!HPRHg(V66QB0bRcFh9QbIl'J]YrOO]W(k`+2Y\;bhCdb]\1tU+3:9RdFuFL -_qNPOd(Rc>g=jc`bPBioLn9'orn8X5][4sXa1T+>fY#SD_:mVb6+k1jg;V.b][PTb]Y)MCg<?Tl -rn7FnQ"p9O%DKL.g<[Le_o^Wd9\N2>g&[G$rRq9rYCYF)g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`al4!I2?XjqGkVSsSU%fuDP(f>cG"`m<f&`j>X++3hg[fB25;`oZ<(+k*Slgucf" -cK<s&gW/$hk2t:8f(nG1O/I]:roPKL`nT2/d`0>ij2Tinbi\';7E3^:k0VT;`o#q:`l?Znk1@"< -roO:0ST+Pi%EZWOk1du>cID"=;!(URjoM!@rT4-0\:Nf>jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZQbj(g;s$XF4&I4`RR%=&`4hJK9?0,\='=;a(,]+bs&s7pN-C<)dq?D/_t5:99%H -<)nd=+&s=_,HRY@<*#[gX=J(7A;%%cJQ,T8B9Q=p<-Y5n6r[-=XEkmdDQKpT6Z,k4XCbF2<i)n! -X$-E_!L-O^X:BVW<-,.",)TB$S#e`R4T;D_F`[M_!FCY7XS](']'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_J#q(im";g7E%o9on#YDJF%+Ua;kR/V)QaBhnZ]+ffBn>'8PiC2/pcMiLrXA(mbp -C29u`-Yt)H/DABdC2M,ig+.uNI]1uSUha^DK"Gi6C73I4<bcEJg7'C'N8!!A<JtU?g4=!RD:.(k -fhMG!!PE1Hg('ZgC6@5U/$E`*`7do=9`E`HP`l"!!I(_ugABS.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`al4(jNdWk,30;;O?P)FDu<HXXC9p0Sef,Dc6Ss+gc6.?[Lq3E,_9.P*TG"B]cI; -E,iD,.<6eX0BUu0E-'S+jsuLjKsBe&X`8;^MT'UTE1u)Q>B"Sdk+jADPNM"g>*EoXk(mtqF5?!@ -j\c!=!QT0Yjpn8-E1,k$/\,kBcfS'd;#]SXS=9E=!IhP0k549Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQek5+YcKXGpPdXCZCQ9RDbL6EEhNV,!_cXK"FbXI`7cXFG#D9oG!3Hu4.;G>>62 -NK%^bX?`(5RQRZBI>r\FqQ(O-UnFQcPujocG'$3JXK,ib@WSW3=fe\erN$L*(OW<PB7[.cS4p#c -X$-E_'9lFsXGfl2NE:M/2I<5PVQ?2eRJs8gR8<d_!KgH7XS](']'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_J&r50.Nag9PqSg457<@%=Ns;qbU!d::DSg=T0Sg;mjSg7a;+@^*.TSr9"_QXeaj -Za,C;g/5RW_bAcgT<b+lqUue1d*'kk]l)BSQBGCqg=^qSI?N<lESB,?rRqb/*hD$%K;7/S`F.ER -fhMG!'>/)6g9G(iZ>Q5e7!I&$e(V[m_Z&6i_IWW!!P!#ugABS.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`ao551=N(k.H-&k(f;cAYm&?=QX/Bh.YF&k2]G&k0n,&k,OHQB=YZrVNRX(T4mB9 -]tBD]k#KJuc;<Y2VnB!7qW8XIgXb3Ca*$A'Ssj!<k2h<&KUV&<GNS$arT4UF+/\2FMQGt&ct;G& -j\c!='?>(Sk.>69]QC"48:B:DhWE)Fc2Qi+b\I+=!Q&r0k549Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQbj$<iIkLLI9cGB']Dr`]P<XGpG<@fEG4W]dGbRn`j_!JE?0>8*-9HAbEkXFFDX -7V/YdW'%.DX>Bi[!,M8/!K^F^X8kB^X9iWj@YLnE=fe\erN$$r6iO.f>)rT`"?`ceX$-E_"dDre -XG&M1>69qg4SGiWF`[M_!FCY7XS](']'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_J#q$?EN-X*`RSQ]KijrcA<pg9Yk"IK%q(fM:/S`F8`!!N8BbF;)0BS$670g7`P/ -=Ff+&eP+[jg-P^[!/U=%!Om"Gg&OhGg'NM+IAtr.ESB,?rRq;"<W:\QEjYi""AIP'fhMG!"h\U( -g8RF<F98r*9_R0@P`l"!!I(_ugABS.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`al4$@';I["@H&TU4e6rd"a)k.Q&GK`:*;jAP.&ctE=>!O5/oH5"/YUq1)Mk,ETO -?&.QBiDAZ5k!]2p!0?g8!PrpWjoA6Wjp@'HKX0aTGNS$arT4.9>5mXbGeX1>"An7Cj\c!="ikTE -k-@JUH31tG;"j#PS=9E=!IhP0k549Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQbj6!B;MVdk41/Q]$A=bVQ6XJf#PUTCPiKJ81_Wc!!6GBg#pJ;%lq<FMsr:982R -Kf2\t0onD[3L,b5KnWg6XA_C[X>m1nH\HNjI;=Og?_^;2XEI%1X@n7cKrg1hLod\P=G;H6Q)pX4 -08HX1Rr^lSXJ]QXKl2X:/qp%pX9!HbrN$$+MZ'UW;a>o8#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_J#q6#s?de:+*j3H*WgEN,pYg=9k%ce@*rV`_$6f8Q#pQ^H9NU8a'NCO=c8A(l[' -WC17<5.+%q8\MZXWMt'pg1aI\g,RZ;S#MODT89JCGgBfTg6Gagg0^h=W7nLCXkMLRE2fgY^"UZ. -40.)h`0+$(g=1PEWJmju4/pO#g&[G$rRq9rYPm/UC/KQ9#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`al46$U-+i.\2:4E]f2GI"N"k2C2Fg?.PKYX#VYj-6.@TV14qX0RqqEJ!=VB]b>H -Z:JZY6GH=89ut5#ZEeo@k&+5qjuD=YUp?DgW/n6fJ(eLrk+,c7k%1i_Z0&Vd[cZ`*G-\E"a6(sX -5IBS8c^InHk2:omZBMWD5-il:joM!@rT4-0\GbOjDcMAN#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZQbj!EtN_X:8lRP@L\qO(2[iXK7+sri?3e@q00NX9*EPE;lp[BOc@h@qVm=KWM7m -A!:Dd@s`QOGCciQ@q246PTFl>X;GeaFf_Zm@qDa=@r/5cA"p&m@sP/WH"1RfX:Lq5@uRLjQ"+<9 -XK7@j@rVFK#AI[oXHI('ReWrbF`[M_!FCZ_X9+V-EIk1q]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_J#q!HPRHg'raa\p`;d[=*JCg=iNhrn7IfI=6_Hg&d@aO8diSKRK?CI=p8#VqTj` -ICaj<I@H_!Q_`?=I=9>n]-`X6g),]qPhOi_I=U&#I>Q[<IEgK_I@8gCRXKnhg(2>SIBqS\]mY<\ -g=if[I?+<\#D@Mog:;W[_t_pdP`l"!!I(aHg&eo6O+H!hir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`al4!I2?Xjpd<'`.[:8^P%9fk2rt<roO='KS53]joUp'QN$"fMhIkdKSnpIYib)3 -KZ&P^KVYEBTWR@eKS7t>`[I5Kjqs87S`](4KS\dIKTP>^K\>M4KVIVkU4eO*jq$!qKY6I0aFo5' -k2s:/KU2W"#E4>2k/2k*cM6N&S=9E=!IhQXjoWONQ\"9'li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQbj!N';DX9+B$X1,/2?`<t*!ha8,ri?0]E3"Pk#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_J#q!Rc;4g&eUAfsfZ9Ggu`H!m?;Lrn7F\NnK!;#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`al4!Sr=FjoW5_jgX@QJ)L=g!nN=iroO9rQK<\[#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\Z>gqU4KCsXF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(qc%4T"g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Nq2fn&::k(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uYt(+H:rRJZOF(o;i/-map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%R5+.'eEXJ_G\/[email protected])Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&j(B._L>pJ`_OGoB$8Cs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uYsD>E+38JZOF(o;i/-map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%R48FL$JOJ_G\/[email protected])Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&j'KHG"gkJ`_OGoB$8Cs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z>g9NIe0^XF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+Z@U_\g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]Rf3rk(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NIe0^XF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+Z@U_\g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]Rf3rk(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NW#pZU7d(=JZOF(q5ae3map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\_7(+ZMiJXc-([lJ_G\/q:Z&4s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\`Np=]`$snf[bW9J`_OGq;qnIs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uZ!Q1/<W(X8t^FJZOF(JZS[K#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%R7I5[peng&Y8@J_G\/J_KqR#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j*\6YNk+joJ[TJ`_OGJ`cdj#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZ1"M2@_'XGIsXJZOF(JZS[K#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%RG"Xf]Oqg9)a/J_G\/J_KqR#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j:8\$s]Gk-l_PJ`_OGJ`cdj#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g[&a:oM1MaZXF[JJX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K[+YPpY(>;Xg4@uQg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y[,qD1\:Ndnk(2[ijp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#[LpT+Uq:f)P@XI+\8X9!jAJZOF(OfSbumap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\CpqCpY#l!AS%Fdg;0]]g&[qfJ_G\/OkL$!s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3dWpZ;_9CMTd/k0("'joML0J`_OGOlcl6s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\?#[2pT+TiR$aVLXH.GsX9!.'ri?)kJZOF(Q)k2$map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\Cpq"pY#jU_84CMg:!.<g&[&Ern7?WJ_G\/Q.cH%s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3d4pZ;]fbKJQ#k.mDZjoLUcroO2hJ`_OGQ0&;:s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uZgC86N$qFCK2[M6*XH)+[c/XE[9eXK5*P859)b%p__qXK6I\88##[88t:o<e7?' -XIcKt]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S(G>B&<MPC/BpXkM<0+Br[9g6c*>g=fu<>@INb%sD0rg=h]4>D(Y3>E7!5D1UDl -g7I"&ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&jp^@!CbqRt?r6\)uXW,%,HRk+Q1ak2p9c?t]K$%t.j3k2r*V@#F*T@$]JRF+NJ) -k+:]>li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\u[KaTK90UV&jlS5c^uZ31utHXJUDSXK6@gTUAHSXJ/XSXK86XTVSZf32NZYJ:XeQ -XIcKt]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%Sagb":=@d3b7';VBaG7`rs/g<uU?g=hNAb/.N>g<OE?g=jqDb0Sek7a]k-UOh-M -g7I"&ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&kU*ekP;hh'erI<orGo9%MYWk1uqek2qpcf$.dgk1O[fk2tJlf%]?F9&/KOXF]Mb -k+:]>li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\?#Zmri?>eXK4RcXK4P^X9aSiXK6YcXJA8`X8uIbri?)^rN$-LCnan$JZOF(Su`.- -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\CppVrn7TNg=f9Sg=f6ug'Fa+g=hmRg<`n"g&Z3$rn7?GrRqCGLs9\VJ_G\/T%XD. -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3cfroOG^k2oP&k2oM<jp8>Gk2r>&k1j2?joK\@roO2WrT46[OP"O%J`_OGT&p7C -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\?#Zmri?>eXK4RcXK4P^X9aSiXK6YcXJA8`X8uIbri?AfXIGWZVGM2Hri?-]JUsnR -XJ2d#]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\CppVrn7TNg=f9Sg=f6ug'Fa+g=hmRg<`n"g&Z3$rn7WOg;Lk^dUeAnrn7C\Uk.6N -g7m:*ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\E3cfroOG^k2oP&k2oM<jp8>Gk2r>&k1j2?joK\@roOJ_k0M<7hJ8@:roO6rXb#Vc -k+^uBli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\u[ER4;U,ND&7\[(Lj=*(Hdn_XE$!>=fa8)XBQR'XAg;tGH@l[4AD6FXHYC;X9,Fu -.=nROXJ2d#]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S[V9H?gHM]JLq*IQ@1*DF*!g5nEJES<N2g2nIFg1i'%QeL/I9Obilg:TNHg&fr< -1kFA3g7m:*ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&kNm:``H\OrgX6++rKJ*`0i<k*SCeGNM+Jk'A5dk&;h<TB>9p:hS#7k/KXbjoXXZ -2hC+Bk+^uBli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gOK8IqJc;_PN$=mFXF[IIX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KOP0_fU]/sKZ7="Jg4@tPg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YOQHS$XT%>`].MQak(2Zhjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gOfSUi-p%@/!Mbp2XF[IHX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KOkKk[1J7Z#!RAB0g4@tOg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YOlc^m2GX86!SYSFk(2Zgjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#^kFk!Jm=6?RaT_kej=6HY#Kf(tS>ca_t4A;NOU-q+HVQ?7L4CtJfX93l54Fd4/ -"K5fm4Iu8K!G.ktX957n4Au0[!*Aor!KhF%X8npeX8uY(JZQkm#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K\CptiQ.4LfDW]XQbPTunDWf^hW'j<PFkY2S9OZ9$buRMWdb;W59Rt[ig&mp?9VM=: -"P%rp9ZQq^!J/>eg&oZ29PFFZ!,hPb!P"6jg&T=ig&ZEFJ_J,t#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\E3h*S^cd%FQV]cf)+S0FQ_d%Z:@_eHfj(!:hJGDfNV0rhWE-\:l"$+jo_MX:oaBS -"Q4u1:t#.$!Jo5"joa@O:i?9p!-Itt!Q(6'joF!+joKqdJ`au7#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#Zme#WOfk,\PFqlBd9kH#G\Ml`aBXC?pcN`rMWSZI$TX?<Sc@#+T["$EZd4Sl,^ -KOh0c4SYuYH(t)8!F:W]X8m25X9"`@ri?,`WqWRqJ7sM8`iKBUmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\CppVe(Oe\k1Tf/qq;%/kLp][YhIK)g3fpSZuXl-a4cl@g.^5SHE?ts"&.G&9`!HG -W.*IS9_d<BRa(W]!Ht^Fg&R*+g&]$drn7BJf_=)#U4e*O`nCXVs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3cfe)gXpk2lY?qrRmCkN3Pq]&qgOk(9u&^3JdNdcR3hk"t4&J[P@:"&S.B;#9;W -Z%_?&;#'/RU=f8'!IVKVjoCY?joN]/roO5ZjS.d;X,DPk`o[Kks4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\?$u=XK68)?:A$pXJ/WUJukn^4Dcm)UfolGS?/fN4A/bFSO5M@U\_&-QTR^<XCat* -4F=02TM7OeD3?K?>Zdg!X93PZ4BMN`'g=7OXF2s@3G(UZVI)H,XJdn.D+:,lX:nHtXC?pcN`rMW -SZI$TX?<Sc@#+T[".$$`7Ja(gKOh0c4Sc'49eN!<N%B'5>c"N&+>>pIXH>V<XK5c&<'5`5XE-=< -XK7<p4$]mB0gr*:0:f1pBS!8)X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\Cr6&g=hH_G?8iug<F>*V:sFL9Su*0cuMfW`nK.P9OD\Ua&PfNchc?2^e@h`g4EIH -9Ushjb@4/)MRY[cF`5V'g&mNW9Q'j`'i$gDg7CZe8:jgpdWeHKg=8EdMcn0sg(S)6g3fpSZuXl- -a4cl@g.^5SHE?ts"2<L7=Sg_SW.*IS9_mBr@QMQ`Z8[q?FOAf[.6UADg:'a`g=gd[C.tGWg6+m` -g=ibM92XEh5$$BF4NH0MKRqjsg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E5)6k2qh.IU%/8k1OZLY3+Yt:m"/HgNZOpdH9T':h=dqdTKCggA9qIb"u@*k)!Dg -:o*79en7gEOi'<.HZn0@jo_(m:iu^!'iR<Yk,1_09Slm6h1&7ik2A\5P$ZZ5jqDRRk(9u&^3JdN -dcR3hk"t4&J[P@:"3BWY>l*RcZ%_?&;#06-B0F]*]K2NYHedb*.m["Yk.sl*k2q/*E)<\!k*el+ -k2s5q:K?Q26!NJ_5LS\pMh1$1jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>gbAH&YR-Aj"-4K2AHXD*/qK<0DVXHJUFUdV;=@B?"KK3"hMO]V=Z!'L7^&0R%8 -4KP;YS#fOoX@Q0HOHB=?!'L.[!'L7^&2J\eJip,AM6(i@XD0tGTmld<'0N@t@YUtE>-(AfXESZc -4KPVlL\\"QX&bG\X9=2eXK4PZX:.mmXK4[+XDE9cXBgb^X9UkhXJ[2*X??K`!Jt1_X8tJari?E8 -Krg><XK7^gW.D%jX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(^J,\.F0Wlq49\+'og4c5NVV7P,g:=TEcrSl#HeQIqVesi8\8M)q!)3CG&1P$@ -9\Rg0`7epKg080o[^Q%d!)3:D!)3CG&3ldJUeKKeY1f,'g4rLoc(Ojc'27-6I&bo-EnXm@g6[lS -9\S3HXSLQOfkn=sg'"@'g=f6qg'hN/g=fDag52BSg30^ug':=*g=.Rag._M"!NgYHg&Xt$rn7[, -WS4b"g=j8XeUcGpg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`NpsLAp<Y1Uo'N:uZQ:k)?<qYNDZNk/4pqgfrpJK'(H=Y]JX__K>S8!)W[W&1bNX -;!-JQcfT.nk$Vu:_8,p0!)WRT!)W[W&4<B[X\e/0\)s3Lk)NE:fW"Z.'2[iRK!a[SGiiPbk+J(' -;!-nk[JAqdj`AB:johrCk2oM8jpZ"Lk2o[0k)lM&k'Xc<jp+`Fk2.]/k"u'>!OmRXjoJB@roON? -ZKAoGk2sa+iIU.3jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>h)8H,[u4KLZH4J`iV4?-h5ri?SlXJ/cY3CKrWLTISKJn"_\!'L%X!'L7^%6U_n -4KOuHXK8=mX@SEHX8kB[X8kB^X9Leg4KLZH+T=J*:onDJp8esSDQKpKL9-D=X@o+cGB']HXK5fb -qQ'am=.B#e"GC<eX??9Z$r<:mX?`_cCj`=c?&SW^#<])hVa7Dc4T;D_M-p7`!BmI^X9kRjX@]%c -XG:;dJZQnn#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K\_7),>lNFb9\N1o9[OkS9LsV+rn7iUg<FM/864GkX4l:KV0r9r!)31A!)3CG%8>L0 -9\REog=k'"g0:uZg&OhDg&OhGg'17)9\N1o./lmBB%i#sp=^4MMqZm4WnOh#g0_nSQ]Kiog=gkS -qUu"qDoDJ*"K6e'g._:q$tR6/g/6DSM4NASG-Lnu#>Ek*e5G#S9`E`HXa0p"!D_;Hg'Pu,g0DeS -g8fYSJ_J/u#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\`NqC@K,Bs;!(U::u*3i:eZR>roO\ek1FfQ9O$Y1[H?W#Y(Q`9!)WIQ!)W[W%8c3L -;!-&:k2tRPk$YsujoA6TjoA6Wjp"ZE;!(U:/,i?ID!$b?p?!'aPNM"Z[-#)Ik%)p&TU4e;k2q6& -qW7k3FjKmG"L3[Ck"tj8$u4&Lk#LC&Oeq4&I(K7<#>jRFhcJt&;#]SX[t"D>!E/"XjpBXHk$cg& -k-Tg&J`b#8#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#Zmri@8*X?<RHWE>@cTR1C&XEQM&G]9`s7')8PXK6c0<MZ^W=no&u4T;Dk4KPVH -XJApcXI=^A8>,^Y"$EZMLAn7S4T;Dk4KLZH4KMtGXK6?AC4?)^!F(3TX;Gr$XK5lcXH$Jc9:`/. -END:(XC-gbXF"LWX92OdXDe*>%:X^dXFt,cX?<ScVGEKUX:.mmXK4[cXDE9cXBgb^X9UkhXJ\@c -X??K`!Jt1_X9^thWH,)AD,4jEX9!ibrN$$U=+RHsX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\CppVrn8Mhg.^3oeo/1SbFF9[g6Y.[Q]BdP<na^$g=i()Cs^nDEVS5f9`E`T9\S2o -g<a`Sg;B`?>Kccp"&.F^WrC]P9`E`T9\N1o9\Olog=hP?LS+Lu!Hb4;g),m;g=gqSg9bnS?cUle -O4m:]g3TjSg73Wkg&l6&g5Z*c%=Fc$g8KJSg.^5Sdq$/jg'hN/g=fESg52BSg30^ug':=*g=0$S -g._M"!NgYHg'CI+ere\?MI_D>g&[q$rRq:RDLpNcg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E3cfroPA#k"t2:icW6&etn>*k+G0*TU+_t>NWGEk2rJSEnoflGPL;#;#]Sd;!-n: -k1b"&k0C*k@+P)7"&S.$Zi9(e;#]Sd;!(U:;!*A:k2qrkNi;m<!ICsJjqsGWk2q9&k.Z*&ACBV5 -Qf_-,k(0r&k+m_1jo]_Bk*>r.%>1P?k-9X&k"t4&heC11jpZ"Lk2o\&k)lM&k'Xc<jp+`Fk208& -k"u'>!OmRXjp4lGigJrkP%fjRjoMN@rT4-gFFiSujp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\?$u=XK67mIl2m5M5=378><(t4E3E`VHc6.0TW;t4?RJ\TgLqFVY[A.QTQraUh2<9 -K.q#@Uea*JUQR>nK(uDbMEFe4XK4T>4H4bCE(+n7HDb164J/Q02f/Jp!gajHrN$icKWM8N:cqFH -XJ&$E=J`*f4?R2RXJJ*Hri?ej4?PO'XI:;HXK8@14?T19XG7CHri@VE1-0lC0OUn<5-.d@3-;7' -OZY<[Wa@H>I5#WAF#YsXXK8'X5G5*ZV,*?TX9!ibri?1$:b%$tbcD#[map!Ee+*=c#KMJckJ6T@ -6@]~> -#$LBV\D!1K\Cr6&g=hHITgPbAY0h#Y>Kt`Q9TMg"dre?O4gj"Q9MC>qbZ.>Vde_Z3^e?jac[n9[ -VEBUecX]^ZcaZ/2V>/a^Y"WQVg=f:a9XC<QN`VHBRac^Y9ZbgP7>Urs!l#qArRr*^VqTkOAkZUY -g<<SkE73IY9MBueg<iYorn8&[email protected];>Cog=k&*9MEI[g8bsorn8l35=qKQ4aP^I:YK\P8!DZ\ -[nJnXfQfWdSii%eP".fVg=j_E:s7SHd:Bohg&[q$rn7G+AMo%mbh<9\s5)Iaddm:h#Kq\dlFuc@ -6%A~> -#$LBV\^d1Y\E5)6k2qglW^j<Z\D2(#@+jOu:mOl=hKr(l6,2Qu:f*>8fNM*qh>67Jb"t?"gPJ2& -YX"31gM'Jtg;?3OY5%,s\57(uk2oT-:q`blQ<]q[UYp`#:t4Gn8W`r6!m2dVrT4rsYib*&CJ\Ws -k1Em7G2;<,:f)r+k1im:roOn`:f'^Fk0>N;k2tTU:f,R%k-Po9roP_D6;=Dk5_.lb;s&0j9:Y/, -_,*BnjF9G.Va-R1RS-(mk2t5l<7^3oghFe-joMN@roO:CCH-n-biT,qs4PqXe+*=c#KMJckJ6T@ -6@]~> -#$LBV\^c7g\?#^JHh"0<F*4Ud!E3UmX9+A=U\Lnk?X!3*!B>\\X9"YbrN$$%OT)<_V'h[^XN[aM -]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\Cpt@SFP;6P*E*&!G[2Jg&eTKchQ2pH#iZ5!Cip8g&\s$rRq9j[f4t^d5&Rig<A7T -ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\E3gTV"*RJR[gMB!H<nXjoW4dgA'e2IsLeN!D9NEjoNVArT4-(_#EHtgbm?-k02rl -li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\?#_2Vt@%nR63TSX7*+iK`!q4F6fn-Wr+sZ:#i;UVQ/d[!NN'lX9#6!pT+@ke>rb" -3]<B)X8o*pX8o)JXNR[L]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\Cpu9e+D>s_G!Xfg$dVpVu03gOmC^$fDJ;B@cQ/Ce(Eg:!S>fpg&]^TpY#VpeCk"q -8jpJog&TP!g&]mSJ_J<$#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\E3hQht6%6bYV-+jmV=3Z2@DuRHru8j8;^RBB/+ThW3h]!TW)3joOB"pZ;J2eE-k1 -:.WS-joF38joOT"J`b/<#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#ZopT+UK4?RVbXGCB\X8uOdri?*TJZOF(Q)k2$map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\CppYpY#kF9MCQ%g8o_sg&Z9'rn7@RJ_G\/Q.cH%s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3cipZ;^Z:f*M@k-]m:joKbCroO3gJ`_OGQ0&;:s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z?[IKWM8TWN)ntXK8?]W2Qf!Wgo6RXJi1uW;`k/WK!XRXK"=[WN</!WiW.uJZOF( -Su`.-map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%S(UeYq3Uf@JR(f\5'09%DMHg=O?Tg=k*0e^aZQ&(\)3g=k.Ne^iI,e^rO*eq)P+ -g7I"&ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&jpmiN_P-j5T+XjQ>U`:>t0ok2Xh+k2tX`iSjdu&)t:Tk2t]!iSs"\iT'%YiIU-B -k+:]>li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\u[KU5U`_8E$8(D>cakh(-kWrXE64+XK4-H5XL1+XB-R+XK6:T5[pgL(2KWh6@l4h -XIcKt]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%SaX;)?q[N[e[=FkYAC*)U2!g64aJg=e_n;,jOKg28CJg=hK*;1.)s*/Mik;h<YR -g7I"&ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&kTo<As"%Pq?iQI-0?e*`Zn9k*n_ik2o!:<EQQhk&`/hk2qjK<J'A>*fnr,=FoUc -k+:]>li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\?#Zmri?>YRB/QPXK4P^X9aSiXK6YDXJA8`X8uIbri?)^rN$,hV5mp\JZOF(Su`.- -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\CppVrn7T>_V.`;g=f6ug'Fa+g=hm+g<`n"g&Z3$rn7?GrRqBSdFi`JJ_G\/T%XD. -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3cfroOGNbiVdak2oM<jp8>Gk2r=Qk1j2?joK\@roO2WrT45ch;j$rJ`_OGT&p7C -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\?#Zmri?>eXK4RcXK4P^X9aSiXK6YcXJA8`X8uIbri?)^rN$*r7@Qu%XF[IDX9Q9( -f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\CppVrn7TNg=f9Sg=f6ug'Fa+g=hmRg<`n"g&Z3$rn7?GrRqA"=2eU!g4@tKg'6R: -hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E3cfroOG^k2oP&k2oM<jp8>Gk2r>&k1j2?joK\@roO2WrT449>gR)6k(2Zcjp(/O -g!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\u[H_R5LD3Tf&XC2P7%<24:DEXJ0r?Suc^<XI),JXIW.:UTCOaR='ajWb45Tri?-4 -7tIamXJ2d#]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S^e_F)2lbX9b+7*4-!6c.C-g<H"%aP)H!g;$D3g;d`tcJ$uP_O[^\f7HH)rn7C( ->(PCYg7m:*ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&kR(bX]n:fLO`R8CZbF8'KoRk1QDKe)l^Fk0$TYk0e"Eg?.O$bbh`/j,$@KroO6; -?\.?jk+^uBli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\uYn*r_EckGYa*V:N*32:D]D"XF*f>B<5$-XD:UrXCG%%J?5i9:Mg$3!K::_X9+qC ->Cil,XJ2d#]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%R/.raZ8VQt38,A<#.=A/E&8g7;bbKA($Mg5':Pg3mLBU>">5A;U<>!O?hHg&f;R -F+N%rg7m:*ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&j"Erb;\gTk_!OC6[]VC)>(Uk+ug-MWShlk)X8sk(IJaX6/Q`C6AMX!PEaXjoWsl -H@b40k+^uBli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gOfSVP=)\)>!g-Q_JZOF(U9"R1map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KOkKlRDN4YL!k<-uJ_G\/U=oh2s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YOlc_iFHujf!lB'<J`_OGU?2[Gs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gOfSV'='pN[JZPBC#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KOkKksDKp`dJ_HXJ#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YOlc_2FFSl(J``Kb#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#anMNNIkJZOF(orJA/map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\Cq"mY.&u9J_G\/p"BW0s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3k.\AEgZJ`_OGp#ZJEs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z>m`>@)7EX9+/PG(H`GXF[JQX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7.[FEic@g&e?bQ@[b@g4@uXg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`O!pH@D+TjoVr(Sq6$Tk(2[pjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZC"7;@FOXJ(5tSZJohNCs2O"."OjNW-![JqS]VJZOd2#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K]%RY!=,3X$g<?Cia4f7pZX3Xb"2:V.Zi8YZV5JmuJ_H%9#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y]&jL6>`PuDk1Hi>dcT]J]jq'("3I^K]`.$oY-<K>J`_mQ#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\uZio2H+4^XB9(H;6-e"Sk?)cRTF*52QWuoAn>k2XF[I3X9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1K]%S*g7;@D!g2DOnBA)"maBmTS`,:-W7,$@LJU`W0g4@t:g'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1Y]&js'88j=;k&lK9D<9pBdpqP&cZFu!8ET&oLk_+Ek(2ZRjp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7g\Z>g9NW-!pR<j00X/rCo9!#+\=*f1dXF!ZfH:WX=XF[I4X9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1K\_7(+ZMrPn_OI#Rg"P0$?J=,JDk!6?g7)N?RTlV>g4@t;g'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1Y\`Np=]`.%/bbV$qjlY^SA*2prFekhbk+lXcUL:6Uk(2ZSjp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7g\Z>g9NW-!b<Gl\%X/rCo9)bmrN,EN?XE[;8D?-2XXF[I4X9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1K\_7(+ZMrP`CQ"**g"P0$?N/X_Z&=Ncg6Z%CMZCbJg4@t;g'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1Y\`Np=]`.%!EKcSCjlY^SA,bTp]9AG.k+H,]P5rs\k(2ZSjp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7g\u[$)4^O5OXAa1L'o&fUBeaq8O$.Q*>cau8F)tWJXH`mKJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%S:$9m=)#g1c[t)l_Q*Kg2'\[7udGFkYMrOcagpg:[TsJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&k-9;16:Ck&6Z?*4+eKNC'E&^JUDeHfjFBR@/H;k/[Y?J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7g\uZKqF`ihJXIaQhM287"F`i)5U],B9VuEdtFTm])X@YLKJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%RalQ'Jl5g;oPYXfU6kQ'IoocMj(/eGe2%Pm+DGg0I@sJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&jU,SXmX[k0om-\$kGASXlY?g&@NBi;Vm=SHZUek$h-?J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7gS?)^&JZOF(O/rPsmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KSD!spJ_G\/O4jfts5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YSE9g.J`_OGO6-Z4s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZgF@q1@sXI<X/P,taH@q2%1XG14pVQ?kI@qU@oJZOd2#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K]%S(KIX\EQg;AAg]%YlHIX];jg8]UNdb<EHIY*.)J_H%9#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y]&jpbKn["uk08U6`9-3tKn[q:k-ThrhWEsuKo(BCJ`_mQ#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\uZiWKS3?oXA";#8?8X^KS3($Pur]m;QPO^KRd<YXF[I3X9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1K]%S*IW2OLLg0gkX>hRS6W2O1Z]l0jJB\KA6W1nBbg4@t:g'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1Y]&jr\Z*A;ok%1g&@HHBXZ*@s(aEFhnDW\0XZ)`5&k(2ZRjp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7g\#^EGPcR!KX?EV\6`d@OXH$GbX?<S/E3,j'JZOF(N3!5pmap!Ee+*=c#KMJckJ6T@ -6@]~> -#$LBV\D!1K\(V[6]\6'5g.g8J<8-&"g9bkRg.^4eNnVi\J_G\/N7nKqs5)Iaddm:h#Kq\dlFuc@ -6%A~> -#$LBV\^d1Y\)nNH`o^+[k#(6r=m"jCk.Z*&k"t35QKHt,J`_OGN91?1s4PqXe+*=c#KMJckJ6T@ -6@]~> -#$LBV\^c7g\Z?]n4BJ>[4KPVIX//1bX?<SE=fe\eXE\]cUdTd8JZOg3#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K\_7sg9Q&529\S2pg!NdQg.^5-ESB,?g6[iRcrP_OJ_H(:#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y\`Og':itIS;!-n;jkX)%k"t3SGin-bk+J%&gfo?lJ`_pR#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\#^EGPcR!KX?EV\6`d@OXH$GbX?<S/E3,j'JZOF(N3!5pmap!Ee+*=c#KMJckJ6T@ -6@]~> -#$LBV\D!1K\(V[6]\6'5g.g8J<8-&"g9bkRg.^4eNnVi\J_G\/N7nKqs5)Iaddm:h#Kq\dlFuc@ -6%A~> -#$LBV\^d1Y\)nNH`o^+[k#(6r=m"jCk.Z*&k"t35QKHt,J`_OGN91?1s4PqXe+*=c#KMJckJ6T@ -6@]~> -#$LBV\^c7g\u[$>XK5BcX?<Sc4fbDHXK4OcN`iHb4KNdHXJA7cXJ^lOJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%S:?g=g;Sg.^5S:"dong=f6SZuOgR9\Phng<`mSg=37QJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&k-Uk2pX&k"t4&;<?V:k2oM&^3Jf&;!+F:k1j2'k2<])J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7g\u[#m9heZ^XC=mu=feT)9hf3#T2nZ\EibO)9hg)<XH`dHJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%S9c@:=#tg3d=;ES8o^@:=]?a_bHpOP7?]@:Gk_g:[KoJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&k-"AnH,:k(@8XGNIh-AnHh\e8f/5R-)G-An\.*k/RJ:J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7g\uZgMS"$4TXJhVXVQ?krS"$@XXJ;8SX/rCrS"0JZ!]=DcJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%S(S`Pp3Xg==0]e(WO(`PpB]g<[aWf\5''`Q%o2!^qCdJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&jpkd*UP0k2=V5hWEtVd*Ub6k1\2/jQ>UVd*_jT!_7k%J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7gS?)^?JZOF(O/rPsmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KSD!t:J_G\/O4jfts5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YSE9gOJ`_OGO6-Z4s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZgB4[!tiXH5S.KrhA,4[#%2XE$HeU9(G,4[O_$JZOd2#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K]%S(E:/7,/g9saOW7ot$:/8FTg6#-*cJ%!$:/leuJ_H%9#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y]&jp\;Gs+Kk.jkmZKC;O;GtKrk*]+Fg#hFN;H\S5J`_mQ#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\uZi\X/f3aX?<Pa4fbDHX/eCbO'/Na4fimIX.r+7XF[I3X9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1K]%S*Of[srOg.g5P:>+&qf[rpP[;jjO:"ktpfZmQLg4@t:g'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1Y]&jrbjQ(:"k#(4#;WZ_<jQ'2#^Nei#;<FO;jP!jik(2ZRjp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7g\Z?^KVGrh^4KPVIX//1bX?<SE=fe\eXE\]cUdTd8JZOg3#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K\_7tQdV?JL9\S2pg!NdQg.^5-ESB,?g6[iRcrP_OJ_H(:#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y\`OgihJgNt;!-n;jkX)%k"t3SGin-bk+J%&gfo?lJ`_pR#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\Z?]q6<Bq`4KPVIX//1bX?<SE=fe\eXE\]cUdTd8JZOg3#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K\_7sk<,U"89\S2pg!NdQg.^5-ESB,?g6[iRcrP_OJ_H(:#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y\`Og*=EN9Z;!-n;jkX)%k"t3SGin-bk+J%&gfo?lJ`_pR#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\#^EGPcR!KX?EV\6`d@OXH$GbX?<S/E3,j'JZOF(N3!5pmap!Ee+*=c#KMJckJ6T@ -6@]~> -#$LBV\D!1K\(V[6]\6'5g.g8J<8-&"g9bkRg.^4eNnVi\J_G\/N7nKqs5)Iaddm:h#Kq\dlFuc@ -6%A~> -#$LBV\^d1Y\)nNH`o^+[k#(6r=m"jCk.Z*&k"t35QKHt,J`_OGN91?1s4PqXe+*=c#KMJckJ6T@ -6@]~> -#$LBV\^c7g\u[$%XK5BcX?<Sc4fbDHXK4OcN`iHb4KNdHXJA7cXJ00sJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%S9tg=g;Sg.^5S:"dong=f6SZuOgR9\Phng<`mSg<G&gJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&k-4k2pX&k"t4&;<?V:k2oM&^3Jf&;!+F:k1j2'k1PF<J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7g\u[$.4?R)NXEH]gCTOOM4?RqkV-c>IM6*@M4?o+4XG7.GJZOF(OfSbumap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1K]%S:+9MBi_g6PE+Lt^L89MCr0dWnM[Y1h'89MiCUg8b[oJ_G\/OkL$!s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&k-@:f)f%k+5CGOQPV_:f*qLh1&6t\)u7^:fYQuk-PW:J`_OGOlcl6s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7gS?)`FI=\JNXH9Lf]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KSD"!+Sq5UHg5t"mir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YSE9i;Vh*u]k)e^0li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gS?)^XJZOF(O/rPsmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KSD!tYJ_G\/O4jfts5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YSE9gpJ`_OGO6-Z4s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gZ`FY&20Z.!,s4:FXHG%q4@/tJ!Gs:]X9t:\4B%oSN]]F0V#%.pE'-7)JZOF(WN6<8 -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KZe>o'6^QNU02,&)g:B199N1rE!K&`0g'YVp9PV`(ZqO/:d/)GuO%`62J_G\/WS.R9 -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YZfVb>7\Jo#1/Le7k/98V:fmYY!KoD;jpK75:iOtI^/.XSh"p.8Q;CDIJ`_OGWTFEN -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\#^3g@'$FtE,VhWI]TV5XIk<MX??K`s#g+Y$;-nkG&aU1XK5fcqQ'oaXK4OcU.gu+ -XF[ITX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\(VIaH.ptRNfDcDTA&!mg<-MNg._M"s%N7B$=:g-QB9gjg=ghSqUu0Jg=f6Sc!\A= -g4@t[g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\)n=!JEGuuQBgUlW935=k1-p&k"u'>s%rOR$=hQISs\Z9k2q3&qW8#Zk2oM&fk&BY -k(2Zsjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZ49J4OOMXFt,/DuHa<Bn-)_##phgX@ApHq5ap5H%9LXXK7k@>E\ia#s>;j4KPQQ -:L8j.XF[IVX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%RJ>U0NW!g8KLgNW%Q3KVA@u#&:g)g0)Zoq:Z1)RA,8-g=jK>F1D)##u'(,9\S.= -A9Y/,g4@t]g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&j=VX'q1Ak-9Z6Q2ThGN2lj=#&qTEk$H\:q;r$;U8s*Ok2ssiH,KL@#uKdH;!-id -C43OAk(2Zujp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uYs@BV>@+"':V1DuHa<@YXi_#"tMgN*NGHq5apCAS>A+XK7Ot=I/fb"$EZd4T2>_ -MICm`XF[IWX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%R43KZa;J")bW:NW%Q3I&d/!#%,F)Z?4eoq:Z1:J:r*Jg=j&iE528'"&.G&9`<ZH -YBugkg4@t^g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&j'EMq.gh"*DDRQ2ThGK<tO=#%Z0E]R/d;q;r$NLPpPhk2sO=G00UC"&S.B;#TMX -\Up]0k(2[!jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZ4+4Dg:`X=nft:B%<rSkH*_X9aYjX/pP@GUe^LX9;.eXEJU^X8u^bqQ'c]XK4P` -X94)Y:oJrHJZQ)W#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%RJ-9T$F8g,k[;@fG'_a^<^"g'Fg,g"Md&Qo22Gg&ta'g6Rj!g&ZK$qUu$Fg=f7" -g&n0lA^u@cJ_I?^#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j=D:m/cZk!#JYB`@,qe7I_?jp8GHjlW4MTfB^]jof2Ck+7t=joL"@qW7lVk2oM> -jo_f4CZ0j,J`a3!#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#p^<E-&BE)&t'X9"nbrN%&q@B?Q!E,[1[XK7sTRB3J^Sud*TXCJ?5@#1ncE)ut> -#X#2i4KP2<AWH_j!CVNjXF[I[X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\Cq1XChh[hNal>ng&]9$rRr<nHeR2kNfGiqg=jS@_V3^MaP)rAg4%c0H*,fSO)=mM -#Y`t+9\RZ`J@#4.!EQ%Jg4@tbg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E4$lEcC03Q"a\[email protected]')4?Q'F26k2t)hc0".ue)m6hk(Vs[J@=V&Q?3&f -#Z0[G;!-A,LqWcL!F)^Xk(2[%jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gZE+6r4KGQbUMTn1!L.s0X9XGABWS;+4.6)L#Xpj_XK89]4Dt/"!H;'<X948@4H'$: -!f7bGJZOF([&aJCmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KZJ#L]9\J.RcADMR!P=m#g'=QMK\G/#9>^\^#Zj]Eg=jtK9T/o(!KM!qg'4WP9X3=* -g&0P*XrjKkg4@tbg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YZK;?m;!$j%foZ0p!QCl5jp/1gMrs0M:X&h##[C2Uk2tMs:m1h?!L@d*jp&7j:qGfO -jo"6B\0.r*k(2[%jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZS[K!DIrnXF[IZX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_KqR!FVROg4@tag'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`cdj!G/6]k(2[$jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#_2V7ir2VPrFS"0%i^VYR:rV4aokV#HndVlZWlSH,YgX9"rjq5a[pSXleVX9,)d -TD5JhSt2YTX9YDpXK8@kSYu:b!Ml`HXL,&5]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\Cpu8dCn67dam@1"4kN5e+q]#dE:1sci1rdeCr1H`rO]ig&]@Eq:Yr!a2cg-g&fO> -anXQkaN)U)g'>gKg=k)ta4'k<!RTGLg9fQ<ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\E3hPgqDhNhVmDT"6.bWhYH::h:C`Ng]#V&hr`SjdK&;+joO#hq;qe8daI1OjoX2` -eG//-e'ctKjp0Jmk2tXNdbjl_!Sl^dk-X7Tli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\?#^HII4*;HXW3,X9"oLlDt"tKDqqPHhONDM3<XqKDo9ZOnc![B1kmOqQ(C*="CAR -912E0END)l9.G^uXG&fHqQ'gr=%c2&qQ'g^;+jW9qQ(6V91r3MXK7:H=0/K691rEgqQ'^DD1Sdq -X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\Cpt>T'b55S9qs:g&]9tlIl8hVZ,9LSG(Y>Y.:UeVZ(oB\G4b[JmVlaqUuY/DDp5& -?WUT$O4m'1?T"q=g8I_oqUu)"DdQk-qUu(^B4#,FqUuLP?XIN^g=i`2DVEfn?XIg+qUtt>Mh0Th -g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E3gQVsWUJV1QeUjoNu@lK/,&YQ!YaV=s$S\AP`:YPs+R_YE6qM.C/&qW8LFF?/LG -A6WS5Qf^nNA2q!Zk-7d:qW7q9F_#$EqW7ptD.I:_qW8?eARo`%k2s0WFQV_>A7ToFqW7gSP(Dc& -jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\?#Zmri@*:QBn>JSXu@;VlZ>\R?jkSXHZh3XK%SSXI5BRqlC+)QBn2FXF=!3U\Lo( -R[0nRVj<jEQDL[QL7YKJTer()poG07E*'--08G<RX/rCmQD^g_Q8Fnsri@!5P!"c+MI&EHXI#of -E-SIKXK#TcXJf$<@f!//Rn]uc4Sl,^D0i:P:AV%+:8t=2I&s>PFB>QF9!#*YWMr".TDbhk4FsT@ -X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\CppVrn8@@^:qtJ`lZ36eCqga_7nRUg:M9jg=O'Tg;:STqq;A0^:qbDg7MrjcM6*, -_nO^Ue%WiC^<tZSWlWoJbX0%^pt?F)Nc3Xe40,Def\5&u^=:le^-]QQrn87:\P0EbYBN[og:u4m -NLAM4g=LPSg=9l"IJVY#`F7KS9`!HGMjrG<A,=mnA(K@jS_D\;P]#4/?J=+/f@EWeb5L#o9S(p) -g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E3cfroP3WaN3,udF?Oahr`29bfJi,k/DJ9k2XP,k0;!,qrS4GaN2ook,<(:g%a\C -cH+u,hoO0naP>q)Zd\(!f1*j-puW9;Q?D?45I@e+jQ>UOaPZ.=a@=7troP*R_be,1\U@<:k/u]G -Q(d?Zk2Um%k2C3HK_jg6ctDM';#9;WP,.6cB_pj*B]A0:V<6faS93oUAEN#Rio3e4ec"V1:k@c9 -jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\?#Zmri?W<;GpStCEleVA#rW_;c7Q5X9iijXJ@ICXA^XCqlC*E;GpPbXAUTILA@nb -LK%/bXHt,CF<-FDCbULCXFD6gB_e_JU+eV\TWC8WX?NYcNDrebXIW60;JE56G?7iEX9(Mc4T)8\ -4T2>dS4p#cNE_*GqQ'gh9rtEYqQ'g:HE<Q1poF_#=-K_R:Q\`WX9XtiX/rC<<Fc$0!'Gh6[&aJC -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\CppVrn7m.BP;;:LFd4SIG/EtC1rS*g'Ne,g<_oig1`Liqq;@<BP;5#g1WHZWqk?_ -X(l=$g:o.hP9dQiLcqWhg7]d*K_a=?c94c\bM#YDg.p;SZ>4-$g;dkPBSG0oQ>UR=g&at%9`3TE -9`<ZM`aINSZZE*oqUu(k@G9F/qUu(1S(bbipt>u*DS"Q=A@QOUg'>9,f\5&8CjuB;!).st[+Y`D -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\E3cfroO`ADJjRXO"PEiK][5;Df1g=jp@?Hk1`(4k&3<4qrS3PDJjL@k&!1tZh`_t -ZuBo@k/o<4RjPo4O?p)4k,KbGMtuKRfg&:qf&ffkk#1:&]Q%hAk0e,oDN3f@T655SjoSBA;#KGU -;#TM]d:MJ&]m6o:qW7q-BBJ>QqW7pDUuos9puVhBFN!=dC;P)kjp/nHjQ>TcEeXMT!)S7/[,qSY -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z>gUEW3$YOcGGWX/.bNXG1/D8uSh4FKDQ_Gc[uaHE;U1qQ'pgNfHnkXGgEZX9tLc -LlQ%^XIE<qQN!rdAV9u`!'L"W';[f_3MWZ4NcoEDV`fcpD.0NI4T;D`MI)#9X93?cX??H_!Lcd^ -X9XYgXK5$cKjsn["Ii,eX???\"DrIdRSN[[#bkFhXK5*cO]VO`!h*8crN$3eC2g8UDL-l8[B'SD -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\_7(NO8diP\?rV.g!N:9g8]P-?IdbmPhOiOR+g8PS(aQiqUu1h['XAGg9Phqg'Yl# -XL*M5g;IrO^AcgeJ>W>"!)3.@'@BKZ8C-!V[$?^+e5!$NML4(29`E`IYBQrEg&m;&g._J!!Q/FG -g'=m*g=flSWI=Ws"N=g'g._@s"H/c'_diMr#gRD+g=frS\8M<"!lK!$rRqIeL5t!AMjo:O[FtiE -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\`NpcQN$"c_S3`OjkWP`k-T`SA)ZR=SEAt"T]YC#UZSS8qW8%*^:n<ik.?!8jpKO? -[_@NXk0J3raSt<<g^>!)WFP'AZJo9\\]!^7L\Ri)6nqOb)ZW;#]SY\UCa^jo^jBk"u$=!R5?W -jp/JFk2p1&Z@r):"OLfDk"tp:"HoSCc=m%9#haCGk2p:&_K>e>!mYu@rT4=&NgAhiPG<]k[H7\Z -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\?#Zmri?f>>$<&LV*h>cQ;W`GXK6ncXK6Acri?/`X??<[#AmXJ15N#j>kkB$ROS5> -"bs+[>#hU%X8umbri?)^pT+dt0KUn[X=%1RN3&m#r`TDTXK4P_X9j)P<iiB35Z/VRri?,fV>[Iq -4T;Db/5e_dV>I=sRn]uc4Sl,^D0i:P:ALsl=-<K`#Vo:H.A*]-=/Z"u!c(eHri?)^JZQ5[#.j6S -eVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K\CppVrn8'/EcNS]d8\iR^1alng=i6Sg=hRSrn7EIg._=r#E!PB5HWYFFSOPj`&%C5 -"fg;1F)9J-g&Z`$rn7?GpY$&$4\@cYg+m\eZ.dYXrc/+9g=f7!g'O*aD;*]k;.q5Mrn7BQdJ_c! -9`E`K2eZ&NdJMW#`F7KS9`!HGMjrG<A,4gZDRf]"#X<!)1s+IcDUeX=!f(T@rn7?GJ_IKb#3,[> -g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\E3cfroOoBG^(_"h-&n&a_eb:k2r\&k2qu&roO8Yk"tm9#Ej=V6al-hHhc_(c8PZH -"gd@RH#hsEjoL7@roO2WpZ;n;5YaJnju%C+]B7s&rceOHk2oM=jp@Z&F6;V:<c07croO5bh#6@8 -;#]S[3c7q^h#$4:ctDM';#9;WP,.6cB_gckFMe%>#X`K82q7!3FPm&Z!fqAUroO2WJ`a?%#4)<B -eVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\?#Zmri@#2L2[lkV&+3-=J1ZrI>1q#XHQ^lQ)q'I.YRW!$;uV.+`ONH=b^.VqlC^9 -D0L_ZGb[]SL-;32O\]SVXK5-NFFL<mH5ca`'O5TYXHtT2V-K1aF)m"`EMeIDL8k0R#c*VGNhVhm --]e8.!CN^^X8kB^X:Lbc>X53gX@Z*eXIi@EL/.`L,U%92XF"]:Ht'1YNu"4dXA3nm?%T/IQ=`+O -X?:oc5H:\FI@pJ>!'L1\!>p69XLkP<]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\CppVrn88tWfA%0d2e@LDp,L8SuQhWg:M9I^"V2J25g9($>HN6.ZW5oEN4-,qq;t? -MO1?1REns)W_LXi\7C3,g=g#9PG$X`Rj%aa'QoFSg;#ejdWN+RP*)c:O4($iWn.1'#gg+U[EcLa -0t.)8!EIPGg&OhGg(2*8FA^QAg0J+?g<!s,Wal%^,V"u2g73quSUK5G[2d0>g1$>IG,<p3^4Ai$ -g.\-=:tO8lT$%#c!)3=E!?Rkag:Q&Cir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\E3cfroP,0[$D]Mh&i&lFk48VVmL^&k/DIka6)O!33i;A$?!5N/=#A:GI2\NqrSgW -P+]1UU"WbIZr,E:_J+kMk2p<`S#PQ4Ua,j#'RQ-gk/op:h0[*%R[LO\Qeo)6[,M#H#i*<o^Y-]4 -1r0+Q!F":WjoA6Wjq#_XHWK(ek$hoak1"4SZt]O%,V5GIk,"*FVM+*o^E1bak%L<mI'2VXaG<LC -k"r"`<9)t7Vq(b.!)WUU!?e:kk.Ba[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\?#Zmri@$+@X*9IV*fB7S?.`RCLX-AXF"DcJ#o`D<hK2h$)h<IMeoJrKOTr9X:oP^ -E3,L;G(!haXES,_KWM8G@W_UN!Ad.BX:U5OLTH,;Ni]=/XK6SSCTO3.@K<8"X9+2eM#OIVJ#WCJ -!.4XF#&@\FXK6brri?3[@Uc#0X8usqri?0F@VPhC"eK2!XK6jL@K;boX9<KOTr_u-@K<J)X8kB] -X9*5_Q%?$KX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\CppVrn8:-I$gIpd8ZBY`S.\=Lj[Y)g73P<U"\5BCs)S-$.XEWY_h)fW-koGg(TNp -NnVF!QCiQ:g6R,6VqTkFI$=Q`!C9fcg(:EtXP0P![+a6(g=hg>LYBoMHiVRhg&eC(Xo@#TT[s(q -!1`u@#)@TSg=i'frn7IYI!j-:g&Zi7rn7F?I"hRR"iu)<g=i1uHiUq\g'!F`bh@dMHiVjqg&OhF -g&d0_]ReeKg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E3cfroP-DJtT!;h-$;#d,r&eOFl<Nk,!Z]WoiHnEn1!J$/pJp\rc(:Z%BX`jqF&4 -QKHMFSu71Zk+@6WYib)rJt)c%!C^5kjq,&?[H=ZE^?4RSk2r4dO65!lJcOX%joVuC[f5CiWT*m= -!2]VU#*4Amk2rJ:roO<oJqDSQjoL@TroO9SJrTcl"k/(Xk2rT@JcNsmjoh!%fB/(lJcOm-joA6V -joU\ta+<Bbjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\?#^mFo&0@LbXP]X9*B.M>4.UQu5'_XJ5WB!0?iT!0I,.!28YY!EH%^X9!C+rN$$( -Tn0;VX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\CptlQ2929X?NK[g&d=7Xn^TR_2D%7g<KPh!4DOS!4Mg!!6j]]!Gg2Lg&[AJrRq9n -b^nKZg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\E3h-SbhIM[R.1sjoUlO\+o(hbEGiZk1T[3!5J6i!5SN3!8$Jt!HI%^joLphrT4-+ -fR`1rjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gYH.eSBlF!P!d/4%poFX[Bka9BSc!1%JbH/FK)B<_S:RbmXK/E,]'e2#LXYejeHa-I -n)qLUg-U;~> -#$LBV\D!1KYM'&MKoH#b!gJD+pt>nZKn[b)a8CVkU\<CAV>Q#I`IZ`og8ip3ir@lhL=5Yig'>fP -mcqOUfg1,~> -#$LBV\^d1YYN>nbNKjG)!h>7CpuVapNK)QPdeo()XS1cVY5F7Zd"1>1k,[VKli5YgLXYejeHa-I -n)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gOfSS\BS!79XIH9q]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KOkKibKRqj.g7-e#ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YOlc]$N.L,Bk*tK;li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g];ud2GE@-1I&sE*DjRQ,Q#DP.N3&"WDl<T9#B+XIS?.*VHMOWEHnB8ori?BaDj#g/ -K7n03JZOF(WN6<8map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]@n%2QaW?hS_Df!NPF3$]T'(cZJ)UDNRRm\#E=kY`nI#DS,(b?SN2\5rn7X_NOl'g -VPfElJ_G\/WS.R9s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]B0mIT>726VWR$KQ-&1Na-F04]]QklQ/DT'#F1^sdH7<kV"s-TV*($RroOKuQ,Kr7 -YHX;<J`_OGWTFENs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g]<!6C,?Q'm26;[CGYt?4;g;UhOdTEuGZh,I@!Hi?Is,UPDKDlUX:Tq:G`Sr-P$E63 -1lN5]GZ1MkXF[IQX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]@nLD/9!"Y6e\_iR:jsnC708k\AE?UR;ps4HC:$NTpCM&Mil]ig(:&CRC:i'\TO<V -6*VG[R;16&g4@tXg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]B1?[/p8ak8*7@5Tl&Z>DkVV,_T[>"Tm,YZJ>&MgWh,<GPF:P0jq+X[TtogQ_gA(t -7CsUqTlAn?k(2Zpjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZ)uX?<RHX=O9`s#g:^%QphoM.gQ\XE\]cXFl*tri?,tQM[`aUIG-_!'L7^#&()# -XK8-cJZOF(WiQE9map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%R?^g.^3og,Aq`!D?,cg($g1g9$$]7,!ufg=iF"?iJa[B>=>t!RFjGg&OhGg'35a -9\S4F=b5:Xg8`j2ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&j2nk"t2:juNF!s%r^W%T)<M[u6/8k+J%&k-(muroO5uant3$g0FU=!)W[W#)hV? -k2t?'J`_OGWoaNOs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\u[)<X?<RHX>bHUJ;$IeXJInXQ<8Z]2lqCCXK8:f9rY4n;OI?_'Ve*uV5^O`V6$bm -X>d&YQqsfbT;7%>JZQ#U#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%S?%g.^3og.%O*U8V2>g<iFE^2Ka47G=>hg=jum@b08aBYjT"'[Kk7dFR#OdG!=! -g-sKE_.D?Sb0Y^nJ_I9\#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&k25k"t2:k";DLX0Q$ak1r\ma`XYV8`ln3k2tOGBAr"4DTr"?'\ZgSh;[R#gudbO -k"4Imb\H;&e_>Z;J`a,t#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g]<!38,(qV)/;o`p?smiM<+&cTXIE6u<?R='D.$aRPCd%I?%2XO&#WB7=.$(X=(#EL -X;tGO=8o9%,?9;rJZQ#U#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]@nI6.]5D033^#6H?tJ!C3jeQg;RrUCFHRDML'Sf];9UqFeJTb&(G??DSb&EDL-V] -g*L`bDuSGk/8TmkJ_I9\#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]B1<L/[.II41W=RJUs!CE.N-gk0S4$E@S]bP(A1-`NFQ=I&Zu)&)V>WFj&pmFFf"$ -jsPD)FoLM(/olO*J`a,t#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g]<!0HLma9lNL[)9Lkr.6Sqr@qXK7hGS;Wu?XGD[uXK7J=Nqf[WSVW[4X::SRLoII< -P_c$7XD]VXJZOF(Y,hi=map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]@nFJXMV?_ZGtV4XK:.0aK2^Ng=jEF`j!P<g8qBig=j!:[.r>VaK32Vg'tm"XOl0" -]<'92g5Ir-J_G\/Y1a*>s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]B19a[EQA1][5f_[C,/Ze$Zkqk2sprdCRfhk-_V<k2sIe^A-gle$[BujpfPB[Gp=F -`jOI]k*.mNJ`_OGY3#rSs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gYH.l+=]ndmn#QMWr)j#Cp8e=?+'SWE!JHnmXF[ITX9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -#$LBV\D!1KYM'-1E,][1n(IcYr,;Y%p=]S8-Z]1>!N3hdg4@t[g'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -#$LBV\^d1YYN>uIGB\,Pn)aVpr-&.4p>uFM.<tgR!O9q$k(2Zsjp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -#$LBV\^c7gYH.i,O,oh!X8o-qNrYUAX9+iOOFaKaXJ`-(]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KYM'*3[^O0Cg&TS![K+5=g&f1#[Xm.`g8EX/ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YYN>rJ^qe=bjoF68^];XQjoWiD^k(X!k,7>Gli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gQ)k+1D60gTr_W`bXC2$)"f8<%X&5&VX8nUd;$Cm>XD:\!JZOF(\uZ+Imap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1KQ.cA)MqZmArau;Lg3N[1"ju&XfOqbkg&SneB*F7Jg4s=TJ_G\/]%RAJs5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1YQ0&4=P31ngrbMY\k(*GI"l8>'jD;a1joEO&C^$'ck)X?#J`_OG]&j4_s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7g\Z?*KG@R_U4Y/]XP4YgU9)>V+V1khKKOm6HXAkOQ</@VQQ^9t0XK5!$HMX]PNG+ZF -403OEQWf`WR>ld!JZQSe#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K\_7@?Q[RTA9fPg?\b+SU?2E7ldAbXLVgqFog1nC;C9?3&^V<Xgg=fhYS,1hJZ@p!- -9A5Sl^N.*C_6\^HJ_Iil#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\`O3RTS2Ii;*.TN_t<'kA,>=)h6Pu$Y_Q$:k&AJcE44nGb0!`7k2p-(U\a*^]SjqT -:Ze18b';(kbe/MhJ`a]/#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\Z?ZQE*03CJ7u$c4KO9/8X?HI8Y:*7XH"2j:Aq7!Hqn1HXB:QHrN$'p<Ls,j#F/Dh -XGpG%HM=KLDL/C$H`WW2XG:+RU4KCsXMCnA]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\_7pCNc<_+UP%:S9\QLP?,#%2?-8@[g9_u.A,Y*dSn!2og2OJorRq=uCWHG.#JG') -g9PgYS+kVFMji@WSD(hjg8fF'c%4T"g;)DHir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\`OcUQ?MEQXGc6';!,)n@`dcY@b%!&k.W$KB`7&uVJ(Y:k'"O:rT417EROjK#KV)G -k.H#(U\EmZPG@9&V<6$:k-]VHfR`19k.p*`li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\u[6M+=A8%XFOucX?;>KSt9,MW_?cAKn-*\StE*cQqD.fXK7RcX??H_!Lld]X9XGh -XK6#cDL2&Y%R?toIV4*u:TUXsSjm4hJZOF(_Q3sQmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%SLQ-o!*hg7s;Sg.\YsaiSS8f3iidW1qg3ai`>k^g;i@g=j&Rg._J!!QALGg'=R* -g=h+SMjsIp%T1d1T7`b;AD5bha]X&CJ_G\/_V,4Rs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&k?h.PrU%k,aL'k"rR?eC8`_j(<e0ZE)nUeCE^Db@?Xck2sR&k"u$=!RPHWjp//F -k2qK&PG@m7%TVKMW/@NYC$+R;e6[gfJ`_OG_WD'gs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uZ:3,:at/XFM]c6@h8uX9=heXA`m4X8kB]X9+GTFoJHE8tN+HrN$$-L]+:Z=HKVc -4KNFHpoFa]>H4d+I;4U7rN$&p>,["RJZQ_i#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%RP7/2f$!g7pE%;km%cg'#-'g1c?@g&OhFg&eZgPlBA=?HChorRq9uXSpiXDn"HS -9\PDopt?"\FP,=$SqjIZrRq<^En,`pJ_Iup#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&jCN00(W4k,^FB=KG?ujoieCk&-4XjoA6VjoW;.SGqXQA(0R:rT4-3[Jf4mFi!5& -;!*t:puVjrHK=5NViJ9$rT4/oGi=59J`ai3#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZRG=DV!<XFOiYVQ=']XK6_cXAbD_X:IFpWf*s[VfP=NV.i"R'o)^h!'L1\!'L7^ -"$8Ul1&e6TJW]o4!IS_]X:'DlXH@9\S#WQkRWsCbJZQhl#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%RhNE/ADag7s/Gdb8lKg=i!Sg1e8!g(-m2f<O&`e<3t#d=k4e)QNej!)3=E!)3CG -"%u<A55s7:UUU3U!M,)Fg'aI.g:2o3`7N_s_j>r.J_J)s#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j[fG*-h,k,a<ohWB3sk2rG&k&/9=jpt;Nj1=C8i0muDh2G-+*4,Y,!)WUU!)W[W -"&D`L6N6*JXMXqu!N)"WjpS&Jk/*-Tcf=0McCfaNJ`ar6#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\Z?HLEETBE3$hk3XK#Pg4Dh0f*]/6CX942>5)K6>#GQ78XK6%MLAn7S4oDA]4oMG` -W[BS$X8sSIrN$$ID>pU@>Wcf'XH.f-X9!>GJZOF(`N09Tmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\_7^>O)`n-7PAr=g=LLA9T.WA-:47%g&n?K:TaTL#L/@Xg=h0!WrC]P:&N]F:&WcI -fJ,Vig&WdBrRq:CMZ2<6FA.MEg9mRNg&[9?J_G\/`S(OUs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\`OQPQZqTS8hkbVk2Uhc:m0tb-q:'4jo_qd;n)_f#M>F!k2qOAZi9(e;Z,YW;Z5_Z -j>94&joI/WrT4-XOoFJIH;K^ck.dkmjoLhTJ`_OG`T@Bjs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZS%9!>gTDXF[IlX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_K;@!?S@og4@tsg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`c.X!?\e%k(2[6jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZS%9!/lE0JZQek#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_K;@!3h%.J_J&r#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`c.X!4maDJ`ao5#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZSmQ!Ml^nX9#&rnZ2_anZ2bgVr"KVP;8k`XF[JNX9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -#$LBV\D!1KJ_L.X!RTErg&]IOn_*uen_+#leDAm\\j4Mkg4@uUg'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -#$LBV\^d1YJ`d!p!SlZ4joO/rn`Bi'n`Bl.i83St`'`1.k(2[mjp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -#$LBV\^c7gJZSmQ!FCW]X8tkbnZ2^QnZ2b+Ibh(+8tLU8JZSdN#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_L.X!I1dGg&YF$n_*t:n_+#!TAA3%?-.ZOJ_L%U#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`d!p!IhQWjoJl@n`BgJn`Bk4W86S:@aotkJ`cmm#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g]<!3(2JP9b6`d.l4E[a+E]deqEN!J34HceIS30&LM4m^-9VD9a,D7ai4Cb:j8o0)A -PcUZ`4FF6'+YZ$IXHFG\4K5>:4KML8QM[`uAJI=>XK8C:4D:[p5r+-F@AkJ'4HoTB-_*:`SY@iX -4A2?KXFE?69!"@A4CY4iLceKuSue_k4F=0'0oTg?Tn0;$X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]@nI#7>FKe<SGlG9U+8aOA($uOO\nU9Y&m2`_96^Xit<L@*AH$,H!\b9RYFE?&>CO -]@tVO9V'n\.QpJDg:/7q9\7l]9\O5C^AHV!J/V+4g=k,59SD!N;Eq-?I+9l/9Y1&R-cShVa3Hl. -9OGusg7V,W?J<.f9RYCDXA!2%akG*^9Ush\5-fiMb^nK(g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]B1<78WHQ&>3=[k:n6\0Qr&E7Qf*Zr:rMMYcqm`"\(GCkA_-b@,I'P#:k[`g@Zdfi -`TGs":o3=+/3m%Xk//?8:u^M';<Dg]ant38LE'-Hk2tZa:lOAq=$s8TK&JFF:rN1l-dbdkdb-sP -:h8/>k,D1!AEM$2:k[`g[SU^<eE5P2:o*7*6+i.gf7E(?jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\u[)1IP$+5XC$gcF*2MHXG/1*SV!rE4KO]HXJdq"<gg%Z<h]Dl'/t-:Kk%3C057M/ -XBCUcDL/BjM>aLV8>,s`"DrLeR8<X[!'L4]%;UBnIqYpL<f^:^XD34ZX=095XJf0c@SNqa>-**f -XH=Qa=fe]Z@Y86nQmA9)>)o\%H)t@AJ"2.BXGEq^]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S>lT/rcAg3BdSP*D&og8Zs_a/.MD9\R$og=8KVD8P#HD9_t3'1S>BWI<L+4,)CO -g2XOSMjrFFY5R&T>Kd$""H&`'_IWJr!)3@F%>US0U4h77D7+35g4u<qg*jOKg=C,THt(g:En[(? -g:/K:ESB-GIAVPK_(Nj`EjXPZRbE$hTuEm[g5+Geir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&k2'W'.7Zk'sl&R[fb:k-Hu.d]V`p;!,];k2A_$F3WjpF4gBP'2"q[Z@qAP5)eWm -k'+T&PG@8h\GbOj@+P>>"HfPCc"["9!)WXV%?IFLWf6)^F2)bWk)QD8js\/gk2CC&JnO5[Giklb -k/&O\Gin.pKWg0nbV7Q/GeW=)U?6r1WmIr#k(r.(li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\uZ)uX?<RHX<7F(!DkoXX:@@oVIDYM19>_>XK8+\9E)!n;3q*\!'L7^"?`cE9r\,n -#8fQc3a&OjM>aLV8>,s`"JSAe9:bm[!'L4]!&+=6#skYoLea;<XD34ZX:fb*4?P?R@YUtE>-(Af -XK7k0GlFcT4B[`HX@f(c)*C#B=KGkRJZOR,#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%R?^g.^3og*lqo!G5%)g($g1dsXn`5MDHag=jca?iJa[B>=>t!)3CG"AIOT@b1P4 -#9QW58o`R0Y5R&T>Kd$""O1*'?cVur!)3@F!'C0R#u]L2X^f-"g4u<qg(Kf.9M@XNI&bo-EnXm@ -g=jH)R/YeM9Q@Jog0MhS+&#@#E8#T'J_Gh3#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j2nk"t2:jsp@,!GbO2jpk5Mhh+a%6ft&-k2t::AcCfmD9;\;!)W[W"An6mBB&pQ -#9Zi>:3YiL\GbOj@+P>>"P@&CACC;9!)WXV!'gHZ$!69O[V3eFk)QD8jq=@E:f'KdK!a[SGiiPb -k2ssSU&O0b:j9\:k$lj&+])!1G34:GJ`_[K#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\u[)<X?<RHXC-gbXDi9'XFr"'N`iH.1oup@XK75;=.$(Z<hfJm#<-e,K4V-C>lC`< ->E,_^Ff\o+XDk8B8>*&'XK6G=@ed#=4KOC'XDN<cXDk8+=--C^XD33cE;HX^PZ4`cLm2A'XH$Jc -Iqc!cE0+2'XFt,<A#u"@Suc.UXJ^3B?]"]^!EY,/XGj4b]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S?%g.^3og3TjSg5_A\g8Hd\ZuOfe6JB%eg=iX7DSb&GD9_t3#=as3VL[C+FT'o- -F0jTLQ.gJcg5an@>Kb`\g=hX"I/)D09\QY\g5;BRg5an#DRXE7g4u<SNr%HU]PH6TXh/t\g9bnS -TnV4SNj`l[g8BG"IG2IeakCgAg=2A@H*."u!H,&kg5O_iir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&k25k"t2:k(0r&k*DL+k-6f+^3Je67HVR/k2s+cFNimoF4pHQ#>1NKYD;8PHi<(@ -H+i@tS`YC2k*G/l@+OJ+k2r%HKD=RC;!,:+k)uP&k*G/MFhr(Zk)QD&QMT_i`c:/'[`3p+k.Z*& -WK$'&QG@\+k-0TGK]^E0eE2(ik22]kJ%,@<!Hbi&k)AF,li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g]<!3(06'@%5'j,74?T49F?F(mXJokqE&W<KT0,5DVk['N9VVBb#Wm)iAZ2\&104CU -'W,(s6(k<S:-=N;XIqmBS?/fj;N1CP'RDlJVQ?e74?S\+68XBL@]ZA*4GN[5-(d:^@%B)CX@tC? -XF`PsGc[>r4CkClM`aj==KJB(4@,X61H9ITX9+Y%H@`/VX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]@nI#4-*C,:Rfj[9MER]P>$Epg=CpNN^]\ra\5BSe'DT!@F"`'#YU=SJCW@[5]$GR -'[h%r;p3n@@na5_g<3Gh`nK.sBX7Ee'Uh^?e(WE29MDkJ<'mQHI+lq_9W@jA--8hSH,i3Rg0d1d -g8%D9R+fGO9RkUHYY8YIE8&`]9N''X5t@+;g&er+Rt9:Pg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]B1<75F,KD;l&<%:f,['Ro"f2k2D4pQ:\.>e5/tmhqDgAB%d%C#Z$mcLZ%<*6ur:h -']"%2=4ZNfBi)M*k13X2dH9TMDS5c,'VeKRhr`s^:f+ph=@KM[K'(j.:p]u[-.PjhJC6hlk%7!/ -k,hHVU#sTr:kmoj\km3cG37Y-:fl6"6qa!JjoWRCUOhQdjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gXK2GRBBZDs4QNRETguAh!D%0\XGa.a]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KXP*]MK':ng9]Xn.bZ_:*!F1Y9g5FYhir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YXQBPbMWj1&:upa>f3bfF!F_:Fk)8@+li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gYH.l*4?R8Un#QMQq`Fp:4HSa-"bSloOfY&M49/XOX8l)p492;3X9#/uJZOd2#.j6S -eVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KYM'-/9MC&in(IcQqb.&X9Xa-<"f=p[\D"n!9E95#g&Pa_9E<Pog&]USJ_H%9#3,[> -g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YYN>uG:f*&/n)aVhqbR>_:r)8V"g:]k_WK2B:]Pk-joB2p:]TD*joO9!J`_mQ#4)<B -eVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\Z?$B13K\"O$#FRXF[I(XSJq%]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\_7:45F'sV[S08Dg4@t/gA0G,ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\`O-F6_3B%^edaVk(2ZGk5"-Dli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4T2>^9O`RSJZOF(s/ZF9map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\_7(+ZM`DV9`<ZG@=3X[J_G\/s4R\:s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\`Np=]_pml;#TMWAqPZsJ`_OGs5jOOs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z>g9NVojX4T;D`NZWFqXF[I(XT,@+]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\_7(+ZM`DV9`E`IZm_5kg4@t/gAfk2ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\`Np=]_pml;#]SY^+,_*k(2ZGk5XQJli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\Z?$K2Kc+&O$#r3X9!B\JZOF(JZSjP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K\_7:@7$ZK[[S0m(g&[@rJ_G\/J_L+W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\`O-S8=eo*^eeD;joLp8J`_OGJ`cso#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\Z>h%VLbh"XF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7)(dXg,'g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Nq?hLXg?k(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uYt,.ZK"\JZOF(o;i/-map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%R5026qeeJ_G\/[email protected])Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&j(G34sh)J`_OGoB$8Cs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uYsA;2p..JZOF(o;i/-map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%R43B<m*BJ_G\/[email protected])Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&j'FD7kG^J`_OGoB$8Cs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z>g9NIe0^XF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+Z@U_\g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]Rf3rk(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NIe0^XF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+Z@U_\g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]Rf3rk(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NIe0^XF[JEX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+Z@U_\g4@uLg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]Rf3rk(2[djp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZ!b5$sHOX8tgLJZOF(JZS[K#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%R7]:3a8Ig&YAFJ_G\/J_KqR#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j*r;LcR_joJg[J`_OGJ`cdj#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZ0gFEEYHXH+6KJZOF(JZS[K#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%RFbPEWK0g9i#rJ_G\/J_KqR#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j:"S"%:Wk.`(>J`_OGJ`cdj#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g[&a:iJUsnRXF[JJX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K[+YPiUOh-Mg4@uQg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y[,qD*XF]Mbk(2[ijp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gVlTlIJZOF(KWGBhmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KVqM-CJ_G\/K\?Xis5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YVrduXJ`_OGK]WL)s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gWN60#BeB.^.AAX[X@k@@TgLqFVM$U:XElO@QTRj@XCa@KAZVt50pQi6G`jdC4>qbA -XF[I]X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KWS.F)KK8k^.Et.Ng0d1ebZ.>Vd\f3]g7(3e^eA%fg4D^\J(iUm5J<:DRCGFQ9LP\- -g4@tdg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YWTF9AN'-pu.G7-bk%-s0f32!ph6B2'k+b//b"uR0k(uW"L?@W=6HGZ]Tu0/k:e7^> -k(2['jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZ+1?!W2dXI/um$*88sEa>09S:<ZrX:/N&K8j*(<MZ^W=faabX9h"jXFaE0XK6Pc -ri?Kr:9:NZXK4scXE8Q8XF[I]X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%RA6G'9k=g;3c3$/(T7OESRr`h?*$g'i=*VR(?^Cs^nDES=+cg'LI,g8/Pgg=hgS -rn7au@bTO0g=fcSg67_Og4@tdg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&j4MI!i9_k0*aO$0@_SR!d6BdAg%<jpZfAYJ#5,EnoflGNMa$jp=lHk,r[6k2r5& -roOU6B]eGRk2p(&k*qikk(2['jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZELMi1T'X@\>.6E?1aG)JulX8kBXX9N*T</Fh6@fEG>4KOTHXDW?cVc%eIWiU>a -ri?Kr:9:NZXK4sJ9:hi.XF[I]X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%R[>Ycqo[g0Lqe<8"]#Q*=Tog&OhAg'2nfC9;QVI/_h19\Qmog5MKSe7b:rf@lLP -rn7au@bTO0g=fc4?c^HBg4@tdg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&jNQ]"2n*k$kp5=lmF@T"8G2joA6Qjp$C+E4:,!KDt!D;!,N:k*)S&heo0<j5uo# -roOU6B]eGRk2p'ZACK.]k(2['jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZF:<E1N5XBnn,NNAsDXK4P`X8kBXX9N*g=`@T"@fEGL4KPJ^N`MUMN%S*UT<*0V -XJ^?4:9:NZXK4ri+K0jmJZQ8\#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%R\>ChtuAg37@LZeEf+g=f7"g&OhAg'2o)EK5+>I/_h?9\S!5Zu*b8Z8ueSb1`,C -g=2P/@bTO0g=fbC.Fj"'J_INc#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&jOUEcO.Zk'h>k^#n-Rk2oM>joA6Qjp$CEGF!N\KDt!R;!-\W^2qT^]010ge`NEj -k22lXB]eGRk2p&f/)c'AJ`aB)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZE6P)VDbXH/O-7'!.OXK4P`X8kBXX:ersTIO0*?)ap!8$&e7Amh^A8H+bf9<<8W -XJ/1Q:9:NZXK4scS:#^cWf!U'XF[IaX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%R[#]!=c;g9nN'=4tu#g=f7"g&OhAg(Jb5au+7HG1PBk=k_SoJU,u'>Q22L?eUd- -g<Ed=@bTO0g=fcS`gr[Sf<<PPg4@thg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&jN4`4S[]k.ejQ>NO[Dk2oM>joA6Qjq<6QeMhceIH'DA?KUC?Lk+XM@/e([AEKGN -k1O(dB]eGRk2p(&d&*]&j1*ipk(2[+jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZWa:/NWFX<^P9=KH0WPCjg$S5("uV#.5$Ub#->>?e1Z:JOiOri@/'XK6ji:5_jd -:,Ok'8OfLW:/5T+Q68ao20>pn!/#j(JZQGa#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K]%RmW@qIc>g+HlFE7omk\u-aA`FC*%d/2N)cSo1aF*$'0A7K>`rn8Deg=i2DA$BGe -@m`Rm?!5Nl@q1;J^+!;s6^-6J!2b>$J_I]h#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y]&j`kBP]hRjtLI^G3+W1`NUV`ctF\<g\^+@gH/p-H$SPQC1qP'roP7uk2rTfBY%k& -BLbL)@U@f2BP<Fga=C\47[rPl!3^t9J`aQ+#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\uZLDR[p4FXIP`JVQ?GZVkfcVWW&=dWr&k)Wg]HZWM?PrS!p#KX9P?!XJ;5QVYZ_d -Trb&YR]3BerL*kdX?TgcJZOF(\uZ+Imap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%RbJ_oL'Dg;UtIdb;j]eBl+Yf)EPef_aA0fYb__f$E((`P]jsg'5aSg<[[Sde^id -bhCF]_q*PlrPJceg/)b=J_G\/]%RAJs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&jUbcI1Fqk0VE!hWEA6i7uW2ir74'jSS'HjNc08inNVXd*C2?jp'E!k1\,+hYPM& -f]Lr6cJn!ErQYQ&k#?N^J`_OG]&j4_s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gUT=GgrC-c_f;nt$JZOF(\?#nGmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KUY5]TrE0,3f@g4tJ_G\/\Cq/Hs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YUZMPerE]J=fB*(4J`_OG\E4"]s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gUTFBf!2G+HJZOj4#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KUY>Xj!7$/LJ_H+;#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YUZMR0rR_,'J`_OGNTLH2s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gM6$\gJZOF(U9"R1map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KM:qr[J_G\/U=oh2s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YM<4enJ`_OGU?2[Gs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gM6$\cnuMn./8]s>JZQ5[#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KM:qrVo%F/#3/W:@J_IKb#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YM<4eio&^"64-G0WJ`a?%#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g]<!3(7Wh=B:op^14FsT8IQV@AEN="?4J/^VWB<InNiH#?:TF8m'r*lR3g?_44Ar8^ -Am8YN>A%#P;*:3EX9!]bri?3r4@lIKX:'tIJinNKXIMCIDGl%eJZR+t#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K]@nI#=Hm-PB%kmh9VgCrT1k#POP,Ue9Zl)CekAu3[+B"cACp\3(!fQI8\<]l9PE/6 -Joc3_F+S:aB2$,?g&[b$rn7J!9O$-Gg'b/VUeII[g;Q`pN+ddrJ_JB,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y]B1<7?(>GkCZa]7:p&mBW)/LiQfXK/:t=^ji_W^P^>j-.C?,0Q("uJ\9uc><:i>FX -M0XW%H&6X&D,ACSjoM?AroO=8:gi;[jpSdpX\c$!k0Qq;PAYs6J`b5>#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\u[)/F"2DsXCm*cB7YMHXF;FrRX)!94KOoHXJ[Fl=d?(V=/>_p"?`ceI$Xc5!'L7^ -()hoDK1;:MQE48MXK6ecXK7XcXIrObqlC,h@l\6cO]SWR+HqAXJZR+t#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K]%S>iOu8V#g4H-SJu##og7L"O_jT649\R<og=.mHE4suBDUA:7"AIP'T"b3X!)3CG -(*TXuVHLh`^Y3_8g=i*Sg=j2Sg<49Sqq;BRIRo/d\8L$=.(b&aJ_JB,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y]&k2$RQ-s:k)$5&M63_:k,9urc(X:^;!,u:k2/"jGK8jiFkcfU"An7CVTAc!!)W[W -(*^(,Y?oL%al[i^k2rP'k2s[&k14P&qrS5bKhRG%_K=qd/&d)%J`b5>#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\uZ)uX?<RHX<7F(!CK!KX:@@oWbad[19>_>XK7hO9E)!n;3q*\"G]*%BW;!4!'L7^ -(-JT\U.1SHXK7=cXK6ecXK67h4?OsMqlC,hWB@7EA;%%c<Ki!8JZR+t#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1K]%R?^g.^3og*lqo!EDhmg($g1f8**o5MDHag=jEQ?iJa[B>=>t"KP3iK\-4W!)3CG -(/3=Ubuqtog=icSg=i*[email protected];BRekFdkI](oRCV,/OJ_JB,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1Y]&j2nk"t2:jsp@,!Er>!jpk5Mj,d)66ft&-k2sq)AcCfmD9;\;"LV'&MrXg!!)W[W -(/X$ifj;s;k2s7&k2rP'k2qdd:f&s]qrS5bi_\c6KsBe&EQ*LkJ`b5>#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7g\u[)<X?<RHXBCUcXF4c4XGnd4N`iH92QVpBXK7MF<1U+_<M95j"F[AQ@#4f`!'L7^ -(-JT\U.1S'SZHRTXK6ecXK71cXK7>OqlC8lWB@7EJnD*W0pA]?JU)gJJZR8##.j6SeVDWDqpbql -KCA!=nCg3Z~> -#$LBV\D!1K]%S?%g.^3og2OLSg7Etlg9N]lZuOfs7,"tfg=j!ECW>)NCs)Y/"J4?$H*.)"!)3CG -(/3=UbuqtFaP)BAg=i*Sg=iTRg=idPqq;[email protected]&UR?\eJ_JN*#3,[>g4n&Hqq;:u -JaVg;nC^*X~> -#$LBV\^d1Y]&k25k"t2:k'+W'k,4-<k.Ee<^3JeD8ERU2k2sIqEREq!En1'L"K1DEJ@>I>!)W[W -(/X$ifj;rde)lXhk2rP'k2s(&k2s8(qrSAfi_\c6Y))5k6,i!KXJ1:.J`bAB#4)<BeVDWDqpbql -KCA!=nCg3Z~> -#$LBV\^c7g]<!3(,&oM`0m]Qs4?Sb+BKTKTXJK8dALN)1Outj/U74e<8X]FV,""IT>bnHf4<cn` -Ag2mQK-Yq/8j%[+XD9OB@'$Gf4?QoFr2^Ef,@EuQ6#20:7mW??V`d:rXF[J#X9Q9(f@>Z*nb^iA -a+NjD_!p&EJ,~> -#$LBV\D!1K]@nI#/!!,a5F]o:9MDtKKM6GQg<k.=J2<qR\P,\9c,<s_>f-?k,#q<1FjSjX9Iif_ -Jh*cNVCnQ9?;.-Jg4qjPHJ7)W9MBWVr7V[d/:(HM;M_;G>>i)ee4rklg4@u*g'6R:hV*_4o)%,G -bCT*H^@9fAJ,~> -#$LBV\^d1Y]B1<7/XAu!6DW7X:f,'jMbn^fk1tJ_LGl3q_ba0Qf[",*@EnZ2,$If>He[]*:b>Mu -M(PtbY;*%R@o08hk)M_iJ`c++:f)Ppr8nO%/qI;a=-'X`?rt>0hbmI*k(2[Bjp(/Og!tl,nb^iA -a+NjD_!p&EJ,~> -#$LBV\^c7gXK2GZ?Iu7ZRSMnE#+nqgXFW('JZOF(dB!P`map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KXP*]XGh:XM`+%c\#0Lf)g8$m]J_G\/dFnfas5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YXQBPnIb3]_c=l8##1[eEk,go+J`_OGdH1Z!s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gYH.l*4?QrHn#QMQr&asin>l[j.STH8!1WmK!*oE&#?ErYS?/ffT7O(pXO+$Q]'e2# -LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KYM'-/9MB]Yn(IcQr(I*>nCdqZ2IZ42!6"e/!-S1m#Am.>`nK.nb(88tg<eOXir@lh -L=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YYN>uG:f)Vsn)aVhr(mBInE'dk3+hdE!71R>!.4V*#BN^MdH9TGeUck6k0W5pli5Yg -LXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g\Z?$K20H"%O$#m_XF[I(XSJq%]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\_7:?7$ZK[[S0hTg4@t/gA0G,ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\`O-R8"Jf)^ee?gk(2ZGk5"-Dli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4FsSbXF[JKX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K\_7(+ZM`DV9S(oKg4@uRg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y\`Np=]_pml:k@b[k(2[jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\Z>g9NVojX4T2>^>A\qmJZOF(s/ZF9map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K\_7(+ZM`DV9`<ZGF,GP&J_G\/s4R\:s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y\`Np=]_pml;#TMWH'3a@J`_OGs5jOOs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\Z>g9NVojX4T;D`Pp:'qXF[I(XT,@+]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K\_7(+ZM`DV9`E`I]e"tjg4@t/gAfk2ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y\`Np=]_pml;#]SYa=iU*k(2ZGk5XQJli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\Z?$B13K\"O$#K&X9!-CJZOF(JZSjP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1K\_7:45F'sV[S0<mg&["QJ_G\/J_L+W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Y\`O-G6_3B%^edf*joLQkJ`_OGJ`cso#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gXK2H"T_PSnVk0KZXK87unZ2ekSu[FDJZPZK#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KXP*^(bP9creB,h`g=k!,n_+&qak;7!J_HpR#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YXQBQ?f(eA4i7-98k2tL[n`Bo4eE)8DJ``cj#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gXK2GR-MXYI>"M;LXK5QcnZ2eW+.n+cJZPZK#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KXP*]N0_j?,Ea;t^g=gPSn_+&X-d%"oJ_HpR#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YXQBPc1\g);G[b.#k2pm&n`Bno.Fj"3J``cj#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7g];uR=RB3?RWM#cRQ_gdbUmI`:ri?d%Q`@-aQSk,%XK7nEU9(8ZV3dbPX9k\hTWG5n -Q^gX>JZOF(UoXd3map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]@mhB_V3SUf#u(U^X:chd(datrn8%'^Y%8g^I,cYg=jNEc.^[^dD*d%g'Q*?bM(\# -^VsI#J_G\/UtQ%4s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]B0[Yc0"!-imuN-b1u.AgWJ)DroOm=b2h^@a[XG'k2t$qf]M,7gre+FjpBebf&l,R -b0XSIJ`_OGUuhmIs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g]<!iC-`ijdP^+?N;-0iu=&DsIXK7"O;/`Ot;&iGUXK5q^O0"]n;,L;SXJf2t<L^(% -;,\g6JZOF(UoXd3map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]@o*@1>9c(]UC3aB5cJSDJ*cCg=iB:B8tWSB-_,Sg=h$6[G&DIB4l"hg=:(RCrP+[ -B500DJ_G\/UtQ%4s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]B1rU2!34D`hFo&Cj"k!FDPtWk2rgaCmF/!CaNtgk2qCX^ZN]lCi"(,k2:>tEmWs* -Ci;,[J`_OGUuhmIs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uZc3XK5BcX>HTO4f_AHXIhAOPY$do??N?N4T)8p=c]Yc8rB]nENDl_O+B]3JZP\1 -T7O(pXJDp%]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S#qg=g;Sg-Ws9:"a'og;u_9]3VYLGEgh89`3TYEOFNS?E`(KOP408[\QrVUY=*g -b(88tg8*F,ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&jl,k2pX&k!dh_;<;Q;k0uo``aZNpI@TH^;#KGiGJE;&A%:ZmR-&%Z^o^guXQJ;7 -eUck6k+q,Dli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\uZ9%XK5BcX?<Sc4f^^EX91SdN\:<6",j7^4T)8f=c]Yc8tN,-END/!=U&D=OK>NT -T7O(pXJDp%]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%RNcg=g;Sg.^5S:"`5>g&k%&Zo\2*"0pS69`3TOEOFNS?HCidOP32'E!Cf1[bBG? -b(88tg8*F,ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&jAsk2pX&k"t4&;<:XRjo\HB^-;O?"1mXW;#KG_GJE;&A(0S3R-%$?G6WeF_<0lg -eUck6k+q,Dli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\uZfGLjL.jQnP&)0U%l,Lh@ftW+LL7FF^'?08]\0)377,S"r*"XC#/4QWf3$>G5/T -Fr?(:X@Z-;XF[IOX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%S'5XILT.^c]]^4hJOMXF_h:eUjEpPG6:&4Ke\;)7E\/`6_,Vg3@Yl^N-EWFN\X) -Q6<9_g0J0=g4@tVg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&joG[A>7Jb<OJ-5fLrk[>HEWiJFM@S#b/K5Ig^T)8KRFceD4%k'qX<b'CD&HIm>J -Sg(T)k$htSk(2Znjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZgF?u:U:JmaV(@!\o8@"E<NXK6/EFKCa8?tB8<)/rtkLmqdpXCG\?XH$[rS?/;i -Ee&;6N>m7rXF[IOX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%S(JHA\\^UjBD]HCNWrHD?P"g=h=.PM3]rH@GkI)39)iXi5UNg4"D&g9c0P`nJL[ -OJA&oZQbrkg4@tVg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&jpbJW[7(Xb"4-JYVABJZP3Ck2q\TS*%bBJVF*c)4#i)[a0Mpk(J?Kk.Q=sdH8o/ -R&lh?]d0G*k(2Znjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gKrb<-GCciHXJ`-(]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KL"ZR)Q\!kAg8EX/ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YL#rE?T7Q-Uk,7>Gli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gXK2GgJ,$)MRWs(LXK7V\nZ2neGc7^6Rt7YlXJ`-(]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KXP*]hU%m=H_jQq7g=j-an_+/iRFU$1`.?Wng8EX/ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YXQBQ)Wqb]]cCpr]k2sY:n`C#+U#G.\c[k50k,7>Gli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gXK2Gc0DMUR:2b'@XK5QcnZ2nc0;#>6:P#TuXJ`-(]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KXP*]c48@M7@uZJfg=gPSn_+/f4NcBpA:`Hcg8EX/ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YXQBQ$55=7FBpFt2k2pm&n`C#(5Lno?C4YMuk,7>Gli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g];uR-Gc[WZUl0bZEL3c.Q#V[Dri?cYEMon,E@5a^XK6hhU9'u,QZ7ZWX:1>5Mla"R -EILKOXK4O8XF[INX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]@mh-R+fiHd'07HO2'E&]oT?jrn8$RO42h#O"uctg=i0[c.^:#^lPAlg'kWTYhIgT -O.]b#g=f5Og4@tUg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]B0[CT]XpogUaGoQceIQa-X>5roOlfQf$rNQSk,<k2rV.f]L\Mb*T=2jp]7r]&r/, -Q`4EDk2oKkk(2Zmjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g]<!uX0W_$1P`?YiG>,'4;g2OmXK-5WG?h,;G:IfqXK7";O0#!17sAEpXJ/[<?')$f -GA8"fXK4[cJZOF(W2p37map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]@o6Y4ke4R]X8o.QXSRnBpX#qg=V@DQZ^p"QSk,7g=iAu[G&ei>*jZ8g<FB!G.6%A -Q\HX*g=fHSJ_G\/W7hI8s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]B2)o5j$cp`kNaKT4[3=DkDG2k2_blT7#YFT/`ITk2rgE^ZO*8?_<"Uk1FXFI)4cb -T8b&Fk2o_&J`_OGW9+<Ms4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7g\uZ9%XK5BcX?<Sc4f^^EX9q(kN]1Zd:2-f24T)8f=c]Yc8tN,-END/!BaQIpOK>NT -T<,,DBn<@:XJi3)]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%RNcg=g;Sg.^5S:"`5>g'UO-Zpf\&@tiXj9`3TOEOFNS?HCidOP35(KaKkZ[bBG? -b1bRCKn7s/g8N^0ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&jAsk2pX&k"t4&;<:XRjpFrI^.F<DBT2*9;#KG_GJE;&A(0S3R-%'@N=%jm_<0lg -e`Q"oN.L,Bk,@DHli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\uZc3XK#!ZX?<Sc4f_#HXJS"ZO[4DFH^1\64T)8s=c]Yc8tN,-ENDKMIt)iQM6*[C -T<,+Vr2]plV1G_!XKJW/]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1K]%S#qg=KcGg.^5S:"`Uog<rOG\5SumS@mS09`3T\EOFNS?HCidOP3["TqS$%XkM?* -b1bQCr7V1pd=L#&g90-6ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1Y]&jl,k2U'nk"t4&;<;':k2&eo_H3Y7UrVW[;#KGlGJE;&A(0S3R-%PCWMu_D\)u[Q -e`Q!jr8n%2gk"U=k-!hNli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7g\uZf[@U:<jJg-5@,($7e@TXY)XEe,]>_\MP,%^bT(i_<.M45u4X@>LWVc7,7?*%CB ->T[mcX??E^!@(TqXF[IUX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1K]%S'OI!72lV(8pe/=Y1)HuC=1g7!86FK3$$.tIWQ(m%!qXi3/Ug0%>-e7sAYG1q1g -FXW4&g._Fu!A&&<g4@t\g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Y]&jobJpf>,Xt@B//u7HFJorHHk+[<VHF(\E/r0Gg(mm^-\'R*tk$;'Nhf+1!I-,p1 -HRb9Bk"u!<!A8DDk(2Ztjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7g\uZgJL5hU]Q\M')L6J^0L6msgXK7>7OK>.1L5>i1(lj?*R\Y\"XGDY5XIY*#Uo^DI -O-Yp0V*k3_!cKQVJZOF(Y,hi=map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1K]%S(PWj9IJ^T,>uWk7!+WkYsXg=ig3\(]$*WiZ3R(pp<C_p>?lg8q@/g;g4nd+ZmI -[D'-(d8g/!!f](SJ_G\/Y1a*>s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Y]&jph[(OVsb-]UK[)M1V[)p),k2s7^_<0@V['otr(r!AacJ,_Bk-_SYk0gWDgudG" -^WF=Sh-0d>!gPaiJ`_OGY3#rSs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gKrb<9Nr?$[K:7@mJZPuT#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KL"ZR9[/J\ZVo+)>J_I6[#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YL#rEO^A[0pYg.g^J`a)s#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gpoFI9aK,A^aK,A^JZOF(VlU*6map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1Kpt>_0aP$WUaP$WUJ_G\/VqM@7s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YpuVRDaQ<JiaQ<JiJ`_OGVre3Ls4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gq5aU@EW3$?QXB`n"BIN/4!i[`!)!-i!*&Qk"C3<94F?\$!`UY5poFL8LA7hNE#+#+ -JZPcN#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1Kq:Yk9O8di6^j5q5"Dp[^8h\uR!+,QV!,M2["ElFl9Ut_.!bsU(pt>b/Wqb9KNZ<W( -J_I$U#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Yq;q^MQi?+Jb(0KR"ER6k:,1Pd!+buh!-.Vm"FMq#:o*^F!cU-;puVUC[.rbaQ6(V> -J``lm#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gq5aU8H2alGPZ7X`/4lI"V`_%nEhZ3oXI2^SK<0!+CJ0bjXFNr:?EC5L91u:dXJJQj -J!t^&94Rt&!DH8fX:Lss97<mb@rY/!XJJ:cX??K`#?OQnXA=^H:]7@'=c]YM94b2"9<>4-JbZ;I -HTZk\JZPcN#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1Kq:Yk/RJtn@]P@H"/6p=rdnJJJOj.7Lg;@9)VqR,cLL7OEg7hq]GM:c5?XMI>g<j8E -Tu3?C?[_q-!FTF:g(2A6?_5u:IZRp>g<imRg._M"#B*tqg17BoAGt3jEOFN8?\$j?@+s=eU\NOD -S4nLfJ_I$U#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Yq;q^BUAj9U`c1q>/7I(1hb`HmRFu,pk07FIYi_11O(?)hk,W$'IHK[[A7Xc`k1sQh -Wm.=aA;'sE!G,sDjq$$RA>eR\KpZD\k1s2&k"u'>#BaS3k%VA:CAm9'GJE:^A;B;]A`i-4XSCoY -V,2a*J``lm#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gq5aU+LAn7TRVVo(/>K73VkU8[1KL&SXC.Ti8ti!rI@W[*Ro#ZH=0.O,SXi3NRoQ#B -+H*$SSY?%a0V(/(XI3.\SSN_N*d4)?X//1bR89o[>`bLWRVjLDR9#u^XBCUcWC)oOD.p#PH&VL! -!'Gh6JZPcN#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1Kq:YjsWrC]Q`/+EH/C3!Je'?[`6#FYgg3Uf[?Hg\8T>sma`+@!0DVDUca2_<9`GET* -.C%5ga3=P:0ZQZ:g;7aJa,$G9-C2\Ng!NdQ_.D?IFgoD.`/?Ck_JRKMg2XOSelBB:MM0^;R^2\A -!).stJ_I$U#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Yq;q^1[/T1gcB%te/DK8fhq@/97<?n-k((n.A(TEVVp\Z/cYLtWFQUH2daDF`cZ7IO -/%aS.db"K\0[`SUk0.qqdZ:E_.%\jgjkX)%b\H:qHbn-OcBC*5b]D@tk'+T&i`a@aOc/AaU:^0^ -!)S7/J``lm#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gq5aU%NVBLY6)UfcU+;`4X<*`r6QDc#4KPVHXJK#d6_(6ZDF6cPXDE9cXGrjR4Su2_ -4KPVoL&S.u4KLZHX?EV\)FIGoXH"Mm6S`A#E3--SJ?5hTO0#F;@]WLno;hpSJZOF(VlU*6map!E -e+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KqUu#(FL(Yp##j")g<DOprn8F0<E19eg.^5S9\Rm4<E7&mg5K$38_Sukg=imUg._Ct -"AIP'IB!5",>?fbg=f9Sd32M)a4dmO<E28;Q]BeRKVI2SEOFNSWI3E6^%9qX9S(oKg8EX/ir@lh -L=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YqW7k@HG'"7#$9^Ek1McAroP9F>$<6'k"t4&;!-PU>$B>9k*&tP:?IY8k2s>,k"ts; -"An7CKX1U>,>dN!k2oP&h'6*BdcS7s>$=7OTU+a&MlZ"&GJE;&Z\.CYa7JEn:k@b[k,7>Gli5Yg -LXYejeHa-In)qLUg-U;~> -#$LBV\^c7gq5aU8H2"BD6)UfcU.5*_+[;fj0;,C/XK4OcVMq@J5HKNKV1Uk2Iqc!cPbP6AXIkjY -X<]p0XEe`cXH?Sc4KPVIX//(XG]BgO<1]qQQ$?'*Wa1UcXBCV`X9)4B>kkB$OG!M5!'L1\!J6Gb -XF[IUX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1Kq:Yk/RJ5D=;q'ISbujqu+]-S&43Q>Og=f6Se$@BK:thjtdAKXkTnM.R]?T&'g<%,/ -g*BAGg7!uSg:2%S9\S2pg!N[EQ]Kk9C<4f;]U*-^f64LSg2XP"g&blQFnjYk[\s)X!)3=E!N!;W -g4@t\g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1Yq;q^BUA*dR=5W0&fj4R=+][=A5M"snk2oM&hRhRu<T^Q@gosT:Wf6*&`S'BMk1.WR -js3dck+\+&k/)6&;!-n;jkWqlTU4faE7<Uba.R,.j*\Q&k'+T>joT=kHhc_(^p*e"!)WUU!Ns:j -k(2Ztjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gq5aU8H2+HG6l.n=XB?E2riAn74@h,,Aeg)R'l'-V4?R_eSl.[V(5T&?4?QT:XDU-l -PcUrL'g.MXGW\)iUhpirM\T]+(QPS@ENG-e4A(l`8N]1mXK5AC13]h$S1CK3X8u-Gri?2d'g.HS -X8sPGJZOF(Y,hi=map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1Kq:Yk/RJ>J@<ujo5g2S3<rn:/.9O'\tJK(Ye)hu3S9MCZ(aCe1i*3@kd9MB6Gg5J^1 -]\;(7)bdTlQqU1kd#/j:YT%t4*jjXfOP7$@9O5>u>te%qg=g9i5F:*X`])?@g&Ye@rn7HN)bdO9 -g&Wa@J_G\/Y1a*>s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1Yq;q^BUA3jU>9?VIk'%tUroR"B:glS1L`Eh+*0/8i:f*\Edqqp0*k(40:f)/`k*/\O -`ocD]*)O?2TMSI,gQEPV\K-<L+26m0Qfbta:h%J<@Sg"3k2pV46_EN'd5p.ZjoK6TroO;_*)O9H -joI)TJ`_OGY3#rSs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gq5aUMA$)g5G]<AX!IeeYX9+>'TD5Jg?9s.DJZPuT#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1Kq:YkJI]_<)Q]Cdn!MG2Bg&eQ/anXQjGZ'+HJ_I6[#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1Yq;q^_KrsJ<TU,<6!ND+SjoW.FeG//,ITD$^J`a)s#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gpoFIQXfMRY.V&7T")KS<W;3LqU6PDR!L9C1XF[ITX9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -#$LBV\D!1Kpt>_OXkEh?21G>S",T&pebRo"cF`i)!PH[.g4@t[g'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -#$LBV\^d1YpuVReXl][N3/%(h"->](iVDU:fuEdK!QWiDk(2Zsjp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZSIE!L[BlX<aa7U9'lUXK%e\Uo^>]VQ?M^Vl#uZXK8%aS>E<gSXcdTS>`:_S,fR? -XF[J=X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_K_L!Q09[g*G1fc.U+Xg=XEbd+Zgcdb;sceC)@_g=j]h`mNMoa2ZiW`mrK8`W4VA -g4@uDg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`cRd!R65ljs8m4f]CN0k2aq;gud><hWEM=hqlc7k2t4AdG<sIda@40dGWjZd/`3X -k(2[\jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZSLF!g$,Hq5c$,*''uO5-/]s9NIj2)MP81)NKSB8Z]"!,sd*`X?&);Af[(e)GEgM -Q@Z,gXQuql]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_KbM!k2TAq:[:,,=pEK:>1\8?u=,R+fX1S+ge:P?/""U/lSS"g.=K^JL.n(+^e\1 -^4G!hg?[Gsir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`cUe!l8JUq;s-B,u!;_;Wa6UATQLr,I6Hq,JCKj@clg#0itL>k"S/'M'p6E,@tF? -aFWK)k3M.6li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gKrbr54?S"mWbjj\6EEOd69L^<SsDnAX;O65JSTXSFf_[4:96mZXIW"cXAN8_XK5?b -ri?KPDlfd&XK4OcSR._8XF[J=X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KL"[3/9MD&3f8<6q<8(?'<(t3`ahM$Sg)3_:UPPM)PhOj.A(k&1g;dRSg1GN7g=g;S -rn7aJNS;c[g=f6Sa*>FOg4@uDg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YL#s&C:f+%Oj,m/7=lrnE=A[<*eB)(mjr%-QXH9<JSEAtYC$&^Sk0df&k%oIZk2pX' -roOT^Q0-n*k2oM&dXKDkk(2[\jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gKrbr.XK4OcRSKrcEiamJVQ;n]XJ&/ZX9LnJ=_iCqK`8%`4KO*HX?NYcN*M*HXK5?b -ri?ENDlfd&XK4-Z/V1!SXQcej]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KL"[3&g=f6S`+%HSOkQ]sdb7CKg<<aqg'1BYEJU38VuGB\9\Q:og.p;SZ?3*og=g;S -rn7[HNS;c[g=e`13J#n8g?I;qir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YL#s&:k2oM&c=lA&RHC_>hW@Ysk1<u8jp"esGEA\UZ2Wkr;!+m:k#1:&]R-u;k2pX' -roON\Q0-n*k2o!S4b;aHk3;"4li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gKrbr04?ORaWG4OXL9-#<XK4OcXJ&/ZX9Lng:KW!TK`8%o4KPAPH=j7Z@l-;(S?,YR -XG:kADlfd&XK4CB9:Vr3XF[J=X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KL"[3(9M?\beqQjlWnOA#g=f6Sg<<aqg'1C)A8n,hVuGBk9\Rm$Rt9;HI6pUn`S,(> -g8pI*NS;c[g=f')?cLWIg4@uDg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YL#s&<:f&J#if-c2[-"TIk2oM&k1<u8jp"fEC3HJ.Z2Wl,;!-PDUP\-pKLSd+d,o;f -k-^YOQ0-n*k2o=OAC0:dk(2[\jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gKrbqMXG\:(UO'#C4KO0GXK4OcXJ&/ZX=QT8VZ;+%?EC5WC94L`<KF5Y6EI8T;63]\ -XFOu/Dlfd&XK4OcXAY@cPYnB1XF[JAX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KL"[26g9<*]cC<PA9\QCog=f6Sg<<aqg+6(Oe,Z)DGM:cDL>(@PCUMmF;qfs?BA.+5 -g7j7gNS;c[g=f6Sg1\4S]P#cGg4@uHg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YL#s%Fk.3/,fq[]l;!,!:k2oM&k1<u8jt'KkhuKXaIcfdkNooK#EPLYm=Q\bgD!#]W -k,XE6Q0-n*k2oM&k&/9&`bj[ck(2[`jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gKrbu74C(KlShN8hNN>K'Uh267K/tYVqQ('`/n(etLTHV#4DLkpX<(BCXBmPKHoWoD -0f_?SGG\V-5bG-)/j)6NS#g3<VLbh"XRE4p]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KL"[619QjZqaZW<kZJ&;Ed"+6YVFisTqUu=^4*oS;X4k'W9SV-tg)b(ag3>\\SOl"= -5"J@9QdTtL;9@O^3_W42`7fb`dt-5(g@*`"ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YL#s)F:jc]2e3Hi,]]NBcgk\,$Y>.;iqW80t5(VgX[H>>&:laQ7jrSR*k'fL!VG0?Q -5tk*HTA=ij<Rp6.4]"s@cfU$*hgsp@k3qF:li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZQSe!@a(\XF[J@X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_Iil!Ah08g4@uGg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`a]/!B.`Ek(2[_jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZS=A!1WmK!*n-W!2G+HJZS7?#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_KSH!6"e/!-QoI!7-5MJ_KMF#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`cF`!71R>!.3>[!8<"dJ`c@^#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gKWG6U@>sfZ!/^TS!E#<XX8n:[Fo[s%X9+6%S,KDh?'"?R!^Af*ri?0s>+5Gl!/^ZU -!etljpoFIPqlBc_o;hqBrcS:>o;i"?G,b8<!Ka./XO=0S]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KK\?L\Ha31r!3Z4Q!GB@Cg&SMZQ2neng&eFC`VnKkG.$\j!`2Rprn7G#El7n1!3Z:S -!ihR.pt>_Nqq;$Io@a2>rg!Q5o@a89QIkoc!OgC,g="[Zir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YK]W?tK"LX:!4Vjf!H$0TjoE-pScI"+joW#`d/E)-I)#%1!`W"-roO:;Gg?<N!4Vph -!jeKJpuVRcqrRlYoB$%Srgj,IoB$+NT&]V.!PmNBk0iArli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gKWG3S55qY_X8T.!Ws#N)40,F]X9,G\VZ*[rWrT7!Wsl(g-us?'X/rD'X/rE$X8]1% -L.caiX9,G`UA_1nX8]4"X8&ar4T)8]PZ7U_!'L4]!eNdjrN-"!"K\XcX/l6$!NUqQXT#7#XSo4" -X9<9!EcPFaXT,@$XSo4!X93YuUoaQr#-=l+XK5<cJZR;$#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KK\?IY:]B&Lg"=sUgAfh)f`Fh!f`'S+fW`g'gAfeAg"P-3g">!3YqhE&A(]Mhg">$4 -f\+p0rn7FR?C1ZF!nk!+rRq;)g&B_)f_F/#9`3TF]5.B!!)3@F!i8nmrRqM/g"G*49A%qsg&]j) -rS%;(!SQ3+fa$0`g4r7]OELQVs4IA*"5);Zf`'S6QT<FHg">!3f\"p3BYK&Odb4obs5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1YK]W<q;uYn\jlGM$k5XNAjT86=jSn9CjLO.Hk5XKYjlY[cjlGOc]/>tCC#nF=jlGRd -jQ5I`roO9gA=rk`!p%,KroO:DjQ6C'roEk:!)WUU!QB'WjoA6VjoV\hXo7D^j9=Z-j\Ot!roO7B -Z2Nhbj8nB)roFCGk2q[uR$`7"k5XNBjoa]+jQ-=&%A,c;k2k[ck2bUck&/7kk0iArli5YgLXYej -eHa-In)qLUg-U;~> -#$LBV\^c7gKWGie5-1i_=?SfgXK74D4\BgK'g5.fX<:7XR]NTE5!;`3IN)BP<hl`YXK4UcXHcFA -CTL#d6p5kqX9!<bri?0%+HHH&$"lCpQ`P["4X,[WX8kB\X9"PbrN#u]rN$'p7Qg[O%<"C$/tlkl -4_CdsTKO\%X;bk:4^G*q.SDp>XH6PcX?<ScKg%_UUE`Su7ZRJL$q-nmL)"Br,<i31;O2m8d]<Ya -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KK\@*k:YOONE)'/jg=iZ,:0j'\)bs]<g)slM_qNhD:JPK?T-A2KDU7$1g=f<Sg:Ucf -LtZ$'<_f+_g&[8$rn7Ei.CB*.$%ku]^Y5AV:+WLBg&OhEg&\g$rRq6FrRq=t=\ShK%?+%f3m<0p -:4h3Rb"a\jg)G`@:3P<82.'+6g:)"Sg.^5SW(p0hcRi^'=LA(]$s(a/WZ-W:/5P!RBYK&Odb4ob -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YK]Ws.;s*6!G#D5+k2s*R;IZ-!*E$AGjre=`cK=8p;c7DWW$HL`FP>kRk2oS&k/V"1 -O60eC>>h6qjoLg@roO9&/&)#F$&VVmb3#^%;D,BQjoA6UjoNG@rT4)VrT416?;UX`%?sb"4kGN2 -;MjPuel"@(jr97W;LISU3+PpIk.u3&k"t4&Yu=W.g+R5>?,$=#$sVKKZQ5"X/lUopDTICkdcLc" -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gKWGbpL9.JSN2*./XH-VcXB'PH4Su3*:7A8@@&pAs:TQI:XAtIc3hqC=X/JXUUNC=5 -5,G>sI&sDhGQ"TQ>)o\cB6^288?>+PUQM8GX8kB\X8uLarN$!WrN$E1Km%44E-SIW32*E9qlDG5 -XK6/cXK7@cV_4RB4KOWCUM>=\Lg$OH=c6a"XJ8dcXK4gcXK4^bX'gdcXHB?1XO=0S]'e2#LXYej -eHa-In)qLUg-U;~> -#$LBV\D!1KK\@#cWnQ1UZ-LWeg9u.Tg23/09`*NhA&I$'H.gogAD0G]g2"=S8^=8`g!sEBcBF*n -:XRmQS_DeYQi5VJEjXQSK:'rr>hW-%cF;$ng&OhEg&Z9$rRq7UrRq["W0W1lNgSPD7a0R[qq<\s -g=h:Sg=ifSe2k\)9\QsicA&(IX`D_2E3Xh@g<XTSg=fTSg=fKSfm9dSg:5R^g="[Zir@lhL=5Yi -g'>fPmcqOUfg1,~> -#$LBV\^d1YK]Wl!Zf^E-]@tt6k.l?&k&[0W;#BB#B[5bMJE>q<C?A((k&JB&:"lk+jl'^jg7+2> -;r-StVWR$-TDdm^GeW>&MP8bC@HLYFg;2G;joA6UjoKb@rT4*krT4N5ZC['<Q(d?k9%`9&qrTP. -k2qZ&k2s:&h`]HN;!,T4g5W/q[X$QXG.N?]k1an&k2on&k2ob&jajo'k/6#+k0iArli5YgLXYej -eHa-In)qLUg-U;~> -#$LBV\^c7gKWGQ]5-1i^=@GY0XFk']X8kB[X9;:eXF"g`X:@@o4KPVaPH5rs:QqlW)ZE/4FcT\, -XFOucXDrI_X9DdfXK5&Zr^@!lVaX$RSb]>e4T)8]PZ7I[#EqqP79#j[Oo29\4Su2_4KPVZRf9Au -4JtKHX?<SG,=P_2XEcAr71bPiKrh@SQ)q&TUo^Yo6_-l$XNdgN]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KK\?gc:YOOMDc^"!g8BGug&OhDg&tp'g7+!!g($g19\S39]@nc:A@pRE+oYOMQ*tYc -g7j8Sg5hU!g(&/1g=fn1='&MXe5o^da8+Eh9`3TF]5.5r#J+GI=)5oq\GY%\9`*NH9\S31_uA@" -9[ltog.^50/QZl<g6t##<tMihWS6'?]\;(?d+[4$<QAHtg<J=Uir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YK]W[&;s*5uF^/05k-0U<joA6TjofACk+n1>jpk5M;!-n[`TAdXC;o>l,Q:pTS\TF2 -k,XF&k*M_=jplXMk2p2R>[1Rsi*9N+deW#*;#KGV`Gt_9#K1=]>]J88_YiNr;#BAX;!-nRcMlr9 -:u>@:k"t3V03iYUk+Xs:>S+`)ZKC:fa6)MggZIYR>1-r4k0<#mli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gKWJ+P5-1iU:Rc/JUnV"WRs^!m7[oNYXK8!_Ml!(HR[\M@V)G*J9SfH%V4Ub\X(HsQ -OE$='Ngj(=XJ'6BU9(Gg;1PIDPZsWH?*%+sRpM#SXCt0'X8kB\X9"Pbq5cbiDk`k(J!X<-Rq&:r -6(<+XXK%aJS#V]VS"!cFS3*XF2PYt%Wg$_aT2h>LGE-,nRu:XNXIVM=VQ?e02jF*=!E`KUXOsTY -]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KK\BAV:YOOBAAsB\d*6OC`La-a=N.e0g=jVNYgLU0_o7t'd7)C5@BIgDdE67JfRfp< -[Z@jE[)Hn#g<>,(c.^mnB;3c,]5ts1G1plR`H\W@g4W]/g&OhEg&\g$q:\#\N6TL]TtbTd`I?4g -;oP-0g=XA5`RhbC`Pm)/`_+b.7F.rDf=Z1Pb%nr7QF)'4`NXX:g;ct$e(WH*7_AHL!H2q.g=Y*` -ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YK]Z4n;s*5iC=&&!gt6ejd&+55?-pHRk2t-!]%tnWc-W,Mh+68ZB"$Dah:6MrjGC"c -^mDhc^<grIk1GKOf]M>HD6)FR`HfhWIHG\!d!iRgk)3XGjoA6UjoNG@q;skoPhFT-Wl]J3d"U9; -=4!VQk2al[d,W,kd*R6Ud8&WU8D:@aj2QB#eT&m]T>#tRd(4bak0d/IhWEmT8]CJe!HiR:k1Jf# -li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gKWG3S55qVnJPCMsJ?5hN9l-o4VG1.kX?9]]9nf[M:/,]/KM?`_9ji0>L9.IoXK6#. -=KIQd>"tcnXDUa,Eic?N9hg)<XHQ@QMl^Ve9m<\?Sh4(CX8kB\X9"PbqQ(@29hf_?9j=]f9hg;B -XGoqnXK8,p9cTb+Ptau0XD:OnKM?_u9qJGNL9.IN9l[7DH;.]EX9Va"9oH*SN`u4Z!gFjGJZRM* -#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KK\?IY:]B&XULB^8U>"=8@>NXkdU@%mg,sFb@Aqo6@ptDOVdZ"6@="8KWS6'ag=h-e -E8%a>Ead;Jg5KHKOP8E9@:>h_g:C^$YhFe>@@#X$aZ4>=g&OhEg&\g$qUuV8@:>=K@<:/?@:?+g -g9Y4Jg=jgN@3!AB]jY?Pg5'1JVdZ!<@EI69WS6'8@?9,jRUL@<g';G&@BeJ>ZuYrq!k^"AJ_Jc1 -#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YK]W<q;uYnhXCe>UX6/P_Aru0;hI^m/juds%B!UR]BkE[nY\'WXAq?RdZf^D6k2qM4 -G36S`G\5[lk*'ChR-*O_AnJ%)k/CqE]&nuaAtJ/Ie3%pQjoA6UjoNG@qW8IPAnIKdApNO`AnJ=1 -k.G;lk2t=qAfT:^a(Aqnk)X,lY\'VYB%5t_Zf^C`As_Y5ULnoQjp,p=B"@'d^3KG8!lcdTJ`bVI -#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gKWG6UD2clD!e3n3k,\WH<2fbs!_YY6ri?1!A"(WC"0,@BTD5JhRp'b*X9!f[JZRJ) -#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KK\?L\MQtR_!hs)>k1TmHC=N49!aeX*rn7G'IDa:_"5%COb4sZl`H$t5g&[joJ_J`0 -#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YK]W?tOh9$'!ifkVk2l`^E8^]W!b>-=roO:>K[.g("64BhebJ8.cZk`MjoMH6J`bSH -#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZR8#!b>8CTr\?m<)e>AX9*<>>_0!#X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_JN*!e5!;U"TUrCMTR;g&d7LFFi/ig'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`bAB!et]OU#lI5EH.rPjoUffH\(>'jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOp6!f`/+JZPHE#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_H1=s0;X@J_H^L#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ``$U!kc.gJ``Qd#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOs7"EIaP=H\6:T<&7.map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H4>"HdeJDn1GQT@sM/s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``'V"IXR_Fi/dmTB6@Ds4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOs7"@/oeCj^f8T<&7.map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H4>"B!_'M4K4OT@sM/s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``'V"BFFCOemWkTB6@Ds4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOs7"@/oeCj^f8T<&7.map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H4>"B!_'M4K4OT@sM/s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``'V"BFFCOemWkTB6@Ds4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOs7"@/oeCj^f8T<&7.map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H4>"B!_'M4K4OT@sM/s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``'V"BFFCOemWkTB6@Ds4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOs7"@/oeCj^f8T<&7.map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H4>"B!_'M4K4OT@sM/s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``'V"BFFCOemWkTB6@Ds4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOs7#\%mu?Aknd?QXj#UT=[2map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H4>#^hi$GHffTGpe0sUY5q3s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``'V#_SV;I_+\(J16'3UZMdHs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOp6#BY$CXK8$:Aq@%YX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_H1=#Et:Og=j[uJUuOMg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ``$U#Fh-ik2t2ELk4]`jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOa1!MFF`XJ2d#]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H"8!R$OTg7m:*ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_jP!S3Tgk+^uBli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(rN$!JJZQ#U#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/rRq7EJ_I9\#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGrT4*ZJ`a,t#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(s/Z:&G9-I[-p9&\?87J9;*7OIPVQ=AMD/P<4?BRFFu_?XXK6%gKnV3oU,4hl -3H'JMi2d-omap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/s4RP-Q6l=[-quSOGWrL]B1u^Z]K^;fY<@<`9M*slQ:O;Wg=h0BWMht5bsFoo -8<&2Si7\Cps5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGs5jCET-sEr-rDtbIR1^'Cf"]t`^=k1\Nto,:eg*7SkMRmk2qOeZEZ]RfLAM1 -9U(+ji8t70s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOp6"^kY`XK82r?4!9UEIM5UXJp2%poG?Y13o``VH9+cS5u=WS?/eSXK7F\J?5i4 ->5bN04KPVHXK5fcXGpG8XPg/a]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H1="aYE`g=jmPGR;QhOJ$j,g=MBZpt?US5FKr!dVlnS`bit.`nK-?g"NfJU>">. -ErF]!9\S2og=gkSg9PdNg>LZhir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ``$U"b;&uk2tCsIL4W.Q`5GLk2M_(puWHg6_W@=hK@!'d<!rOdH9RgjlX9rX6/QY -Gl?b3;!-n:k2q6&k.H"kk2>A+li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOs7'4luW@th![MMb8sR2p%"8?/bm4SYu^H#H*B6CpgKX:J6pR89o:AZVqBGtt6< -N`uC_$9YDk4KPVlFBjlsJZRe2#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_H4>'7m6fI];%3Y-)EO_Bjr>>M%T_9_d<GRZ(:g<68GFg(.o1_.;8sJD/\*R:F_" -ZuZ-!$;B1-9\S3HPBF:PJ_K&9#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ``'V'8X*,KsKiT\@?@sbpSO]@,pD3;#'/WU6Jm2=O^gZjpuCNb\H:DM!!fQU1iHH -^3KV=$;fmI;!-nkRsVosJ`bnQ#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOp6&m89pI&q'a=+[NT4KPVKWN<0`poF[FDfTe`SkB!`*E/6)?A_pHXJI+B0o)ij ->-+fIX?<Sc4KPVl6S+:LXP^)`]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H1=&o__WS_Ag9DPZ"?9\S2rf@nqPpt>q@N0''!a^+o"*GN1?GHZ%ng<hEg5-*DE -En]63g.^5S9\S3H<B.F<g>CTgir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ``$U&pJFhV<3e[FKO]f;!-n>io]B"puVdTPaIb=e7/F>*H0!\ICXX:k1hP16F>mh -Gin.Yk"t4&;!-nk>!'NNk25;*li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOs7'2agP7sqD&Oc`\1X?<Sc5H1`c4SYujH#KHB6D7/NXJSsbXGC:]XK5+pOVUKh -N`rNc4KLZHX?<Sc@#1G7BWS:qT7O*)X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_H4>'5"Y]=e49Y\@?Cjg.^5S:Y4=S9_d<SRZ,Ng<6Sk"g='iSg9#^5g=g!7\/&<& -ZuXmS9\N1og.^5SHE>5pKA,%cb(8:-g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ``'V'5YG"?DZf'_SU?8k"t4&<9!'&;#'/cU6OA2=P%9Bk211'k-fkWk2p:T_A6PA -^3Jf&;!(U:k"t4&J[O%AMrs08eUclDjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOs7'm`YO3^9]$:JY#aGoVR$*GqcO*)DptX9q*HX)^P.MGd5ILAn7q7&6oC*)DMh -*)AjL:JWgK>Ye.$XJ7=1:I/3dX:8oqXQ6Ge]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H4>'q8cG8l45+A7TQ#RNniB,`:2a,@nRcg'UP>fo]7fY@qHZWW(Tm<m]R*,@n&i -,@j_0A7S$\FC\p)g<V`SA5[L&g(B*kg>prlir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ``'V'r,MY:/[email protected]@U*[._-B[;&-#1QujpFsRjdB65\Sc/!Zi9).>MJ;P-#1&, --#-L?C2-6#HYR;Ck1_srC0,`Djq<]*k2bY/li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOp6s-X@nR]N'JRA-dVRA?^JT<%sZ!3#aq$(@9`X.ZPqSXH#HX9P>uXJM>QV>?Sb -SuefWRAR'crL!e`XAhWbJZRq6#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_H1=s2#8n_qN/J_Tpl[_U-cKb1Zd2!7^l!$,aX6fur+'a25jpg'5aRg=!jTde^fc -aP,(Z_UI5krPA]`g1sg<J_K2=#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ``$Us32&/cK<R!bh;.2bhM%!e`HeS!9!_9$-pcWjjrSVd`g,;jp'Duk2"8*h>5># -e)oN2bhhLCrQGDuk&F\^J`c%U#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(q5aR"r($gcfW5++VLbi/X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/q:Yghr*'0Mf\-A'dt-65g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGq;q[&r*TN^f]E4<hgsqMjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(q5aRkr1F%jJZQA_#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/q:Yhor6#)nJ_IWf#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGq;q\1r71l0J`aK)#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(rN$!2JZQ#U#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/rRq7&J_I9\#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGrT4*9J`a,t#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(s/Z:%?QJpC-ntk)>oAZe83B>'PT<`)MATg#4<^f-Ftt4?XK6%NKnU=VU*D?S -10oI4i2d-omap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/s4RP,GU<.=-pImfFs+0)>YJ80]Hh7GY9&,A9IecMQ9Zp8g=h0#WMgkkbq2(P -5B_V3i7\Cps5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGs5jCDIjb$R-pe*uHm6;E@8L7H`[5Ze\KHR`:b:bkSjP&Kk2qOCZEYL0fIoKd -6[XIIi8t70s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOs7'<45YA?2f&4?PZoDcCC4JZPl.4SYuqGtMJA6DIGNXJ8dc:7A8b4fk`7?YcaE -N`uC_$9YDk4KPVlLoQG?JZRe2#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_H4>'A$#RJ(`Pr9MA'sN,"#>UY=A'9_d<ZRU1<g<6f1"g<ONS@`7!R:>+?pG_b#, -ZuZ-!$;B1-9\S3HXOsk&J_K&9#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ``'V'B<"fL?7RG:f'p5P]2OWXQJTQ;#'/jU18`1=P@WBk1Oe&B[5c%;W[&@Iu`[R -^3KV=$;fmI;!-nk[H+uJJ`bnQ#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOs7'54DICj`<HXK6Q7X<E+q5H1`c4SYu^H#HNB6CpgKX:J6pX?<S/E3-$CL/X\F -N`uC_#s>;j4KPVl<]H.kXP^)`]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H4>'8+ojM4N?og=hh3g+&iN:Y4=S9_d<GRZ(gg<68GFg(.o1g.^4fNnW*+WbKQ. -ZuZ-!#u'(,9\S3HD+D$cg>CTgir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ``'V'8to5Oeq2:k2r5]jt3Xr<9!'&;#'/WU6KH2=O^gZjpuCNk"t36Q0.(PZZ"@U -^3KV=#uKdH;!-nkE_F3!k25;*li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOs7';[lT-@DnF4?RP^X?<Sc5H1`c4SYu^H#IhA6CpgKX<(<*XDN;YS#i2&4=>`^ -N`rNc>c^&hX?<Sc?suKbVh(r-X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_H4>'@BTL0V-pl9MCDtg.^5S:Y4=S9_d<GRZ*Mg<68GFg)at@g5;D0`7i9Z9JN?s -ZuXmSFP9FBg.^5SH@&`$dt-62g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ``'V'AZS`18X-6:f*D;k"t4&<9!'&;#'/WU6M42=O^gZjrSH]k)lKQcfW\):c,<: -^3Jf&HKJ&dk"t4&JV%.AhgsqJjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOs7'0rLr5^]Y^XK5EbX?<Sc5H1`c4SYujH#KcB6DRSNXIrUcXHH_!XK4P`X;3q" -N`rNc4KLZHX?<Sc@#1nD>HFo@Ob'UpX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_H4>'2d<4;4ZF5g=gASg.^5S:Y4=S9_d<SRZ,rg<7#C"g<4<Sg:;3Tg=f7"g(mB9 -ZuXmS9\N1og.^5SHE>i+F5#?'\:NApg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ``'V'34#P<MeiVk2p^&k"t4&<9!'&;#'/cU6Oe2=PIfBk14S&k/2D#k2oM>jq^eU -^3Jf&;!(U:k"t4&J[OXQHKO@M_L^k1jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOs7"d2#3=ZEM^4:GVpD]sRg,%7H5+ZtqaX9pj;X,KfTRS5h7R/X0.:Sk.H+ZtH@ -+ZqV14?Pj0D`g.$XJ.1#4>^TMTb29qXQ6Ge]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H4>"h@B'EC\a^9FQ3pN%1L*.sfc?.SRDLg'U5.fs,#?`*c8C_>`.0A^T52.SQg8 -.SN2c9MA79N(cp)g<DK@9L=6_bSH:kg>prlir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ``'V"iF59GY@2u:^hm2PUrfG/V2nX/5X7\jpFXAjh#3gcXfp\bPpWFC>@sW/5WWK -/5Seo:f(-RPYb2Ak1DX]:e$3%fGBp+k2bY/li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(afGM7@Y(W@X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/ak?c$I"C#3g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGalWV5K7W1Fjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(q5aQnr&atVfW5+AWI_/2X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/q:Yg\r(I+=f\-ACf7DZ9g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGq;qZnr(mCMf]E4Yj+6@Qjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOp6!dl_6rN$$QFQTY*B9Mhe"e(=>Q=ibNX8o$pM?&t6X9,#OR"qaI]'e2#LXYej -eHa-In)qLUg-U;~> -#$LBV\D!1KJ_H1=!hMT,rRq:NPNLR"K=UR,"iIOa^4TYPg&TFtY5l?/g&fF#_2$_Kir@lhL=5Yi -g'>fPmcqOUfg1,~> -#$LBV\^d1YJ``$U!iA8>rT4-cSEAr7MSo#I"jXX+aGOEgjoF*6\,aYBjoX)CbD53ali5YgLXYej -eHa-In)qLUg-U;~> -#$LBV\^c7gJZOp6s)e1?!'KAE!Jd9<X9P1q?<&h`4Q`^KQ6TU?=HW6W!fpGSLTC]kmap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H1=s-*B7!)2M.!NX<5g'5N5GAKV"9]k%4^FaPOE4GPo!jurNLY;sls5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``$Us-rrK!)Ve>!O^DJjp'1RIW@m>;!-mDaY.shG/En6!l&kcLZSg,s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7gJZOp6s)e1?!'L7^)Ke/)+f_W6:HWj&RO=,":7F-nX'Hp0XAp[1riA_64Ae/@Wb4Ft -UT?nZXJ/as02t&PXJfVk4FX@s;aEO*XIW3NAgN_DHot)lX?ibcD0r@_@Q\"pD_bHXBWJ59TLc/c -9.-3H+b#KR#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_H1=s-*B7!)3CG)O3ui.bECoA5&?D__JK>@`:_qflemQg2&RSrn9u.9P6rMfRce< -cIu@Gg<FHf4DRWMg=:XG9VC*:Bi@^3g;df!JM4^jSP3J1g/?GSMOW>LI8"n6NB_DVK\>)5b?N]S -?S]TZ.A2aU#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ``$Us-rrK!)W[W)P']$/`Z!@C/CPbc8<4\B[B:4jaAbqk&NArroQhB:i&kfjGHcZ -g?)Yok1F_:5B'Gak2D"j:oWSXDHBZJk0e'BLbZs4VGLmNk#UF&P,.6uKM[0SPsT[kN903aemRY& -A2MYt/?+]m#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOp6s)e4@!I\_^X;*k!XFI:M;OOV,G-"Y1NLGrSDlfg&ri?Z8NNB4&Ff^oTXCm*c -NEWDGr2_k)PcR!KV1l"P4KO5tVQ;n\;O=J%9rrYYXIN7d6)U_\R&jbOXGL;c/!$c^BWS;.8?AnT -=0/JcNiWGrmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H1=s-*E8!M>/Hg(d<8g7d3NBYiDbQ.g"RZGa2?N7u]Zrn7p)ZeF,rPhNl(fn-$R -ZZFhor7X+a]@os4d\tmR9\QI<e(RLKB>E5Y@G73/g;RgS;Uj?4^tO49g9,\S2mqA6K\G/'>M@f@ -DVEf<NnO]ss5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``$Us-ruL!N;%XjqU_Tk,RP&DTq72S`Xop]["<ePigh)roOc;^#nIGSE@sJjbg2& -]m8a:r8osp`o^+[h6H,);!,&Yhr[bsD9D"(BBGtQk0S)&<oE%UbN=Jak-oj&3ksgXN999R@-6Ug -FQV^^NogQ3s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOp6s)e4@!N/6_X::%L4CkLj(HafAC91Bori?7%5c[5Jri?H2NNB3TS?/fgX>g,@ -!^s+Pr2_,*XK4OcVdDPK.BJ55XK4Oa5-1iT9rqDO4?PNs5rq/`XK4,T49A0W4T;Di4KPWW8?Anm -<KpFHNiWGrmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H1=s-*E8!Rt$Hg't5Z9RkaF*DB.!LY?OLrn7M+;V4ssrn7^#ZeF,@`nK.og.)'8 -!`n#Kr7WAhg=f6Se9FY\1tnpWg=f6Q:>4F?@G5Wb9M@k#;G'Z`g=e^h9EJST9`E`R9\S4D>M@f` -CqOMqNnO]ss5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``$Us-ruL!T7&Yjpegs:kn)h*`,[.Nok>oroO@C<odE>roOQ5^#nHgdH9TIk">VL -!a=__r8o5#k2oM&i."R"2s.E!k2oM$;Wd,fBBF>(:f'^:<_cMuk2nr.:]b1i;#]Sb;!-ok@-6V4 -ElN(=NogQ3s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOp6s)e1?!'L7^%:uWB5H1YfNi\jnXAkG_X9+&>@K!8t>E,_cM-m?cAZU>pXK6!7 -E-SIcAZS"qX?<SS9WWFfXG(/cX?<OhN3#uQXGpGcXDOb!VlO'^XE\]cXC\IWJ#m:6XK8'cri?3\ -7TcPeX8tSCPH4u"map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_H1=s-*B7!)3CG%=m0d:Y46@[+`Zag2">!g&e0KHi;YgF0jTSXa/XSJD-ZNg=h)2 -NgSPSJD*]Ng.^5?@+pr)g8TMSg.^1BZ.`r$g9YkSg5=6TeCeuMg6[iRg47m-U"Y-og=j_Srn7I[ -=E)^fg&Y*SPM-6#s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ``$Us-rrK!)W[W%>X*.<8utc^?3t5k&JB=joVbeK)Oh%H+iA&[t!Q&LZYRqk2qH] -QD!C&LZVFqk"t3fA`fUEk-B[&k"t/e]B4'Fk.Q'&k)nG"i8o<uk+J%&k(i(NWof2?k2t6&roO<q -?$>''joJMmPNE)8s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOp6s)e1?!'L7^%RrQCJZPrR>!,BVRQ<NVrN$#\M#OJI<B<3bXK7CD4G0`:IQT`U -XK-;&4J?CKKnVR$XEcpJ9Qs&iULuWBX'@c89rtF]4?RtM3af%i@]ZYU4?T%54)$g.XK7"93_97O -!H*/]X9+1mLQeeD]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_H1=s-*B7!)3CG%TlCuUtXPUE_K`j_b*RkrRq9DXT$pFCe@?cg=il,9W$OtTM/%i -g=_K[9[&,\WMiCAg6kWq@@(4kc[n`gflTo[@G9GK9MCt^8pT.DI+m;@9ME=W98-'7g=iAs8mMAL -!K3?Eg&e>oXHV?Bir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ``$Us-rrK!)W[W%UDn-Xled-GYhi0c;%01rT4,U[f5D\E_]E$k2s?R:p9$DWDHF/ -k2hn*:tLS!ZE[,^k+Y\=AtNO-g5/P1ja0h%BBJ?s:f+"$:4VKgKBD<h:f,Bu:Q/,Ok2rgC:1=.a -!L'5VjoVq1[?K_Wli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOp6!d,u(rN$$DFMFm[Wi)b"NUNqMWB-sPX95N$3i`1\!C;I'X9Q9(f@>Z*nb^iA -a+NjD_!p&EJ,~> -#$LBV\D!1KJ_H1=!gPWorRq:<PJ>fSf[SDnZgZTLf1OQfg&p$X9%X'r!E5t\g'6R:hV*_4o)%,G -bCT*H^@9fAJ,~> -#$LBV\^d1YJ``$U!hD<,rT4-QSA41hjP\sC^$k(bj%eP-joa`':?2?9!EZUjjp(/Og!tl,nb^iA -a+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(`2j&p5s^Y$X93K/6)FCY".MSBI#Y33]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/`7b<m;Gt$mg&mF7;UP<o"3"/9SW2>-ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OG`9%0-<`[**jo^uO<o*T6"41(LV2aUAli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(n>lVci2csZVXCMdWM"gDo;i/-map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/nCdlhi7\4addGfif#[email protected])Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGnE'`*i8t($hX9M,iRWSBoB$8Cs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(nZ2bU<;rs"UPA`K");A1PO5FPPZ..S#+f@JJr:SGk,\YuA7T<DX9,A3CA4e0 -IBT^V]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/n_+#UC]<#gc`6rt",DB;]'\2P]P@#k#0D@ZV6D/nk1TojIt*%@g&flULA0C% -T<HrQir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGn`BkkEW5)$g9^b?"-/,S`9l[fa)LV3#1SBtY.>n:k2lc(L5(NUjoXOsNVDQ8 -Vm#4eli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(nZ2b3G5eQDQVma`)Ie)I/T@emUmRjWXIQ&aR&ZgHV59QPXJ:u=rN&\]R&-X\ -X-f?WXJ/gMEuCW:TpVIRXK%YTU9(&ZTU;RWXJM;WSY<-dS!^4W?rVf1>-+g*R%(1UR&-1AXK8IU -0s%IOR%gOHSZJnTYH.r>map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/n_+#*QN#S=^M!Q")LS*R3KDhId)!r[g;V@e_:ZrIdF#eRg<[@:rRsr__9pZa -ftkS[g<OZ8Os%nFbe_HUg=O0Wc.^C^bJDT[g<ma[a3<8k`PL0[H>BFSEn]7!_8Y-Y_9p*?g=k2W -52+`9_9UTIa4f6@YM'3?s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGn`Bk>T)RjQb&..?)M=lk4I,'kgrn=3k0Vf>bN.6th;-9*k1[berT6eubMD": -jibs3k1Op_RNg<`f?;_,k2XY.g#gr8f#uk2k1n/2db*^EccbA2JT7rsGin/KbL#D0bMC@jk2ta0 -6K[F`bLtgsdcT[gYN?&Ts4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(nZ2b3G5eQDQVma`)GH[&OGp9?=&;ndXAW54:iLLrN/S`uXFir?riA;4;,BJt -XE.38J?2h6XK6TA5upf]Q)nk":fa68+&u->WiB/t<?HOgKMkWbXEnccVa7DcD,=,aR3PO);iq![ -$TtMlJ/j*,,@IUS4Kkgj]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/n_+#*QN#S=^M!Q")IUS=\$=Z<De3b'g1YMUAWDs!ZEYX<g87qdrn9Q/An=f# -g6-#[U=sOpg=hk@;Jfu\^"SEVASoSZ-Z!@4f[t+RCaY_+Ve9S"g7+#Sdo+oRMIgJ#_C]A2C:=,q -$V]:.UEcML/:-%(9X!.Sir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGn`Bk>T)RjQb&..?)J.=Y_7SjhF_c$Dk&#?sCR1G9]XoJ[k-/*0roQDDChm"; -k*g(%X6+Q@k2r8k<c`%ra6&S$CNJ(%.<93HjPtAuE[ddGY\e0?k+e.&hcJt&P&"p?bV*aIE5;J8 -$W-!JX<jmj07i9J:p9!cli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(nZ2aeRJs8gW13df'q.KP<MHQiI?9%KXH"BYXI$"WUS:6WX:^[qXK7CfWN9f\ -H<ZJj9TN8:rN%_>P,rMIXH\g.8Wp/3T<(8U:me>V1p!!7N0%FgH<cP7R&k::OGcVr9STXC8#r_m -4T;De8Y;kUT<,,\YH.r>map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/n_+"S_Z&6ie\qI@'uO$FCsLaET!tOsg9`91g:u?DcH]Pkg(Cu4g=iiVf@ktL -Rrc'F@CC*`rRru(\_;q1g:Xo(>e&KSakBSAB#*-B6JB.YZ+#%BRru2[^tOis\$0&P@B/&,=kVN_ -9`E`N?-1Q+b1bRaYM'3?s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGn`Bjdc2Qi+iQqMc(!]uZEnTShVnoN?k.W=Rk/uglg"B[1jq5XQk2s=*j5u>t -UNs\hB#&Q*rT5h8_rd,Xk/P6R@Dh4seE0ciCWkki7cqg$]>9#dUO0h$bN>.D_7F!tB!g^R?KL>3 -;#]S^@as7Ke`Q#:YN?&Ts4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(nZ2b3G583DH_d`fE3)%u<s)p5N`uC_"*\a'GlFcJPZ+ZbKk((_!H(+#<s"jm -OSu6m6)Uf$H`Us`="KN94KPVKW'('\"$EZI/H/]VML%6`=KJT66iL-nTM1iVX?EVcX??K`"-6T? -@B6I6]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/n_+#*QMK5=SC#uWNnR#&DZbFAZuZ-!".,(.RJtnD]P?0SWI=a!!K9eQDZ[jq -\,G"m;UjEXS(`U8D`G8\9\S2seP,tr"&.FY3<!h%Y+%q"E8'#p<W6nCb@/BDg.p;Sg._M""1<-L -H`Pj)ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGn`Bk>T)%LQUtb%*Q0(a=FT[<Z^3KV=".tpFU&O0Xa)L2'Z@r2=!L-O^FTTm3 -_>WL.<oE,'Uum\[FZ[M';!-n?iDBO9"&S-s48s@.\>)Z=G37q@>5iXNen3:kk#1:&k"u'>"2B&f -JZIo;li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(nZ2b3G583L9M1.VI&rZ<M2>H<G=[kqXAu&`7&?udST[>\XJTEYM/e9F>)A)J -Q(V69M-QK*OK2GnXA=\$*da;/SY@p'R95;[+fqVTIYi5s@oo_!=e_WnM2>]39M((]FKDO"0SuU, -W+J#_poFKV?ad$?]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/n_+#*QMK5E?s]sjS_Cl"XfZ^!QWprug/ZL"<mfXT`g0T4g=(DGXcKL.EilHq -]utAsX`_QJ\(PYJg17=X-C_k7aNZu[_JlW2.b`F*T<4EPIW*oUER)gKXfZuj@9p!tPM4Zk4KZua -eU^67pt>a>H+)E2ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGn`Bk>T)%LYARi30VWQ$G\$p\GT4#M7k#L2>>MSB'd@OLVk21co\!OGTGdk/= -a4>FC[sQCh_<#cmk%_B(.&>*Qe(I.,c$$RT/`u#LW4/@tKluM$GM1Vm\$pt:An&6;S*&e@5e#P2 -i.t"XpuVTNJ@=SEli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(nZ2b3G583AJWX;_ri??b?XK;(CgV/[X9!Tmri?3Z?XI[LX<hFbGH@mE?XJAc -XI`d+N0dmrX']D=UgInlDLu5SQ="m<O'dB!ri?lM?ZN5Y?`U8hQ`Qrh?\YXULgP>,XJu2+"IlKo -HYrPZ!eVMH[]B\Emap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/n_+#*QMK5:UUYQ7rn7UaG^.3]M0P'Zg&[Y3rn7IXG^,,Fg*M8oQeL0DG^-%< -g;nM`Z+kONfQ_l!d!1>FMkt[(^3H%![WnK>rn8-CG`^X.GhLfY^Y6tXGcKJ+XE^#ag=H7J"N9$J -S;R*q!i@9A[b:rFs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGn`Bk>T)%LNXMTIYroOI"It,i-Oai\qjoM3OroO<nIt*X\js>e4TB>:oIt+T_ -k0ng0]?5VrjF;mGgOG6iPHKDIaa^#H^ji@\roOuVJ!fAPJ*#h-b3%E-J$e?M[XXn2k2QAi"OH5m -UltN8!j<uU[cRe[s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(nZ2bg?Fd-?X+>h4L@;2GUH*IdpoFOR5'cq)!Ha%'X9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1KJ_G\/n_+#mGIcE1fqbEnWpeXDcUjA>pt>eP:RV"3!L'Iig'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1YJ`_OGn`Bl/IC\JCjfPY>[.!,Zg.e*`puVXe;kj'L!LpC&jp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7gJZOF(VlU!#B4lkbX95&,B9;ni!cr!sWiQE9map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/VqM7*JqBogg&oEJK"(O/!g8/#WnI[:s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGVre*BM2AJ)joa(hM8AuL!h+t:WoaNOs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(g8k@=HC"N2!LfRgX8n1VX9,)AVlZs(]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g=cV=R_JaS!Q<$fg&SATg&fKee?%@.ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg?&ISUWNJs!RB-&joE!jjoX21i2l&Fli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(g8k?R@$1Dh!Df-7X9!s5jK&>Dr2]sl0V,;H#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/g=cUAHFWt.!nh,%f%L/%ZfKg?9`3TGaZ[YFg'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -#$LBV\^d1YJ`_OGg?&HSJAV<J!p+.@f&d":^#\;U;#KGWe3VK`jp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -#$LBV\^c7gJZOF(g8k<QQMmm&X$*PcJW,&<I$(M3GB0^bXFkP\EhKL\Ee"(i#ao^gL9.7mEf^'u -"KP'kEh<93%sr>oXIF72KSZRIQu\R7V#.4pWcE7]X9>8<IS665X9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -#$LBV\D!1KJ_G\/g=cR@^AZb'fhL2SUTpK!S[[>,QBBhRg8:"JOiuIKOeVj/#f;_)WnPm`OgY&> -"P?plOidUV&"A^0g;T3-W3"O3^lcEpd/2Muf9)?tg'#]`TO5^?g'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -#$LBV\^d1YJ`_OGg?&ERaSk6=j\b1&XLkIGV8DBWT:"[$k-(/qR+CDrR&^/J#gJaEZf^,3R(rL[ -"QWs.R+2,t&#>TLk0TLWZ*rSXbF$J?g\^+7j-ZD:jojA)WFaJYjp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -#$LBV\^c7gJZOF(g8k<QQMmm3W'IGcGoBg+='M_>EHY]hJ7Wml25,/0G%Z0'W)7_H*3*7eG$11/ -X;@p0<Hb"9X)W!">cO;EJ7DuD6o@1i3gBNC$EA8$XK8C(G%hkcXK2W;map!Ee+*=c#KMJckJ6T@ -6@]~> -#$LBV\D!1KJ_G\/g=cR@^AZb4e5=rRR3?PrDKFHaOHk+CU4AM16d1dPQ%PR[eRt.o,M.%&Q#XS9 -g)&CJCR*&rfoM&VFk=VkUOINl<^T\U8\=lR$J1P(g=k.tQ%gI%XP*m<s5)Iaddm:h#Kq\dlFuc@ -6%A~> -#$LBV\^d1YJ`_OGg?&ERaSk6Ji)]"&Td+e0FF*#-R%AffX,!9N7b=/mSr0?+iGG0;-0'?DSp/?S -jqm)gELt_Cjd2.%HfNL6XG)27>=VXf9ud(m$KI^@k2tZISrFuBXQB`Qs4PqXe+*=c#KMJckJ6T@ -6@]~> -#$LBV\^c7gJZOF(g8k<QQMmm/AqI+cS4o/GNE_*"C2-=Z5-1iT9rtF=C/STD6)UfcB4cbpX8kBZ -X9!-bri?Bf2JQu'Aun1,ri?95Kj9R9PkhBd4KPVgNNB3SSZJms]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g=cR@^AZb0Ju%,S`aHGoZ?*!>LPK,p:>4F?@G9G"LM2.j;UjFSJq9ctg&OhC -g&[&$rn7Xf7#-P0J_EnLrn7O)W-#=\]D:.d9\S3AZeF,?`iRkuir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg?&ERaSk6FM65q&d:L@;]R$k]NfIS7;Wd,fBBJ?HNbsL4<oE-&M28>6joA6S -joLUAroOL'8</^GLuqWjroOB<Z$X*%`qea&;!-nc^#nHgdB)I7li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(g8k<QQMmm3X$*PcS4o/GNE_3.I!p:+6)^lJ9rr5PI9:$]8Y<)cUMG:ZXJJ;\ -X:8unXJ;k\5C7g)PcR'Kri?95Kj9R9PkhBh4KPVmLTIIESZJofUTgg(]'e2#LXYejeHa-In)qLU -g-U;~> -#$LBV\D!1KJ_G\/g=cR@^AZb4fhL2S`aHGoZ?*-NStDIc;q9U4@G6[$T5T24>fk^Rc\S1Hg<rss -g'rn0g<\Kb:n=5J]@p'4rn7O)W-#=\]D:.h9\S3IX4l-,`nK.mc`l+-ir@lhL=5Yig'>fPmcqOU -fg1,~> -#$LBV\^d1YJ`_OGg?&ERaSk6Jj\b1&d:L@;]R%"mVPp62=Q/D\BBGGFW-*gV@FaN&g5i/ok1s2: -jpdHMk1\t:<2HOg`TC+ZroOB<Z$X*%`qea*;!-nl[-$@RdH9TFg9B]Dli5YgLXYejeHa-In)qLU -g-U;~> -#$LBV\^c7gJZOF(g8k<QQMmm3X$*PcCb18oJMa-C@:NN"M-FI\9rr\K@ll]KXAi\>=0,qB@of/s -X;6Rr@p5t8H=(/fKU3rmQ)plD<Erd.AG`G<WFI,^S?-(->p+!cX?8VLX9Q9(f@>Z*nb^iAa+NjD -_!p&EJ,~> -#$LBV\D!1KJ_G\/g=cR@^AZb4fhL2SM)VCsUI*:iH[Tt>X`Str@G75rI7m/\g1u+bDVBSgI;R%$ -g(p`2I<+&qRs9@(VnXg1]\:h*CNO]7J,@q0f6o2u`S,TcFt&=&g.Y2Eg'6R:hV*_4o)%,GbCT*H -^@9fAJ,~> -#$LBV\^d1YJ`_OGg?&ERaSk6Jj\b1&OZKd5X@Cp4JV8<Z[sE^9BBH%?KMP>"k&?!,FQS=2KQGT< -jqb@OKR)_BUORrEYf\YOa6)8QEI3(PLAU*Cie/q;d,oh2I4LHBk"nmYjp(/Og!tl,nb^iAa+NjD -_!p&EJ,~> -#$LBV\^c7gJZOF(g8k?RKVSOJ-*'D1XH/(,Kq=!rXGDRmXK7M;L01OYMhRaVWN;bHKqYTHKnYoh -X9+K;U].>*MhR4nTnS2nXJpo2RZ!PmqlBdure1]SXJLW1QB/,#)j7G,#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1KJ_G\/[email protected];Hg9mp%WQD-hg9%?ag=j$8WGpSFZ)PjEf%S9GWQa)HWN!`/ -g&e^^cMlN.Yc5%abc.Sag=E7,_m.%aqq;&&ri$7Ng<ut,^9u[m,J(,5#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1YJ`_OGg?&HSYhK*=-08:dk.e4OZIH2<k-hS4k2sLcZZbKn]!Bhkio\dsZIe6tZEh^L -joWB)gA^4F]!B*5f<V^4k2N\VcFV34qrRn>riumbk2!>VahQuB,fHqL#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7gJZOF(g8k@';2+tM!K<05X94Mf>?pTt!.auO!0ZZL!1Wmj!-e+;!K`8DX9Q9(f@>Z* -nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/g=cV"AuP[^!O9-+g&na)FER$*!2BC5!4hFL!6+kX!1*<3!OoA<g'6R:hV*_4 -o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGg?&I6CpEs$!P?2?jo`AEH@5/C!3?$D!5n-b!7:Xi!2&rH!PuCOjp(/Og!tl, -nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(`2j'7NK'b%X8nafN<#^=X8o-qN<#<=X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/`7b=;ZEhjFg&T(hZ2i/8g&TS!Z2h\6g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OG`9%0R]Y*%fjoEa*]E$UMjoF68]E$*Jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(]W;3`<)f`GXR`Fs]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/]\3IZC221Jg@Er%ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OG]]K<oE,aZbk47X=li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(]rV?u>*P8OqlBjl4>h\kqlC"5map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/^"NUuF1f0<qq;+p9LFBbqq;86s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG^#fI6H,dkbqrRt2:e-*!qrS+Ks4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(^8qWh4t00YXK52kDuHa;4T;D^Q2XG\WiW:79U1F8#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1KJ_G\/^=imb:,H@Vg=g(FNW%Q29`E`G^&DCCf@nr1@(hBM#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1YJ`_OG^?,a";Dr-kk2pAiPl9_E;#]SWa8TZSj6#K]B#oej#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7gJZOF(^8q[;IoMr7XCdljBn-,`!'L7^$:C>R<N3$3JXfo.M6$ommap!Ee+*=c#KMJc -kJ6T@6@]~> -#$LBV\D!1KJ_G\/^=iq@Tk_Tpg4@,\Kq\M"!)3CG$<5$bCtI?lUW.>eM:r0ns5)Iaddm:h#Kq\d -lFuc@6%A~> -#$LBV\^d1YJ`_OG^?,dWWGp5?k(q:/N2lm>!)W[W$<ba&EoQ2;XO)74M<5$.s4PqXe+*=c#KMJc -kJ6T@6@]~> -#$LBV\^c7gJZOF(]rV6n>lC`+7mnkSri?)^ri?H>6pud2W#7uk4\pp9#.j6SeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\D!1KJ_G\/^"NLlFoC"r>$!YPrn7?Grn7^2=')EUeK@pp9k9+7#3,[>g4n&Hqq;:uJaVg; -nC^*X~> -#$LBV\^d1YJ`_OG^#f@-Hi<(/?X#ReroO2WroOQE>?eGri?DK1;/1sM#4)<BeVDWDqpbqlKCA!= -nCg3Z~> -#$LBV\^c7gJZOF(]rV6n>lLf-7\?GGHiC)H4T;DlLnph5WMrLTUn3OHXFQRqX9Q9(f@>Z*nb^iA -a+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/^"NLlFoL(t=j##nS,V+A9`E`UXj><lf%+0@ccEBFg7l9?g'6R:hV*_4o)%,G -bCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OG^#[email protected]?.IY9V#KKV;#]Se[bKP=iSn@fgXEdsk,ZO^jp(/Og!tl,nb^iA -a+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(^8rH"0d0W"XG/o&7l%0=4V^,LX<B_i?)t&l90GV"XK3:GNN<>qmap!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/^=j]p5:LL(g8[qD>!Ufb9cHgFg+#fkFkGE]?VOM(g=dZoNS4Trs5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG^?-Q/67d6@k-Iua?:3l+;&iHZjt0G-I,sG2A5QL@k2mk:NTLH2s4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(]r_46riH.#"0AQ)XT#:#XT#:!XT#:#X8u?nN3!5pmap!Ee+*=c#KMJckJ6T@ -6@]~> -#$LBV\D!1KJ_G\/^=rP=rn@D*"5;G^gA]e*gA]e(gA]e*g&Z%qN7nKqs5)Iaddm:h#Kq\dlFuc@ -6%A~> -#$LBV\^d1YJ`_OG^?5CUroX7B"6S_-k5OKBk5OK@k5OKBjoTU5jc/C,li5YgLXYejeHa-In)qLU -g-U;~> -#$LBV\^c7gJZOF(TWA0VUl;AZ]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/T\9FVd#?Z_ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGT]Q9lgl1A"li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(]rV:"2-0^X!i)ilmAp>bWr9"#UTC6iX9)E[Q2[ic?`*h(!iS4DUoXd3map!E -e+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/^"NP#6Z)hV!m]NFmFhTgfDXD)cJ$SCg&c(X]`-UcH.2cH!nBt;UtQ%4s5)Ia -ddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG^#fC97s"[l!nl_imH+H)j8J*Ag?.)fjoTQna8Y3%J):1e!oZsPUuhmIs4PqX -e+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(]rV6n>lC`*4K1R4X8u=brN$&aW]^6]!F1T_X9!lbr2]l\UoXd3map!Ee+*=c -#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/^"NLlFoC"q9\*&-g&Z$$rRq<Kf1c.s!HbXHg&[t$r7V-EUtQ%4s5)Iaddm:h -#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG^#f@-Hi<(.:uYIAjoKM@rT4/[j&#^:!IMHXjoMQ@r8muUUuhmIs4PqXe+*=c -#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(]rV6n>lC`G4K1QHXArbi4H-@o4?RbfX*$NeK<1L_1H_>3X?NXHrN$$)N;fmZ -JS4n^!'I'Y#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/^"NLlFoC#99\*%og1u,C9X<BL9MC](fp#0(VV8s85toJUg/$<orRq9oZMrPY -UP&Ku!)03B#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OG^#f@-Hi<(K:uYI:k&H'e:qYqo:f*\Djd].DYNF.Z6r;Ltk#:;:rT4--]Dgpn -XGZr<!)TKR#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(]rV6n>lC`@EN4)]XI:SHXDrc(XK6JcF`XXcBRm0aPPqQaF/s<ZX8uRbri?0d -=/c)!!'I'Y#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/^"NLlFoC#2OP#]Lg;>aog5r%^g=h^SP`jbSKVI1:])C=aOk>cog&Z<$rn7Fe -DUn^>!)03B#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OG^#f@-Hi<(DQfORsk0>o;k*N-,k2r,&S=8U&MlYu\`;Sg"RH0_5joKh@roO:' -FQ!,[!)TKR#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(]rV6n>kkB)RR!aOXA>8`XT(E^X9=qeXAtJXX8uRbri?0W@B0:-!'I'Y#.j6S -eVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/^"NLlFnjYp_c"q:g18)"gAakGg'#9'g2+@og&Z<$rn7FUHeA;N!)03B#3,[> -g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OG^#f@-Hhc_-c;rfak%W*>k5S9WjoinCk&SE6joKh@roO9jK&lmm!)TKR#4)<B -eVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(]rV6n>kkB$RSNj`"+P$dXSm8@X9N?fXAtIcEql^:>`AZ`!J+n]X8kB]X9!c^ -WiQE9map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/^"NLlFnjYk_di]""JLP'g62H!s4R[1U=sFpg5u*`!HbXHg&[t$r7V-ErRq:E [email protected]@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OG^#f@-Hhc_(c=m4>&?:]Ok*hg0S*&jlWoe??k*Yr+!IMHXjoMQ@r8muUrT4-Z -LoTSAli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(]rV6n>kkB%<A7/HX:KnF4ER[*F?D[<XK8*e4HfK@!F1T_X9!lbr2]l\ri?0u -5s;6L#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/^"NLlFnjYlCHQ&)g(1#R9U"/_P>"ZIg=jbV9Y'rP!HbXHg&[t$r7V-Ern7G% -;GF1F#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OG^#f@-Hhc_)EBn19jq"Uk:n6Y/Rnuqbk2t9):rE(j!IMHXjoMQ@r8muUroO:= -=&Q'\#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(]rV9o-t1l3!b!L9ri?-(NrH*]W(S?6X9+G<U8k:!]'e2#LXYejeHa-In)qLU -g-U;~> -#$LBV\D!1KJ_G\/^"NOm1OIm1!dc`/rn7Bn[/Sb\emBs,g&eZIc)TJ%ir@lhL=5Yig'>fPmcqOU -fg1,~> -#$LBV\^d1YJ`_OG^#fC.2M0]G!eN;AroO6+^Ad6riFFP>joW:bfrF0=li5YgLXYejeHa-In)qLU -g-U;~> -#$LBV\^c7gJZOF(]rV:7SY4`=!hc*`ri?*orN$($SY#h^!NDopX9Q9(f@>Z*nb^iAa+NjD_!p&E -J,~> -#$LBV\D!1KJ_G\/^"NP=a335k!mAX8rn7@trRq>+a3">7!S>_ug'6R:hV*_4o)%,GbCT*H^@9fA -J,~> -#$LBV\^d1YJ`_OG^#fCUdb!79!nYl[roO46rT41Cda\9Y!TVt7jp(/Og!tl,nb^iAa+NjD_!p&E -J,~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(frP3oHfhC1<13<Y"c[bpMI/g7X8n^gGQ<crX8o0tGQ<<(X9Q9(f@>Z*nb^iA -a+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/g"HIgSEAN+C;TPq"gaT4YBX.2g&T%iQiOMcg&TY%QiNnjg'6R:hV*_4o)%,G -bCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGg#`=%V<6n@E6Rn8"hgSQ\:7cGjoE^+TE)^ujoF?=TE)(&jp(/Og!tl,nb^iA -a+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(frP09jfAKAV=UbmO]ud#3iG=+X9Ft=E,]!EorJ=p5?Ml;GIX^Y]'e2#LXYej -eHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g"HF"jk9a?dIZ&r\9![@8_$]#g',8INfJ.kp"BSu:iMGIQFPWQir@lhL=5Yi -g'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg#`92jlQTUh=Kb5_KhG^:#T+7jorpbQBld7p#ZG8<Ha[cT=F"fli5YgLXYej -eHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(frP09ri@#I4?OO`XHH(9EibHCN_iE9-S_]#)jRL"*16`,$Xl.n/$,UM4BA5Y -4T;EUA#LkM4DLsm<]iKiX>*4.5)65'83BinS?-Ee9:)_BXK5lcXJ/]W=f8?24?OO`XC6mcN`r&Q -4?S.qKGp(H;ii)#**4&NLH[gIHI&Ys]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g"HF"rn89=9M?V`g:1<[OkRAhZt3[\0g=<),/)]?,JjB5$[YQX2VQSu9Pr)/ -9`Ea>Iap;_9S_?ID+mWlg-/\7:93*[>>/f[`nH,?@)(Dhg=gqRg<FG-ERWWi9M?V`g3]mSZuX9& -9MD58W$8l[BsoC(,]4aHX%l>CRa9[lir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg#`92roP,P:f&D!k/1P&RHDF3^2%?&1dU8A,ff%\--Q;M$\D2i3Tf1A:ik@Q -;#]TNK]+n$:la\kF&5]-k!EEP;RGT)?r1ekdH6BaA]a(2k2q<&k1F]NGMhP9:f&@uk(9u&^3S4G -:f+7UYp77tDnmf@-?LH]Zr9dWUX/',li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(g8k<pG5eQX5GY*2XJ&FXUi(:U8Oo/<RW3PQQVma`&5\aqXC6mcR51jFLnoo. -X??H_9;jG5X?<S[NhiI4XEmR@Va7(TTWE$5XD)mSPtA#=UmtJYXAk+RLKLWBUnigJXC6[UM-cm< -Ung,SX>X%MQ(_;t;0>I&7\?K@S^4AA]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g=cRhQN#SQ:XIIig<=*Ed#4(@?!G.a`/g5<^M!Q"&7r]3g3]mS_EZamXO+.d -g._J!9@Z#Cg.^5I[*[/mg7)O(do+M(bM%kmg4ks@]j9;bd)BkFg1mk=X)Qcgd*SlJg3]UAX`qsu -d*PG>g-obu^!(GRAsHZD=j#+(a3WHDir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg?&F'T)Rje<8?9:k1==lgln5i@UI=*cBk0ca_h%>&8TJOk(9u&bsUW9[bSE5 -k"u$=9Ar"]k"t3p^>.L>k+cPMhcJNJf&i0>k)H%ha(".,gsC,nk&@oe[!(S2gt]="k(9\i[slrG -gtY`gk"0OAa4GKuCn5%b?IdiNda.%[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(frP09ri?<_6ptIbS0%Yt"+.+@TDbhm4KL[DX9DFfXK4^crN#uRr^6fiX??H_ -)5og%X?<SX<^]>1XEnccVa6qHXK7LcX@teV6jKbP6q;s4X=F3;'ORr#6ptFaXC3tS<ihij6ps#9 -X??H_$<WBeQV!gN7mp4Ac`@>^map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/g"HF"rn7R]<`XP#`[:[c".\(Nao0op9\N2=g')'(g=fHSrRq68r`0)=g._J! -):_U<g.^5FD,s\$g7+#Sdo+=ng=iuRg0mbU<X7;J<a)KVg,8k1'R8?;<`XP#g3Z1fD;*$F<`V`E -g._J!$?3Fc^g5(9>#o7Oce8T_s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGg#`92roOEs>?c[@d4"uu"/P'geG\M2;!(UQjooPDk2o_&rT4)Gr`]GIk"u$= -)<"TXk"t3mF'Dj8k+e.&hcJ?:k2sL'k%7Nj>6j7_>@+VtjuE?E'S#8X>?cX?k(6*-F6:ni>?ab_ -k"u$=$?j4$b$rl_?X%?jcfPGts4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(frP09ri?T/SXi'JW+(RRMg)-fOJ`#Y!f/CGriB\'8W'CHOBnEJ?EAcmSXj2j -FEO.FA"G`[VDb67=.NtUVJp(ISNEWWL7L_7XHQkZSR/0OU8VRYXF+oVSRS["SXi'JX&s_EXK7:e -SRF=PV`(*EXK#*N;2n/4?(%6uI]TVl5LZ\<]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g"HF"rn7it`l:s2eU4L=Ya<p@\'t?1!j"A@rn:r+>d)T0[s#d2GhT$I`l<>Y -PEa),IE5%2dRDKoDT7;gdZ/h2a%Od-WlA(Xg:MFG`d#p#cII?Gg7=/A`dHKU`l:s2fPm>,g=i]T -`d9u"dm_:,g=Kr9B!YdUG/D7RT\A+^:t+,&ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg#`92roO]0dEu%XiIeSd\t@qa_;>1R!k(1UroReB@Cb4V_0jYXIcdhldF!O- -S".mRK[W]Sh+?A?FO>t.hNilXdSJYO[*`*$k/DVnd=0qDg#7Unk,+?id=UM#dEu%XjE@?Rk2s1( -d=OdDhau5Sk2U9`CqX;uI*ButWTN?2<7Bt6li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(frP09ri?2t91t?FX9W-+?*'>b98EMJ!iJ\UriAXp91so=XGokGOK>O691thW -XE.$-WbY7iKM-QkHV8lhKi(LDC.j_k@S;/PXK7XZ98\X#ENH6YXK6_@9;ARb91t>IUe=@,ri?u[ -98?<$MG$U+XIi-kH!tf,E(`iAXK83T9%0jG]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/g"HF"rn7Hb?XL5?g';n1G1sZ;?`X1[!n1Mgrn9na?XK_bg9Y-n\(]Q1?XLk- -g6,fMf8!_CVdGhFS6r%-W+TJiL0qIEHs`Obg=j/G?`pV?O4r<Fg=i$'?dIG;?XL4pcX1%Jrn86S -?`R_AY?tYKg<!]FR<t0LNaH.Pg=jnA?IRU4ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGg#`92roO;tAS&XUjp-EJI-/O^A[VO"!oIS/roQasAS&+.k.P>;_<0m\AS'<P -k*fjmj,[cgY[sKiV.H`KZ#""4Nb-,jJn:p)k2sWoA[o<_QKI=mk2rFMA_Q9^AS&X=gLXrkroP)h -A[H3`\7K6jk1!siTn8ejQ=XWkk2tGhA(0QEli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(frY4#^T7R4Q'GL@bH(c98Ysn;#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/g"QIr^Y/h9]tJC&bM!$<?.%-T#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGg#i=2^ZG[Pa2`DLbN8lS@bfGp#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(Q)k(B;cB3SX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/Q.c>?BkbPSg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGQ0&1UDf=!jjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(_5mX(i2csVT'iZ\U5ktL#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/_:en*i7\4[aR7a_c*a;"#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OG_<(a@i8t'se*c?!fY4*B#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(_Q3co@/d5.RtCU?"&r3WP3o=OM-fbS"dMr$Ef_L,XSu&s>4\fqB`:j/T'`TZ -EU'V0]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/_V,$lHN)V!`23Fd");PS\aA)OY'BNk"heQ*OL?_&g&Th*B)luDg&Qg*B)p$? -g&R3!g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OG_WCm,Jc=d4c`[6/")r1i_sQRe\:4#2"itPCR(t?:joFNBD#ehPjoC>=D#i&P -joCb5jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(_Q3cNJc;_ON*Q@`)GZK]-@;hqRtd?4XGWOAL9$JlTq$k(XI4X%rN%o3LRt6A -VhU/3XI!+VHki\ESVEH3XJU`,S#hm;PD5a3XIFs3N1-iLM2&(4@;;*c=KJU#L5u87*f#K)Tra5@ -QBk%BUP=MpXK.)LS;OD-R>dVmS?/eSlDt3$map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/_V,$BV#K'KZ$$'")Ip@l0UpeM`2UW-g98N?WS+h]bf6Wtg;9YqrRs00X2rQ> -e>]_,g:q[CSK$3Ta/Qf,g<ut"`S/#8\uEm,g;U&-ZGYDMY,U(-H\T;=E8'$nWO2ZY*il9>bhB@' -^V<q*c`*nbg=`IL`in+&_Qh%_`nK-?lIlI%s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG_WClUXo@G`]6jP>)JI(01Sj0qca1jXk.&gkZfT*2f[7%Jk00sErT=-e1t1+> -i3U&Xk/qqjV&\Pmd^.'Xk2!AMd,rBc`O".Xk0UHX][#[%\$P/XJrRm_G37rCZbHG$*ji8[fB0_L -aiRlOg9\-7k2ir$dCA>Pbe)32dH9RflK/<:s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(_Q3cNJc;_ON*Q@`)F::&OdE/D<FT""XA`\3@VU-5Q]32BXG9PWriB7>@UUm; -XCG^GI&p#2XK6fM3)a9gQE4G&@T9+P)d6]NXJ8a(<Z[+!FC8QlXD`BcS4p#c?Xd;mXD_NV5C0E# -9rtEYXBT.C;lQf]F];am@O4Yq87em(4R0!P]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/_V,$BV#K'KZ$$'")H,)=\A-bBCj^*?g1c(TI#"(A^p>Phg8e_.rn:M5I![oG -g4"EnS_@Mkg=i.O7qm?h^=mj[Hu%'%,'&'Ig<XP^DC2L>PBqV1g5VNS`aINSG^OY1g5UH,:n$+V -@bTO0g2hXhC"M!5P\PK0HnSh_>CbG]9^:=9ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OG_WClUXo@G`]6jP>)HPeY_TM#nEJ&>\k&6#sK8uTZb.TF4k-SiOroR@HK7Z7a -k(SG:VWML;k2rQ&95fH*al\,+K5oVF,^=r^k1am.F==W\Rt63Ok*;Y&ct;G&IY3$Nk*:ON<28U% -BBJ>Qk';T3Dr]nWS8a"MK/$pq@#*n,;!R0Ili5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(_lNp:;4[]f!NDsqX;.Kp4B.rS5B_L"4KO/[S?/Kb9V7_Kri?]g?EC5WC94LY -M.p1CHp3iiS,KEZ4/8ldL9-knIQ*h!32`i?X@/kcV)bW67X]_`G&LK3<hug(@X`Y`TO)toMQ!VG -3IZEUXI+Hc0;tsh0r1kGP#$m7JRtpaU["ob]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/_qG1?B?1#*!S>d!g(hq09P_c(:R7Z?9\Q?q`S/Vg@*6>srn7seGhUlEL>(=E -Y(^tjSPQt.`VnL]9@)=>WS5=aTLQrT8(?6dg/cSSdRi/q=Iu1!Q&TaUD:%!^IA!*#bBKMMY1;7E -8>)Vig;0GT4Oi)B51%s/\R_gZUk%1QcKa*fir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OG_r_$WCsr=F!TMr7jqZTL:iOqH<1^(];!+r7d,s'AA_#">roOg&IcfdlNTT>l -\;bg6VGkQJd/E)t:YY#aZf]T5WCkS#9&Jc-k$-U&h+d%@?)OZ>Ss=JuF55o-KW1b>epaHp\DcSr -9W>"/k00g(5N([e6/1JU_eQW$XbZ'$g?Rf)li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(_Q3cNJbcAOC8n:OH`T+(C'/[]K4Y"_")N?qKDqqUM-d9bH>`\_!Fo%,C'(/( -S,KE#4KPVnL9+WpC+c'Y4KPVHX??K`"$EZ>4T9($Q#B90<iiB)=T3%LVlX]L>`GhS05>6qXB94P -.&a4aHiC)MP#dHHK4X5I#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/_V,$BV"r^KL=Y(9S(^7/L'*aqVL\X!",WRuVuGBRY'A[SRu@7!!Ie\\L'#Y/ -`VnL&9\S3JWS2HKL-*E/9\S2og._M""&.FK9`BbP]o??QD;*]_E;kS+eCob6FL0]>4GJU8g2D_# -1=Y$8SGq4G\S\NoVL[j`#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OG_WClUXnh)`NoK2aUuk2HN<>g8YD<)="-KI8Yl<bg\:3T&UQbZ=!JPCiN<7gG -d/E)=;!-nmZfZUoNBYbP;!-n:k"u'>"&S-d;#ZF[aH^7pF6;V.G5dI8hr^#[HG/Ie5E1ZTk&lZC -2;mV[V#KK[_fNA:YD;<'#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(_Q3cNJbcAW5tuN0MQE=KG'7)k?q,nMXA5cO8ZSqoO^CD-XK#`QG$p</>BY0m -S>]G2G#=YVMl9$RXB'LZ)L@>kR@,L^SlKr;.BKRbEctuI9ie?d<hZKpG'6l\7<<WZM6(qZIf?D\ -;KcXfKr[jHN3'+!4+]_G7]H9d!gs7OnZ2r+map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/_V,$BV"r^S;IYr:YM.!6QBlUGH<@0Gg.p6c>hIca\9LoLg=Ue<Q?omhF-`,2 -`n"slQ=dujYgld&g23.1+e#Ym_SS.7aD@/`1YUK9OHtBq@;X`=D9URMQBl=4=H\tqY1f71T`3XW -BU45iW7bNnZJ+#l9;POX=P!B'!l>5Kn_+3,s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG_WClUXnh)h<bJ"R\`V:]St:5iJ6fM\k"ar)@H?S5_LGXkk2_/cSq4T7HCg^O -dG]):SnuV0]&6bFk&[,S,GVk0c-82YdrM%*2Wj([R%B&<Aom+_F4]DpSt9rU?(.@7\E9GSWW)#l -DOu\+Z/oM9]]S@A:Td`r?/b\C!mM"`n`C&As4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(_Q3cNJbcALLR<(:ri??eEH.bTG]A?6X9!p1ri?3^EH-O.X<hn,Lod\SEH.&@ -XIX?NQ^DcKVf@!`U2bX?JV\<5QuRq`P&ZIDri?r[EJ1E5FKDR,TWFi,EKdJ[EH-`7XFP;:ri?^' -EIrt!X)W-9XK6hiQuSL5W;EXt:Gnj9X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/_V,$CU\WUGXMBpurn7UeOH@fBR#n0Cg&\%Rrn7I^OH?49g*MlCXP2CUOH?p) -g;f;:^ql,6e<$*Pc&eU&UTKWn^lY\P\ra6mrn83TOJgfoPM4a$b1b($OLj/IOH?Krg7j[trn7t+ -OJJtVfoV;ug=i-[^lZ?nebe&%A4+T2g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OG_WClVXSLu\[EFrEroOI&R$cUiTU;n\joMWproO<sR$arRjs?F_[H?W-R$b\O -k0fWab0-0\i0^5#fpJ_LXL=M>bF#a#`0e27roP&hR'>_?SEAtOf&kVPR)S3qR$b8Ck,XlEroOgB -R'!d$jd;FFk2rS/bF$J?iVVa=Bh-eFjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(_5mWI\Z>q3Df8^Fb,bSRn#Q`)map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/_:em<\_728NK%hmb1ZiEn(J!*s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OG_<(`O\`O%PPa$:6b2r\Xn)ai?s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZSXJ"/pKjOg_=q]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/J_KnQ"4Wa,\@1)qir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGJ`cai"5ooJ_m\\3li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(WiQ5hPPqQ`O)OTj!K<Y=X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/WnIKi])C=`[Z0k3!O9e8g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGWoa?+`;Sg!^m+EP!P?mMjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(WiQ4pSGfMiRPOH8!Fq2_X9Ef#DNlqYXK2W;map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/WnIJ]`r4Tl_a!_G!IhKLg'*g)MnD;nXP*m<s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGWoa=ndJ`2.c9h*a!JS>]joqA@PK$"5XQB`Qs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(WiQ1_ri?3`@"1<<X:8rQUo\*7X*A$=XDqX>ri@61@!6mtXH-b>XK3sRU._&Y -Q!e!bXE9#4KPcOHXCbk>]rVFLmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/WnIGHrn7I_H(dq2g'rg_d+WtpfpI'"g5gO#rn8L3H'XuRg9l4$g=eK&c!SKE -]m4n9g6/4kW/@\1g4=P#^"N\Ms5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGWoa:XroO<uJ>uHFjpdB%[email protected]*LVIroP?IJ=`Ruk.cGJk2n^GfO`Im -a+/]\k*rH<Z&uHVk(nQI^#fObs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(X/nLV9!#+_=GUW6XJfc[LfpH^=0%E>U9'GJN3'+Q=GUu4X-d%GB7m9J?\h@G -XB::78?@OaAfYAbVdb76>,8m6#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/X4fbY?J=,NE34dCg=:hIX`;X7DV;HacJ#a4ZJ+$SDlo*?fYMR0K;R?rH*(Gn -g2O0r>hZ/#JL#\bdsS!oEmVPS#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGX6)UpA*2puG.*>]k2D2q[WgDXFQL;,g#g+Z]B88*FgdYWjNMhVMQl5>J@9%: -k'"2A@HOm@LaIh$hh/)?Gh]sp#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(X/lGKE3--'ri?MjXH>&9=@-V`=0$Cbri?H3N3'*SS#i]4X#^/](b)OKX?9.H -XHQag,-7>.PuE]HL,)k54`S3;#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/X4d]ENS<)[rn7cSg:0+]E)_D"DV1):rn7^$ZJ+#@`S0%/fgu*](c9r?g.Ykn -g:D6B/)&$N]kOioW]tHA9om$B#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGX6'PYQ0.4*roOVck/'3'G$0X>FQAj\roOQ7]B86fd,sJZj\5Ys(cUSRk"oX: -k/;Fd0':SmaDS_;ZU8nZ;4##Z#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(WiQgqXK56cXIh>NQ:QpqLm4u>MamZH.U7q6XBpdcXI-(aI#sG>X?<S2%%XIh -OG,0cSP,5HN`qE:NKAm]XK%5T_Q3sQmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/WnJ(Zg=g,Sg;u\8^0InNXLm2#YZ^qY.WhuMg39aSg;)EPT!l)$g.^4j&B<F+ -[\u(;a'ZMoZuWK^ZaQmLg=W^X_V,4Rs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGWoapjk2pI&k0ul_a^Mcr[`.BH\R,6s.XSeik'ji&k0)n$VSL!Hk"t39&CKWG -^p5r^dU^F:^3RD*]tgttk2a20_WD'gs4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(WiQgqXK8F':fSTaXFjDI;i@`Y!d4LD.qL4tJ#o_[:f(8pWE2nm@t>VMRjai/ ->YnBAFC?DG-[mP<ISip@OK>2WJASAl]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/WnJ(Zg=k1tAo&iag8AUrBsHCG"-rl>.tKTWU"\4HAnGu7eo,/4I\S-^`&#Ee -FCo;:PC"jV0q^DITP%kO\(]..UVb^hir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGWoapjk2t]HCiUu#k-/`>Dn>)n".fGR.u62fWoiGpCi"7UicT'RKrcT$cSj25 -HYd[ORt<;q1oNCbWGQHj_<0JPXMX*(li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(WiQY%SZJogQ_9kBXK7nXSc5\kR&0e`/"DrmU9(GoQ^=PMXJD2LVkTNPXIuSp -VO*pHTUhFGQ_g%JXI5EHXK4cgVo#M>]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/WnIngaP,@p^rsaAg=jK\`r=Zm^s`59/&oB?c.^n#^qe@Og<dXNeBYkSg<8.& -d_NuGb/_<F^sTsLg;:YHg=fPAe&'fCir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGWoab#e)ofJbLY(mk2t"5dJi8/bME0[/()P`g#hGSbKJ]'k1e)&i7Z<,k1A\V -hTOEte^DXrbM:;#k0;)uk2ofchnnL[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(WiQ5fOi4=$IDDog]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/WnIKh\A[)$T"s%air@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGWoa?)_SkR:VnhF!li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(JZR.u!JQNiX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/J_JE'!N<?]g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGJ`b8?!OBDqjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(PcOpNX?Z*R!IAeVX9)ZSK)VhQ:*5kpX9XGkIVu6gW]o:@#.j6SeVDWDqpbql -KCA!=nCg3Z~> -#$LBV\D!1KJ_G\/PhH18g/.1j!Lf,?g&cFOV#K'L@jf(`g'=U/T8VFWfM:;W#3,[>g4n&Hqq;:u -JaVg;nC^*X~> -#$LBV\^d1YJ`_OGPi`$Ik#Lg2!Mc%PjoTreXo@GaBdq6sjp/2KW0?B+j&=gs#4)<BeVDWDqpbql -KCA!=nCg3Z~> -#$LBV\^c7gJZOF(PcOpKX??K`+HAQh@B67f4DV!A9lW:AXK4'&4Gp574-Oe_X/g"u4Jr+Z!GI#^ -X8u1bri?Tb4CbFn=)FBgRB2'PHu/e`!'K,>#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/PhH14g._M"+LFgbI+ctB9ShAg@ZO3Og=eVC9X!0q9=g?ug"D0T9[j!p!J@0G -g&Yg$rn7j_9Rb[KDi2J,_:kf:SV[:!!)28'#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGPi`$Dk"u'>+ML["K&tic:lj_1B9uGik2nlb:q5Z@:W/c<jlMP":u;36!K4&X -joK;@roO]u:ke#nFct$HbiZ-aVNCf>!)VP7#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(PcP^4XCSE6M-d9B(6qauXF4lc.<hjdSZI'TrN$K;:ii%LCON:c;4"AcBRp&_ -'2b*tXG(,bKO_*Q0j(MfXHJ$mKDqqQ@>EaA#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/PhHt(g4.i1Y'A[**5-"=g7F,S1mcp'`nHf?rRqa.AWjotLn<>SB><0SK;8D! -'5#&6g8TMSW.*I=5&]/)g:Er`VZ,9MHE?#X#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGPi`g;k(`$\\:3SP*lr0[k,4:&2kT5DdH7*frT4TACRWJ?O/M.&D9:r&Mlcm> -'5YhRk-B[&Z%_>d6?VFFk/=74YQ!YbJ[OCt#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(O/rOZS#i]MEH_>_#s>:OXK5'cXE\^_X8uaAri?)^ri?9IENH6TJGlPX;4"Ac -5rq+j,-77mUA(_i=c_IA#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/O4jeH`S0%NO-]e!#u'&Hg=foRg6dp!g&ZPPrn7?Grn7OBO4r<?U]&mTB#*-S -;b9YV/)%p1c1fomEOF]X#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGO6-XYd,sK&Q_+3=#uKb\k2p7&k+J%=joL'jroO2WroOBVQfdFgXSq8iCs(o& -=A;Ug/`tANf_=M/GJE%t#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(O/s4?Ff_ZoM-m?cN`rMHXK5'cXE\]cI]TVZL]4@]>)o\c?\tkcBRp&_$W37l -XDN<cXF@7?:%kXg4T)8]EK'"\#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/O4kJ7PhOibXa&RRZuXkog=foRg6doST\A+HX8^fZEjXQSGcocSK;8D!$YI3. -g5;ESg7[0<@eSLU9`3TFO0[m$#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGO6.=KSEAt6[t!Q&^3Jd:k2p7&k+J%&WTN>p[/T1oGeW>&J%+S&Mlcm>$Z*uJ -k)lM&k,ILhBD1Hf;#KGVQb2AA#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(NiY-\4?R>ZN''4+UN[i(PU'81T2[pjXJ.."Eic@;>!+p+XK5\X0l="n:*hiH -XK68$4E.B#,u"'7!'L4]!i$]HjfAZtmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/NnQCT9MC/oZ:mr4cBfuF]In$Sb%j\0g<MQ@OP8F6E_K03g=g^/5)\.K@kU9B -g=hEX9TIhA/n"G-!)3@F!m`'Ajk9pus5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGNoi6h:f*,5]MMFLfq0dd`\;GqeT"ELk1M[]R-*PbGYh5Kk2q(Q6B^KnBei8W -k2qh':mL0^0kU1B!)WXV!nnoUjlQd5s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZR.u!K^F^X8u@$jK&Qsmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/J_JE'!OctGg&Z&+jOsgts5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGJ`b8?!PimWjoKOBjQ6[4s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZR.u!M?+bX9"fgjK&Qsmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/J_JE'!Qr[cg&].@jOsgts5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGJ`b8?!S,m%joNfcjQ6[4s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(JZPiP#.j6SeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\D!1KJ_G\/J_I*W#3,[>g4n&Hqq;:uJaVg;nC^*X~> -#$LBV\^d1YJ`_OGJ``ro#4)<BeVDWDqpbqlKCA!=nCg3Z~> -#$LBV\^c7gJZOF(R]HOV:&1k9V2LP=NJjm=Mi4")S;Wo=RZ!f4MjLNHP`(HhXK7J@WL/U;T`'cK -V8TG>]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/Rb@eX@en_'dBL7:Z`r09Ycu!u`j!J:_m%;.YeSoG]<JNXg=j!>f>4]8bPeXF -dDX`Cir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGRcXXnBDL[8h7CSf]Xm7d]"6/KdCR`fc+;HY]#j*s`k&b-k2sIjilepbfDW8\ -h8JF[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(S#c[R=?H>[.@_h;X@57PD-^FKQ\HW;XFD@PP[-DQXDp'gK<2.P25PXBOcU\k ->r7AUX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/S([qRDbBiZ.E+,&g/q&%MKO&Z^oAi_g7]t$]QHp%g5nX+VV9a;6dhJR\@*i/ -F[E1Jg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGS)sdhF\hhq.F:"7k$:gFOaMOub-W\*k,KrE`dCVFk*SVHYNFtb7bsmk_SIaM -HptK^jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK3(Z4?R>YX(a[Y0!%]>7QcF,VPQEMX;O]FDg?8GE3-.:7''1PXHc_cX@[/T -XK5icri?K^@]ZXnXK4OcP&cZ&X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+>S9MC/nfnE*n3ndqK=\PjLe'Ukag)4=PNL>`mNnW45<n_-$g:_4Sg0BE* -g=gnSrn7a[I+m:Jg=f6S\WF;=g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC1g:f*/5jc!#453?Bf?;RujhVD$'jr%ciPbOD9Q0.5`>NT\Ek/_H&k$a:K -k2q9&roOTpKBD;mk2oM&_jJ9Yjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK2q\XK4XbW'IGcIB8PeTr^BUX8kBXX9M@T;flqtG5eQR4KOTHX@o+cN`qWH -XK5icri?E\@]ZXnXK4?O,/UDc]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+2Wg=fBRePY&STA$e?c.Ykjg&OhAg'1ugBp4L;QN#SK9\Qmog0_kRZuW`n -g=gnSrn7[YI+m:Jg=f##/Ag*Fir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC%kk2o\&iDo%&Vrkiaf]H$0joA6Qjp#G-DjuuYT)Rj_;!,N:k%2s&]m7S: -k2q9&roONnKBD;mk2o6C0#H`Tli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2qQ4?OCXXF!&lEibC)XK4P`X8kBXX9M@[email protected]]FC2)MB/i"4 -O/ucFXH6hE@]ZXnXK4LV=I5c#X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+2H9M?GVg71i1OkR<_g=f7"g&OhAg'2!)HtnV%QN#SZ9\S*5PBkj8K1AU) -[G#u.g9u:,I+m:Jg=f3CE50Z9g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC%\:f&4lk+kgMRHDA.k2oM>joA6Qjp#GEK5[!AT)Rjn;!-eWRt'P^MG$c; -^ZL-Tk.lMRKBD;mk2oIjG08LVjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK2ppXGn'qWG&B74KOZHXK4P`X8kBXX=R&7X9ig2;QQsKC94Lp:QVZZ4KPW\ -6`a^OXH$J=@]ZXnXK4OcXC-jcQp@:bX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+1Yg9VjNf7_l39\R!og=f7"g&OhAg+6[Og'`kRB\M14LYCIdA[^=H9\S4J -<SDf#g9bn#I+m:Jg=f6Sg3TjS_,8=qg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC$ik.Mnrj,<'^;!,W:k2oM>joA6Qjt(,kjp[KrD<BuZNooK8C;Auo;!-oq ->3:FDk.Z,IKBD;mk2oM&k('o&bZ<98jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK3+r4Bc0$WB!('O/u2>Rr168N''*bqQ('i3`rJ=K<1n34DLqrX<(cNXCsUV -Kfh@X3]fGcFfT7>4Jf-43BTDbPcSO>T#du;]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+Ar9QPQ,f1AY0[G#4a`Jd?\YtR\bqUu=j8T3=`VV9Ek9S_=#g)bRog4W!j -WD#lW8kViNPhCgc9[VRm85)]L]@qoaaN3'>ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC53:jIYDi_<6G^ZK?,d$.5']221$qW81+9m,U*YNFY;:laZ:jrT*9k)2o0 -Z;=7l:/=\^SE5c-:u(3<9MeP\`TE+,e&^YUli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(Q)sk^f;o!0OiOO-]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/Q.l/e!8#iV!CF<:g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGQ0/#'!92Vm!CaoHjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(QE1(^r'(0^S#ch*map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/QJ)>cr(mB1S(\)+s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGQKA2%r)E`<S)sq@s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(RB-CbP,nl!map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/RG%YgP1g-"s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGRH=M)P3)u7s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(R]HO>48Gs'SRm#HBk=?EAS$OrMIh[HKOp73AU^_^G\(HAXK6;NVL`<CPPo%m -S]%T6]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/Rb@e99DR9ea+0N1Kn.k.J:OQOYCNh1W.;@lJ=kQLR"0^fg=hL9e"_H*])@-Z -a2H[9ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGRcXXN:\j,udYFIWN/-NTLPN+r\VI]WZ%p0;LT'@tTSJ<1k2qk_hQ2LP`VkPl -d_t8Pli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK3)6R@0nQXJM>QS#i0US=-CYN+kBLX=9o*1SnDWV-JY*A;?O)R&lQ*S=k'l -VQ>eMAs]U#CJ(Ri/tSUdK7caO`2j0Smap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/XP+?;_SX^Sg<mdS`S/AX`kpB^Z%YjHg*t??5gadkdWD@`J#gCH_:lR``QFKF -e(V-7K"p$nLgJZD3loB'VP[V"`7bFTs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGXQC2Sc->),k2";,d,rd1dEU_6]8TP]jsf%[7,362h0Q9.L:#/fbN?i.d++aj -hWDL]M94oBO(7.e4k%kCYHMED`9%9is4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(XK2qB:/4okW`W"k-EL0";,2'/X8kBXX9M@;B6eE8G5eQR4KN"HXFOucX?:HH -XK5icri?K^@]ZXnXK4OcH%VL&X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+25@q0H0fPb800\U;)An-i"g&OhAg'1uGK:.[[QN#SK9\Olog7j8Sg.[Nn -g=gnSrn7a[I+m:Jg=f6SRARg=g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC%HBk_bOjE>6O1Zi[ACh]16joA6Qjp#F`MP??&T)Rj_;!*D:k,XF&k"qA: -k2q9&roOTpKBD;mk2oM&U9DeZjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK2qoP*.`%WCN,7OK=R6VlW#[X8kBXX9M@^9QG&kG5eQ_4KO`KUJIM`JlROj -XK5icXJ__G@]ZXnXK4<B+2Y)`]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+2n\[b,YeloVp[bA5neCmUqg&OhAg'1us@$$>/QN#SX9\R*tc=G&NV/*). -g=gnSg=49FI+m:Jg=eth.)O[Bir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC&/_o#%(iEjF>^uiL>hr[c7joA6Qjp#G9AXJ^LT)Rjl;!,`?g1f(!Y&UdJ -k2q9&k2=drKBD;mk2o63.`1<Pli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2q><`U?AXGg1\@'#JlXK4P`X8kBXX9M@fGW]naG5eQK4KPV_E+,iL>5hP8 -GcY>/XH$J=@]ZXnXK4OcFG?7&X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+21D/C]Og9PR4H.ocGg=f7"g&OhAg'2!)R8&X%QN#SD9\S37NdKL6ErKng -R+cnfg9bn#I+m:Jg=f6SPH)O=g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC%DF)rhik.>\UJEF^jk2oM>joA6Qjp#GETi%&AT)RjX;!-nYQ@\2\GlDas -T]Uj5k.Z,IKBD;mk2oM&S$UDYjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK3+.MKBVsWC2W$9!!A/VjT61U5CX_qQ)9F4b]sZDkgKnMJ7[DXIhnSXHtVu -TS,4\:2Gf.>)lmGMG^IJ0T(`^Loc^WR`MQ7]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+@pYEKs:elJuX?J:oOeA=AjcEBC8qV!OK:8uqpN6cOJYD&h,g<!C>g;#kT -bG[h4@u7CNEjKqmY@cM34g2%uXP10-`5pX:ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC4,\XOYYiENk'A*0Unhp"F9fssAZqW9Bc;R5F7PhLAm\W!]Rk1!Vek0$$# -f!.cVBT]imH+eX:\SUEZ5e4F<[cYFOcH,,Pli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2Sn??CO<Wr?<4R][email protected]!Rd)qQ($o??*'3OK>Ef?@VpT#'m;OI9p6B -qHaD^XFOV`WN;3[?3He":bnfeX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP*ipGE\M_f`$(&_qKulbG9?f]m"[HqUu:qGECOl\(]DWGG4uh#+=3!Sp,Cf -qKE1Fg7ie8f%RV3G6Gn=AO"J]g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQB]2I@I%*jSjQ8c/t.:f<'J5aF/JeqW8.3I@00;_<0a*IB*8.#,:8BVgX!1 -qL&UUk,NiXio\)UI0@pZC.$[qjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(QE1(cr.>!-f;o!PUW9G?]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/QJ)>ir1sCtf@g7?cc=`Dir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGQKA2,r3$+3fB**Qg;i=[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(QE1(ar+,kMS#ch*map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/QJ)>fr."d2S(\)+s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGQKA2)r.k?BS)sq@s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(RB-CIP,nl!map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/RG%YGP1g-"s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGRH=L]P3)u7s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(R]HO&3r,j&Ps8HR76diO5<j%eGX$DRDa/f25@ppt><b>nXK5,\UM2rJLAa=: -Q,Ka.]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/Rb@do9)70d]hie(=&@T#:f*)(R8B7(N)6=S:k79RFAPesg=g"4c@o)qWVoWn -]u8V/ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGRcXX-:AO#taAdHI>ZBhD<)f(DTi@]IPZ4cr</9VuH;mk4k2p;Ug5T(=Zi*i' -a2I*Eli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK3),F*!\LXI"!LHE;RWHul0dN.F+eX=:2C6Bub3R8Kr_H>]`EWiW3^X/gnJ -S#iVsKW;,TKOCm]40,DDWMs3[`2j0Smap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/XP+?0P*3T6g:rf6RbFFCSW_IUZ(t(hg*t]^<5"WU_IqHNRu>okf\4tMf\*03 -`7iggW7]hXVg@(L9%hlif%,&H`7bFTs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGXQC2GR[VC]k/s-]UZSPkV4-9']<+p*jsfD&=NI+sb\Z:uUQab7jQ>N!jQ3UY -cfX8;Z/k'0Z%1us:Z^\6io5Eq`9%9is4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(XK2q5F`gHZWD7SY19>=6Cirq\X8kBXX9M@<ApJ<7G5eQR4KNXHXD30bX$(KH -XK5icri?K^@]ZXnXK4O_?^.5%X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+2%Pa#\0f41&05MCuAM3N&[g&OhAg'1uIJshRZQN#SK9\P\og4u<SfM7No -g=gnSrn7a[I+m:Jg=f6MGe;/;g'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC%7S=F9Qib=pQ6KXFZOdp^rjoA6Qjp#FaM5$6%T)Rj_;!+7:k)QD&jAMA: -k2q9&roOTpKBD;mk2oLuJ&U!Wjp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK2r'ChtMuWDIDISZIrTXK4P`X8kBXX9M@f7<!0bG5eQ_4KOuQQ;aNZGXcKt -XK5icXJ(W.@]ZXnXK4?G+Mt2a]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+3*Lkmh:f4Khpa4e%@g=f7"g&OhAg'2!)=,r6$QN#SX9\RC%^1tsIQs#5$ -g=gnSg<?n'I+m:Jg=etn.DjdCir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC&@OH;?Yj(sg=dcSDgk2oM>joA6Qjp#GE>aCVAT)Rjl;!-&FaD]boTO*^< -k2q9&k1@;QKBD;mk2o69/&LEQli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2q/I!I0>XHS$Z:ood\XK4P`X8kBXX=R&7O!\dgEic@?6*..jChBcM9mh>6 -@'!dlXH$J=@]ZXnXK4OcNHLDcWh?E6X9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP+1rSXD=bg:EiGA_OY3g=f7"g&OhAg+6[O[P3Z*OkSO<;VKiEM1OC7@@`sW -HJ3_Hg9bn#I+m:Jg=f6SZBVoRf?;gfg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQC%.VP6$.k/=-oCZ`KUk2oM>joA6Qjt(,k^bV.FRHEYh=6AXhObi/^Au;H" -J`_Qkk.Z,IKBD;mk2oM&]Uct&j4<;4jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(XK3+>A6^("W$Ptb>-)0gTnO_PQXh=QqQ('q/8_IJDldV_A6>/sX<'L*XFMO+ -P@,bK3)4!^>*`9$A8&'.,@k=ELocR9QcQ64]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+A/Irus(eLuE%EnYn+c)<2$^jdneqUu=t3/ZE[N7rr7IrN.$g)`rAg7p3K -\p6&\87R-`EkZIAItZOe/:W.>XP0r[^rY46ir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC4AL3k/>iA-.BGijWHfWd*Eb(_R+qW8164-AYuPidmYL3CZ;jrR@]k,^4j -`IKe"9PK6!H-(5aL5Y3408>3S[cY4&b/i]Lli5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2T"KTD=ZX8[b[UTBE-VNun*TS.uPqQ(%"KT<.,SueuGKU)M;#*Q'hP_=^] -qLf*AXHeHlWiVfjKES*P3_uZpX9Q9(f@>Z*nb^iAa+NjD_!p&EJ,~> -#$LBV\D!1KJ_G\/XP*j'VmX+Gg&@lWcJ#P$d_;WubGV8;qUu;&VmP1$aP,:EVnN&_#.`IA];MRJ -qPOS8g:aD^f\4FFVZb?"8n?Gmg'6R:hV*_4o)%,GbCT*H^@9fAJ,~> -#$LBV\^d1YJ`_OGXQB]>YeS,njo2Ilg#foNhT2qJf!)BaqW8.>YeK8Ne)o_qYfH_)#/fTc`NZSq -qQL4Kk/X^1jQ=qiYQW_C:28\-jp(/Og!tl,nb^iAa+NjD_!p&EJ,~> -#$LBV\^c7gJZOF(QE1(`r*05=f;nsk`iKBUmap!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/QJ)>fr,i!sf@g4b`nCXVs5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGQKA2(r-SL-fB*'u`o[Kks4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(QE1(dr/1Q<S#ch*map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/QJ)>jr3674S(\)+s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGQKA2-r42mGS)sq@s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(RB-C0cE%"er2]m>rN$$pI/U,IR#(^B!fU-)ri?-NTDbhmF]FP&X8m>>X8m>? -X9,A$>PtQ,]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/RG%Y(cIr8]r7V.6rRq:uSc.7C^o[Lg!jZX1rn7CJao0opP\df-g&R<6g&R<7 -g&flBFSshsir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGRH=L<cK5+qr8n!JrT4.7VZ#WXbI.<2!kWHGroO6_eG\M2S8l@DjoCkJjoCkK -joXO^HMln0li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(S#c[c=??8Z/<qVIX>_f5OZYa3Uj",.XDK86MEFS6XB@,3Eic?0/Ycr)L4gj8 -4=lJnJS4q_!H!2_X9,A+NrH*]VG*``X9,/S8,fRjTLf$_!h<bBri?-Y?2^i*GB!P_!iqMBr2^+6 -map!Ee+*=c#KMJckJ6T@6@]~> -#$LBV\D!1KJ_G\/S([qgDbBiZ/A3i8g."3X\4fS>d$HDNg57PXY=r?Xg2T,>OP8Df3R371WMhID -9K9B4UP&O!!K3HHg&flK[/Sb\dpUH"g&fR'>5m4Vb$=o!!lfYQrn7CWG5^+qQ]D(!!nk.Pr7VA7 -s5)Iaddm:h#Kq\dlFuc@6%A~> -#$LBV\^d1YJ`_OGS)se)F\_bp/B9YIk"7l"_GF'Vgn-?nk)qL#\PQo#k'&pWR-*O64P>TIZ`u8^ -:clAQXGZu=!Ks8XjoXRi^Ad6rhIbF>joX8H?N0'feRAF=!mu[kroO6mI/W1.TU,T>!p.Bkr8n4L -s4PqXe+*=c#KMJckJ6T@6@]~> -#$LBV\^c7gJZOF(XK3)#9hgJGXGKYG=KGkX>>:inQB46(X:.d"L3[]r>cb#b?*$0fX9h"jXDV1% -XK5icri?Ta@]ZXnXK4OcXC-jcNEc@_!HrM^X8u[brN$#jT`(qmTh#'_!'L1\!HWA^X9"\arN$$O -B)J_14T)8b]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+?$@UcLog9"gnDq]K.FCNPL^:-f2g'hD&WgSgNFkYQRG1oXhg'LI,g5L!Y -g=gnSrn7j^I+m:Jg=f6Sg3TjSZ?6'!!L8fGg&ZH$rRq9VbPg,qbZau!!)3=E!Kr]Hg&]$$rRq:J -K)F=&9`3TKir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC2;B4n^9k-nu9Fln4PH=tpnaMC^JjpYj=Z_E\rHfjJ%I-+9)jp=lHk*1)) -k2q9&roO]sKBD;mk2oM&k('o&]R'P=!M,YWjoKt@rT4,gf)=_3fO"O=!)WUU!LfPXjoN\@rT4-_ -M>ZK9;#KG[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2q>S!ugFW'm,E<31fqNLNB9X8kBXX9M@F?[$F.G5eQR4KO9GXAtIcT1ONH -XK5icri?Wb@]ZXnXK4I64J\pWPZap`X9!rbrN$$?G5\KC@>Ff_!MN$^X8u+brN$$@FT/?CSPu?` -X9+>eWr9"!4T)8b]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+20`5G^-eQ9]-C>,[7ZG]lEg&OhAg'1uUGaFANQN#SK9\QLng2+@Sb$:Wo -g=gnSrn7m_I+m:Jg=f,o:!hGE]Pu@!g&\($rRq:6Q2TD;H`R,!!R+aGg&Ya#rRq:8PlBA<a(`p" -g&eR(fDXD'9`3TKir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC%Ccd,hTiEOXSE9=JT]['m_joA6Qjp#FnJ"MsmT)Rj_;!,-:k&SE&eR>J: -k2q9&roO`tKBD;mk2oC?;;C-m`cp>>joMZ@rT4-JT)IdPJ[PI=!SC`WjoK5@rT4-LSGqXPdVmn> -joW/Dj8J*?;#KG[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2qs7Re;pW`hk]PcU!KXK4P`X8kBXX9M@f7<!0bG5eQ_4KP2ULfgOUGV)B* -XK5icXI=Kj@]ZXnXK4Bn.fQLNR9-3`X9"8brN$$KCAk47E-M8^!MN$^X8uRbrN$$@FT/?CTN.W` -X9+SgW;Wdt4T)8b]'e2#LXYejeHa-In)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+2s=BH`sfQ((r]@sc4g=f7"g&OhAg'2!)=,r6$QN#SX9\R[+X`2_BQoS7o -g=gnSg;BG\I+m:Jg=f)L2?);2_J[^!g&\I$rRq:FLAfg,O-fh!!R+aGg&Z<$rRq:8PlBA<bA56! -g&ej*ec"2%9`3TKir@lhL=5Yig'>fPmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC&4?!SZ5jEY$:`ob-[k2oM>joA6Qjp#GE>aCVAT)Rjl;!->L[W^NiTKQR- -k2q9&k0Bg0KBD;mk2o<n3<&%Ac#h_>joN)@rT4-[NW%u?QD"3=!SC`WjoKhArT4-LSGqXPeoB4= -joWJFiVhm=;#KG[li5YgLXYejeHa-In)qLUg-U;~> -#$LBV\^c7gJZOF(XK2ptU6I+*X,3RF5cg)LXK4P`X8kBXX=Hu6V@RTtAZVu!;66j9@<\fS5GFmB -8ZZ?UXH$J=@]ZXnXK4OcVIYRcNEc@_!HrM^X8u[brN$#jT`(qmTh#'_!'L1\!HWA^X9"\arN$$O -B)J_14T)8b]'e2#LXYJa]a(lrn)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+1^cFc!afr`QF;;/Ntg=f7"g&OhAg+-UNdh@\:JD/_lBA2'sH^<C>:sRA* -?.sY+g9bn#I+m:Jg=f6SdXSISZ?6'!!L8fGg&ZH$rRq9VbPg,qbZau!!)3=E!Kr]Hg&]$$rRq:J -K)F=&9`3TKir@lhL=5>`^^%8umcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC$nfu>u0jL<gq<T_/?k2oM>joA6Qjst&jh@u3XM!!jAD<BuDJtM2f<S?'P [email protected],IKBD;mk2oM&hM/Q&]R'P=!M,YWjoKt@rT4,gf)=_3fO"O=!)WUU!LfPXjoN\@rT4-_ -M>ZK9;#KG[li5YgLXYJa]a(lrn)qLUg-U;~> -#$LBV\^c7gJZOF(XK3+M5"mD6W#%W]C90uKS8]6nN'8"CqQ('i*)s":DleIQ5#\'PX;sF)XD&G6 -L-$59,;DA<>+SYV5(BYf(-Xo,LocS?rN$$CErE'??]"`_!D&m^X9#"brN#u]r2]p?FT/?BQr![^ -!J4q]X8kB\X9Q9(f@>Z*U%s<En)qLUg-U;~> -#$LBV\D!1KJ_G\/XP+AC:LGu*eK%F]L>#o]`Jkh1Z;2E<qUu=j,APqEN7t"%:MIoLg)Wl@g4^JA -WCn=//3ZiqEli#k:SHLA)c'6\XP0t%rRq:;Oo<u7Gcq#!!F*bGg&]E$rRq6Fr7V17PlBA;_.ET! -!Mk>Fg&OhEg'6R:hV*_4TD=$AmcqOUfg1,~> -#$LBV\^d1YJ`_OGXQC4V;e7k<i?(usNTO\"d$5WO]2K_OqW81,-#i!_Pif#F;f:+ajrI:\k)CB[ -ZVM]B00rN)H.6b2;l\uc*E,lh[cY5KrT4-ORJl7KJ%,C=!FXLWjoO+@rT4)Vr8n$KSGqXOb\I+= -!Nh4VjoA6Ujp(/Og!tl,U%s<En)qLUg-U;~> -#$LBV\^c7gJZOF(XK2T+WiE,#XT#7"XT,:'XK/A%X8]-pXT,:*XK/D'XK&;$rN$4(XK8J&WiPur -#HOr,WiE/%X8T'uX9!<arN$$/LAn7UVHK2`X9,"kV#IFsQYT+jX9"AbrN$'U9m$B9!I8S]X9!'b -ri?1$E\.-i"hO-ReVCX/dKTI0_!p&EJ,~> -#$LBV\D!1KJ_G\/XP*^.fDaD&gA]\0g"P*1g=b*2g&BV"g'ZNbf\5$3g=k01f_sM.f\5'3f@S^P -f*C!_f[na/g=cGV"52CiQMoM<IB!5"!n2/&rn7FqB@-Y3!l'Oprn7C\E;eJlXC7@mg&[Y$rRq:- -TDmOGfTA/kg'-L9hV*^ppsoWFlFuc@6%A~> -#$LBV\^d1YJ`_OGXQBQFj8S*>k5OBHjlYXak2bRajo4<:jpL51jQ>Rck2t^ajSe3FjQ>Ucj5]7t -is4].jQ#:_k2lR%"6J[4T)IdPK<tR>!oA.AroO:3D;5'P!m6R1roO6rGQ$Y*[:c$/joM3@rT4-@ -W;bo\jI&+-jot)Ng!tkepsK?AkJ6T@6@]~> -#$LBV\^c7gJZOF(QE1(^r&asXf;nt/r2]mTrN$$tNr?$[T9]AV!gn.iri?-_V#@@rMKYHfX8n+T -X8n+UX9,DFHMjiK]'e2#LUR6[rWi>Ko]O$Zg-U;~> -#$LBV\D!1KJ_G\/QJ)>br(I*)f@g5,r7V.QrRq;$[/J\Zb.[c-!l:/,rn7C_ci)Q!Y*Hs)g&S8Q -g&S8Rg&folRf(kDir@lhL:@3[rWi>Jo]j0[fg1,~> -#$LBV\^d1YJ`_OGQKA2%r(mB3fB*(Br8n!grT4.<^A[0pe]@^[email protected]\p79\=LqEjoDmg -joDmhjoXV7U\s6Yli5YgLUR6[rWi>Ko]O$Zg-U;~> -#$LBV\^c7gJZOF(JZPiP#J0?TeVC*km/5B=P+hU4_!p&EJ,~> -#$LBV\D!1KJ_G\/J_I*W#NGd?g4lZsn,1lEOe_[9^@9fAJ,~> -#$LBV\^d1YJ`_OGJ``ro#ODECeVC*km/5B=P+hU4_!p&EJ,~> -#$LBV\^c7gJZOF(JZPiP#eKHUeVC*Or7Cqu#e>u'p?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W#ibm@g4lZYr7q;*#eQ),pZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro#j_NDeVC*Or7Cqu#e>u'p?06\g-U;~> -#$LBV\^c7gJZOF(JZPiP'Y<_aeVC*:lgNBSd@?c@p?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W']T/Lg4lZFm.&f`eXW5JpZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro'^PePeVC*:lgNBSd@?c@p?06\g-U;~> -#$LBV\^c7gJZOF(JZPiP'Y<_aeVC*:ansrF`.kY4p?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W']T/Lg4lZFc2?STaG%.@pZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro'^PePeVC*:ansrF`.kY4p?06\g-U;~> -#$LBV\^c7gJZOF(JZPiP'Y<_aeVC*:^?k7;Q(Pb'p?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W']T/Lg4lZF_sQpHQ(Z"2pZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro'^PePeVC*:^?k7;Q(Pb'p?06\g-U;~> -#$LBV\^c7gJZOF(JZPiP'Y<_aeVC*:^!c\[N46L6p?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W']T/Lg4lZF_UeLfMnHpDpZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro'^PePeVC*:^!c\[N46L6p?06\g-U;~> -#$LBV\^c7gJZOF(JZPiP"hO-ReVC+&]`R5HT)QD,p?06\g-U;~> -#$LBV\D!1KJ_G\/J_I*W"lfR=g4l[-_?/eLTDl\2pZfK^fg1,~> -#$LBV\^d1YJ`_OGJ``ro"mc3AeVC+&]`R5HT)QD,p?06\g-U;~> -#$LBV\^c7mJ\$EDJ\%hl"i]o]eVC+&]`Pp(Zi7WAp?06\g-U;~> -#$LBV\D!1OJ`;7?J`<Zg"mH!Cg4l[,_?#G$rk\j5lFuc@6%A~> -#$LBV\^d1[Ja7mQJa9<$"n2KEeVC+&]`Pp(Zi7WAp?06\g-U;~> -#$LBV\^cVbJaS*WJaTH("4u(Y_#E<oi7%Ya"oIJunCg3Z~> -#$LBV\D!M5JcC<$JcDYJ"5_ad_>`Krimdqf"oIT!nC^*X~> -#$LBV\^dM:JcC<$JcDYJ"524[_#E<oi7%Ya"oIJunCg3Z~> -"^19U\^f#Wf7DP)f;@1"eH*#Gp[eUK_!p&EJ,~> -"^19U\D#JahLXO7hPT00g&\PMp\"aP^@9fAJ,~> -"^19U\^f)Yfn%h-fr!I&eH*#Gp[eUK_!p&EJ,~> -"'P'S\Ui:^eUc89eH<VVg-U;~> -"'P'S\:N@bg4@tCg&o(Yfg1,~> -"'P'S\Ui:^eUc89eH<VVg-U;~> -"Bk0T\[-jBJVSf3V2#&Wo@3rYnCg3Z~> -"Bk0T\@$mAJVAZ/V1eoUo@a;\nC^*X~> -"Bk0T\[-jBJVSf3V2#&Wo@3rYnCg3Z~> -"^19U\ZptdVuis:`duTidt,u\dfHr+q5=>0nFP04_!p&EJ,~> -"^19U\?gtcWr^/ZJ^T+tJ^V3Z!P-VRWr^',o@a;\nC^*X~> -"^19U\ZptdVuis:`duTidt,u\dfHr+q5=>0nFP04_!p&EJ,~> -"\,r'Q*H8E]`lU<igB'-Jan<]JapMF#3_c/s8V!!r4N-jo^gT8S@G1AJ,~> -"\?50Qa;SH_?J9GigK31Jb"B_Jb$SH#3hc2s8V*(r5&Kqp@Hu?T=ppKJ,~> -"]3XiYHa#_]`lU<igB'-Jan<]JapMF#3_c/s8V!!r4N-jo^gT8[ahZ6J,~> -"Y=h;>Hs+c]a2?fkP"SDR-X0keUc8%e\BW?]n=c4iqE',_#D"Jiq2im"(#V5&:a~> -"YbLUA[@9n_?e&tl1anHR-jBog4@t/g:u>I^k()9jnJK3`;[USjS&3!")2jY&qB~> -"[ff-U9TXU]a2?fkP"SDR-X0keUc8%e\BW?]n=c4iqE',_#D"Jiq2im"/W>h,_,~> -&MS*3=0[[s]uo74nDDcgR-X0keUc8%e\BWD]n=c4e^`UJs5(l2iq2im"(?4P(Ou~> -&N"lT@^Cs/_Tq0@o&JGrR-jBog4@t/g:u>N^k()9g=kWYs5;/=jS&3!")NI!)Lq~> -&Oj7;U9TWi]uo74nDDcgR-X0keUc8%e\BWD]n=c4e^`UJs5(l2iq2im"/`]11k5~> -&MS*3=0[Xmh!k!pf%&<CR-X0keUc8%e\BW:]n=c4rm_5(i:ZHji:QWk"(?4P(Ou~> -&N"lT@^Cp)hXU@$gY1ARR-jBog4@t/g:u>D^k()9rn7S2jS%rqiqDut")NI!)Lq~> -&Oj7;U9TTch!k!pf%&<CR-X0keUc8%e\BW:]n=c4rm_5(i:ZHji:QWk"/`]11k5~> -#r$7+=0[LMLRbsSeH;G2lgB>SJ^o>%^XWG"[email protected]"feH96#=;QJ~> -#rI$L@^CcZL7GpTg&mt7mI5\\J_G\/^Y/e*J_'hug'"^4LXc%hg&l/@Af?1~> -#t;D3U9THCLRbsSeH;G2lgB>SJ^o>%^XWG"[email protected]"feH;\\W\f5~> -&MS*3=0[[sZCHo>`mN>/R-X0keUc8%e\BWD]n=c4e^`'cQ&M<@iq2im"(?4P(Ou~> -&N"lT@^Cs/[[iABb1>:=R-jBog4@t/g:u>N^k()9g=k)uQ&D9DjS&3!")NI!)Lq~> -&Oj7;U9TWiZCHo>`mN>/R-X0keUc8%e\BWD]n=c4e^`'cQ&M<@iq2im"/`]11k5~> -"Yah'=0[\_]a2'=Kq5fIR-X0keUc8%e\BWD]n=c4e[_3)T=;MIiq2im"(?4P(Ou~> -"Z1UH@^Csk_?d`GKV#lLR-jBog4@t/g:u>N^k()9g:Nl/TY/.YjS&3!")NI!)Lq~> -"\#u/U9TXU]a2'=Kq5fIR-X0keUc8%e\BWD]n=c4e[_3)T=;MIiq2im"/`]11k5~> -"Yah'=0[\]]`tj6Nej(gl%-m+a+;:G`s8r'deo8gS[A@/!TNbCeH96#=;QJ~> -"Z1UH@^Csi_?RK>NeWqgl@I-0bCRjOb6PG+f)1YiT"+a9!T`tGg&l/@Af?1~> -"\#u/U9TXS]`tj6Nej(gl%-m+a+;:G`s8r'deo8gS[A@/!TNbCeH;\\W\f5~> -"Yah'=0[\[]`b^9R-:H!K7SZ+K=up;dK-&Lqn3$io^gT8@<,HdJ,~> -"Z1UH@^Csg_?@BDR-LN!JUrB'J\?U:f$U8'qn`Bpp@Hu?Ck$%8J,~> -"\#u/U9TXQ]`b^9R-:H!K7SZ+K=up;dK-&Lqn3$io^gT8VRribJ,~> -"Yah'=0\Rrp&X^]Ja\0YJa^8?!VuB`p&Y'_o@3qOE`a-.~> -"Z1UH@^Dg(pAsg^JaS*WJaU2=!VuB`pAt0bo@a:_IqBUL~> -"\#u/U9UNhp&X^]Ja\0YJa^8?!VuB`p&Y'_o@3r?];d]<~> -"Yah'=2isGkCMfIkGIDBj7Ce'@<,HdJ,~> -"Z1UH@`dJXl@J5OlDEhHk4@:/Ck$%8J,~> -"\#u/U;bo=kCMfIkGIDBj7Ce'VRribJ,~> -">+@t?X*>7!FD:I^k':P^oP6OVeGj6"*.mG4Fd~> -">Y.?DJ&]\!GS0W^4F"L^8nsKWcRrO"+P>p5C`~> -"@fN#Z)%2m!N!5U^k':P^oP6O^9.1-"1bh-;1J~> -"<q2^@VPXY!GAron:C([n>l$Zc$K/*"(PdnVLS~> -">"/)EHh5.!Hc#+n:C([n>l$Zd>%FG"*/B?VLS~> -"@n9T[(#kC!OL=-n:C([n>l$ZiP,*!"1>LLVLS~> -"#h>U:&%fk;5JitJ_G\/X4dTcAGB7/9eV%oJ,~> -"%+Iq>52\1?E&M/J_>V-X4[NfEVO,J=uV$0J,~> -"*$Y@RJ<c_UV_T9J_G\/X4dU%Z1t=$R:q<OJ,~> -s"sg$)YY$J1P%lD6@hJ(630"`p_O#pVYgCD~> -"%5L-+86ZR1k@rD6%M>&5liqdp_j6!VYgCD~> -")i0L3qkH24b5qN6@hJ(630A2pbW(MVYgCD~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/megaco_filter.gif b/lib/et/doc/src/megaco_filter.gif Binary files differdeleted file mode 100644 index bd03929b4c..0000000000 --- a/lib/et/doc/src/megaco_filter.gif +++ /dev/null diff --git a/lib/et/doc/src/megaco_filter.png b/lib/et/doc/src/megaco_filter.png Binary files differnew file mode 100644 index 0000000000..cdea3a147e --- /dev/null +++ b/lib/et/doc/src/megaco_filter.png diff --git a/lib/et/doc/src/megaco_filter.ps b/lib/et/doc/src/megaco_filter.ps deleted file mode 100644 index 19a1fc6bd1..0000000000 --- a/lib/et/doc/src/megaco_filter.ps +++ /dev/null @@ -1,1733 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/megaco_filter.ps -%%CreationDate: Mon Oct 14 17:46:21 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 469 306 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 290.927657 translate -453.947466 -290.927657 scale -% Image geometry -543 348 8 -% Transformation matrix -[ 543 0 0 348 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 543 string def -/gstr 543 string def -/bstr 543 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 99787 ASCII Bytes -colorimage -!AQV60nB=U!.b-$!:0^c3<Coq0n9~> -r'Z)9JH16$JH5$:r'Z&~> -"DW"!C3+q+JH16$JH5$:r,[A~> -r]0uYnc&U&JcC<$JcE7[!56GQrr<*T3B;T~> -r^?bdnc&U'JcC<$JcE7[!5?MRrrE$dJ,~> -rcA)>nc&U&JcC<$JcE7[!56GQrr<+8F)uj~> -s"OQTs8VWG!53s6J^o>%\CCSma56ja!WXr0J,~> -s$Qngs8VWC!5=$8J_#D'\CLYoa4gR]!WYVVJ,~> -s)S5As8VWG!53s6J^o>%\CCSma56ja!W[:VJ,~> -!]^8\n(n&XJ^o>%J^q9\!56A.!lY."J,~> -!^m%gn(IcUJ_#D'J_%?^!5?G+!l=q*J,~> -!cnAAn(n&XJ^o>%J^q9\!56A.!lY.\J,~> -!\j]Tn(n&XJ^sYJ!6(hc!6'N>S(.MP`SL[8!',Q~> -!^m%gn(IcUJ_'_L!QrigecEqAJ_$@B!5?G+!l=q*J,~> -!cnAAn(n&XJ^sYJ!6(hc!6'N>S(.MP`SL[8!-<Y~> -!<E/fh>k6dec1lieHNpfe\-<VrfmH5!J>a&eH3F2HiB90eH(;LnC7Q8]n+_AeH!;GhY3Q5hZ',E -hZ',Dh>s\XJ,~> -!<E/fg&Sjaf)LlgedTEhf"Q]`R?<W_eq&CUed9'AI@64[f%,D'nC@W6^4FkCec<GIg@q$.gAdT> -gAdT=g&\>VJ,~> -!<E/fh>k6dec1lieHNpfe\-<VrfmH5!J>a&eH3F2HiB90eH(;LnC7Q8]n+_AeH!;GhY3Q5hZ',E -hZ',Dh>s\XJ,~> -!<E/thZ',ChZ',Eh>k7]eH*Y&iRItJ^$sPQ`P(Qes-2Bj&]K+(eVedneWc<KeUr5!e]#5.eI@F` -`RU3;e^];!e^_XPo[O#MHc:Qd[abAkkMGs'p>5b<s5*^ErS@RV!.Y~> -!<E/tf)M08f)M0:ec<GVdK.4niR.bD[d_]G_RAaXs,l0d&]0+-dZ&[pcB47;dXcttd_`H!dLD1a -`m0^/daE\tdaH"@o[3fLID19\[aG/ikLTBqp=B21s47.:rRM"P!.Y~> -!<E/thZ',ChZ',Eh>k7]eH*Y&iRItJ^$sPQ`P(Qes-2Bj&]K+(eVedneWc<KeUr5!e]#5.eI@F` -`RU3;e^];!e^_XPo[O#MHc:Qd[abAkkMGs'p>5b<s5*^ErS@RV!.Y~> -!<E/uhYiuChYiuDh>k7]eH(;LiRIs]HgoPdK6tSf"cJVqeUr5GeHLSPe^];!Zdf)/Hi)=sK6u/! -K7!4?!L/Lne[F!.^$"8HSG(h6SGh:FX8mb~> -!<E/uf);$8f);$9ec<GVdf4mWdf4mfdf4m;dKPJmdaE\tqpPLqs3gpuZdSl)qpPLqs3gpuo?mZ) -M1O*`dK%#Ef(YU+f(YU2ecDoRJ,~> -!<E/uhYiuChYiuDh>k7]eH(;LiRIs]HgoPdK6tSf"cJVqeUr5GeHLSPe^];!Zdf)/Hi)=sK6u/! -K7!4?!L/Lne[F!.^$"8HSG(h6SGh:FX8mb~> -!<E/uhY`oDhY`oCh>k7deHX!NH\8]UV#G]@`VS*mXG_FPMp9eRMgLA`rmh%,"hfP8[+1uOHiM%o -MgL)`e^]S9]n:[=eYN1ks2>,!H[CCYqUHs`HbIt[XFo&UHe$ZcMgL)`eZ=,:eXV!*eXWGc`J](q -[+3]bMl_j8eHER4^"&YPHO.lKHe$Z!He"qkHiM%nMgL)`e^]S9XGbV]Hi)@nM\<^UHaL/4HaM>R -`J](q[+3^GPl5qCe]!c"H],kneZ=[UH]-/!XG_F`XSC<GSGmj@c%CAneUr5!V#G`@`=7`PK='1Z -Mi4Zpe\-=CJ^q6[!57RPpRLp5q4.B>!NZ9O~> -!<E/uf)1s9f)1s8ec<G]dK[RNI>+uTU&KH?_YV[gY).RTM9=8LM1(5`rmLh+"hKD=ZI5HGIK..n -OaVqhdaF,7\qP^@d\6Ygs2"o$JUN6\qU-aZICdkTV1m?KJ^Vu`OaVqhd].`4d[>O#d[?fW_NB8# -ZI70\NMVX5dKI.0]$d#GI0duHJ^VttJ^U7kIK..mOaVqhdaF,7V2`oSJc!mqN=r[RJZcG8J[3_P -_NB8#ZI71<Oo9\Bd`.E#I>tthd]SFTI>Q+pY).R`Y5$EFRJqU?b(5,ldXcttU&KK?_@;WUKsK.T -NK'cod^FS8J^V$U!5@XIpR1^*q3h03!NlEQ~> -!<E/uhY`oDhY`oCh>k7deHX!NH\8]UV#G]@`VS*mXG_FPMp9eRMgLA`rmh%,"hfP8[+1uOHiM%o -MgL)`e^]S9]n:[=eYN1ks2>,!H[CCYqUHs`HbIt[XFo&UHe$ZcMgL)`eZ=,:eXV!*eXWGc`J](q -[+3]bMl_j8eHER4^"&YPHO.lKHe$Z!He"qkHiM%nMgL)`e^]S9XGbV]Hi)@nM\<^UHaL/4HaM>R -`J](q[+3^GPl5qCe]!c"H],kneZ=[UH]-/!XG_F`XSC<GSGmj@c%CAneUr5!V#G`@`=7`PK='1Z -Mi4Zpe\-=CJ^q6[!57RPpRLp5q4.B>!NZ9O~> -!<E/teb>U4eH!;\bmMFBK>!Lr`Pm1N^&#u1UjJ$,[%t[BH^)4.H`YK:K6rNHH\9S^H[EHFK7gk% -Hc=6^H]+D@K?_A^HbI[^HaLJn^&#u$[!S%^c%Dh:K6tk^K7gk%Hc<[FXNcBEXNcC)`IifVP^CBo -K6rNPrQQOVHc=7KH[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^H]+]EMhCoO/q\M/S9oU@S9on5`IifV -P^CBoK7h.fK6tkVXM(ufMp8&EMmTje`N4EN]p*lFq9:##H[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^ -H]+]E`I",+c*tpt^$!oGSGC\8SFkA/SGUh;X8mb~> -!<E/tdeB1.dK%#Zc3h^FKt<Ot`l<RX_YVP7V1"3+[]7?II?hO3IB(T<JUNBKI>,tdJUPDTJVC\# -IE'Q`I>OYGL!I\hIDX9dIC?ku^A?,&[XFRhcAACCJUu+hJVC\#IE&jHWm6<HWm61(b(58XQ$pZt -JUNBOrQZU\IE'RPJUPD\JUu+lJUu+dJUPDTJVC\#IE'Q`I>OfGM2D,T/qJG1Tm_?KTm_X?b(58X -Q$pZpJVCtdKmh7\Y.h>mM9_rGM6aRi`i=HP^6O,Hq9C)%JUPD\JUu+lJUu+dJUPDTJVC\#IE'Q` -I>OfG`dOP3cF;(!^?<oERJG82RInr)RJYD5XoNt~> -!<E/teb>U4eH!;\bmMFBK>!Lr`Pm1N^&#u1UjJ$,[%t[BH^)4.H`YK:K6rNHH\9S^H[EHFK7gk% -Hc=6^H]+D@K?_A^HbI[^HaLJn^&#u$[!S%^c%Dh:K6tk^K7gk%Hc<[FXNcBEXNcC)`IifVP^CBo -K6rNPrQQOVHc=7KH[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^H]+]EMhCoO/q\M/S9oU@S9on5`IifV -P^CBoK7h.fK6tkVXM(ufMp8&EMmTje`N4EN]p*lFq9:##H[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^ -H]+]E`I",+c*tpt^$!oGSGC\8SFkA/SGUh;X8mb~> -!<E/sebPa5eH!;\bmCIuSB\-^XNcBEq98tnHc>s..t`2fc,G$^c-:lf`Q`aVc-:lfc)c8^c)c8n -c%CA^c$Of^c%CAfc&6q=^%]bsK6tkVHc=6^Hd/X=SB\-^XNc*V`I!6%]mJ#*H^r?^H`YJEHi)%g -P^EDS(k[1[c%CAfc%CAfc%CAfXF$J^XF%%nK7!=:(k[1Sc$OfVc$Of^XF$J^XF%%MH^r@*K7!UB -#K=B/K?]$q`Vn$cK6tS^`I!74bnu([c-:lfc-:lfc-:lfc)c8^c)c8nc%CBAblN0UJ^([K!57RG -!1`l8!1`]3qjdQ6!NZ9O~> -!<E/sdeT=/dK%#Zc3^Y%TusNdY0MTLq9B%qIDYs..uA\ocGk9hcH^uh`m0-dcH^ulcE;Shb-$/q -c@LD`c@LPlc@LPlcA?t?_Y;@UJKr=OIDX9\J^1EHTusNdY0MH\`dNQ/_L9S0IA+fdIBLkHIEMK5 -!L8*4cMrIqcMrIqcMrIqcMrG'cE;Shb-$/qc@LDdpWaV,IEKidIEKidJ^1EHTusNdY-NJHcH_,l -rltbc^4D!`Kmgi:c3B,R`m2SPM>5BrJcF$qJcF$qJcF$qJIBc+IA+fdIBLkHIEMQ7!I^5acF;(! -^?<oERJG82RInr)RJYD5XoNt~> -!<E/sebPa5eH!;\bmCIuSB\-^XNcBEq98tnHc>s..t`2fc,G$^c-:lf`Q`aVc-:lfc)c8^c)c8n -c%CA^c$Of^c%CAfc&6q=^%]bsK6tkVHc=6^Hd/X=SB\-^XNc*V`I!6%]mJ#*H^r?^H`YJEHi)%g -P^EDS(k[1[c%CAfc%CAfc%CAfXF$J^XF%%nK7!=:(k[1Sc$OfVc$Of^XF$J^XF%%MH^r@*K7!UB -#K=B/K?]$q`Vn$cK6tS^`I!74bnu([c-:lfc-:lfc-:lfc)c8^c)c8nc%CBAblN0UJ^([K!57RG -!1`l8!1`]3qjdQ6!NZ9O~> -!<E/rebbm6eH!;\blFR;HNU(gK7!F=s*O[gs*Oais*Odj$\NfNc%CAfc%CAfV#5QQUs4O=c-:lf -c-:lfc-=4lH[C[aq998:H`W`qc-:lfc(t8a$`)%*K<1<%K<1!UV#5QAUs4O=qoo/+HiD8#K6tkf -K6tkfK6tkfK6tk=r-JOAc%CB:bmT/Nc-:lfc-:lfc(t8as.g0PUs7/:Hd06VK8Y)/c$Og8c2W.i -c2W.cbn#GRc-:lfc-:lfc-:lfc(t8a"/O1oHi;1iH^'*+\'4odr7(e\q4%Gup=0/5q:,J8p!rl. -r7(hL!.Y~> -!<E/rdefI0dK%#Zc2a^=I06=kJV!XBs*agj!J,[ucMr=mcMrIqcMrIqcMrFrcDCGe';a!*J^2Pl -J^2PlJ^2QXQ$n(?^A6%]SUIZ3NR#h#J^1+iI1)msOb'ZtR>%Z#cDCGe"/X:oJc!^nQ$rYWs+13q -s+13qs+13qs+(3rV>P`DV9XXCp<N\hs3CXqs3CXq!R@P>IK-,SIA+s3Kmh7XKn553L!G*pr6>=o -IK%OlIJD+fJcF$qJcF$qJcF$qJH=&mr-\[Dc@LQFc2i?YJ^1aM!5ABZ!4quo!4qmP!1EZ2!1EN. -q3h0/!NlEQ~> -!<E/rebbm6eH!;\blFR;HNU(gK7!F=s*O[gs*Oais*Odj$\NfNc%CAfc%CAfV#5QQUs4O=c-:lf -c-:lfc-=4lH[C[aq998:H`W`qc-:lfc(t8a$`)%*K<1<%K<1!UV#5QAUs4O=qoo/+HiD8#K6tkf -K6tkfK6tkfK6tk=r-JOAc%CB:bmT/Nc-:lfc-:lfc(t8as.g0PUs7/:Hd06VK8Y)/c$Og8c2W.i -c2W.cbn#GRc-:lfc-:lfc-:lfc(t8a"/O1oHi;1iH^'*+\'4odr7(e\q4%Gup=0/5q:,J8p!rl. -r7(hL!.Y~> -!<E/qebu$7eH!;\blXtnSG^V4K7!F=!eYj5rQQ+1Hc=7KH\9SfK6tkfK6tkfK6tkEH^t#Y$%mTL -c%CAfc%CBAblbq\H\;.=%)%"GK<3>BK6tkEH^t#Y$`&--Uo\p$Us5ufSG^V4K7!L?(8Q;rc-:lf -c-:lfc-:lfc-:lfc)c8^r657pHhP\nK6tkfK6tkfK6tkEH^t&Z&Zg>Lc-:T^c&6qnc%CYnK6t<1 -bm&fI`QcAKKD<\'K6tkfK6tkfK6tkfK6tkEH^t#Y!J>aublYk2S:SqoblGHTeb>U-eGu-8eGu-5 -eb>U4eH)`OJ,~> -!<E/qdf#U1dK%#Zc2t.sU&<49JbdRmKmg]6c5)7b`m2SPM9aCtJ^2PlJ^2PlJ^1EHU&<49JcF$q -JcF$qJc3jr`h@g7q9BD[I>rfXcH^ulcE;Shr6>\DI>t)'I>srGY'm#AcMrImc5*+%`m2k\J^2Pl -J^2PlJ^2PlJ^1EHU&<49JbIChJcF$qJcF$qJHO3#IA-Vb&[$PMcH:]dcAdCtc@pttKmg]6c3B,R -`m2SPM>5BrJcF$qJcF$qJcF$qJHO3#IA-Sas+10p!lfY^J^1aM!5ABZpR1a'!1EZ2!1EQ/pR2!. -!NlEQ~> -!<E/qebu$7eH!;\blXtnSG^V4K7!F=!eYj5rQQ+1Hc=7KH\9SfK6tkfK6tkfK6tkEH^t#Y$%mTL -c%CAfc%CBAblbq\H\;.=%)%"GK<3>BK6tkEH^t#Y$`&--Uo\p$Us5ufSG^V4K7!L?(8Q;rc-:lf -c-:lfc-:lfc-:lfc)c8^r657pHhP\nK6tkfK6tkfK6tkEH^t&Z&Zg>Lc-:T^c&6qnc%CYnK6t<1 -bm&fI`QcAKKD<\'K6tkfK6tkfK6tkfK6tkEH^t#Y!J>aublYk2S:SqoblGHTeb>U-eGu-8eGu-5 -eb>U4eH)`OJ,~> -!<E/pec208eH!;[bmB#LUpR51c%CAMqTUjuH\8E5XMq8fPeE<.XNf"BHd0ffHd0ffHaLbEH_e$M -[*=5Mc-:lfc-:lf[*>DR]sN-Eprt%9H[E`Vc%CAfc%CA=[&gXZ[!R/5]mG+5c-:lfUpR51c%CB? -boOKE[*?jJHd0ffHd0ffHd0ffHaLbEH_e$M[*=5MrlkJ%KDWnGK6tkfK6tkfK6tkfK6sE$XL,rn -H_cRHHd.IqXK6bq]rZR5XM(^SXF$2FP^BM,bnu([c-:lfc-:lfc-:lf[)IZEUpR51c%CBBblY8! -]n+G;blGHTeb>U-eGu-8eGu-5ebu$<ebu$:eH)`OJ,~> -!<E/pcMs1*c2bTVapZ4CIAOBTZHA#P[`83e1obtXY-t@IWdU/DQ$oLOb(5,db(5,db)(PT_M*E7 -[]ZpYJUttdJUttdM1)hPTsDD<I>RaA,DCPo`lcGTJ]budIAOBTZHBV(IC?_8IC@;<Kmff+Y-Q3$ -Jc!S1\p^a(b(5,db(5,db(5,db)(PT_M*E7[]ZpYJV!gCs,$Wqs+13ms+13ms+)H<`eAi;[]ZpQ -I=7fGI=97pIB';qID2_0Ks%ka_Q&$L\s7]?pr`Vfs2t@ms2t@ms2kb,IC@"HIAOBTZH@`LrlP;F -IC=^L\&n]br6G&%p<EZ'q9Au*p<NW%s3CS.rQYGH!.Y~> -!<E/pec208eH!;[bmB#LUpR51c%CAMqTUjuH\8E5XMq8fPeE<.XNf"BHd0ffHd0ffHaLbEH_e$M -[*=5Mc-:lfc-:lf[*>DR]sN-Eprt%9H[E`Vc%CAfc%CA=[&gXZ[!R/5]mG+5c-:lfUpR51c%CB? -boOKE[*?jJHd0ffHd0ffHd0ffHaLbEH_e$M[*=5MrlkJ%KDWnGK6tkfK6tkfK6tkfK6sE$XL,rn -H_cRHHd.IqXK6bq]rZR5XM(^SXF$2FP^BM,bnu([c-:lfc-:lfc-:lf[)IZEUpR51c%CBBblY8! -]n+G;blGHTeb>U-eGu-8eGu-5ebu$<ebu$:eH)`OJ,~> -!<E/feH!;[bmMFSH[CCHc*W+M^&#t]XG_FPMoErBK6r6Prll^@Hd0ffHd0gBK6t;NP^@b0XNcBE -c-:lfc-<VJHbGYrH[D!rprrl9H^+NS&VGGTc,GooH\8EEc$Of^c$Og:bm;:QH[CCHc%CB>c2W_% -bnu([c-:lfc-:lfc-<VJHbIC_H[CCHc%CBBblNHDqop^FHd0ffHd0ffHd0gSP^@b0XNdi!K=$8X -c*W+MS>:M%c)chMH],kfXFkkPXS9sVK6tkfK6tkfK6tkf["E_=`KY^rK<3=MHiD:iMh0-]blGHT -eH!;YS,g7reb>U,ec20<ec20;eH)`OJ,~> -!<E/fc2bTUapQ"NJUN6Tb-HSL])'PWWel.PM8%-/KmeZTrlY7ls2t@ms2l=eJUtDLQ%=@;Y0)<H -b0#9db0%#@J\%+tI=[ZtprWZ3I?FNOs+13m)8_YiI>+iH`dN9Xb'e]Xb0%SdJUN6Tb(5-?b5[J$ -b5[%mb5[%mb5[%mapbS,J\&^`JUN6Tb(5-Cb5[%ib5[%mb5[%mb5[%mas"WeJUN6Tb-$;LZA!kP -[Y9.#Tm`?OWel.PM8%-/KmeZTpWEMes2t@ms2t@ms2kbUJUtDLQ%=@;Y0)<HrlY8#J]bFD!5ABV -!4M]g!4MUHpQbEss-<Q.s-<N-!NlEQ~> -!<E/feH!;[bmMFSH[CCHc*W+M^&#t]XG_FPMoErBK6r6Prll^@Hd0ffHd0gBK6t;NP^@b0XNcBE -c-:lfc-<VJHbGYrH[D!rprrl9H^+NS&VGGTc,GooH\8EEc$Of^c$Og:bm;:QH[CCHc%CB>c2W_% -bnu([c-:lfc-:lfc-<VJHbIC_H[CCHc%CBBblNHDqop^FHd0ffHd0ffHd0gSP^@b0XNdi!K=$8X -c*W+MS>:M%c)chMH],kfXFkkPXS9sVK6tkfK6tkfK6tkf["E_=`KY^rK<3=MHiD:iMh0-]blGHT -eH!;YS,g7reb>U,ec20<ec20;eH)`OJ,~> -!<E/feH!;Qc2)be^!4guHN:b0blYk:XMrEbH\:V.qKi4Uk03t/K>iDd[`nfc`74mi!.Y~> -!<E/fc2bTKb5-Md]$8CoI/pk/ao]G2V8gXZ`dNR+b5-Md]&q-:We&$<b-oFm^;S:tXoNt~> -!<E/feH!;Qc2)be^!4guHN:b0blYk:XMrEbH\:V.qKi4Uk03t/K>iDd[`nfc`74mi!.Y~> -!<E/fblGG.`<+#lUrpX\[$7AfMgLu7`;udJJ]5%9!56=q!NZ9O~> -!<E/faoK/,`WF/oTut@Z[ZRSiNI@M@`W;dIJ]>+;!5?Co!NlEQ~> -!<E/fblGG.`<+#lUrpX\[$7AfMgLu7`;udJJ]5%9!56=q!NZ9O~> -!<E/fblGG.`Q,q$]p+.rK;=(;J]7E'!56=q!NZ9O~> -!<E/faoK/,`lH(&^6*tpKqX(;J]@K)!5?Co!NlEQ~> -!<E/fblGG.`Q,q$]p+.rK;=(;J]7E'!56=q!NZ9O~> -!<E/fblGG.`IZ!Z`ONke]u8.rX8mb~> -!<E/faoK/,`du-\`jj"g^;S.pXoNt~> -!<E/fblGG.`IZ!Z`ONke]u8.rX8mb~> -!!%S&JV/N+JV3$9!!%N~> -!!%S$JUrB'JUum5!!%N~> -!!%S&JV/N+JV3$9!!%N~> -!<E0!joD3.s+13$s+14<rro4uk2s>WJ,~> -!<E0!joD*+s+13$s+14<rro+rk2s5TJ,~> -!<E0!joD3.s+13$s+14<rro4uk2s>WJ,~> -!<E0!joD3.s+13$s+14=rs"+Os5rIW!.Y~> -!<E0!joD*+s+13$s+14=rs"%Js5rIT!.Y~> -!<E0!joD3.s+13$s+14=rs"+Os5rIW!.Y~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[OeV)KQ -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IF!!:jS!:8G>!<1^P!!:jS!;tRN!:/A:!9Mr7!:SY;!!_-W!8?-,!.ijTg4\2[ -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[OeV)KQ -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[OeV)KQ -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!;bFL!:8G>!<1^P!;Y@K!:8G>!<1^P!9W#8!:SYA!;bFL!<:dQ!.ijTg4\2[ -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[OeV)KQ -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[OeX+hd -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*o%O*Drn@APs4[DO -rn@;Ns4[JQ"53_TgAM$OgA_-Sg&M-DgA_0OgA_-Tg&M-,r;clOr;clOrr</T!!(aO!.ijTg6^On -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[OeX+hd -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^o>%R+;4h"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)TDrW)oN -rrE)Qrr<;X!!(a,!!(aL!<:dQ!!(aP!!:jS!;"qE!<(XO!"[c`!8?-,!8?-,!8?-,!8@8Ls4[JQ -J_G\/R+hRk"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^o>%R+;4h"f21\k.LbF~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eUc89ec17* -V#TT>]`<Q~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA1d\g&M-,!!(a,!!(^Q!8?-,!:\_A!<:dQ!<:dQ -!;tRN!!(aP!<:dQ!;tRN!<:dQ!;"qB!#!uc!87DQg=cN,g=cN,g=cN,gAV*PgAV)'g4@tCgAc^- -U&X9;\c@6~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eUc89ec17* -V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"J^p+;s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo@j3Ern@AP$JGI[g&M-,g&M-,qZ-*=rVurPqZ-ZMqu?fP -!!*#PrrDuNrrE)QrrDZErrE#Orr<>Y!!(a,!!(a,qZ$]O!!)rNrW%N'J_HIEs+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"J^p+;s+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"J^p.<s+:KN -s5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQn(RdArn@AP%,([]g&M-,g&M-,!!)KArrE&Prr<,S!!)rN -rrE)Qrr<,S!!*#PrrDuNrrE)QrrDZErrE#Orr<D[!!(a,!!(a,!!)rNrrDrMrW%N'J_HLFs+(?I -s5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"J^p.<s+:KN -s5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eUc8<ec17*V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)WErrE&P -rr<Va!!(a,!!(^Q!8?-,!87DQrn@APs4[JQ#20%Wg=cN,o@j3ErS%8O#MK.Xg=cN,gAV*PgA_-S -g&M-PgA_0QgA_/(g4@tFgAc^-U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eUc8<ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^o>%Qdu+g"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*n_3m@rn@;Nrn@>O -!8@AOrS%2Ms4[JQs4[JQo@j3ErS%8O!nmVSrn@APs4[DOs4[JQrS%2MJ_G\/QeMIj"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^o>%Qdu+g"f21\k.LbF~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joV7Vs+/mTg4@t/g@EttJH_bIk2s5TJ,~> -!<E0!joV@Ys+/^OeUc8%eah8jK*A(Nk2s>WJ,~> -!<E0!joD3.eUc8%eUc9=eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g4@uGg'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eUc9=eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eUl?>K*Kl%s5rIW!.Y~> -!<E0!joD*+g4@t/g4J&HJHji%s5rIT!.Y~> -!<E0!joD3.eUc8%eUl?>K*Kl%s5rIW!.Y~> -!<E0!joV@/eU_IdC4U,TCAucPK*VG,V#TT>]`<Q~> -!<E0!joV71g4=g+JUrB-Jc=BlJHu5/U&X9;\c@6~> -!<E0!joV@/eU`X0Mh-eAMuM8qK*VG,V#TT>]`<Q~> -!<E0!joV@/eU_IdC4U,UC&m]$ec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!joV71g4=g+JUrB.JH5`LgAca#_>o/`_Z0W?g7eQ/k.1PC~> -!<E0!joV@/eU`X0Mh-eBMZEeVec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDW=_s+C0]s8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc!:bs+1$`s8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDW=_s+C0]s8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc!:cs+,au_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KD`F_s8R`K^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc*Cbs8RZI_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKD`F_s8R`K^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMX8o@#!;rqs!.h5&XI60imf(c:KD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g&Tk*!;tRL!.ijTg6p[ps8LaPJc*CbrrUo*Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:joFQB!;u!X!.j9`k*bB3s8LRKKD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#qZ-Srq>gPsq>gMrrW)hsquHbuquHAjquHYrq>^MsrW)r!rVur"q>^MsquH#` -!!)u!!!*#"!!)u!!!%SOJZP<As6fm:s+C9`s8W,Ls+C6_s8N;RV#TT>]`<Q~> -!<E0!joqI4g4=h/qZ-TKq>gQLq>gNKrW)iLquHcNquHBCquHZKq>^NLrW)rOrVurPq>^NLquH$9 -!!)uO!!*#P!!)uO!!%T(J_HRHs8W)Ps+1-cs8W,Qs+1*bs8N;WU&X9;\c@6~> -!<E0!joqR2eVf@JqZ-TWq>gQXq>gNWrW)iXquHcZquHBOquHZWq>^NXrW)r[rVur\q>^NXquH$E -!!)u[!!*#\!!)u[!!%T4J``E`s8W)Ks+C9`s8W,Ls+C6_s8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!#lq'.!3E7%XK2F"X8i7rX8i7tX8i7iX8i7rX8i8!X9/I( -X8r1"!!*#"!!)u!!!*#"!!)5a!!)u!!!*#"!!)u!!!%SOJZP<As6fm:s+C9`s8W)Ks+C9`s8N;R -V#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO#lr]5!8?-,g=cQ)g&M-Kg&M-Mg&M-Bg&M-Kg&M-Og&h?/ -g&V')!!*#P!!)uO!!*#P!!)6:!!)uO!!*#P!!)uO!!%T(J_HRHs8W)Ps+1-cs8W)Ps+1-cs8N;W -U&X9;\c@6~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[#ls,M!9WDDk2l[Ajo>DWjo>DYjo>DNjo>DWjo>D[joYVG -joG>A!!*#\!!)u[!!*#\!!)6F!!)u[!!*#\!!)u[!!%T4J``E`s8W)Ks+C9`s8W)Ks+C9`s8N;R -V#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!#lq'.!3E7%XK2F#X9&C'!;`bs!;iht!:[&i!;W\r!<&u$ -!3E7%r2]kuri?)"rN#u!ri?)"poOJqo;holrN#u!ri?)"rN#u!JZOF(R]QPWrmh%$rk8@3rRLq# -rOr72#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO#lr]5!8?-,g=cQ*g&_9.!;bCL!;kIM!:\\B!;Y=K!<(UR -!8?-,r7V,Nrn7>PrRq5Orn7>PptG`Jo@a0ErRq5Orn7>PrRq5OJ_G\/RbIfArn@C'rke^8rS%:& -rPJU7#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[#ls,M!9WDDk2l[BjoPPF!;bgX!;kmY!:]+N!;YaW!<)$^ -!9WDDr8mtZroO1\rT4([roO1\pu_SVoB$#QrT4([roO1\rT4([J`_OGRcaYMrmh%$rk8@3rRLq# -rOr72#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;`bu!3?1sX8i7tX8i7iX8i7rX9/I(X8r1"!!*#" -!!)u!!s#F(!;rnu!;NYq!:m5i!<&u!!<&u!!.h5&XI?6jmf(c:KDrRas8:FIKDrRars%#Ls5rIW -!.Y~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;bCN!87GLg&M-Mg&M-Bg&M-Kg&h?/g&V')!!*#P -!!)uO!s%'/!;tON!;P:J!:nkB!<(UO!<(UO!.ijTg7$aqs8LaPJc<Ods8:UNJc<Odrs%2Ns5rIT -!.Y~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;bgZ!9O:Xjo>DYjo>DNjo>DWjoYVGjoG>A!!*#\ -!!)u[!s%KG!;tsZ!;P^V!:o:N!<)$[!<)$[!.j9`k*kH4s8LRKKDrRas8:FIKDrRars%#Ls5rIW -!.Y~> -!<E0!jp.^4eS8j#X8r1"!!*#"r;c\q!!)nt!!*#"!!)nt!!)nt!!)Mi!!)hrr;cbs!!*#"!!)u! -r;cbs!!)5a!!)u!!!*#"!!)u!!!%SOJZP<As6fm:s+C?bs8VuHs+C<as8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V')!!*#Pr;c]J!!)oM!!*#P!!)oM!!)oM!!)NB!!)iKr;ccL!!*#P!!)uO -r;ccL!!)6:!!)uO!!*#P!!)uO!!%T(J_HRHs8W)Ps+13es8VuMs+10ds8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG>A!!*#\r;c]V!!)oY!!*#\!!)oY!!)oY!!)NN!!)iWr;ccX!!*#\!!)u[ -r;ccX!!)6F!!)u[!!*#\!!)u[!!%T4J``E`s8W)Ks+C?bs8VuHs+C<as8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;ikq!;iht!;iht!<&u!!;3Dn!<&u!!<0&%!3E7% -qlBi!X8r1"!s#F(!;rnu!<&u!!:?if!<&u!!<0&"!<&u!!.h5&XI?6jmf(c:KE&Xbs8(:GKE&Xb -rs%#Ls5rIW!.Y~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;kLJ!;kIM!;kIM!<(UO!;5%G!<(UO!<1[S!8?-, -qq;)Og&V')!s%'/!;tON!<(UO!:AJ?!<(UO!<1[P!<(UO!.ijTg7$aqs8LaPJcEUes8(ILJcEUe -rs%2Ns5rIT!.Y~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;kpV!;kmY!;kmY!<)$[!;5IS!<)$[!<2*_!9WDD -qrRq[joG>A!s%KG!;tsZ!<)$[!:AnK!<)$[!<2*\!<)$[!.j9`k*kH4s8LRKKE&Xbs8(:GKE&Xb -rs%#Ls5rIW!.Y~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)u!!W];%r2]kurN#u!ri?)"rN#u!mAp9frN#u!ri?)"rN#u!JZOF(R]QPWrmh%$!knX6 -q:5Lts1SI4#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)uO!W^pSr7V,NrRq5Orn7>PrRq5OmFhO?rRq5Orn7>PrRq5OJ_G\/RbIfArn@C'!lG!; -q:bk"s2+g9#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)u[!W_?_r8mtZrT4([roO1\rT4([mH+BKrT4([roO1\rT4([J`_OGRcaYMrmh%$!knX6 -q:5Lts1SI4#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)qu!!)nt!!)u!!!*#"!!)u!!!)u!rrDYl!!)u!!!*#"!!)u!!!%SOJZP<As6fm:s+:Bd -s8VlEs+:Wks8UWFs5rIW!.Y~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)rN!!)oM!!)uO!!*#P!!)uO!!)uOrrDZE!!)uO!!*#P!!)uO!!%T(J_HRHs8W)Ps+(6g -s8VlJs+(Kns8UfHs5rIT!.Y~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)rZ!!)oY!!)u[!!*#\!!)u[!!)u[rrDZQ!!)u[!!*#\!!)u[!!%T4J``E`s8W)Ks+:Bd -s8VlEs+:Wks8UWFs5rIW!.Y~> -!<E0!joqR2eS8j#qZ-Srq>gMrquHbur;Zi!r;cl!quHbuq#L/jq#LGrq>gGp!!)quq>^Msq#LAp -rrDVkr;cbsr;_DMJZP9@s6fm:s+C@Oon*Ras8UWFs5rIW!.Y~> -!<E0!joqI4g4=h/qZ-TKq>gNKquHcNr;ZiOr;clOquHcNq#L0Cq#LHKq>gHI!!)rNq>^NLq#LBI -rrDWDr;ccLr;_E&J_HOGs8W)Ps+14MommFds8UfHs5rIT!.Y~> -!<E0!joqR2eVf@JqZ-TWq>gNWquHcZr;Zi[r;cl[quHcZq#L0Oq#LHWq>gHU!!)rZq>^NXq#LBU -rrDWPr;ccXr;_E2J``B_s8W)Ks+C@Oon*Ras8UWFs5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:K)krCKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJH5`AJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKK)krCKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KCJmFeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJai[Dg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKCJmFeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KCf*LKE(u%V#TT>]`<Q~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJb/mJJcGc(U&X9;\c@6~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKCf*LKE(u%V#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXGX(Z!.h5(XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g5=Sa!.ijVgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k)/:$!.j9bk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!joqR2eS8j#quHVqrW)ktqZ-Vsq>^MsquEau!!':*rW)/`!W];%r2fnuJZOL*s6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!joqI4g4=h/quHWJrW)lMqZ-WLq>^NLquEbN!!':XrW)09!W^pSr7_/NJ_Gb1s8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!joqR2eVf@JquHWVrW)lYqZ-WXq>^NXquEbZ!!':drW)0E!W_?_r9""ZJ`_UIs8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7pX8i7tX8i8!X8i8"X8i8!X8i8"X8i7!X8i7(X8i7aX9&C'!<&u#!3?0O -XFmVSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Ig&M-Mg&M-Og&M-Pg&M-Og&M-Pg&M,Og&M,Vg&M-:g&_9.!<(UQ!87F( -g4S,Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DUjo>DYjo>D[jo>D\jo>D[jo>D\jo>C[jo>Cbjo>DFjoPPF!<)$]!9O94 -k(Dgrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&"!<&u!!<0&"!;NYq!48j*!<'#!!<9/#!<'"t -!<0)"!!',"!;rqr!;3Gn!<9/#!;rqt!<0)"!!',"!;`bs!<'"u!<9/"!;*>o!3?1tX8i6OXFmVS -mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[P!<(UO!<1[P!;P:J!4:JX!<(XO!<:dQ!<(XM -!<1^P!!(aP!;tRK!;5(G!<:dQ!;tRM!<1^P!!(aP!;bCL!<(XN!<:dP!;+tH!87GMg&M,(g4S,Z -s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*\!<)$[!<2*\!;P^V!4:nd!<)'[!<;3]!<)'Y -!<2-\!!)0\!;u!W!;5LS!<;3]!;u!Y!<2-\!!)0\!;bgX!<)'Z!<;3\!;,CT!9O:Yjo>C4k(Dgr -s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&%!3E7%r2]kupoOJqZ`F-,q5ai%X8o?'!3E7% -rN#u!riH,"ri?)"ri?)"rN#u!oW/2rX8o?'!<0&"!<0&"!<0)"!<0&"!;iht!;rnu!<&u!!;*Aj -!;rnu!.h5(XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[S!8?-,r7V,NptG`JZe>BZq:Z)Sg&Tj\!8?-, -rRq5Orn@APrn7>Prn7>PrRq5Oo\'HKg&Tj\!<1[P!<1[P!<1^P!<1[P!;kIM!;tON!<(UO!;,"C -!;tON!.ijVgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*_!9WDDr8mtZpu_SVZfV5fq;qq_joFQ+!9WDD -rT4([roX4\roO1\roO1\rT4([o]?;WjoFQ+!<2*\!<2*\!<2-\!<2*\!;kmY!;tsZ!<)$[!;,FO -!;tsZ!.j9bk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i7rX8i8"X8i8!XS`(sXSi.sX8i7!X8i7rXT&:oX8i8"X8i8!X8i8"X8i7h -XT&:tX8i7uX9/I(X8r1"!!)qu!!)qu!!)u!!!)Vl!W];%qlBbtJZOL*s6fm:s+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Kg&M-Pg&M-OgACsLgAM$Lg&M,Og&M-KgA_0Hg&M-Pg&M-Og&M-Pg&M-A -gA_0Mg&M-Ng&h?/g&V')!!)rN!!)rN!!)uO!!)WE!W^pSqq;#MJ_Gb1s8W)Ps+14Mp=fOts8N;W -U&X9;\c@6~> -!<E0!johL1eVf@bjo>DWjo>D\jo>D[k555Xk5>;Xjo>C[jo>DWk5PGTjo>D\jo>D[jo>D\jo>DM -k5PGYjo>DZjoYVGjoG>A!!)rZ!!)rZ!!)u[!!)WQ!W_?_qrRkYJ`_UIs8W)Ks+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i8"XS`(sX8i8!X8i8"X9/I(X8r1"!!)u!!!'.&!!)hr!!)hrquH_t -!!)u!!!)u!r;cGj!!)ksq>gPs!!)qu!!)qu!!)nt!s#F(!;!;i!;rnu!.h5(XT._fec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Og&M-PgACsLg&M-Og&M-Pg&h?/g&V')!!)uO!!'.T!!)iK!!)iKquH`M -!!)uO!!)uOr;cHC!!)lLq>gQL!!)rN!!)rN!!)oM!s%'/!;"qB!;tON!.ijVgAh3PgAca(s7Y1H -JcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>D[jo>D\k555Xjo>D[jo>D\joYVGjoG>A!!)u[!!'.`!!)iW!!)iWquH`Y -!!)u[!!)u[r;cHO!!)lXq>gQX!!)rZ!!)rZ!!)oY!s%KG!;#@N!;tsZ!.j9bk5YJ\ec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!'.&!!)hr!!)ks -!!)u!!!*#"!!)u!!!)hr!!)Ym!!)ks!!)hr!!)qu!!)qu!!)nt!s#F(!:m2m!3?1tX8i6OXFmVS -mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!'.T!!)iK!!)lL -!!)uO!!*#P!!)uO!!)iK!!)ZF!!)lL!!)iK!!)rN!!)rN!!)oM!s%'/!:nhF!87GMg&M,(g4S,Z -s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!'.`!!)iW!!)lX -!!)u[!!*#\!!)u[!!)iW!!)ZR!!)lX!!)iW!!)rZ!!)rZ!!)oY!s%KG!:o7R!9O:Yjo>C4k(Dgr -s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)u!rrBC,!!*#" -!!)u!!!)ks!!*#"rrE&"!!)u!!!*#"!!)u!!!)Ym!!)hr!!)u!"9>O)!!*#"!!)nt!!)ksrrDSj -!W];%qlBbtJZOL*s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)uOrrBCZ!!*#P -!!)uO!!)lL!!*#PrrE&P!!)uO!!*#P!!)uO!!)ZF!!)iK!!)uO"9@00!!*#P!!)oM!!)lLrrDTC -!W^pSqq;#MJ_Gb1s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)u[rrBCf!!*#\ -!!)u[!!)lX!!*#\rrE&\!!)u[!!*#\!!)u[!!)ZR!!)iW!!)u["9@TH!!*#\!!)oY!!)lXrrDTO -!W_?_qrRkYJ`_UIs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!joqR2eS8j#q#CDrr;Zi!r;Zi!qZ-Vsq>^Msq#LAprrB@+rW)nur;c_rrW!&%!!',"!<9/" -!<9.u!;*Ak!;`eq!<0&#!3H/"r2ferqlBbtnZ2clX8r4#quD;LKrk=Brmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!joqI4g4=h/q#CEKr;ZiOr;ZiOqZ-WLq>^NLq#LBIrrB@YrW)oNr;c`KrW!&S!!(aP!<:dP -!<:dN!;,"D!;bFJ!<1[Q!8@DPr7_&Kqq;#Mn_+$Eg&V**quD<%L"cS,rn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!joqR2eVf@Jq#CEWr;Zi[r;Zi[qZ-WXq>^NXq#LBUrrB@erW)oZr;c`WrW!&_!!)0\!<;3\ -!<;3Z!;,FP!;bjV!<2*]!9X7\r9!nWqrRkYn`BlQjoGABquD<1L$&F8rmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johL1eS8iMXLYD4!:Hog!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g:>o;!:JP@!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k.0US!:JtL!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXLYD4!:Hog!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g:>o;!:JP@!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k.0US!:JtL!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXLbM3!:m5i!.h5&XQchdmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g:H#:!:nkB!.ijTg?I>ks8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k.9^R!:o:N!.j9`k3;%.s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSMnsXSW"qXSi.uXSr5!XSr3`X8i7EX8i7rX8i6OXF[J0XT._fec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!jp%O5g4=h/gA1dLgA:mJgAM$NgAV*OgAV)9g&M,sg&M-Kg&M,(g4@u7gAh3PgAca(s7Y1H -JcG`Sg7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5#&Xk5,/Vk5>;Zk5GA[k5G@Ejo>D*jo>DWjo>C4k(2[Ok5YJ\ec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!)u!!!*#"rrE&"rrA4`!!(6E!!)hr!!%SOJZR_0 -s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!)uO!!*#PrrE&PrrA59!!(6s!!)iK!!%T(J_Ju7 -s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!)u[!!*#\rrE&\rrA5E!!(7*!!)iW!!%T4J`bhO -s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!s#F(!;ii%!3E7%X8o@$!<'#!!33."!!95%!<0(u!<'"s -!;iks!<0)!!<0)!!<9/!!<0)!!<9/"!;<Ml!<'"s!.h5&XPp8\mf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!s%'/!;kIS!8?-,g&Tk+!<(XO!34cP!!:jS!<1^N!<(XL -!;kLL!<1^O!<1^O!<:dO!<1^O!<:dP!;>.E!<(XL!.ijTg>Uccs8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!s%KG!;km_!9WDDjoFQC!<)'[!352\!!;9_!<2-Z!<)'X -!;kpX!<2-[!<2-[!<;3[!<2-[!<;3\!;>RQ!<)'X!.j9`k2GJ&s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8juX9/I(X8r4#!!)u!!s#F(!;ii(!3E7%X8o=%X8r4#rrB+$!!*#"rrE&"!!)u! -!!)u!!!)hr!!*#"!!*#"!!)qu!s#F(!<&u!!<0&"!<&u!!;*>m!;W\r!.h5&XPU&Ymf(c:KE(uF -ec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&h?/g&V**!!)uO!s%'/!;kIV!8?-,g&Th,g&V**rrB+R!!*#PrrE&P!!)uO -!!)uO!!)iK!!*#P!!*#P!!)rN!s%'/!<(UO!<1[P!<(UO!;+tF!;Y=K!.ijTg>:Q`s8LaPJcGcD -gAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjoYVGjoGAB!!)u[!s%KG!;kmb!9WDDjoFNDjoGABrrB+^!!*#\rrE&\!!)u[ -!!)u[!!)iW!!*#\!!*#\!!)rZ!s%KG!<)$[!<2*\!<)$[!;,CR!;YaW!.j9`k2,8#s8LRKKE(uF -ec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juXSi.tX8i8"X8i8"X8i7tX9em.X8o?'!3E7%VQ9atr2]kuq5aPrrN#u!qQ'Ys -r2^2)XK2E'X8o?'!;`bs!<0&"!<&u!!;*>m!;W\r!.h5&XPU&Ymf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hSgAM$Mg&M-Pg&M-Pg&M-Mg'Ic5g&Tj\!8?-,VV2"Mr7V,Nq:YfKrRq5OqUtoL -r7VGWg=cP\g&Tj\!;bCL!<1[P!<(UO!;+tF!;Y=K!.ijTg>:Q`s8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@bk5>;Yjo>D\jo>D\jo>DYjp;%MjoFQ+!9WDDVWIjYr8mtZq;qYWrT4([qW7bX -r8n:ck2l[+joFQ+!;bgX!<2*\!<)$[!;,CR!;YaW!.j9`k2,8#s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8juX9/I(X8r4#r;cet!!)nt#lq'.!3E7%XK2E!X8i7uX8i8!XS`(sX8i7sXSMqs -X9J[+X8o?'!<0(t!<&u$!3E7%o;holq5aPrJZOF(hQ6bFrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&h?/g&V**r;cfM!!)oM#lr]5!8?-,g=cP(g&M-Ng&M-OgACsLg&M-LgA1gL -g'.Q2g&Tj\!<1^M!<(UR!8?-,o@a0Eq:YfKJ_G\/hV/#0rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjoYVGjoGABr;cfY!!)oY#ls,M!9WDDk2lZ@jo>DZjo>D[k555Xjo>DXk5#)X -jothJjoFQ+!<2-Y!<)$^!9WDDoB$#Qq;qYWJ`_OGhWFk<rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7sX8i8"X8i8"X8i7tX9/I(X8r1"!!&mt!!)qu!!*#"!!)u!!!)u!!!)ks -!!)eq"9>M'X8r7$!!)u!!!)u!!s#F(!;!8l!;W\r!.h5&XPU&Ymf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Pg&M-Pg&M-Mg&h?/g&V')!!&nM!!)rN!!*#P!!)uO!!)uO!!)lL -!!)fJ"9@-Ug&V-+!!)uO!!)uO!s%'/!;"nE!;Y=K!.ijTg>:Q`s8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@bjo>DXjo>D\jo>D\jo>DYjoYVGjoG>A!!&nY!!)rZ!!*#\!!)u[!!)u[!!)lX -!!)fV"9@QajoGDC!!)u[!!)u[!s%KG!;#=Q!;YaW!.j9`k2,8#s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8juX8i7sX8i8!X8i8"X8i8!X8i8"X8i7uX8i8!XT&:$X8i8"XT&;"X8i8"XT&;! -X8i8"X8i8!X8i8!X8i8"XT&8%X8i8"X8i8"XT&:uXT&:kX8i8"X8i8!X8i8"X8i6OXF[J4XT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Lg&M-Og&M-Pg&M-Og&M-Pg&M-Ng&M-OgA_/Rg&M-PgA_0Pg&M-PgA_0O -g&M-Pg&M-Og&M-Og&M-PgA_-Sg&M-Pg&M-PgA_0NgA_0Dg&M-Pg&M-Og&M-Pg&M,(g4@u;gAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>DXjo>D[jo>D\jo>D[jo>D\jo>DZjo>D[k5PF^jo>D\k5PG\jo>D\k5PG[ -jo>D\jo>D[jo>D[jo>D\k5PD_jo>D\jo>D\k5PGZk5PGPjo>D\jo>D[jo>D\jo>C4k(2[Sk5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSi.tXSr4uX8i8"XSi.uXSr5!XSr5!XT&:#XSr2#X8r4#rW!#$!!)u!rW)hs -r;cetrr<,%!!)u!rW!#$!!)qu!!)PjrW)hsrW%MNJZRh3s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp%O5g4=h/gAM$MgAV*Ng&M-PgAM$NgAV*OgAV*OgA_/QgAV'Qg&V**rW!#R!!)uOrW)iL -r;cfMrr<,S!!)uOrW!#R!!)rN!!)QCrW)iLrW%N'J_K):s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp%X3eVf@Jk5>;Yk5GAZjo>D\k5>;Zk5GA[k5GA[k5PF]k5G>]joGABrW!#^!!)u[rW)iX -r;cfYrr<,_!!)u[rW!#^!!)rZ!!)QOrW)iXrW%N3J`bqRs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXSf."!7._H!.h5&XMh4?mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+gAKY)!70@!!.ijTg;M_Fs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k5=?A!70d-!.j9`k/?E^s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXSo4#!7%YG!.h5&XMh4?mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+gAT_*!7'9u!.ijTg;M_Fs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k5FEB!7'^,!.j9`k/?E^s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXSi.FXSi.tXS;dHXF[J$XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+gAM#tgAM$Mg@tZ!g4@u+gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k5>;+k5>;Yk4eq-k(2[Ck5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSMqrXSi-MXS&Xp!9^H_!;iks!.h5&XNmpImf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!jp%O5g4=h/gA1gKgAM#&g@a/"!9`)8!;kLL!.ijTg<SFPs8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!jp%X3eVf@Jk5#)Wk5>:2k4Rj:!9`MD!;kpX!.j9`k0E,hs8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!jq+?=eS8j#X8o?'!3E7%XK2F#X8i6OXS/^q!9L9^!;W\r!.h5&XNmpImf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!jq+6?g4=h/g&Tj\!8?-,g=cQ*g&M,(g@j5#!9Mo7!;Y=K!.ijTg<SFPs8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!jq+?=eVf@JjoFQ+!9WDDk2l[Bjo>C4k4[p;!9N>C!;YaW!.j9`k0E,hs8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!jq"9<eS8j#X8o?'!3E7%X8r.!!!)u!rrACerVuu#!<0(u!<0)"!!',"!<'"s!<'#!!<9/# -!<'"t!;`bs!;W\r!;`er!<'#!!<9/#!.h5&XQ$>]mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jq"0>g4=h/g&Tj\!8?-,g&V$(!!)uOrrAD>rVuuQ!<1^N!<1^P!!(aP!<(XL!<(XO!<:dQ -!<(XM!;bCL!;Y=K!;bFK!<(XO!<:dQ!.ijTg>^ids8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jq"9<eVf@JjoFQ+!9WDDjoG;@!!)u[rrADJrVuu]!<2-Z!<2-\!!)0\!<)'X!<)'[!<;3] -!<)'Y!;bgX!;YaW!;bjW!<)'[!<;3]!.j9`k2PP's8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i8!X8i7tX8i8!XT&9fX8i8"XT&;#X8i8!X8i8"XT&;"X8i8!X8i7rX9\g- -!3E7%XK2F#X8i7tX8i7rX8i7tX8i8"X8i8!X9AU*!3E7%JZOF(j/i:Krmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M-OgA_/?g&M-PgA_0Qg&M-Og&M-PgA_0Pg&M-Og&M-Kg'@]4 -!8?-,g=cQ*g&M-Mg&M-Kg&M-Mg&M-Pg&M-Og'%K1!8?-,J_G\/j4aP5rn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!johL1eVf@`jo>D[jo>DYjo>D[k5PFKjo>D\k5PG]jo>D[jo>D\k5PG\jo>D[jo>DWjp1tL -!9WDDk2l[Bjo>DYjo>DWjo>DYjo>D\jo>D[jokbI!9WDDJ`_OGj6$CArmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX8i7uX9&C'!;ii"!3E7%rN#u!rN#u!q5jSrr2]kuqlBbt -r2]kuq5aPrr2]kur2]kuriH,"JZOF(hlQkGrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g&M-Ng&_9.!;kIP!8?-,rRq5OrRq5Oq:biKr7V,Nqq;#M -r7V,Nq:YfKr7V,Nr7V,Nrn@APJ_G\/hqJ,1rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjo>DZjoPPF!;km\!9WDDrT4([rT4([q<%\Wr8mtZqrRkY -r8mtZq;qYWr8mtZr8mtZroX4\J`_OGhrat=rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX8i7sX8i7tX9/I(X8r4#!!)u!!!)hr!!)nt!!)nt!!)qu -!!)hr!!)quq>gMr!!%SOJZR_0s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g&M-Lg&M-Mg&h?/g&V**!!)uO!!)iK!!)oM!!)oM!!)rN -!!)iK!!)rNq>gNK!!%T(J_Ju7s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjo>DXjo>DYjoYVGjoGAB!!)u[!!)iW!!)oY!!)oY!!)rZ -!!)iW!!)rZq>gNW!!%T4J`bhOs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX8i7sX8i7tX9/I(X8r4#!!)u!!!)hr!!)nt!!)nt!!)qu -!!)hr!!)qu!!)eq!!%SOJZR_0s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g&M-Lg&M-Mg&h?/g&V**!!)uO!!)iK!!)oM!!)oM!!)rN -!!)iK!!)rN!!)fJ!!%T(J_Ju7s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjo>DXjo>DYjoYVGjoGAB!!)u[!!)iW!!)oY!!)oY!!)rZ -!!)iW!!)rZ!!)fV!!%T4J`bhOs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i7uX8i8!X8i7uXT&9fX8i8!X9/I(X8r4#!!*#"!!)u!!!)u!!!*#"!!)u! -!!)ks!!)u!!!)nt!!)hr!!)nt!!)u!!!*#"!!%SOJZR_0s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Ng&M-Og&M-NgA_/?g&M-Og&h?/g&V**!!*#P!!)uO!!)uO!!*#P!!)uO -!!)lL!!)uO!!)oM!!)iK!!)oM!!)uO!!*#P!!%T(J_Ju7s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>DZjo>D[jo>DZk5PFKjo>D[joYVGjoGAB!!*#\!!)u[!!)u[!!*#\!!)u[ -!!)lX!!)u[!!)oY!!)iW!!)oY!!)u[!!*#\!!%T4J`bhOs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juXS`(sXSi.rXT&9eXSi.tXSi.uXSr5"XSr4uXSr4uXSi.rXSi.sXS`(sXS`(r -XSi.uXSi-MXF[J2XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSgACsLgAM$KgA_/>gAM$MgAM$NgAV*PgAV*NgAV*NgAM$KgAM$LgACsLgACsK -gAM$NgAM#&g4@u9gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bk555Xk5>;Wk5PFJk5>;Yk5>;Zk5GA\k5GAZk5GAZk5>;Wk5>;Xk555Xk555W -k5>;Zk5>:2k(2[Qk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMX8o@#!;rqs!;rqs!;rqs!:m2k!;`eq!:m2k!;NYq!:m2k!;`ep!;*Ak!;rqs -!;!;j!:m2k!;`eq!<'"r!;rqt!;`es!;rqs!.h68XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g&Tk*!;tRL!;tRL!;tRL!:nhD!;bFJ!:nhD!;P:J!:nhD!;bFI!;,"D!;tRL -!;"qC!:nhD!;bFJ!<(XK!;tRM!;bFL!;tRL!.ikfgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:joFQB!;u!X!;u!X!;u!X!:o7P!;bjV!:o7P!;P^V!:o7P!;bjU!;,FP!;u!X -!;#@O!:o7P!;bjV!<)'W!;u!Y!;bjX!;u!X!.j:rk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSMnsXSr5!XSr2"XSMnsXSr5"XSr5"XSMqjXSMqrXSr2#X8p>C!!)u!!!*#" -!!)u!!!*#"!!)u!!!*#"!!)u!!!)YmrrDqt!!)u!!!)YmrrDkr!W];%o;qrlqQ'YsnZ2]jrN#u! -ri?)"rN#u!orJ,nrN#u!oW8&mqlBbtrN#u!ri?)"rN#u!rN#u!poFMsX8r4#!!)u!!!%SOl)apQ -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp%O5g4=h/gA1dLgAV*OgAV'PgA1dLgAV*PgAV*PgA1gCgA1gKgAV'Qg&T4J!!)uO!!*#P -!!)uO!!*#P!!)uO!!*#P!!)uO!!)ZFrrDrM!!)uO!!)ZFrrDlK!W^pSo@j3EqUtoLn_*sCrRq5O -rn7>PrRq5Op"BBGrRq5Oo\0<Fqq;#MrRq5Orn7>PrRq5OrRq5Opt>cLg&V**!!)uO!!%T(l.Z1; -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp%X3eVf@Jk5#&Xk5GA[k5G>\k5#&Xk5GA\k5GA\k5#)Ok5#)Wk5G>]joEKb!!)u[!!*#\ -!!)u[!!*#\!!)u[!!*#\!!)u[!!)ZRrrDrY!!)u[!!)ZRrrDlW!W_?_oB-&QqW7bXn`BfOrT4([ -roO1\rT4([p#Z5SrT4([o]H/RqrRkYrT4([roO1\rT4([rT4([puVVXjoGAB!!)u[!!%T4l/r$G -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!"9>O)!!*#"!!*#""ota+!3E7%p8eQ#XK2E' -X8o?'!<0)"!6D5A!<&u!!<0&"!<&u!!<0&"!<&u!!<0&"!<&u!!;3Dp!3?1tX8i8!X8i7nX9&C' -!;W\t!3?1mX9&C'!;`bs!:6ce!;W\r!;3Dn!<&u!!;3Dp!3?1tX8i8!X8i7rX8i8"X8i7pX9&C' -!<&u!!<&u!!.h69XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO"9@00!!*#P!!*#P"p!B2!8?-,p=]fQg=cP\ -g&Tj\!<1^P!6Ejo!<(UO!<1[P!<(UO!<1[P!<(UO!<1[P!<(UO!;5%I!87GMg&M-Og&M-Gg&_9. -!;Y=M!87GFg&_9.!;bCL!:8D>!;Y=K!;5%G!<(UO!;5%I!87GMg&M-Og&M-Kg&M-Pg&M-Ig&_9. -!<(UO!<(UO!.ikggAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u["9@TH!!*#\!!*#\"p!fJ!9WDDp>uY]k2l[+ -joFQ+!<2-\!6F:&!<)$[!<2*\!<)$[!<2*\!<)$[!<2*\!<)$[!;5IU!9O:Yjo>D[jo>DSjoPPF -!;YaY!9O:RjoPPF!;bgX!:8hJ!;YaW!;5IS!<)$[!;5IU!9O:Yjo>D[jo>DWjo>D\jo>DUjoPPF -!<)$[!<)$[!.j:sk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!#QUs-!3?1%X8r7$"ota+!3E7%p8eQ#XK2E' -X8o?'!<&u!!;rqu!6VAC!<0&"!<&u!!<0&"!<&u!!;W\r!;!8l!;iht!<&u!!;!8l!;`c!!3E7% -nuMfkqQ'Ysm&U0eq5aProrJ,nrN#u!o;holqlBbtrN#u!qQ'YsrN#u!poFPtXK2EsX8i6OXQchd -mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO#QWT4!87G,g&V-+"p!B2!8?-,p=]fQg=cP\ -g&Tj\!<(UO!;tRN!6X!q!<1[P!<(UO!<1[P!<(UO!;Y=K!;"nE!;kIM!<(UO!;"nE!;bCO!8?-, -o%F'DqUtoLm+MF>q:YfKp"BBGrRq5Oo@a0Eqq;#MrRq5OqUtoLrRq5Opt>fMg=cQ%g&M,(g?I>k -s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[#QX#L!9O:DjoGDC"p!fJ!9WDDp>uY]k2l[+ -joFQ+!<)$[!;u!Z!6XF(!<2*\!<)$[!<2*\!<)$[!;YaW!;#=Q!;kmY!<)$[!;#=Q!;bg[!9WDD -o&]oPqW7bXm,e9Jq;qYWp#Z5SrT4([oB$#QqrRkYrT4([qW7bXrT4([puVYYk2l[=jo>C4k3;%. -s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX9/I(X8r1"!!*#"!!)u!!s#F(!<&u&!3?1%X8r.!!!)Mi!!)qu!!)bprrC6D -!!)u!!!)u!!!*#"!!)u!!!)ks!!)Sk!!)nt!!)u!!!)Vl!!)ks!s#F(!:m2k!;`eq!:m5j!;iks -!;*>m!<&u!!;!8l!;iht!<&u!!;`bs!<&u"!3H/"r2]u#XK2EtX8i6OXQZbcmf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&h?/g&V')!!*#P!!)uO!s%'/!<(UT!87G,g&V$(!!)NB!!)rN!!)cIrrC6r -!!)uO!!)uO!!*#P!!)uO!!)lL!!)TD!!)oM!!)uO!!)WE!!)lL!s%'/!:nhD!;bFJ!:nkC!;kLL -!;+tF!<(UO!;"nE!;kIM!<(UO!;bCL!<(UP!8@DPr7V5Qg=cQ&g&M,(g?@8js8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjoYVGjoG>A!!*#\!!)u[!s%KG!<)$`!9O:DjoG;@!!)NN!!)rZ!!)cUrrC7) -!!)u[!!)u[!!*#\!!)u[!!)lX!!)TP!!)oY!!)u[!!)WQ!!)lX!s%KG!:o7P!;bjV!:o:O!;kpX -!;,CR!<)$[!;#=Q!;kmY!<)$[!;bgX!<)$\!9X7\r8n(]k2l[>jo>C4k31t-s8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juXSi.sX8i8"X8i8!XSi.tX9AU*X8o=%qlBbtn>lTiqlK_r`2iq=r2]kurN#u! -ri?)"rN#u!qlBbtr2fbqr2]kuqlBbtrN#u!riGtsr2]kuqlBbtri?)"nuMfkp8e5on>lTiq5aPr -orJ,nrN#u!o;holqlBbtrN#u!qQ'YsrN-#!ri?)"ri?)"ri?)"qQ'YsJZS%9s6fm:s+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSgAM$Lg&M-Pg&M-OgAM$Mg'%K1g&Th,qq;#MnCdjBqqCuK`7b1kr7V,NrRq5O -rn7>PrRq5Oqq;#Mr7_#Jr7V,Nqq;#MrRq5Orn@5Lr7V,Nqq;#Mrn7>Po%F'Dp=]KHnCdjBq:YfK -p"BBGrRq5Oo@a0Eqq;#MrRq5OqUtoLrS%8Orn7>Prn7>Prn7>PqUtoLJ_K;@s8W)Ps+14Mp=fOt -s8N;WU&X9;\c@6~> -!<E0!johL1eVf@bk5>;Xjo>D\jo>D[k5>;YjokbIjoFNDqrRkYnE']Nqr[hW`9%%"r8mtZrT4([ -roO1\rT4([qrRkYr9!kVr8mtZqrRkYrT4([roX(Xr8mtZqrRkYroO1\o&]oPp>u>TnE']Nq;qYW -p#Z5SrT4([oB$#QqrRkYrT4([qW7bXrT=+[roO1\roO1\roO1\qW7bXJ`c.Xs8W)Ks+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX9/I(X8r.!!W];%r2]u#XK2F#X9AU*X8o=%qlBbtn>lTipT+>p`iK.?qlBbt -rN#u!ri?)"rN#u!r2]kun>lTiqlBbtrN#u!o;holqlBbtri?)"nuMfkp8e5on>lTiq5aProrJ,n -rN#u!o;holqlBbtrN#u!qlBbtr2]kurN#u!ri?)"ri?)"qlBbtJZS"8s6fm:s+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johC3g4=hSg&h?/g&V$(!W^pSr7V5Qg=cQ*g'%K1g&Th,qq;#MnCdjBpY#TI`nCCmqq;#M -rRq5Orn7>PrRq5Or7V,NnCdjBqq;#MrRq5Oo@a0Eqq;#Mrn7>Po%F'Dp=]KHnCdjBq:YfKp"BBG -rRq5Oo@a0Eqq;#MrRq5Oqq;#Mr7V,NrRq5Orn7>Prn7>Pqq;#MJ_K8?s8W)Ps+14Mp=fOts8N;W -U&X9;\c@6~> -!<E0!johL1eVf@bjoYVGjoG;@!W_?_r8n(]k2l[BjokbIjoFNDqrRkYnE']NpZ;GU`o[7$qrRkY -rT4([roO1\rT4([r8mtZnE']NqrRkYrT4([oB$#QqrRkYroO1\o&]oPp>u>TnE']Nq;qYWp#Z5S -rT4([oB$#QqrRkYrT4([qrRkYr8mtZrT4([roO1\roO1\qrRkYJ`c+Ws8W)Ks+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!;rnu!<&u$!3E7%riH,"qlBbtn>lTir2]kurN#u!a/f7@ -qQ'YsrN#u!ri?)"rN#u!rN#u!n#QKhqlBbtrN#u!o;holqlKYpo;holp8e5on>lTiq5aProrJ,n -rN#u!o;holqlBbtrN#u!qlBbtr2]kurN#u!riGtsrN#u!JZRt7s6fm:s+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!;tON!<(UR!8?-,rn@APqq;#MnCdjBr7V,NrRq5Oa4^Ln -qUtoLrRq5Orn7>PrRq5OrRq5On(IaAqq;#MrRq5Oo@a0EqqCoIo@a0Ep=]KHnCdjBq:YfKp"BBG -rRq5Oo@a0Eqq;#MrRq5Oqq;#Mr7V,NrRq5Orn@5LrRq5OJ_K5>s8W)Ps+14Mp=fOts8N;WU&X9; -\c@6~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!;tsZ!<)$^!9WDDroX4\qrRkYnE']Nr8mtZrT4([a6!@% -qW7bXrT4([roO1\rT4([rT4([n)aTMqrRkYrT4([oB$#Qqr[bUoB$#Qp>u>TnE']Nq;qYWp#Z5S -rT4([oB$#QqrRkYrT4([qrRkYr8mtZrT4([roX(XrT4([J`c(Vs8W)Ks+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!johL1eS8juX8i8!X8i7uX8i7tX8i8!X9/I(X8r7$rrDqt!!)Mi!!)qurrE&"!!)qurrCBH -!!)u!!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)Vl!!)nt!!)u!!!)Vl!!)bp!!)Sk!!)nt!!)u! -!!)qurrDtu!!)u!!!*#"!!)u!!!)qurrDtu!!)u!!!)qurrDns!!)nt!!)u!!!)nt!!)nt!!*#" -!!)ks!!)u!!!)u!!!%SOl)apQrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&M-Ng&M-Mg&M-Og&h?/g&V-+rrDrM!!)NB!!)rNrrE&P!!)rNrrCC! -!!)uO!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)WE!!)oM!!)uO!!)WE!!)cI!!)TD!!)oM!!)uO -!!)rNrrDuN!!)uO!!*#P!!)uO!!)rNrrDuN!!)uO!!)rNrrDoL!!)oM!!)uO!!)oM!!)oM!!*#P -!!)lL!!)uO!!)uO!!%T(l.Z1;rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[jo>DZjo>DYjo>D[joYVGjoGDCrrDrY!!)NN!!)rZrrE&\!!)rZrrCC- -!!)u[!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)WQ!!)oY!!)u[!!)WQ!!)cU!!)TP!!)oY!!)u[ -!!)rZrrDuZ!!)u[!!*#\!!)u[!!)rZrrDuZ!!)u[!!)rZrrDoX!!)oY!!)u[!!)oY!!)oY!!*#\ -!!)lX!!)u[!!)u[!!%T4l/r$Grmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp%X3eS8j#XSMqpX8i7uXSMnsXSr5!X8i8!XS`(jXS`(tX8r=&rW)hsrrCBHqZ-Srr;cbs -r;cetqZ-;jquHYrr;cJkquHSprW)VmquHYrr;c_rrrDqtr;cbsr;c_rrrDqtr;c_rrrDtuquHYr -r;c\q!!)ksrW)errW)r!qZ)2Kl)apQrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp%O5g4=h/gA1gIg&M-NgA1dLgAV*Og&M-OgACsCgACsMg&V3-rW)iLrrCC!qZ-TKr;ccL -r;cfMqZ-<CquHZKr;cKDquHTIrW)WFquHZKr;c`KrrDrMr;ccLr;c`KrrDrMr;c`KrrDuNquHZK -r;c]J!!)lLrW)fKrW)rOqZ)3$l.Z1;rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp%X3eVf@Jk5#)Ujo>DZk5#&Xk5GA[jo>D[k555Ok555YjoGJErW)iXrrCC-qZ-TWr;ccX -r;cfYqZ-<OquHZWr;cKPquHTUrW)WRquHZWr;c`WrrDrYr;ccXr;c`WrrDrYr;c`WrrDuZquHZW -r;c]V!!)lXrW)fWrW)r[qZ)30l/r$Grmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jJXS;dHXF[I(XMV(=mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=h(g@tZ!g4@t/g;;SDs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@7k4eq-k(2ZGk/-9\s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMX8o@#!;rqs!;rqs!;rqs!:m2k!;`eq!:m2k!;NYq!:m2k!;`ep!;*Ak!;rqs -!;!;j!:m2k!;`eq!;`es!;rqs!;rqr!;rnu!.h66XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g&Tk*!;tRL!;tRL!;tRL!:nhD!;bFJ!:nhD!;P:J!:nhD!;bFI!;,"D!;tRL -!;"qC!:nhD!;bFJ!;bFL!;tRL!;tRK!;tON!.ikdgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:joFQB!;u!X!;u!X!;u!X!:o7P!;bjV!:o7P!;P^V!:o7P!;bjU!;,FP!;u!X -!;#@O!:o7P!;bjV!;bjX!;u!X!;u!W!;tsZ!.j:pk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSMnsXSW"qXSr4rXSr2%X8o?'q>g5jq>gMrrVuu#!6D5A!<&u!!<0&"!<&u! -!<0&"!<&u!!<0&"!<&u!!;*Am!;iht!<&u!!;*Am!;W\t!3?1lXT&:sX8i7jX8i8!X8i8"X8i8! -X8i7nX8i8!X8i7mXT&:tX8i8!X8i7uX9&C'!<&u!!<&u!!<&u!!;W_r!.h66XT._fec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!jp%O5g4=h/gA1dLgA:mJgAV*KgAV'Sg&Tj\q>g6Cq>gNKrVuuQ!6Ejo!<(UO!<1[P!<(UO -!<1[P!<(UO!<1[P!<(UO!;,"F!;kIM!<(UO!;,"F!;Y=M!87GEgA_0Lg&M-Cg&M-Og&M-Pg&M-O -g&M-Gg&M-Og&M-FgA_0Mg&M-Og&M-Ng&_9.!<(UO!<(UO!<(UO!;Y@K!.ikdgAh3PgAca(s7Y1H -JcG`Sg7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5#&Xk5,/Vk5GAWk5G>_joFQ+q>g6Oq>gNWrVuu]!6F:&!<)$[!<2*\!<)$[ -!<2*\!<)$[!<2*\!<)$[!;,FR!;kmY!<)$[!;,FR!;YaY!9O:Qk5PGXjo>DOjo>D[jo>D\jo>D[ -jo>DSjo>D[jo>DRk5PGYjo>D[jo>DZjoPPF!<)$[!<)$[!<)$[!;YdW!.j:pk5YJ\ec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!jq+?=eS8j#X8o?'!3E7%XK2F#X8i7tX8i7tX8i8"XT&;"X8i8!X8i7oX9em.X8o?'!3E7% -riH,"aK,@ArN#u!ri?)"rN#u!ri?)"rN#u!ri?)"rN#u!orJ2pX8r.!!!)u!!!)\n!W];%q5aVt -X8qmo!W];%qQ'Ysm&U0eq5aProrJ,nrN#u!orJ2pX8r.!!!)u!!!)qu!W];%rN#u!rN#u!rN#u! -qQ'_uX8mgQk,eUNrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jq+6?g4=h/g&Tj\!8?-,g=cQ*g&M-Mg&M-Mg&M-PgA_0Pg&M-Og&M-Hg'Ic5g&Tj\!8?-, -rn@APaP$UorRq5Orn7>PrRq5Orn7>PrRq5Orn7>PrRq5Op"BHIg&V$(!!)uO!!)]G!W^pSq:YlM -g&Ud!!W^pSqUtoLm+MF>q:YfKp"BBGrRq5Op"BHIg&V$(!!)uO!!)rN!W^pSrRq5OrRq5OrRq5O -qUtuNg&Q]Xk1]k8rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jq+?=eVf@JjoFQ+!9WDDk2l[Bjo>DYjo>DYjo>D\k5PG\jo>D[jo>DTjp;%MjoFQ+!9WDD -roX4\aQ<I&rT4([roO1\rT4([roO1\rT4([roO1\rT4([p#Z;UjoG;@!!)u[!!)]S!W_?_q;q_Y -joG&9!W_?_qW7bXm,e9Jq;qYWp#Z5SrT4([p#Z;UjoG;@!!)u[!!)rZ!W_?_rT4([rT4([rT4([ -qW7hZjoBtpk2u^Drmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jq+?=eS8j#X8o?'!3E7%XK2F#X8i7uX9&C'!<&u!!;rnu!<0&"!<&u!!;<K#!3E7%XK2E' -X8r4#!!)qurrC3C!!*#"!!)u!!!*#"!!)u!!!)hr!!)Vl!!)nt!!)u!!!)Vl!!)ks!s#F(!:m2k -!;`bs!:6ce!;W\r!;3Dn!<&u!!;!8l!;iht!<&u!!<&u$!3E7%rN#u!rN#u!rN#u!poFGqJZS"8 -s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jq+6?g4=h/g&Tj\!8?-,g=cQ*g&M-Ng&_9.!<(UO!;tON!<1[P!<(UO!;>+Q!8?-,g=cP\ -g&V**!!)rNrrC3q!!*#P!!)uO!!*#P!!)uO!!)iK!!)WE!!)oM!!)uO!!)WE!!)lL!s%'/!:nhD -!;bCL!:8D>!;Y=K!;5%G!<(UO!;"nE!;kIM!<(UO!<(UR!8?-,rRq5OrRq5OrRq5Opt>]JJ_K8? -s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jq+?=eVf@JjoFQ+!9WDDk2l[Bjo>DZjoPPF!<)$[!;tsZ!<2*\!<)$[!;>O]!9WDDk2l[+ -joGAB!!)rZrrC4(!!*#\!!)u[!!*#\!!)u[!!)iW!!)WQ!!)oY!!)u[!!)WQ!!)lX!s%KG!:o7P -!;bgX!:8hJ!;YaW!;5IS!<)$[!;#=Q!;kmY!<)$[!<)$^!9WDDrT4([rT4([rT4([puVPVJ`c+W -s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i7uX8i8!X8i7uX9&C'!<&u!!;NVt!3E7%nZ2]jr2]kupT4ApbH([DrN#u! -rN#u!ri?)"rN#u!qQ'YsnuMfkqlBbtrN#u!o;holqQ'c!XK2EmX8i7sXSi.iXSr4sXSr4lX8i8! -X8i7lX8i7tX8i8!X8i8!X9/I(X8r1"r;cbsr;c_r!!%SOk,eUNrmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!johC3g4=hQg&M-Ng&M-Og&M-Ng&_9.!<(UO!;P7M!8?-,n_*sCr7V,NpY,WIbLuprrRq5O -rRq5Orn7>PrRq5OqUtoLo%F'Dqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-LgAM$BgAV*LgAV*Eg&M-O -g&M-Eg&M-Mg&M-Og&M-Og&h?/g&V')r;ccLr;c`K!!%T(k1]k8rn@C's8VfHs+14M#25dNk2s5T -J,~> -!<E0!johL1eVf@`jo>DZjo>D[jo>DZjoPPF!<)$[!;P[Y!9WDDn`BfOr8mtZpZDJUbN8d)rT4([ -rT4([roO1\rT4([qW7bXo&]oPqrRkYrT4([oB$#QqW7k[k2l[7jo>DXk5>;Nk5GAXk5GAQjo>D[ -jo>DQjo>DYjo>D[jo>D[joYVGjoG>Ar;ccXr;c`W!!%T4k2u^Drmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!johL1eS8jsX8i7uX8i8"X8i7uX8i8"X8i8"X8i7qXSi.hX8i7tXSi.;X8i7uX8i8!X8i8" -X8i8!X8i7tX8i7uXSW"qX8i7tX8i8!X8i8"XSW"qX8i7tX8i8"X8i7kX8i7oX8i7iX8i7rX8i7n -X8i8!X8i7lX8i7tX8i8!X8i8"X8i8"X8i8!X8i8!X8i7rX8i7uX8i6OXQHVamf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hQg&M-Ng&M-Pg&M-Ng&M-Pg&M-Pg&M-JgAM$Ag&M-MgAM#ig&M-Ng&M-Og&M-P -g&M-Og&M-Mg&M-NgA:mJg&M-Mg&M-Og&M-PgA:mJg&M-Mg&M-Pg&M-Dg&M-Hg&M-Bg&M-Kg&M-G -g&M-Og&M-Eg&M-Mg&M-Og&M-Pg&M-Pg&M-Og&M-Og&M-Kg&M-Ng&M,(g?.,hs8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@`jo>DZjo>D\jo>DZjo>D\jo>D\jo>DVk5>;Mjo>DYk5>:ujo>DZjo>D[jo>D\ -jo>D[jo>DYjo>DZk5,/Vjo>DYjo>D[jo>D\k5,/Vjo>DYjo>D\jo>DPjo>DTjo>DNjo>DWjo>DS -jo>D[jo>DQjo>DYjo>D[jo>D\jo>D\jo>D[jo>D[jo>DWjo>DZjo>C4k2th+s8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i7uXSi.rXS`(tX8i7qX9/I(X8qdl!!)bp!!($?!!)nt!!)u!!!*#"!!)u! -!!)qu!!)Mi!!)nt!!)u!!!)Vl!!)nt!!*#"!!)Sk!!)_o!!)Mi!!)hr!!)\n!!)u!!!)Vl!!)nt -!!)u!!!*#"!!*#"!!)u!!!)u!!!)hr!!)qu!!%SOk,eUNrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hQg&M-NgAM$KgACsMg&M-Jg&h?/g&UZs!!)cI!!($m!!)oM!!)uO!!*#P!!)uO -!!)rN!!)NB!!)oM!!)uO!!)WE!!)oM!!*#P!!)TD!!)`H!!)NB!!)iK!!)]G!!)uO!!)WE!!)oM -!!)uO!!*#P!!*#P!!)uO!!)uO!!)iK!!)rN!!%T(k1]k8rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@`jo>DZk5>;Wk555Yjo>DVjoYVGjoFr6!!)cU!!(%$!!)oY!!)u[!!*#\!!)u[ -!!)rZ!!)NN!!)oY!!)u[!!)WQ!!)oY!!*#\!!)TP!!)`T!!)NN!!)iW!!)]S!!)u[!!)WQ!!)oY -!!)u[!!*#\!!*#\!!)u[!!)u[!!)iW!!)rZ!!%T4k2u^Drmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8jsX8i7uX8i8"X8i8!X8i7uX9/I(X8r$s!!)u!!!)Vl!!)qu!!)u!!!('@!!)ks -!!)u!!!*#"!!)u!!!)u!!!)Jh!!)nt!!)u!!!)Vl!!)ntqZ-5h!!)_o!!)Mi!!)hr!!)\n!!)u! -!!)Vl!!)nt!!)u!!!*#"qZ-Vs!!)u!!!)hr!!)qu!!%SOk,eUNrmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!johC3g4=hQg&M-Ng&M-Pg&M-Og&M-Ng&h?/g&Up%!!)uO!!)WE!!)rN!!)uO!!('n!!)lL -!!)uO!!*#P!!)uO!!)uO!!)KA!!)oM!!)uO!!)WE!!)oMqZ-6A!!)`H!!)NB!!)iK!!)]G!!)uO -!!)WE!!)oM!!)uO!!*#PqZ-WL!!)uO!!)iK!!)rN!!%T(k1]k8rn@C's8VfHs+14M#25dNk2s5T -J,~> -!<E0!johL1eVf@`jo>DZjo>D\jo>D[jo>DZjoYVGjoG2=!!)u[!!)WQ!!)rZ!!)u[!!((%!!)lX -!!)u[!!*#\!!)u[!!)u[!!)KM!!)oY!!)u[!!)WQ!!)oYqZ-6M!!)`T!!)NN!!)iW!!)]S!!)u[ -!!)WQ!!)oY!!)u[!!*#\qZ-WX!!)u[!!)iW!!)rZ!!%T4k2u^Drmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!johL1eS8jsX8i7uX8i8!X8i8"X8i7uX8i8"X8i8!X8i8"X8i8!X8i7lX8i7uXT&;"X8i7u -XT&:HX8i8!X8i8"X8i8!X8i8"X8i8!X8i8"X8i8!X8i7lX8i7tX8i8!X8i7lX8i7pX8i7kX8i7t -X8i8!X8i7uXT&:uX8i8!X8i8"X8i8!X8i7uXT&:uX8i8!X8i7uXT&:sX8i7tX8i8!X8i7sX8i8! -X8i8!X8i8"X8i8!X8i7uX8i6OXQHVamf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hQg&M-Ng&M-Og&M-Pg&M-Ng&M-Pg&M-Og&M-Pg&M-Og&M-Eg&M-NgA_0Pg&M-N -gA_0!g&M-Og&M-Pg&M-Og&M-Pg&M-Og&M-Pg&M-Og&M-Eg&M-Mg&M-Og&M-Eg&M-Ig&M-Dg&M-M -g&M-Og&M-NgA_0Ng&M-Og&M-Pg&M-Og&M-NgA_0Ng&M-Og&M-NgA_0Lg&M-Mg&M-Og&M-Lg&M-O -g&M-Og&M-Pg&M-Og&M-Ng&M,(g?.,hs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@`jo>DZjo>D[jo>D\jo>DZjo>D\jo>D[jo>D\jo>D[jo>DQjo>DZk5PG\jo>DZ -k5PG-jo>D[jo>D\jo>D[jo>D\jo>D[jo>D\jo>D[jo>DQjo>DYjo>D[jo>DQjo>DUjo>DPjo>DY -jo>D[jo>DZk5PGZjo>D[jo>D\jo>D[jo>DZk5PGZjo>D[jo>DZk5PGXjo>DYjo>D[jo>DXjo>D[ -jo>D[jo>D\jo>D[jo>DZjo>C4k2th+s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juXS`(uXSr4uX8r=&r;Zi!r;chur;chuq>g2iquH_t!<B5#!;ikt!7.bD!<'"t -!;rqs!<'"r!;3Gk!;rqs!;*Aj!;`er!;3Gk!;rqs!;ikt!;ikr!;rqs!;ikt!;ikr!;ikt!;rqr -!;rqs!;`er!<'"t!;rqs!<'"s!.h68XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSgACsNgAV*Ng&V3-r;ZiOr;ciNr;ciNq>g3BquH`M!<CjQ!;kLM!70Br!<(XM -!;tRL!<(XK!;5(D!;tRL!;,"C!;bFK!;5(D!;tRL!;kLM!;kLK!;tRL!;kLM!;kLK!;kLM!;tRK -!;tRL!;bFK!<(XM!;tRL!<(XL!.ikfgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bk555Zk5GAZjoGJEr;Zi[r;ciZr;ciZq>g3NquH`Y!<D9]!;kpY!70g)!<)'Y -!;u!X!<)'W!;5LP!;u!X!;,FO!;bjW!;5LP!;u!X!;kpY!;kpW!;u!X!;kpY!;kpW!;kpY!;u!W -!;u!X!;bjW!<)'Y!;u!X!<)'X!.j:rk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jJXS;dHXF[I(XMV(=mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=h(g@tZ!g4@t/g;;SDs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@7k4eq-k(2ZGk/-9\s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSr2#X8r7$r;churW)u"rW)u"q>gPsq>^MsrW)u"rW)u"q>gMrrVuu#!.h5& -XF[J$XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hRgAV'Qg&V-+r;ciNrW)uPrW)uPq>gQLq>^NLrW)uPrW)uPq>gNKrVuuQ!.ijT -g4@u+gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@ak5G>]joGDCr;ciZrW)u\rW)u\q>gQXq>^NXrW)u\rW)u\q>gNWrVuu]!.j9` -k(2[Ck5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8"XT&;#X8i8!X8i8"XT&;"X8i8"X9J[+X8o?'!<0&"!<&u%!3E7%!<0&" -!<0&+!3E7%XK2E'X8r7$rr@VOJZOF(d]EK:rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-PgA_0Qg&M-Og&M-PgA_0Pg&M-Pg'.Q2g&Tj\!<1[P!<(US!8?-,!<1[P -!<1[Y!8?-,g=cP\g&V-+rr@W(J_G\/db=a$rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D\k5PG]jo>D[jo>D\k5PG\jo>D\jothJjoFQ+!<2*\!<)$_!9WDD!<2*\ -!<2*e!9WDDk2l[+joGDCrr@W4J`_OGdcUT0rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!W];%qlC&'XK2E'!3E7%ri?;(XK2E'X8r7$!!)u!#QUs-!3?1%X8r7$ -#lq'.!3E7%XK2F#X8i7uXT&9OXF[I(XP']Tmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp.U6g4=h/g&V')!W^pSqq;;Ug=cP\!8?-,rn7PVg=cP\g&V-+!!)uO#QWT4!87G,g&V-+ -#lr]5!8?-,g=cQ*g&M-NgA_/(g4@t/g=b3[s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp.^4eVf@JjoG>A!W_?_qrS.ak2l[+!9WDDroOCbk2l[+joGDC!!)u[#QX#L!9O:DjoGDC -#ls,M!9WDDk2l[Bjo>DZk5PF4k(2ZGk1Snss8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3?1%X8r.!!!)nt!s#F(!<&u&!3?1%X8r.!!!)qu!!)bp -rr@VOJZOF(frY5Armh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!87G,g&V$(!!)oM!s%'/!<(UT!87G,g&V$(!!)rN!!)cI -rr@W(J_G\/g"QK+rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9O:DjoG;@!!)oY!s%KG!<)$`!9O:DjoG;@!!)rZ!!)cU -rr@W4J`_OGg#i>7rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)ntr;cet"TYX*!3?1tX8i7tXSi-MXF[I( -XO4-Lmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oMr;cfM"T[91!87GMg&M-MgAM#&g4@t/ -g<nXSs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oYr;cfY"T[]I!9O:Yjo>DYk5>:2k(2ZG -k0`>ks8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)nt!s#F(!<&u&!3E7%X8r.!!!)bp!!%SO -JZOF(d]EK:rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oM!s%'/!<(UT!8?-,g&V$(!!)cI!!%T( -J_G\/db=a$rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oY!s%KG!<)$`!9WDDjoG;@!!)cU!!%T4 -J`_OGdcUT0rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r*u!!)nt!s#F(!<0)"!;iht!;iht!<&u$!3E7%riH,"qlBbtr2]kurN#u! -JZOF(JZR;$s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM!s%'/!<1^P!;kIM!;kIM!<(UR!8?-,rn@APqq;#Mr7V,NrRq5O -J_G\/J_JQ+s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY!s%KG!<2-\!;kmY!;kmY!<)$^!9WDDroX4\qrRkYr8mtZrT4([ -J`_OGJ`bDCs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!*#"rrDqt!!)nt!!)u!!s#F(!<0)"!;iht!;rqu -!<0&"!;rqu!.h5&XF[J+XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!*#PrrDrM!!)oM!!)uO!s%'/!<1^P!;kIM!;tRN -!<1[P!;tRN!.ijTg4@u2gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!*#\rrDrY!!)oY!!)u[!s%KG!<2-\!;kmY!;u!Z -!<2*\!;u!Z!.j9`k(2[Jk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jtXSi.tXSi.uXSr5!X8i8!XS`(tXSMnsXSr5!X8i8!XS`(tX8r=&rW)hsrr@VO -JZOF(frY5Armh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hRgAM$MgAM$NgAV*Og&M-OgACsMgA1dLgAV*Og&M-OgACsMg&V3-rW)iLrr@W( -J_G\/g"QK+rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@ak5>;Yk5>;Zk5GA[jo>D[k555Yk5#&Xk5GA[jo>D[k555YjoGJErW)iXrr@W4 -J`_OGg#i>7rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i7gX8i6OXF[I(XR*%gmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M-@g&M,(g4@t/g?dPns8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>DLjo>C4k(2ZGk3V71s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#qZ,o_rW(QOrrDMh!!%SOJZOF(l`C-Srmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/qZ,p8rW(R(rrDNA!!%T(J_G\/le;C=rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!joqR2eVf@JqZ,pDrW(R4rrDNM!!%T4J`_OGlfS6Irmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)8b!!(ZQ!W];%n#QKhJZOF(JZS1=s6fm:s+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!jp.U6g4=h/g&V**!!)9;!!([*!W^pSn(IaAJ_G\/J_KGDs8W)Ps+14Mp=fOts8N;WU&X9; -\c@6~> -!<E0!jp.^4eVf@JjoGAB!!)9G!!([6!W_?_n)aTMJ`_OGJ`c:\s8W)Ks+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!jp.^4eS8j#X8r4#!!)qurW)r!rr<&#rW)er!!)u!rW)u"rW(rZ!!)Jh!!%SOJZOF(l`C-S -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V**!!)rNrW)rOrr<&QrW)fK!!)uOrW)uPrW(s3!!)KA!!%T(J_G\/le;C= -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoGAB!!)rZrW)r[rr<&]rW)fW!!)u[rW)u\rW(s?!!)KM!!%T4J`_OGlfS6I -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!*#"!!*#"rrE&"!!)nt!!)qu!!)u!!!)\nq>g/h!!)Jh!!%SO -JZOF(l`C-Srmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V**!!)uO!!*#P!!*#PrrE&P!!)oM!!)rN!!)uO!!)]Gq>g0A!!)KA!!%T( -J_G\/le;C=rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!*#\!!*#\rrE&\!!)oY!!)rZ!!)u[!!)]Sq>g0M!!)KM!!%T4 -J`_OGlfS6Irmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r7$!!)u!!!)qu!s#F(!;rnu!;rnu!;rnu!<&u!!9(!Z!:[&i!.h5&XF[J< -XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V-+!!)uO!!)rN!s%'/!;tON!;tON!;tON!<(UO!9)W3!:\\B!.ijTg4@uC -gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoGDC!!)u[!!)rZ!s%KG!;tsZ!;tsZ!;tsZ!<)$[!9*&?!:]+N!.j9`k(2[[ -k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSi.sXSMqsX8i7uX8i7uX8i7tX9/I(X8qmoq>g/h!!)Jh!!%SOJZOF(l`C-S -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp%O5g4=h/gAM$LgA1gLg&M-Ng&M-Ng&M-Mg&h?/g&Ud!q>g0A!!)KA!!%T(J_G\/le;C= -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp%X3eVf@Jk5>;Xk5#)Xjo>DZjo>DZjo>DYjoYVGjoG&9q>g0M!!)KM!!%T4J`_OGlfS6I -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r7$!!)u!!!)hr!!)qu!!)qu!!)nt!s#F(!8spY!:Quh!.h5&XF[J=XT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V-+!!)uO!!)iK!!)rN!!)rN!!)oM!s%'/!8uQ2!:SVA!.ijTg4@uDgAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoGDC!!)u[!!)iW!!)rZ!!)rZ!!)oY!s%KG!8uu>!:T%M!.j9`k(2[\k5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!"9>O)!!*#"!!)nt!!)ksrrCrX!!)Jh!!%SOJZOF(l`C-S -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO"9@00!!*#P!!)oM!!)lLrrCs1!!)KA!!%T(J_G\/le;C= -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u["9@TH!!*#\!!)oY!!)lXrrCs=!!)KM!!%T4J`_OGlfS6I -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!joqR2eS8j#rW)nu!!)u!r;chu!<B5#!;rqr!;iht!9($W!:d,j!.h5&XF[J=XT._fec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!joqI4g4=h/rW)oN!!)uOr;ciN!<CjQ!;tRK!;kIM!9)Z0!:ebC!.ijTg4@uDgAh3PgAca( -s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!joqR2eVf@JrW)oZ!!)u[r;ciZ!<D9]!;u!W!;kmY!9*)<!:f1O!.j9`k(2[\k5YJ\ec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jdX8i7gX8i7DX8i6OXF[I(XQutfmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hBg&M-@g&M,rg&M,(g4@t/g?[Jms8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Qjo>DLjo>D)jo>C4k(2ZGk3M10s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jdX8i7gX8i7CX8i6OXF[I(XR*%gmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hBg&M-@g&M,qg&M,(g4@t/g?dPns8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Qjo>DLjo>D(jo>C4k(2ZGk3V71s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jeXSi.iXSi-MXF[I(XL5/0mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hCgAM$BgAM#&g4@t/g9oZ7s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Rk5>;Nk5>:2k(2ZGk-a@Os8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXN.CB!.h5&XN%@Amf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g;hnI!.ijTg;_kHs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k/ZTa!.j9`k/QQ`s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,XSr2#X8qUg!!)2`!!(0C!!%SOJZQhls6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g_gAV'Qg&UKn!!)39!!(0q!!%T(J_J)ss8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?nk5G>]joFc1!!)3E!!(1(!!%T4J`ar6s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8j-X8i8"XT&:eX8i7`X8i7CX8i6OXF[IlXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g`g&M-PgA_0>g&M-9g&M,qg&M,(g4@tsgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?ojo>D\k5PGJjo>DEjo>D(jo>C4k(2[6k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8j.X8i7uX8i8"XSi.uXT&8#XSr4uXS`(qXSr4uXSr2"XSr5"XS`(CX8i6OXF[Il -XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=gag&M-Ng&M-PgAM$NgA_-QgAV*NgACsJgAV*NgAV'PgAV*PgACrqg&M,(g4@ts -gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?pjo>DZjo>D\k5>;Zk5PD]k5GAZk555Vk5GAZk5G>\k5GA\k555(jo>C4k(2[6 -k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8j.X8i7rX8i8!X8i8"XT&;"X8i8!X8i7rX8i8"X8i8!X8i8"X8i8!X8i7jXSMqU -X8i6OXF[IlXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=gag&M-Kg&M-Og&M-PgA_0Pg&M-Og&M-Kg&M-Pg&M-Og&M-Pg&M-Og&M-CgA1g. -g&M,(g4@tsgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?pjo>DWjo>D[jo>D\k5PG\jo>D[jo>DWjo>D\jo>D[jo>D\jo>D[jo>DOk5#): -jo>C4k(2[6k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8j.X8i7sX8i7tX9/I(X8r4#!!)u!!!)ks!!)qu!!)u!!W];%r2]kuhlQ\To;hol -JZOF(`2s",rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=gag&M-Lg&M-Mg&h?/g&V**!!)uO!!)lL!!)rN!!)uO!W^pSr7V,NhqIr-o@a0E -J_G\/`7k7krn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf?pjo>DXjo>DYjoYVGjoGAB!!)u[!!)lX!!)rZ!!)u[!W_?_r8mtZhrae9oB$#Q -J`_OG`9.+"rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8j.X8i7sX8i7tX9/I(X8r4#!!)u!!!)ksq>gGp!!)nt!!)Pjq>fKU!!%SOJZQhl -s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=gag&M-Lg&M-Mg&h?/g&V**!!)uO!!)lLq>gHI!!)oM!!)QCq>fL.!!%T(J_J)s -s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?pjo>DXjo>DYjoYVGjoGAB!!)u[!!)lXq>gHU!!)oY!!)QOq>fL:!!%T4J`ar6 -s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8j.X8i7sX8i7tX9/I(X8r4#!!)u!!!)ks!!)bp!W];%r2]kub,bRCJZOF(`N9+- -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=gag&M-Lg&M-Mg&h?/g&V**!!)uO!!)lL!!)cI!W^pSr7V,Nb1ZgqJ_G\/`S1@l -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf?pjo>DXjo>DYjoYVGjoGAB!!)u[!!)lX!!)cU!W_?_r8mtZb2r[(J`_OG`TI4# -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8j-X8i8!X9/I(X8r4#!!*#"!!)u!!!)u!!!*#"!!)u!!!)u!!!*#"!!*#"!!)u! -!!*#"!!(<G!!%SOJZQhls6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g`g&M-Og&h?/g&V**!!*#P!!)uO!!)uO!!*#P!!)uO!!)uO!!*#P!!*#P!!)uO -!!*#P!!(<u!!%T(J_J)ss8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?ojo>D[joYVGjoGAB!!*#\!!)u[!!)u[!!*#\!!)u[!!)u[!!*#\!!*#\!!)u[ -!!*#\!!(=,!!%T4J`ar6s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8j,XSi.tXSi.uXSr5"XSr4uXSr4sXSi.uXSr2"XSr4uXSr4EX8i6OXF[IlXT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g_gAM$MgAM$NgAV*PgAV*NgAV*LgAM$NgAV'PgAV*NgAV)sg&M,(g4@tsgAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?nk5>;Yk5>;Zk5GA\k5GAZk5GAXk5>;Zk5G>\k5GAZk5GA*jo>C4k(2[6k5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXN7IC!.h5&XMq:@mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g;qtJ!.ijTg;VeGs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k/cZb!.j9`k/HK_s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXN.CB!.h5&XN%@Amf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g;hnI!.ijTg;_kHs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k/ZTa!.j9`k/QQ`s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXN7IC!91*[!/[cW!.h6/XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g;qtJ!92`4!/]D0!.ik]gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k/cZb!93/@!/]h<!.j:ik5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXR<1h!!0/$i2cnYkcFa`"KVU)X8nin!!)Gg!!%SOhQ6bFrmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johC3g4=g+g@!\o!!1dRi7\/2kh?"9"PNk0g&R_u!!)H@!!%T(hV/#0rn@C's8VfHs+14M -#25dNk2s5TJ,~> -!<E0!johL1eVf?:k3hC2!!23^i8t">kiVjE"Qf^HjoD"8!!)HL!!%T4hWFk<rmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXRE4j!<0)"!6;/@!<0)"!<9,#!1p7l!:Hog!.h6.XT._fec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johC3g4=g+g@*_q!<1^P!6<dn!<1^P!<:aQ!1qmE!:JP@!.ik\gAh3PgAca(s7Y1HJcG`S -g7eQ/k.1PC~> -!<E0!johL1eVf?:k3qF4!<2-\!6=4%!<2-\!<;0]!1r<Q!:JtL!.j:hk5YJ\ec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johL1eS8iMXRE4j!<&u!!;rqt!<'#!!<9/#!<9/"!<9/"!<0)!!;`er!!0/$rN,turN#u! -r2^#$XK2E'rW)ktr;churr<&#rW)ktrW!#$!!)u!rW(rZrrE)#rrE#!r;cbsr;cetquH8g!!%SO -hQ6bFrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=g+g@*_q!<(UO!;tRM!<(XO!<:dQ!<:dP!<:dP!<1^O!;bFK!!1dRrS%5NrRq5O -r7V8Rg=cP\rW)lMr;ciNrr<&QrW)lMrW!#R!!)uOrW(s3rrE)QrrE#Or;ccLr;cfMquH9@!!%T( -hV/#0rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf?:k3qF4!<)$[!;u!Y!<)'[!<;3]!<;3\!<;3\!<2-[!;bjW!!23^rT=(ZrT4([ -r8n+^k2l[+rW)lYr;ciZrr<&]rW)lYrW!#^!!)u[rW(s?rrE)]rrE#[r;ccXr;cfYquH9L!!%T4 -hWFk<rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXRE4j!;NVq!<0&"!<&u)!3?1%X8o?'!<&u!!;iht!;iht!<0)"!<0&"!<0&" -!<0&"!;W_r!<0&"!<0&"!<&u!!<0)"!<0&"!<0&"!<0)"!<&u!!<0&"!;3Gi!;3E!!3?1%X8o?' -!<&u!!<0&"!<&u!!<&u!!:Hog!.h6.XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g@*_q!;P7J!<1[P!<(UW!87G,g&Tj\!<(UO!;kIM!;kIM!<1^P!<1[P!<1[P -!<1[P!;Y@K!<1[P!<1[P!<(UO!<1^P!<1[P!<1[P!<1^P!<(UO!<1[P!;5(B!;5%O!87G,g&Tj\ -!<(UO!<1[P!<(UO!<(UO!:JP@!.ik\gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k3qF4!;P[V!<2*\!<)$c!9O:DjoFQ+!<)$[!;kmY!;kmY!<2-\!<2*\!<2*\ -!<2*\!;YdW!<2*\!<2*\!<)$[!<2-\!<2*\!<2*\!<2-\!<)$[!<2*\!;5LN!;5I[!9O:DjoFQ+ -!<)$[!<2*\!<)$[!<)$[!:JtL!.j:hk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXR<1g!<&u!!;rnu!<0)"!;iht!<&u!!;iht!;rnu!;ro#!3E7%r2]u#XK2Et -X8i8!X8i7rX8i8"X8i8!X9/I(X8r1"!!*#"!!)qu!!)&\rrDtu!!)nt!W];%qlBbtri?)"n#QKh -JZR\/s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g@!\n!<(UO!;tON!<1^P!;kIM!<(UO!;kIM!;tON!;tOQ!8?-,r7V5Qg=cQ& -g&M-Og&M-Kg&M-Pg&M-Og&h?/g&V')!!*#P!!)rN!!)'5rrDuN!!)oM!W^pSqq;#Mrn7>Pn(IaA -J_Jr6s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k3hC1!<)$[!;tsZ!<2-\!;kmY!<)$[!;kmY!;tsZ!;ts]!9WDDr8n(]k2l[> -jo>D[jo>DWjo>D\jo>D[joYVGjoG>A!!*#\!!)rZ!!)'ArrDuZ!!)oY!W_?_qrRkYroO1\n)aTM -J`beNs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXQlke!<0(r!<0&"!;W\u!3E7%qQ'Ysr2]kuq5jDms/Z2#q5aPrrN#u!rN,ns -ri?)"rN$)$XK2F"X8i8"XSMqjXSMqiX8i7tX8i7tX9&C'!;iht!<0&"!:Hog!.h6.XT._fec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g?RAl!<1^K!<1[P!;Y=N!8?-,qUtoLr7V,Nq:bZFs4RGQq:YfKrRq5OrS%/L -rn7>PrRq>Rg=cQ)g&M-PgA1gCgA1gBg&M-Mg&M-Mg&_9.!;kIM!<1[P!:JP@!.ik\gAh3PgAca( -s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k3D(/!<2-W!<2*\!;YaZ!9WDDqW7bXr8mtZq<%MRs5j:]q;qYWrT4([rT="X -roO1\rT41^k2l[Ajo>D\k5#)Ok5#)Njo>DYjo>DYjoPPF!;kmY!<2*\!:JtL!.j:hk5YJ\ec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXRE4j!<&u!!<0&"!;NVq!;W\u!3E7%qQ'Ysr2]kuq5aPrq5aPrq5aPrrN#u! -ri?)"rN#u!ri?)"rN$)$XK2F"X8i8"X8i7VX8i7tX8i7tX9&C'!;iht!<0&"!:Hog!.h6.XT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g@*_q!<(UO!<1[P!;P7J!;Y=N!8?-,qUtoLr7V,Nq:YfKq:YfKq:YfKrRq5O -rn7>PrRq5Orn7>PrRq>Rg=cQ)g&M-Pg&M-/g&M-Mg&M-Mg&_9.!;kIM!<1[P!:JP@!.ik\gAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k3qF4!<)$[!<2*\!;P[V!;YaZ!9WDDqW7bXr8mtZq;qYWq;qYWq;qYWrT4([ -roO1\rT4([roO1\rT41^k2l[Ajo>D\jo>D;jo>DYjo>DYjoPPF!;kmY!<2*\!:JtL!.j:hk5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXRE7j!<0&"!<&u!!<&u!!<0&"!;NYq!;W\r!;iht!<&u!!<0&"!<&u!!<0&" -!<&u$!3E7%rN#u!ri?)"riH,"ri?)"rN#u!ri?)"riH,"rN#u!rN#u!j/`4\qQ'YsrN#u!ri?)" -rN#u!rN#u!ri?)"nuMfkJZR_0s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g@*bq!<1[P!<(UO!<(UO!<1[P!;P:J!;Y=K!;kIM!<(UO!<1[P!<(UO!<1[P -!<(UR!8?-,rRq5Orn7>Prn@APrn7>PrRq5Orn7>Prn@APrRq5OrRq5Oj4XJ5qUtoLrRq5Orn7>P -rRq5OrRq5Orn7>Po%F'DJ_Ju7s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k3qI4!<2*\!<)$[!<)$[!<2*\!;P^V!;YaW!;kmY!<)$[!<2*\!<)$[!<2*\ -!<)$^!9WDDrT4([roO1\roX4\roO1\rT4([roO1\roX4\rT4([rT4([j5p=AqW7bXrT4([roO1\ -rT4([rT4([roO1\o&]oPJ`bhOs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXRE4k!3H/"qlK_rriH%uqQ0\sqlK\qr2fhsr2fhsr2fhss/c2"s/c2"riH)! -"0;J&XSr5"XSr5!XSr2#X8r1"r;blZr;c_rr;cbsr;c_rrW)Ji!!%SOhQ6bFrmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johC3g4=g+g@*_r!8@DPqqCuKrn@;NqV(rLqqCrJr7_)Lr7_)Lr7_)Ls4[GPs4[GPrn@>O -"53_TgAV*PgAV*OgAV'Qg&V')r;bm3r;c`Kr;ccLr;c`KrW)KB!!%T(hV/#0rn@C's8VfHs+14M -#25dNk2s5TJ,~> -!<E0!johL1eVf?:k3qF5!9X7\qr[hWroX.ZqW@eXqr[eVr9!qXr9!qXr9!qXs5s:\s5s:\roX1[ -"6KR`k5GA\k5GA[k5G>]joG>Ar;bm?r;c`Wr;ccXr;c`WrW)KN!!%T4hWFk<rmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXG<kW!33+#!.h6.XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g5"A^!34`Q!.ik\gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(i(!!35/]!.j:hk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXGEqX!2ut!!.h6/XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g5+G_!3"TO!.ik]gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(r."!3##[!.j:ik5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXGj7Z!.h5)XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g5Oba!.ijWgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k)AI$!.j9ck5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[GRX8pbO!!%SO]<)&#rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=g+g4@rYg&TXV!!%T(]A!;brn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf?:k(2XqjoEon!!%T4]B9.nrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXJW)u!!0/$i2cnYeZ8`NJZQGas6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g8<U'!!1dRi7\/2e_1!'J_I]hs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k,.;?!!23^i8t">e`Hi3J`aQ+s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXJ`-"!<0)"!4/a,!.h5_XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g8EX)!<1^P!41AZ!.ik8gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k,7>A!<2-\!41ef!.j:Dk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXJ`-"!<&u!!;rqt!<'#!!<9/#!<9/"!<9/"!<0)!!;`er!!0/$rN,tur2fer -nuMfkJZQGas6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g8EX)!<(UO!;tRM!<(XO!<:dQ!<:dP!<:dP!<1^O!;bFK!!1dRrS%5Nr7_&K -o%F'DJ_I]hs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k,7>A!<)$[!;u!Y!<)'[!<;3]!<;3\!<;3\!<2-[!;bjW!!23^rT=(Zr9!nW -o&]oPJ`aQ+s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXJ`-"!;NVq!<0&"!<&u)!3?1%X8o?'!<&u!!;iht!;iht!<0)"!<0&"!<0&" -!<0&"!<&u!!:m2k!.h5_XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g8EX)!;P7J!<1[P!<(UW!87G,g&Tj\!<(UO!;kIM!;kIM!<1^P!<1[P!<1[P -!<1[P!<(UO!:nhD!.ik8gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k,7>A!;P[V!<2*\!<)$c!9O:DjoFQ+!<)$[!;kmY!;kmY!<2-\!<2*\!<2*\ -!<2*\!<)$[!:o7P!.j:Dk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXJW)t!<&u!!;rnu!<0)"!;iht!<&u!!;iht!;rnu!;ro#!3E7%r2]u#XK2Ei -X8i6OXLYG4mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8<U&!<(UO!;tON!<1^P!;kIM!<(UO!;kIM!;tON!;tOQ!8?-,r7V5Qg=cPp -g&M,(g:>r;s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,.;>!<)$[!;tsZ!<2-\!;kmY!<)$[!;kmY!;tsZ!;ts]!9WDDr8n(]k2l[3 -jo>C4k.0XSs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJ2cr!<0(r!<0&"!;W\u!3E7%qQ'Ysr2]kuq5jDmriH%unZ2]jJZQGas6fm: -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g7m:$!<1^K!<1[P!;Y=N!8?-,qUtoLr7V,Nq:bZFrn@;Nn_*sCJ_I]hs8W)P -s+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k+^u<!<2-W!<2*\!;YaZ!9WDDqW7bXr8mtZq<%MRroX.Zn`BfOJ`aQ+s8W)K -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXJ`-"!<&u!!<0&"!;NVq!;W\u!3E7%qQ'Ysr2]kuq5aProW/#mnuMfkJZQGa -s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g8EX)!<(UO!<1[P!;P7J!;Y=N!8?-,qUtoLr7V,Nq:YfKo\'9Fo%F'DJ_I]h -s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k,7>A!<)$[!<2*\!;P[V!;YaZ!9WDDqW7bXr8mtZq;qYWo]?,Ro&]oPJ`aQ+ -s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXJ`0"!<0&"!<&u!!<&u!!<0&"!;NYq!;W\r!;iht!<&u!!<0&"!<&u$!3E7% -rN#u!nuMfkJZQGas6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g8E[)!<1[P!<(UO!<(UO!<1[P!;P:J!;Y=K!;kIM!<(UO!<1[P!<(UR!8?-, -rRq5Oo%F'DJ_I]hs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k,7AA!<2*\!<)$[!<)$[!<2*\!;P^V!;YaW!;kmY!<)$[!<2*\!<)$^!9WDD -rT4([o&]oPJ`aQ+s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXJ`-#!3H/"qlK_rriH%uqQ0\sqlK\qr2fhsr2fhsriH"tnZ2]jJZQGas6fm: -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g8EX*!8@DPqqCuKrn@;NqV(rLqqCrJr7_)Lr7_)Lrn@8Mn_*sCJ_I]hs8W)P -s+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k,7>B!9X7\qr[hWroX.ZqW@eXqr[eVr9!qXr9!qXroX+Yn`BfOJ`aQ+s8W)K -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[J%X8i6OXLbM5mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@u,g&M,(g:H#<s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2[Djo>C4k.9^Ts8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[J$X8i6OXLkS6mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@u+g&M,(g:Q)=s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2[Cjo>C4k.BdUs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I^XT&9OXOjQRmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@tegA_/(g=P'Ys8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2[(k5PF4k1Abqs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[J2XSr5!XSr4eXS`(oX8i8"XSMqjXSMq*X8i7`XSr4sXSr4]XT._fec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@u9gAV*OgAV*>gACsHg&M-PgA1gCgA1fXg&M-9gAV*LgAV*6gAh3PgAca( -s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2[Qk5GA[k5GAJk555Tjo>D\k5#)Ok5#(djo>DEk5GAXk5GABk5YJ\ec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[J1XT&;"XT&:cX8i7pX8i8"X9J[+X8o?'!;<Ju!3E7%XK2E1X8i7^X8i7r -X8i7^XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@u8gA_0PgA_0<g&M-Ig&M-Pg'.Q2g&Tj\!;>+N!8?-,g=cP8g&M-7g&M-K -g&M-7gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2[Pk5PG\k5PGHjo>DUjo>D\jothJjoFQ+!;>OZ!9WDDk2lZPjo>DCjo>DW -jo>DCk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[J1X9/I(!3H/"riH)!!iuA%rN,tu!NZ;!X8i7tXSr2#X8r7$"ota+!3E7% -riH%urN$P1XK2E'X8o?'!!'+%!!'+%rW)u"rW(rZrVuu#!<0(u!<0)"!!',"!<'"s!<'#!!<9/# -!<'"t!;`bs!;W\r!;`er!<'#!!<9/#!;W_rmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@u8g&h?/!8@DPrn@>O!nmVSrS%5N!SRPOg&M-MgAV'Qg&V-+"p!B2!8?-, -rn@;NrRqe_g=cP\g&Tj\!!(a,!!(a,rW)uPrW(s3rVuuQ!<1^N!<1^P!!(aP!<(XL!<(XO!<:dQ -!<(XM!;bCL!;Y=K!;bFK!<(XO!<:dQ!;Y@Ks8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2[PjoYVG!9X7\roX1[!p0I_rT=(Z!TjC[jo>DYk5G>]joGDC"p!fJ!9WDD -roX.ZrT4Xkk2l[+joFQ+!!)0D!!)0DrW)u\rW(s?rVuu]!<2-Z!<2-\!!)0\!<)'X!<)'[!<;3] -!<)'Y!;bgX!;YaW!;bjW!<)'[!<;3]!;YdWs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[J1X9em.!3?1%!3E7%riH,"rN#u!riH,"r2]kur2]kuriH,"qlBbtr2]ku -rN#u!qlBbtqlC&'X8o?'!3E7%rN#u!orRuiorJ,nriH,"s/Z2#rN#u!riH,"ri?)"rN#u!q5ai% -X8o?'!3E7%rN#u!qlBbtq5aPrqlBbtri?)"rN$/&X8o?'!;`esmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=g+g4@u8g'Ic5!87G,!8?-,rn@APrRq5Orn@APr7V,Nr7V,Nrn@APqq;#Mr7V,N -rRq5Oqq;#Mqq;;Ug&Tj\!8?-,rRq5Op"K6Bp"BBGrn@APs4RGQrRq5Orn@APrn7>PrRq5Oq:Z)S -g&Tj\!8?-,rRq5Oqq;#Mq:YfKqq;#Mrn7>PrRqDTg&Tj\!;bFLs8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf?:k(2[Pjp;%M!9O:D!9WDDroX4\rT4([roX4\r8mtZr8mtZroX4\qrRkYr8mtZ -rT4([qrRkYqrS.ajoFQ+!9WDDrT4([p#c)Np#Z5SroX4\s5j:]rT4([roX4\roO1\rT4([q;qq_ -joFQ+!9WDDrT4([qrRkYq;qYWqrRkYroO1\rT47`joFQ+!;bjXs8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8iMXF[J1X9\g-X8o?'!3?1uX8i8"X8i7uX8i7uX8i8!X8i7uX8i7tX8i8!X8i7t -X8i7uX8i7tXT&:tX8i8!X8i7\X8i7uX9&C'!;ii"!3E7%rN#u!rN#u!q5jSrr2]kuqlBbtr2]ku -q5aPrr2]kur2]kuriH,"p8n;^rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=g+g4@u8g'@]4g&Tj\!87GNg&M-Pg&M-Ng&M-Ng&M-Og&M-Ng&M-Mg&M-Og&M-M -g&M-Ng&M-MgA_0Mg&M-Og&M-5g&M-Ng&_9.!;kIP!8?-,rRq5OrRq5Oq:biKr7V,Nqq;#Mr7V,N -q:YfKr7V,Nr7V,Nrn@APp=fQHrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf?:k(2[Pjp1tLjoFQ+!9O:Zjo>D\jo>DZjo>DZjo>D[jo>DZjo>DYjo>D[jo>DY -jo>DZjo>DYk5PGYjo>D[jo>DAjo>DZjoPPF!;km\!9WDDrT4([rT4([q<%\Wr8mtZqrRkYr8mtZ -q;qYWr8mtZr8mtZroX4\p?)DTrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[J1X9\g-X8o?'!3?1uX8i8"X8i7oX8i8!X8i7uX8i7tX8i8!X8i7tX8i7u -X8i7tX8i7rX9/I(X8qmoq>g5j!!)ks!!)nt!s#F(!<&u!!<&u!!;W\r!;iht!;iht!;rnu!;W\r -!;rqp!<0&"!;3Gnmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@u8g'@]4g&Tj\!87GNg&M-Pg&M-Hg&M-Og&M-Ng&M-Mg&M-Og&M-Mg&M-N -g&M-Mg&M-Kg&h?/g&Ud!q>g6C!!)lL!!)oM!s%'/!<(UO!<(UO!;Y=K!;kIM!;kIM!;tON!;Y=K -!;tRI!<1[P!;5(Gs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2[Pjp1tLjoFQ+!9O:Zjo>D\jo>DTjo>D[jo>DZjo>DYjo>D[jo>DYjo>DZ -jo>DYjo>DWjoYVGjoG&9q>g6O!!)lX!!)oY!s%KG!<)$[!<)$[!;YaW!;kmY!;kmY!;tsZ!;YaW -!;u!U!<2*\!;5LSs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[J1X8i7uX9&C'!;rnu!<0&"!;<Jo!<&u!!;rnu!;iht!<&u!!;iht!;rnu -!;iht!;W\u!3E7%iiE+[qQ'YsqlBl"XK2F#X8i8!X8i7rX8i7tX8i7tX8i7uX8i7rX8i7uX8i7q -X8i7nXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@u8g&M-Ng&_9.!;tON!<1[P!;>+H!<(UO!;tON!;kIM!<(UO!;kIM!;tON -!;kIM!;Y=N!8?-,in=A4qUtoLqq;,Pg=cQ*g&M-Og&M-Kg&M-Mg&M-Mg&M-Ng&M-Kg&M-Ng&M-J -g&M-GgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2[Pjo>DZjoPPF!;tsZ!<2*\!;>OT!<)$[!;tsZ!;kmY!<)$[!;kmY!;tsZ -!;kmY!;YaZ!9WDDioU4@qW7bXqrRt\k2l[Bjo>D[jo>DWjo>DYjo>DYjo>DZjo>DWjo>DZjo>DV -jo>DSk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[J1X8i7uX9/I(X8r7$rrE#!!!)u!!!)qu!!)qu!!*#"rrDqt!!)qu!!)u! -!!)nt!!)nt!!)eqrrCuY!!)u!!s#F(!<&u!!<0&"!<&u!!<&u!!<0&"!<&u!!;`bs!<&u!!;iht -!;W\r!;iht!<&u!!<0&"!;3Gnmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@u8g&M-Ng&h?/g&V-+rrE#O!!)uO!!)rN!!)rN!!*#PrrDrM!!)rN!!)uO -!!)oM!!)oM!!)fJrrD!2!!)uO!s%'/!<(UO!<1[P!<(UO!<(UO!<1[P!<(UO!;bCL!<(UO!;kIM -!;Y=K!;kIM!<(UO!<1[P!;5(Gs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2[Pjo>DZjoYVGjoGDCrrE#[!!)u[!!)rZ!!)rZ!!*#\rrDrY!!)rZ!!)u[ -!!)oY!!)oY!!)fVrrD!>!!)u[!s%KG!<)$[!<2*\!<)$[!<)$[!<2*\!<)$[!;bgX!<)$[!;kmY -!;YaW!;kmY!<)$[!<2*\!;5LSs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[J2XSr5!XSr5"XSr2#X8r1"r;cetquH\srW!#$!!*#"quH\sr;cbsquH_t -r;cYp!!(oXr;cetr;churW)u"rW)nurW)nur;c_rr;cbsquH\squHYrr;chur;cSns6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g4@u9gAV*OgAV*PgAV'Qg&V')r;cfMquH]LrW!#R!!*#PquH]Lr;ccLquH`M -r;cZI!!(p1r;cfMr;ciNrW)uPrW)oNrW)oNr;c`Kr;ccLquH]LquHZKr;ciNr;cTGs8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k(2[Qk5GA[k5GA\k5G>]joG>Ar;cfYquH]XrW!#^!!*#\quH]Xr;ccXquH`Y -r;cZU!!(p=r;cfYr;ciZrW)u\rW)oZrW)oZr;c`Wr;ccXquH]XquHZWr;ciZr;cTSs8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[J#X8i76X8i6OXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@u*g&M,dg&M,(gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2[Bjo>Cpjo>C4k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[J$X8i75X8i6OXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@u+g&M,cg&M,(gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2[Cjo>Cojo>C4k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[J(XSi.4XSi-NXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@u/gAM#bgAM#'gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2[Gk5>:nk5>:3k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJW'!!.h5&XQQ\bmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8<R(!.ijTg?72is8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,.8@!.j9`k3(n,s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJDot!.h5&XQchdmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8*F&!.ijTg?I>ks8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k+q,>!.j9`k3;%.s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJW'!!.h5&XQQ\bmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8<R(!.ijTg?72is8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,.8@!.j9`k3(n,s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJW'!!.h5&XQQ\bmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8<R(!.ijTg?72is8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,.8@!.j9`k3(n,s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJDot!.h5&XQchdmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8*F&!.ijTg?I>ks8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k+q,>!.j9`k3;%.s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJMuu!.h5&XQZbcmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g83L'!.ijTg?@8js8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,%2?!.j9`k31t-s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXJW'!!.h5&XQQ\bmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g8<R(!.ijTg?72is8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k,.8@!.j9`k3(n,s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j-X8i6OXF[I(XOjQRmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g`g&M,(g4@t/g=P'Ys8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?ojo>C4k(2ZGk1Abqs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j+X8i6OXF[I(XP']Tmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g^g&M,(g4@t/g=b3[s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?mjo>C4k(2ZGk1Snss8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:KE(uDKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJcGcBJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKKE(uDKE(rUeYN6-k.LbF~> -!<E0!johL1eS8j,X8i6OXF[I(XOsWSmf(c:K)krCKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g_g&M,(g4@t/g=Y-Zs8LaPJH5`AJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?njo>C4k(2ZGk1Jhrs8LRKK)krCKE(rUeYN6-k.LbF~> -!<E0!johL1eS8j-X8i6OXF[I(XOjQRmf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g`g&M,(g4@t/g=P'Ys8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?ojo>C4k(2ZGk1Abqs8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i6OXF[I(XH0I_mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M,(g4@t/g5jtfs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>C4k(2ZGk)\[)s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i6OXF[I(XHBUamf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hQg&M,(g4@t/g6(+hs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@`jo>C4k(2ZGk)ng+s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i6OXF[I(XH9O`mf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M,(g4@t/g5t%gs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>C4k(2ZGk)ea*s8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i6OXF[I(XH0I_mf(c:KCJmFeYN6-k.LbF~> -!<E0!johC3g4=hSg&M,(g4@t/g5jtfs8LaPJai[Dg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>C4k(2ZGk)\[)s8LRKKCJmFeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:K)iUWrs=>Xs4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJH3RZrs=8Vs4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKK)iUWrs=>Xs4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:K*&ads7k.EK*f6ks4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJHE^gs7k=JJI03ns4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKK*&ads7k.EK*f6ks4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE&Xbs7t4FK*f6ks4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcEUes7tCKJI03ns4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE&Xbs7t4FK*f6ks4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KE&Xbs8(:GKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJcEUes8(ILJcEUers%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKE&Xbs8(:GKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDrRas81@HKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc<Ods81OMJcEUers%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDrRas81@HKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDrRas8:FIKDrRars%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc<Ods8:UNJc<Odrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDrRas8:FIKDrRars%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDiL`s8CLJKDrRars%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc3Ics8C[OJc<Odrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDiL`s8CLJKDrRars%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDiL`s8LRKKDiL`rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc3Ics8LaPJc3Icrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDiL`s8LRKKDiL`rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KD`F_s8UXLKDiL`rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc*Cbs8UgQJc3Icrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKD`F_s8UXLKDiL`rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc*CbrrUo*Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDW=^s8IZK^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc!:as8ITI_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDW=^s8IZK^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJc!:cs+,au_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XGa1[mf(c:KDN:]KDW@^rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g5F\bs8LaPJbm7`Jc!=ars%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk)8C%s8LRKKDN:]KDW@^rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMmXaeWmYUB2ec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+s+13$s,$dTgAca#_>o/`_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:s+13$s,$dTec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!jo_F0eS9['JaS*WM!k8ms+Bh@#1]OLk2s>WJ,~> -!<E0!jo_=2g4=hTJcC<$M#[J.s+0\>#25dNk2s5TJ,~> -!<E0!jo_F0eVf"YJcC<$M#[J)s+Bh@#1]OLk2s>WJ,~> -!<E0!joD3.eUc8%eUl<OKCAgEeYN6-k.LbF~> -!<E0!joD*+g4@t/g4J#YJa`UCg7eQ/k.1PC~> -!<E0!joD3.eUc8%eUl<OKCAgEeYN6-k.LbF~> -!<E0!joD3.eUc8%eUc9=eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g4@uGg'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eUc9=eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eUc9=eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g4@uGg'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eUc9=eHMcKk2s>WJ,~> -!<E0!joM:.JV/N+JV/Z/ldZ07s5rIW!.Y~> -!<E0!joM10JUrB'JUrN+le2N9s5rIT!.Y~> -!<E0!joM:.JV/N+JV/Z/ldZ07s5rIW!.Y~> -!<E0!joM:.JV/N+JV/]0!<;B8"f21\k.LbF~> -!<E0!joM10JUrB'JUrQ,!<;B="ektYk.1PC~> -!<E0!joM:.JV/N+JV/]0!<;B8"f21\k.LbF~> -!<E0!jo_F0K7id/!WTias+13$s/H#"^&S-)^&S,ueHMcKk2s>WJ,~> -!<E0!jo_=2JV!F0!WU#fs+13$s/H#"_Z0Z._Z0Z%g'+2Mk2s5TJ,~> -!<E0!jo_F0K7id/!WTias+13$s/H#"^&S-)^&S,ueHMcKk2s>WJ,~> -!<E0!jo_F0K7ij1s8N+P]n-37s+13MrrIbcrVuT)s8VE8"f21\k.LbF~> -!<E0!jo_=2JV!L2s8N+N_L_`<s+13MrrI\frVuT.s8VE="ektYk.1PC~> -!<E0!jo_F0K7ij1s8N+P]n-37s+13MrrIbcrVuT)s8VE8"f21\k.LbF~> -!<Bh3S-%5nKD3(Ys8R]Q^&S+`eUc8%eZIC%K)iU^s7j;-s6J2=S@tG_!!%N~> -!<B_0R0))nJbR%\s8RWO_Z0Xeg4@t/g9'*/JH3Ras7jJ2s6JABRC\fS!!%N~> -!<Bh3S-%5nKD3(Ys8R]Q^&S+`eUc8%eZIC%K)iU^s7j;-s6J2=S@tG_!!%N~> -!!)uB".[noKDE4Zrrpr*K>%<bJ^o>%J^pmQs+:Hfs8UX"rVu`-s8VE8"e<iN]po(Q~> -!!)u?".@koJbd1]rrq,-J\qHeJ_G\/J_I6[s+(<is8Ug,rVu`2s8VE="e!NE\sWPK~> -!!)uB".[noKDE4Zrrpr*K>%<bJ^o>%J^pmQs+:Hfs8UX"rVu`-s8VE8"e<iN]po(Q~> -!<CCD]`XeTK7j'7rVulIs+:Bds8RZ#J^o>%Xk!H(!knX6rRLlHr4W.1ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!^8rVulNs+(6gs8RZ(J_G\/XkNf+!lG!;rS%5Mr5/L6le2N1b.>0P!.Y~> -!<CCD]`XeTK7j'7rVulIs+:Bds8RZ#J^o>%Xk!H(!knX6rRLlHr4W.1ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j-9rVufGs+:Bds8RZ#J^o>%Xk!H(!knX6qpkZFrk8@3ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!d:rVufLs+(6gs8RZ(J_G\/XkNf+!lG!;qqD#Krke^8le2N1b.>0P!.Y~> -!<CCD]`XeTK7j-9rVufGs+:Bds8RZ#J^o>%Xk!H(!knX6qpkZFrk8@3ldZ0/c+Uf\!.Y~> -!<CCD]`jqVK7gkNrVu`Es+:Bds8RZ#J^o>%Xk!H(!knX6q:5HD!knX6ldZ0/c+Uf\!.Y~> -!<C:A\cnMUJUt\TrVu`Js+(6gs8RZ(J_G\/XkNf+!lG!;q:bfI!lG!;le2N1b.>0P!.Y~> -!<CCD]`jqVK7gkNrVu`Es+:Bds8RZ#J^o>%Xk!H(!knX6q:5HD!knX6ldZ0/c+Uf\!.Y~> -!<CCD]`FYRqh+[os+:Bds8RZ#J^o>%Xk!H(!knX6pso=qs8VE8"e<iN]po(Q~> -!<C:A\cJ5QqgnOrs+(6gs8RZ(J_G\/XkNf+!lG!;ptG[ts8VE="e!NE\sWPK~> -!<CCD]`FYRqh+[os+:Bds8RZ#J^o>%Xk!H(!knX6pso=qs8VE8"e<iN]po(Q~> -!<CCD]`jqVK7gkNrIasss+:Bds8RZ#J^o>%Xk!H(!knX6q:5Fr!knX6ldZ0/c+Uf\!.Y~> -!<C:A\cnMUJUt\TrIOh!s+(6gs8RZ(J_G\/XkNf+!lG!;q:bdu!lG!;le2N1b.>0P!.Y~> -!<CCD]`jqVK7gkNrIasss+:Bds8RZ#J^o>%Xk!H(!knX6q:5Fr!knX6ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j-9rIb$us+:Bds8RZ#J^o>%Xk!H(!knX6qpkXtrk8@3ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!d:rIOn#s+(6gs8RZ(J_G\/XkNf+!lG!;qqD""rke^8le2N1b.>0P!.Y~> -!<CCD]`XeTK7j-9rIb$us+:Bds8RZ#J^o>%Xk!H(!knX6qpkXtrk8@3ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j'7rIb+"s+:Bds8RZ#J^o>%Xk!H(!knX6rRLk!r4W.1ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!^8rIOt%s+(6gs8RZ(J_G\/XkNf+!lG!;rS%4$r5/L6le2N1b.>0P!.Y~> -!<CCD]`XeTK7j'7rIb+"s+:Bds8RZ#J^o>%Xk!H(!knX6rRLk!r4W.1ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j!5rIY:(K7gl;s+/^OeUc8Qec17)^&S,_ebt-s^&S,ueHMJf]tKp9J,~> -!<C:A\c\ASJV!X6rIG.+JUt]<s+/mTg4@t[gAc^,_Z0YigAQU!_Z0Z%g'*ne]"4:0J,~> -!<CCD]`XeTK7j!5rIY:(K7gl;s+/^OeUc8Qec17)^&S,_ebt-s^&S,ueHMJf]tKp9J,~> -!<CCD]`XeTK7ip3r.>'as8RZ#J^o>%Xk!H(!knX6rIamYs8VE8"e<iN]po(Q~> -!<C:A\c\ASJV!R4r.+pds8RZ(J_G\/XkNf+!lG!;rIOa\s8VE="e!NE\sWPK~> -!<CCD]`XeTK7ip3r.>'as8RZ#J^o>%Xk!H(!knX6rIamYs8VE8"e<iN]po(Q~> -!<CCD]`XeTK7ij1rdt9cs8RY&JV/N+X+LPgs8R_(p:^M+ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!L2rdb-fs8RY$JUrB'X+:Djs8RY$p;6k0le2N1b.>0P!.Y~> -!<CCD]`XeTK7ij1rdt9cs8RY&JV/N+X+LPgs8R_(p:^M+ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7id/!e\2dJV/N+JV0tT!knVdoY(;)ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!F0!eJ5gJUrB'JUshP!lFtgoYUY.le2N1b.>0P!.Y~> -!<CCD]`XeTK7id/!e\2dJV/N+JV0tT!knVdoY(;)ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7eaTJcC<$L]?\j"e<iN]po(Q~> -!<C:A\c\ASJUrCPJcC<$L]?\o"e!NE\sWPK~> -!<CCD]`XeTK7eaTJcC<$L]?\j"e<iN]po(Q~> -!<CCD]`O_SK7X&Rs+13)s6J2=SB\a\S,e'~> -!<C:A\cS;RJV!iPs+13)s6JABREE+PR/ha~> -!<CCD]`O_SK7X&Rs+13)s6J2=SB\a\S,e'~> -!<CCD]`=RReUc8%eUc9=eHMJf]tKp9J,~> -!<C:A\cA.Lg4@t/g4@uGg'*ne]"4:0J,~> -!<CCD]`=RReUc8%eUc9=eHMJf]tKp9J,~> -!<CCC^%%VDUk,=mUlM5N^%.Znc2PBWS,e'~> -!<C:@]()2>Tn/ngToPfH](26hb5SsQR/ha~> -!<CCC^%%VDUk,=mUlM5N^%.Znc2PBWS,e'~> -!\j]"rOqgI!53s`JcC<$NrSXork/B'!&9!~> -!^m%2rOVUC!4ma]JcC<$NrSXlrji0!!(;>~> -!bq_[rOqgI!53s`JcC<$NrSXork/B'!-<Y~> -!\j]"n%A^kJ`_OGJ``!T!6suG!h96NJ,~> -!^m%2n%&LeJ`_OGJ``!T!6XcA!gs$VJ,~> -!cn@dn%A^kJ`_OGJ``!T!6suG!h973J,~> -s#C,\S=K,_!1\W&J`_OGNog>dn\+sm!WY58J,~> -s$QngR@3TV!1AE#J`_OGNog>an[eag!WYVVJ,~> -s)S5AS=K,_!1\W&J`_OGNog>dn\+sm!W[:_J,~> -">Mnk!!)MYJ\?WJJ\@&VnXTUZs"OL6J,~> -r^?bdn<nj=J\$EDNOnYJrrE$dJ,~> -rcA)>n=5'CJ\?WJNP4kPrrE%>J,~> -rAaj4JH16$JH16$li7#?r]'s5J,~> -r'Z)9JH16$JH5$:r'Z&~> -r,[DhJH16$JH5$:r,[A~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/megaco_tracer.gif b/lib/et/doc/src/megaco_tracer.gif Binary files differdeleted file mode 100644 index cc4f747f03..0000000000 --- a/lib/et/doc/src/megaco_tracer.gif +++ /dev/null diff --git a/lib/et/doc/src/megaco_tracer.png b/lib/et/doc/src/megaco_tracer.png Binary files differnew file mode 100644 index 0000000000..b4b65a9f47 --- /dev/null +++ b/lib/et/doc/src/megaco_tracer.png diff --git a/lib/et/doc/src/megaco_tracer.ps b/lib/et/doc/src/megaco_tracer.ps deleted file mode 100644 index da1e1b6ba0..0000000000 --- a/lib/et/doc/src/megaco_tracer.ps +++ /dev/null @@ -1,2508 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/megaco_tracer.ps -%%CreationDate: Mon Oct 14 17:35:19 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 443 516 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 501.599409 translate -428.031496 -501.599409 scale -% Image geometry -512 600 8 -% Transformation matrix -[ 512 0 0 600 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 512 string def -/gstr 512 string def -/bstr 512 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 143198 ASCII Bytes -colorimage -">Mns0fadbJH16$MZ<c<1&a1`~> -r'Z)9JH16$MZEZCJ,~> -rc8*TF+F=B!.b-.!;png~> -"?A1s!!)Qh!53s`JcC<$fDbiaa8c/>!\l\qJ,~> -r^?bdnc&U'JcC<$JcF@%!5?MRrrE$dJ,~> -rcA)>nc&U&JcC<$JcF@%!56GQrrE%>J,~> -">Mn:s8VWG!53s6J^o>%f@9l7a56ja!WY58J,~> -s$Qngs8VWC!5=$8J_#D'f@Br9a4gR]!WYVVJ,~> -s)S5As8VWG!53s6J^o>%f@9l7a56ja!W[:VJ,~> -!]^8\n(n&XJ^o>%J^rB&!56A.!lY."J,~> -!^m%gn(IcUJ_#D'J_&H(!5?G+!l=q*J,~> -!cnAAn(n&XJ^o>%J^rB&!56A.!lY.\J,~> -!\j]Tn(n&XJ^qcj!6(hc!6'N>n'qEO`SL[8!',Q~> -!^m%gn(IcUJ_%il!QrigecEqAJ_'>A!5?G+!l=q*J,~> -!bq`8n(n&XJ^qcj!6(hc!6'N>n'qEO`SL[8!-<Y~> -!<E/fh>k6HeH(;L`75%1Ut*/*HiB90eH(;LYLN]fH[GaVs4%.&HgoPdUqMW8!57RPpRLp5s.'&E -s.'#D!NZ9O~> -!<E/fg&SjEf)L<>edTEhf"Q]`R?<W_eq&CUed9'AI@64[f%,D'nC@W6^5:D@^?=5ERJ#;6RJkk> -RJbb>XoNt~> -!<E/fh>k6HeH(;L`75%1Ut*/*HiB90eH(;LYLN]fH[GaVs4%.&HgoPdUqMW8!57RPpRLp5s.'&E -s.'#D!NZ9O~> -!<E/thZ',ChZ',Eh>k7dec0srMuM6.UjIaFeH*Y&eCFGC!/(-u!J>a^eI9ELe^_X/K6r6@c./'U -HNBA]r-JI&^&-=l`I"uBMgNFnPa'_KK6u/!`P&V.%?#SPeWc<KeUr5!e]#5oeH3+)`JW1G^$"8H -SG(h<SH%IESGh:FX8mb~> -!<E/tf)M08f)M0:ec<G]df4^qNW.?-Tm_XGdK.4neC">Jr-\R!qU5CpkL'dQL!nDhR>$'CS]]BG -qgAO.dXh@F!K"PfdLj?I[aL.``m0^/daE\tdaH"@ZdK;BIE'QpOj_[/J^Vu`[e.uL[XGlIdK%#E -f(YU+f);$:f);$8ecDoRJ,~> -!<E/thZ',ChZ',Eh>k7dec0srMuM6.UjIaFeH*Y&eCFGC!/(-u!J>a^eI9ELe^_X/K6r6@c./'U -HNBA]r-JI&^&-=l`I"uBMgNFnPa'_KK6u/!`P&V.%?#SPeWc<KeUr5!e]#5oeH3+)`JW1G^$"8H -SG(h<SH%IESGh:FX8mb~> -!<E/uhYiuChYiuDh>k7dec'n!c.1?sH\9o"!J>aKec1!o^&$7[K6ue3)l0"S`IiN=]qg"-c,IB0 -H[EH>`RT<^]tL4gKDX1&Mj2cBK7!LG"bV0PeUr4TeH(;Lqpbk&He$Z!Hh5bgP`(FL!57RPpRLs6 -pRM3=!NZ9O~> -!<E/uf);$8f);$9ec<G]df+Xub0n^lI>-8#s+/\J!J,[t\cBJ@df4m]dMo$Rd`-idV7NLOL!%9D -\p]"<]#)mHJ\&FdI>RjL"c8MmdXcuHdf4mudf4m)df4mqdf4mudf4midK,ViMUDL=kLTBqp=Au+ -rRM"P!.Y~> -!<E/uhYiuChYiuDh>k7dec'n!c.1?sH\9o"!J>aKec1!o^&$7[K6ue3)l0"S`IiN=]qg"-c,IB0 -H[EH>`RT<^]tL4gKDX1&Mj2cBK7!LG"bV0PeUr4TeH(;Lqpbk&He$Z!Hh5bgP`(FL!57RPpRLs6 -pRM3=!NZ9O~> -!<E/uhY`oDhY`oCh>k7deJ!:^HaM>BH\6t$e]!GnK='1Z`K^=J'\10eH[C[ie^^aZH[C[qeZ=[U -Mlcg+!2TU@*lX%qXGb&^H[C[ie^^aZH[C[qe]!GnK='1ZMi4Zpo[WtgqUPV((T`PFK6u.fP^@b8 -`RWLsMnOai[+3^GPl5t.eHLlEeWbE^rm_(GH^t)cs*O^ps*Oaqs*O[o"MK/qeXZVc#gJ!Ke^];! -eYN1ks2>D)H\8]UeVf?eMq*H,qpk_)'"rpE['YI4[+3^GMgL)`e^_X'rHf7/`KY^rMoF5sXG_FP -Mp9eRMgLA`psfA7rd+pqK6u/!K6u.Erd4[a%?#Rc[+3]bMl_ie]mIGNeH!;GhY3Q5hYE]>h>s\X -J,~> -!<E/uf)1s9f)1s8ec<G]dM%%_IBq;<JUrO'd__,pKsK.T_NFeF'[k!`JUNNldaG:TI=6spd]SFT -M6?a(!29C?*l<nrV2`KWJUNNldaG:TI=6spd__,pKsK.TNK'coo[3bkIJVClN>JFNdXctt`fYh# -NP<ihNK(N'J[3_P_NFeFrmCt0]$cjlY5ZiNV1"p6dK+oIrR1^srmLgpr6b_ZICdjprd>'pJUu7t -JUu7CrdFg`%$>slZI70\NMVW_JV!^Hs,@Z"Kn6D8Kn6PXd__,pKsK.T_NFeF'[k!`JUNNldaG:T -I=6spd]SFTM6?X%!1Eh7#g.^LdaE\td\6Ygs2#5-I>+uTdZ'6_NRG7`\r4u:^?=)ARJ#/,RJbV: -XoNt~> -!<E/uhY`oDhY`oCh>k7deJ!:^HaM>BH\6t$e]!GnK='1Z`K^=J'\10eH[C[ie^^aZH[C[qeZ=[U -Mlcg+!2TU@*lX%qXGb&^H[C[ie^^aZH[C[qe]!GnK='1ZMi4Zpo[WtgqUPV((T`PFK6u.fP^@b8 -`RWLsMnOai[+3^GPl5t.eHLlEeWbE^rm_(GH^t)cs*O^ps*Oaqs*O[o"MK/qeXZVc#gJ!Ke^];! -eYN1ks2>D)H\8]UeVf?eMq*H,qpk_)'"rpE['YI4[+3^GMgL)`e^_X'rHf7/`KY^rMoF5sXG_FP -Mp9eRMgLA`psfA7rd+pqK6u/!K6u.Erd4[a%?#Rc[+3]bMl_ie]mIGNeH!;GhY3Q5hYE]>h>s\X -J,~> -!<E/teb>U4eH!;[bq4:4H^)dNP_4V5`IifVP^CBoK7h.fK6tkVXM(ufMp8&EMmTje`N4EN]p*lF -r66G)H[EHNK6rNP]r\oSH]-.EH],8<UrC<*K>!Lr`Qa$^Mkp!is*O^XrlldBH]+]EK6tkVXM(uf -Mp9M!H]+D@K?_YnK>l)fHd0gSHd0f^Hc?!/!kir5rltIirQY@hs31V@H].gH,+O#!c,G$V^!21V -c-:lfc,G$V]u>VV]p*l_c%CA$Us4gMqopaGH]+D@H]+D@K?_AfK>!Lr`Qa$f`Qa$^c+U3l[!R_U -UjJ$,[%t[BH^)4.H`[%f+2rSR^!21Vc-:lfc,G$V]u>VV]p*l_c%CA$Us6l*S;YVl^$!oGSGC\8 -SFkA/SGUh;X8mb~> -!<E/tdeB1.dK%#Yc7OI8I?i*SR>$@?b(58XQ$pZpJVCtdKmh7\Y.h>mM9_rGM6aRi`i=HP^6O,H -r6?M+JUPD\JUNBO^952YI>Q7GI>P8<WlE24Kt<Ot`m0-`M5Bji!J,[t\gbeIc@LD#V9XXCcG$Hq -[XF"Xc@LD#Tm_X?b(58`c@p\lcGkFXc@(,\rltS^I>.[G!J,[tcMrFucH;u3Oo3KKTmar+`drQT -c@LPlc@LPl`drQT`driTQ$pZtJUNBOcA@DTc7XZrNM1cKNM1cScH:]l\s7]`b(58`c@p\l^952Y -I>Q7GI>P8<WlD&eQ+iN3Wqjp^`drQTc@LPlc@LPl`drQT`driTQ$pZtJUNBOcGk:+Mp;=:kL'?u -q9f82o[<W)qpGMJ!.Y~> -!<E/teb>U4eH!;[bq4:4H^)dNP_4V5`IifVP^CBoK7h.fK6tkVXM(ufMp8&EMmTje`N4EN]p*lF -r66G)H[EHNK6rNP]r\oSH]-.EH],8<UrC<*K>!Lr`Qa$^Mkp!is*O^XrlldBH]+]EK6tkVXM(uf -Mp9M!H]+D@K?_YnK>l)fHd0gSHd0f^Hc?!/!kir5rltIirQY@hs31V@H].gH,+O#!c,G$V^!21V -c-:lfc,G$V]u>VV]p*l_c%CA$Us4gMqopaGH]+D@H]+D@K?_AfK>!Lr`Qa$f`Qa$^c+U3l[!R_U -UjJ$,[%t[BH^)4.H`[%f+2rSR^!21Vc-:lfc,G$V]u>VV]p*l_c%CA$Us6l*S;YVl^$!oGSGC\8 -SFkA/SGUh;X8mb~> -!<E/sebPa5eH!;[bnk`&P^CZ5["F"UXF$J^XF%%MH^r@*K7!UB#K=B/K?]$q`Vn$cK6tS^`I!77 -blr`Hc-:lfrQPSd]n:s^K6tT9bmCIuSB\-^XNcBEqoo5=H[CDCc22hj^!4fSHiD7jK7!UB)o]LC -K?_YnHc=6VHd/X=SB]<2Hd0g:Pg.I"Hi;1j`Hut2c2W.hc2;nhMoGV=!L.s1bnu([c-:lfc-:lf -c-:lfc)c8^c)c8nc%CB:bnu([`Q`aV`Q`aVc)c8^c)c8nXF$J^c%CBBbm25$K7hF$Hc>s.#(q9A -c,G$^prsY.Hd0ffHd0ffHd0ffHd/X=SB\-^XNcBErQP@iP`*cd^$!oGSGC\8SFkA/SGUh;X8mb~> -!<E/sdeT=/dK%#Yc51o*Ob(Z3ZA""XY'm"dY'mIYI@\[/KmisG#K"3+L!GC#_YqaaM1*Ch`dN^@ -cMrIqc2rQFb5TZk_S1STc@p\`rQYbQIA+fdIBLkHIEMK5"/UEoM>YX!Jc'p&^<Y#TIEKj\JV!gG -)oB=?L!ItpIE'Q`J^1QLS^,N7IEp-@Q-RO#IJqFmb'e^;c2iKErQYCorI"^'_Yh[[Q$rYWs+13q -s+13qs+13qs+(R'Y'm"dY'mIuJUP]8c5;+\b0GQdb0GQhcE;Shb-$/qZ@/:hc@p]Gc3M5#JVDC' -IDYs.#)RcJcGk9hps/njs3CXqs3CXqs3CXq$dPo'TusNdY0MTHb5TZeI?f`9!5@XE!1EZ2!1EK- -qjI?0!NlEQ~> -!<E/sebPa5eH!;[bnk`&P^CZ5["F"UXF$J^XF%%MH^r@*K7!UB#K=B/K?]$q`Vn$cK6tS^`I!77 -blr`Hc-:lfrQPSd]n:s^K6tT9bmCIuSB\-^XNcBEqoo5=H[CDCc22hj^!4fSHiD7jK7!UB)o]LC -K?_YnHc=6VHd/X=SB]<2Hd0g:Pg.I"Hi;1j`Hut2c2W.hc2;nhMoGV=!L.s1bnu([c-:lfc-:lf -c-:lfc)c8^c)c8nc%CB:bnu([`Q`aV`Q`aVc)c8^c)c8nXF$J^c%CBBbm25$K7hF$Hc>s.#(q9A -c,G$^prsY.Hd0ffHd0ffHd0ffHd/X=SB\-^XNcBErQP@iP`*cd^$!oGSGC\8SFkA/SGUh;X8mb~> -!<E/rebbm6eH!;[bmJfnXF$aic%CYnV#5T>U^qgJc-:lfc+Sa^MgL*$H[G\8s*Oais*OXf&;,>S -c%CAfc+Sa^MgL*$H[G\8!2TO>"/O1oHi)%i`P&t(r6>7gqTT%nHiD85K6tkVK7f)/K?_YnHd0ff -Hd/@5Us7/:Hd0g"XNf":Hc?!/!kir5rltIirQY@hs0MdFqTT&*HiD8#K6tkfK6tkfK6tkfK6tk= -r-JOAc%CB:bmT/Nc-:lfc-:lfc(t8as.g0PUs7/:Hd06VK8Y)/c$Og8c2W.ic2W.cbn#GRc-:lf -c-:lfc-:lfc(t8a"/O1oHi;1iH^'H5!58<\!582u!58*V!1`l8!1``4q4.B5!NZ9O~> -!<E/rdefI0dK%#Yc3eurY'm<ub(YPpV>PcAV%8!JcH_,lcFS^\NI?N+I=;%=!J,[ucMr=icMrIq -cMrIqc3V"8JW5)3c@(-=c2a^=I06=kJV!^D!6Y;Xr6>=oIJV7hJc<spJKN1KKn553L!ItpJ^2Pl -J^1*?U!Cr;IEp-#Y0P=@IE)93!lBA>rltOqIJqIkJcE:]_YVOYQ$rYWs+13qs+13qs+13qs+(3r -V>P`DV9XXCp<N\hs3CXqs3CXq!R@P>IK-,SIA+s3Kmh7XKn553L!G*pr6>=oIK%OlIJD+fJcF$q -JcF$qJcF$qJH=&mr-\[Dc@LQFc2i?YMp;=:r6bSVq3_5op<ir/q9f82p!WZ(r6bVK!.Y~> -!<E/rebbm6eH!;[bmJfnXF$aic%CYnV#5T>U^qgJc-:lfc+Sa^MgL*$H[G\8s*Oais*OXf&;,>S -c%CAfc+Sa^MgL*$H[G\8!2TO>"/O1oHi)%i`P&t(r6>7gqTT%nHiD85K6tkVK7f)/K?_YnHd0ff -Hd/@5Us7/:Hd0g"XNf":Hc?!/!kir5rltIirQY@hs0MdFqTT&*HiD8#K6tkfK6tkfK6tkfK6tk= -r-JOAc%CB:bmT/Nc-:lfc-:lfc(t8as.g0PUs7/:Hd06VK8Y)/c$Og8c2W.ic2W.cbn#GRc-:lf -c-:lfc-:lfc(t8a"/O1oHi;1iH^'H5!58<\!582u!58*V!1`l8!1``4q4.B5!NZ9O~> -!<E/qebu$7eH!;[bm\rp`Hurrc%CYnXF$K9bn7%(SB]<*Hd.Iqc-:lnc%CAVrQPP!Hc=7KH\;4? -&VGGTc%CAfc&6qnc%CYnK6t<1blXtnSG^V4K7!16s*OUe!J>auboq^dc&6qnc%CYnc%CAfc%CAf -XF$J^c$Of^c$RFSc'3RVrlkM?H^t)[s*O^hs*OLb(8Q;rc-:lfc-:lfc-:lfc-:lfc)c8^r657p -HhP\nK6tkfK6tkfK6tkEH^t&Z&Zg>Lc-:T^c&6qnc%CYnK6t<1bm&fI`QcAKKD<\'K6tkfK6tkf -K6tkfK6tkEH^t#Y!J>aublYk2S;YVl^&6FTSG(J5SGC\8SG(M-SGgt=X8mb~> -!<E/qdf#U1dK%#Yc4#,t`dN9#c@pttY'm#Bc4R4-REis+IEmh'b0G]pc@p\\rQYV(IE'RPI>RjH -s+13qs+13q$&sMYc@pttKmg]6c2t.sU&<49Jb%(eJURC?s+10ps+)9;NIf6tKn[gtJUu+lJUu+L -I@8C'JUPhdIE'RXQ$o\3c2s\fRJtJ4JURLBs+0pi(86/rcH^ulcH^ulcH^ulcH^ulcE;Shr6G=n -p<N\hs3CXqs3CXq"4"&tU&E7KY'l_`b(4udNIf6tKn[g+ID5[*#)RcJcGk9hps/njs3CXqs3CXq -s3CXq"4"&tU&<49Jc<pr`dOP=c2bTVdeB1'dK#^2dK#^/deB1.dK-KNJ,~> -!<E/qebu$7eH!;[bm\rp`Hurrc%CYnXF$K9bn7%(SB]<*Hd.Iqc-:lnc%CAVrQPP!Hc=7KH\;4? -&VGGTc%CAfc&6qnc%CYnK6t<1blXtnSG^V4K7!16s*OUe!J>auboq^dc&6qnc%CYnc%CAfc%CAf -XF$J^c$Of^c$RFSc'3RVrlkM?H^t)[s*O^hs*OLb(8Q;rc-:lfc-:lfc-:lfc-:lfc)c8^r657p -HhP\nK6tkfK6tkfK6tkEH^t&Z&Zg>Lc-:T^c&6qnc%CYnK6t<1bm&fI`QcAKKD<\'K6tkfK6tkf -K6tkfK6tkEH^t#Y!J>aublYk2S;YVl^&6FTSG(J5SGC\8SG(M-SGgt=X8mb~> -!<E/pec208eH!;[bq4:<c&6qMc%CYnc%CA=[&gXRH[DQHH[F"qH`X;qHbHM-K<2bf`N4EN]p*lF -qop48HaM%MHd0fnH`X;qHbHM-K<2bf`Qa$^UpR51c%CB6c2W.g[/\AOK7!UB)hWL^MgMP,H[EHN -K6tkfK6tk^H[DQHH[F#EMuLs,]mG+%[%r&$`W"-^Hi;4hHhYc*]mI-2c%CAfc%CAfc%CAfc%CAM -`IiN5[&gXZK7!UB!K2U-bq=Wqc-:lfc-:lfc-:lfUpR51`Hus-MgKfqMgMP,H[EH-H\8E5XMq8f -PeE<.XSC$WK6tkfK6tkfK6tkfK6suEK6sE$XL-6)HiD7k[!TKEblGHTeb>U-eGu-8eGu-5ebu$< -ebu$:eH)`OJ,~> -!<E/pcMs1*c2bTUat8%8b)(PLb(YPl`eAi;[]ZpQI=7fGI=97pIB';qID2_0Ks%ka_Q&$L\s7]? -qoU";[email protected]]c,lIB';qID2_0Ks%ka_T%:XV7*P4b(5-7aoR'Ar3?FEb(5-Cb5[#1b)(PHWdT<0 -b(5,db(5,d_L6j+M1'fpZAJS'#ekk<TsCA?J\qE/!J,[tb5[%earS'AY0+n<J]c,dJ]c,dJ]c,l -IC@"HIAOBTZH@`LrlY7tqo\qis2t@ms2t@m,g+,\IAOBTZGM$<To"2Gb)(PHWdT<0WdTT([]73E -I?hC/IAQ_]s+13ms+13ms+13m%#KD@_M*E7[]ZpYJV!gC!j6s[Mol%6r6G&%p<EZ'q9Au*p<NW% -s3CS.rQYGH!.Y~> -!<E/pec208eH!;[bq4:<c&6qMc%CYnc%CA=[&gXRH[DQHH[F"qH`X;qHbHM-K<2bf`N4EN]p*lF -qop48HaM%MHd0fnH`X;qHbHM-K<2bf`Qa$^UpR51c%CB6c2W.g[/\AOK7!UB)hWL^MgMP,H[EHN -K6tkfK6tk^H[DQHH[F#EMuLs,]mG+%[%r&$`W"-^Hi;4hHhYc*]mI-2c%CAfc%CAfc%CAfc%CAM -`IiN5[&gXZK7!UB!K2U-bq=Wqc-:lfc-:lfc-:lfUpR51`Hus-MgKfqMgMP,H[EH-H\8E5XMq8f -PeE<.XSC$WK6tkfK6tkfK6tkfK6suEK6sE$XL-6)HiD7k[!TKEblGHTeb>U-eGu-8eGu-5ebu$< -ebu$:eH)`OJ,~> -!<E/feH!;[bq+4;c+U4'c%CYnc,GooH\8EEXFl/4K6tkMK6s,aH^r?^MgKf/`QbK:H\8Erboa<F -HbG&Yc-<VJH^pmYSB\-nH[C[ic,GooH\8EEK7!16qKi=Xc%CBBbo;:^c*W+MS>:M%c%CAfc%CAf -c)cPM["E_MS>?,.#/ugZH\7j-rQY@hrQY@hp<EVqs32C5Hd0ffHd0ffHd0gBK6t;NP^@b0XNcBE -rlkIrHi)&>K6tkfK6tkfK6tkf`KY^rK<3>!K7gO`Hd/pMH^pmYSB\-nH[C[ic)cPEK<4gl(k[1[ -c%CAfc%CAfc*W+M]u?4_H\8EEK7!UBs,2cZ!58<\!582u!58*VpRLp,s.'&<s.'#;!NZ9O~> -!<E/fc2bTUat.t7b.=Umb(YPlb/0EpI>+iHY(;;4Kn7CTKmfMcI@86XM1'f/^<3:+I>+]tardp? -J\$D`b0%/HI@['[REDOdI=6sdb/0EpI>+iHJV!C7!.k#q"1lX+Jc<glJJlV=KmfMcI@86/J]c,d -J]c-<JVCC`J]aCSrQ5>YQ%=@;RDSpF!J,[tb5[%db5[J$b5[%mb5[%mb5[%mapbS,J\&^`JUN6T -b(5-Cb5[%ib5[%mb5[%mb5[%mas"WeJUN6Tb-$;LZA!kP[Y9.#Tm`?OWel.PM8%-/KmeZTpWEMe -s2t@ms2t@ms2kbUJUtDLQ%=@;Y0)<HrlY8#MTPq5r6>;Nq3:rgp<NDtp!3T&rQbG.r6>>G!.Y~> -!<E/feH!;[bq+4;c+U4'c%CYnc,GooH\8EEXFl/4K6tkMK6s,aH^r?^MgKf/`QbK:H\8Erboa<F -HbG&Yc-<VJH^pmYSB\-nH[C[ic,GooH\8EEK7!16qKi=Xc%CBBbo;:^c*W+MS>:M%c%CAfc%CAf -c)cPM["E_MS>?,.#/ugZH\7j-rQY@hrQY@hp<EVqs32C5Hd0ffHd0ffHd0gBK6t;NP^@b0XNcBE -rlkIrHi)&>K6tkfK6tkfK6tkf`KY^rK<3>!K7gO`Hd/pMH^pmYSB\-nH[C[ic)cPEK<4gl(k[1[ -c%CAfc%CAfc*W+M]u?4_H\8EEK7!UBs,2cZ!58<\!582u!58*VpRLp,s.'&<s.'#;!NZ9O~> -!<E/feH!;EblN0DOj+#UK?]%^hou5AK<3&:!IKIac2)be^#mQ@XFnKLblGGqeH)`OJ,~> -!<E/fc2bT@ao]S2Kp'R^`dNQ`Kt?0a!lBMb`l\A&I>-t/qL&@Tk/mb*J\m;e!5?Cs!NlEQ~> -!<E/feH!;EblN0DOj+#UK?]%^hou5AK<3&:!IKIac2)be^#mQ@XFnKLblGGqeH)`OJ,~> -!<E/fblGHB`<N]6Uo]K$S<h,"[$7AfMgLu$KAFKI]qifi#.0VjXG_Fqa2J(T]ns].]u8.rX8mb~> -!<E/faoK0@`Wil6WiD&,TpE\([ZRSiNI@M/J_e<H^7i]h#.BYoWf;G#a2S.R^59i0^;S.pXoNt~> -!<E/fblGHB`<N]6Uo]K$S<h,"[$7AfMgLu$KAFKI]qifi#.0VjXG_Fqa2J(T]ns].]u8.rX8mb~> -!<E/fblGHB`<Er>K6r6HQ,O$BP_4=8UrC$SUr<MNP_4=8Uk-M/`;mTiblOmGJ,~> -!<E/faoK0@`Wa)=JUN6GQ,X*DOb%q7TuOgXUrESPOb%q7Tn15-`W3`kaoSXFJ,~> -!<E/fblGHB`<Er>K6r6HQ,O$BP_4=8UrC$SUr<MNP_4=8Uk-M/`;mTiblOmGJ,~> -!<E/fblGG.`IZ!Z`Ri'/]u8.rX8mb~> -!<E/faoK/,`du-\`n/31^;S.pXoNt~> -!<E/fblGG.`IZ!Z`Ri'/]u8.rX8mb~> -!!%S&JV/N+K7a.(J,~> -!!%S$JUrB'K7O"&J,~> -!!%S&JV/N+K7a.(J,~> -!<E0!joD3.s+13$s,I$^V#TT>]`<Q~> -!<E0!joD*+s+13$s,I$^U&X9;\c@6~> -!<E0!joD3.s+13$s,I$^V#TT>]`<Q~> -!<E0!joD3.s+13$s,R*`K;AP0k.LbF~> -!<E0!joD*+s+13$s,R*`JYE,+k.1PC~> -!<E0!joD3.s+13$s,R*`K;AP0k.LbF~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:A!!:[N!:A>:!<(IH!7TKs!;Y1F!!:[N!:eV>!9Vi-!!^sR!7fU"!9Vi3!<1OK -!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IF!!:jS!:AM?!<(XM!7T[#!;Y@K!!:jS!:eeC!9W#2!!_-W!8?-,!9W#8!<1^P -!;Y@K!.ijTg?@8jJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:A!!:[N!:A>:!<(IH!7TKs!;Y1F!!:[N!:eV>!9Vi-!!^sR!7fU"!9Vi3!<1OK -!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!;b7G!:A>:!<(IJ!7KEt!<:UL!;b7G!!:[N!:eV>!9Vi3!;b7G!<:UL!9Vi3 -!<1OK!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!;bFL!:AM?!<(XO!7KU$!<:dQ!;bFL!!:jS!:eeC!9W#8!;bFL!<:dQ!9W#8 -!<1^P!;Y@K!.ijTg?@8jJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!;b7G!:A>:!<(IJ!7KEt!<:UL!;b7G!!:[N!:eV>!9Vi3!;b7G!<:UL!9Vi3 -!<1OK!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<:UL!!LgP!7fWu!<:UL!<:UL!<:UL!<:UJ!<:UL -!!:[N!;+hA!;k=F!<:UL!!LgP!7fWu!<1OI!<:UJ!<:UJ!<:UL!!:[N!;+hA!<(IJ!!CaO!7h#J -s4.&Js4.,L!n@8No[WsArmh#Ks4.&Js4.,L"k<SQeGoT#eUc9=ec17*V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<:dQ!!M!U!8?0*!<:dQ!<:dQ!<:dQ!<:dO!<:dQ -!!:jS!;,"F!;kLK!<:dQ!!M!U!8?0*!<1^N!<:dO!<:dO!<:dQ!!:jS!;,"F!<(XO!!CpT!8@AO -s4[DOs4[JQ!nmVSo\0<Frn@APs4[DOs4[JQ"kiqVg&M,(g4@uGgAc^-U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<:UL!!LgP!7fWu!<:UL!<:UL!<:UL!<:UJ!<:UL -!!:[N!;+hA!;k=F!<:UL!!LgP!7fWu!<1OI!<:UJ!<:UJ!<:UL!!:[N!;+hA!<(IJ!!CaO!7h#J -s4.&Js4.,L!n@8No[WsArmh#Ks4.&Js4.,L"k<SQeGoT#eUc9=ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@s4.,L*7Y#heGoU"eGoU"!!(R"!!(R"!!(OL -!7fU"!7guIo[WsAr71fIs4.,L+OpGleGoU"!!(R"!!(OL!7fU"!7fU"!7fU"!7fU"!7guIo[WsA -rRLoJ&(LX[e^XX"e^XX"e^XX"ebfF>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(N -k2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Es4[JQ*81Amg&M-,g&M-,!!(a,!!(a,!!(^Q -!8?-,!8@>No\0<Fr7_/Ns4[JQ+PHeqg&M-,!!(a,!!(^Q!8?-,!8?-,!8?-,!8?-,!8@>No\0<F -rS%8O&)%!`g=cN,g=cN,g=cN,gACsCgA_0PgA_-[g&M-,g&M-,!!(aP!!:jS!.ijTg@*bqJH_bI -k2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@s4.,L*7Y#heGoU"eGoU"!!(R"!!(R"!!(OL -!7fU"!7guIo[WsAr71fIs4.,L+OpGleGoU"!!(R"!!(OL!7fU"!7fU"!7fU"!7fU"!7guIo[WsA -rRLoJ&(LX[e^XX"e^XX"e^XX"ebfF>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(N -k2s>WJ,~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ec,XLec,UheGoU"!!(R"!!(R"!!(OL!7_&Le^XX" -e^XX"ec#R>ec,XIec,XLec,U[eGoU"!!(OL!7fU"!7_&Lqpk]Hs4.,Ls4.,L!7h&Ko%!X<'%Hs^ -eGoU"eGoU"eGoU"eGoU"rW)N>q>_)W!!(R"!!(OL!7_&Le^XX"J^o>%n(%Gj"f21\k.LbF~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA_0QgA_-mg&M-,!!(a,!!(a,!!(^Q!87DQg=cN, -g=cN,gAV*CgA_0NgA_0QgA_-`g&M-,!!(^Q!8?-,!87DQqqD&Ms4[JQs4[JQ!8@DPo%O!A'&!<c -g&M-,g&M-,g&M-,g&M-,rW)NCq>_)\!!(a,!!(^Q!87DQg=cN,J_G\/n(Rem"ektYk.1PC~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ec,XLec,UheGoU"!!(R"!!(R"!!(OL!7_&Le^XX" -e^XX"ec#R>ec,XIec,XLec,U[eGoU"!!(OL!7fU"!7_&Lqpk]Hs4.,Ls4.,L!7h&Ko%!X<'%Hs^ -eGoU"eGoU"eGoU"eGoU"rW)N>q>_)W!!(R"!!(OL!7_&Le^XX"J^o>%n(%Gj"f21\k.LbF~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo$n!Ge^XZMeGoU"qZ-ZHrr<;S!!(OL!7fWs!!:[N!:eV> -!;tCI!<:UL!!^sR!7_&Leb]=JeGoUHec,XLec,XLec,UNeGoU>ec,XJec,UTeGoU"eGoU"eb]=J -eGoU>ec,XKec,ULeb]=QeGoU"!!(R"!!%T#J^s5>s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo%F?Lg=cP\g&M-,qZ-ZMrr<;X!!(^Q!8?0(!!:jS!:eeC -!;tRN!<:dQ!!_-W!87DQgA:jOg&M-MgA_0QgA_0QgA_-Sg&M-CgA_0OgA_-Yg&M-,g&M-,gA:jO -g&M-CgA_0PgA_-QgA:jVg&M-,!!(a,!!%T(J_KSHs+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo$n!Ge^XZMeGoU"qZ-ZHrr<;S!!(OL!7fWs!!:[N!:eV> -!;tCI!<:UL!!^sR!7_&Leb]=JeGoUHec,XLec,XLec,UNeGoU>ec,XJec,UTeGoU"eGoU"eb]=J -eGoU>ec,XKec,ULeb]=QeGoU"!!(R"!!%T#J^s5>s+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Lma_79s4.,L!n@8Nqpk]H$.T"UeGoU"eGoUIec,X>ec,XI -ec,XLec,UTeGoU"!!(OL!;tCI!;k=H!<:UL!<:UL!!:[N!:eV>!<(IJ!".6V!7fU"!7fU"!;tCI -!:eV>!<1OK!!:[N!;tCI!!^sR!7fU"!.i[OeaM&gK*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQmb7U>s4[JQ!nmVSqqD&M$/,@Zg&M-,g&M-NgA_0CgA_0N -gA_0QgA_-Yg&M-,!!(^Q!;tRN!;kLM!<:dQ!<:dQ!!:jS!:eeC!<(XO!".E[!8?-,!8?-,!;tRN -!:eeC!<1^P!!:jS!;tRN!!_-W!8?-,!.ijTg@*bqJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Lma_79s4.,L!n@8Nqpk]H$.T"UeGoU"eGoUIec,X>ec,XI -ec,XLec,UTeGoU"!!(OL!;tCI!;k=H!<:UL!<:UL!!:[N!:eV>!<(IJ!".6V!7fU"!7fU"!;tCI -!:eV>!<1OK!!:[N!;tCI!!^sR!7fU"!.i[OeaM&gK*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"n^[X>rmh#K#1W\Re^XX"rmh#Ks4.,Lrmh#Ks4.,L -!n@8NnC@O=s4.&Js4.,L(tATdeGoU"!!(R"!!(OL!7fU"!7fU"!7h&Ks4.,L!n@8Nn^[X>rRLoJ -#LreSe^XX"ec#RKec,UNeGoU>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(Nk2s>W -J,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,n_4!Crn@AP#20%Wg=cN,rn@APs4[JQrn@APs4[JQ -!nmVSnCmmBs4[DOs4[JQ(tnrig&M-,!!(a,!!(^Q!8?-,!8?-,!8@DPs4[JQ!nmVSn_4!CrS%8O -#MK.Xg=cN,gAV*PgA_-Sg&M-CgA_0PgA_-[g&M-,g&M-,!!(aP!!:jS!.ijTg@*bqJH_bIk2s5T -J,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"n^[X>rmh#K#1W\Re^XX"rmh#Ks4.,Lrmh#Ks4.,L -!n@8NnC@O=s4.&Js4.,L(tATdeGoU"!!(R"!!(OL!7fU"!7fU"!7h&Ks4.,L!n@8Nn^[X>rRLoJ -#LreSe^XX"ec#RKec,UNeGoU>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(Nk2s>W -J,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:\P=!<1OK!<:UJ!<(IJ!<:UL!<(IH!<:UL!:SJ:!<:UJ -!<:UL!!LgP!7fWu!<1OI!<(IJ!<:UJ!<:UL!:eV>!<(IJ!!:[N!<1OK!<:UJ!<:UL!:eV>!<1OK -!<:UJ!<:UL!!UmQ!7_&LJ^o>%ma_>i"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:\_B!<1^P!<:dO!<(XO!<:dQ!<(XM!<:dQ!:SY?!<:dO -!<:dQ!!M!U!8?0*!<1^N!<(XO!<:dO!<:dQ!:eeC!<(XO!!:jS!<1^P!<:dO!<:dQ!:eeC!<1^P -!<:dO!<:dQ!!V'V!87DQJ_G\/mb7\l"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:\P=!<1OK!<:UJ!<(IJ!<:UL!<(IH!<:UL!:SJ:!<:UJ -!<:UL!!LgP!7fWu!<1OI!<(IJ!<:UJ!<:UL!:eV>!<(IJ!!:[N!<1OK!<:UJ!<:UL!:eV>!<1OK -!<:UJ!<:UL!!UmQ!7_&LJ^o>%ma_>i"f21\k.LbF~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uDgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uDgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uDgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+,fRK7SZ9K*A(Nk2s>WJ,~> -!<E0!joV7Vs+,`PJUrB5JH_bIk2s5TJ,~> -!<E0!joV@Ys+,fRK7SZ9K*A(Nk2s>WJ,~> -!<E0!joM:XJV/N+JV/u8"f21\k.LbF~> -!<E0!joM1UJUrB'JUri4"ektYk.1PC~> -!<E0!joM:XJV/N+JV/u8"f21\k.LbF~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.e`#'V!;=tC!;P+E!!:[N!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD*+g>Uc`!;>.H!;P:J!!:jS!;kLM!9`)9!.ijTg@<l#U&X9;\c@6~> -!<E0!joD3.e`#'V!;=tC!;P+E!!:[N!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD3.e`#'Y!<:UL!;G%D!;4nB!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD*+g>Ucc!<:dQ!;G4I!;5(G!;kLM!9`)9!.ijTg@<l#U&X9;\c@6~> -!<E0!joD3.e`#'Y!<:UL!;G%D!;4nB!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD4Keb9%=eb]?&ec,XKec,XLeboLJeboLJeboLJec,UNeGoUHec,XIeboLJec,XKec,XL -eboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD+Hg@kRBgA:l+gA_0PgA_0QgAM$OgAM$OgAM$OgA_-Sg&M-MgA_0NgAM$OgA_0PgA_0Q -gAM$OgA_/(g4@uJg'+2Mk2s5TJ,~> -!<E0!joD4Keb9%=eb]?&ec,XKec,XLeboLJeboLJeboLJec,UNeGoUHec,XIeboLJec,XKec,XL -eboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD4KebB(DKDF't!//o&!<1OK!#X5d!7fU"!7fU"!7fU"!7fU"!7_&LeGoUHec,XJec,XL -ec,UNeGoUKec,UUeGoU"eGoU"!!%T#J^s;@"f21\k.LbF~> -!<E0!joD+Hg@tUIJbe%"!/0)+!<1^P!#XDi!8?-,!8?-,!8?-,!8?-,!87DQg&M-MgA_0OgA_0Q -gA_-Sg&M-PgA_-Zg&M-,g&M-,!!%T(J_KYJ"ektYk.1PC~> -!<E0!joD4KebB(DKDF't!//o&!<1OK!#X5d!7fU"!7fU"!7fU"!7fU"!7_&LeGoUHec,XJec,XL -ec,UNeGoUKec,UUeGoU"eGoU"!!%T#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJec,UOeGoU"r;ciIr;clJquHcIr;`_FrrE&Krr<DV!!(R"!!(R" -!!)oHrr<5Q!!(OL!;k=H!<(IJ!<:UL!<:UL!"IHY!7fU"!7fU"!7_&LJ^o>%n^Rf=s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA_-Tg&M-,r;ciNr;clOquHcNr;`_KrrE&Prr<D[!!(a,!!(a, -!!)oMrr<5V!!(^Q!;kLM!<(XO!<:dQ!<:dQ!"IW^!8?-,!8?-,!87DQJ_G\/n_+/?s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,UOeGoU"r;ciIr;clJquHcIr;`_FrrE&Krr<DV!!(R"!!(R" -!!)oHrr<5Q!!(OL!;k=H!<(IJ!<:UL!<:UL!"IHY!7fU"!7fU"!7_&LJ^o>%n^Rf=s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJebT:Gec,UReGoU"eGoUJec,UReGoU"eGoTIec,XKec,ULeb]@H -ec,XKebfCNeGoU"!!)oHrrE#JqZ-ZHrr<2P!!(R"qZ$]J!!%T#J^s;@"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0OgA1gLgA_-Wg&M-,g&M-OgA_-Wg&M-,g&M,NgA_0PgA_-QgA:mM -gA_0PgACpSg&M-,!!)oMrrE#OqZ-ZMrr<2U!!(a,qZ$]O!!%T(J_KYJ"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XJebT:Gec,UReGoU"eGoUJec,UReGoU"eGoTIec,XKec,ULeb]@H -ec,XKebfCNeGoU"!!)oHrrE#JqZ-ZHrr<2P!!(R"qZ$]J!!%T#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tebfCIec#RKec,XLec,UReGoU"eGoUKec,XLec,XLec,WIec,XKec,UN -eGoUHec,XLec,XLec,UQeGoU"!!)oHrrE#JrrDoGrW)rJrrDuIrr@W#J^s;@"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gACpNgAV*PgA_0QgA_-Wg&M-,g&M-PgA_0QgA_0QgA_/NgA_0PgA_-S -g&M-MgA_0QgA_0QgA_-Vg&M-,!!)oMrrE#OrrDoLrW)rOrrDuNrr@W(J_KYJ"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tebfCIec#RKec,XLec,UReGoU"eGoUKec,XLec,XLec,WIec,XKec,UN -eGoUHec,XLec,XLec,UQeGoU"!!)oHrrE#JrrDoGrW)rJrrDuIrr@W#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJec,XKeb]=Heb]@GeGoUKeb]?Eec,XLec,XLec,XLec,XLec,UL -ec#RKec,UQeGoU"!!)oHrrE#JrrE)LrrE&KrW)rJrrE)Lrr<,N!!%T#J^s;@"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA:jMgA:mLg&M-PgA:lJgA_0QgA_0QgA_0QgA_0QgA_-Q -gAV*PgA_-Vg&M-,!!)oMrrE#OrrE)QrrE&PrW)rOrrE)Qrr<,S!!%T(J_KYJ"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XJec,XKeb]=Heb]@GeGoUKeb]?Eec,XLec,XLec,XLec,XLec,UL -ec#RKec,UQeGoU"!!)oHrrE#JrrE)LrrE&KrW)rJrrE)Lrr<,N!!%T#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XIec,XHec,XKec,WEebfFGeboLHec,XLec#OKeboIL -eGoUHeb]=HeboLGeGoUIeboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA_0NgA_0MgA_0PgA_/JgACsLgAM$MgA_0QgAV'PgAM!Q -g&M-MgA:jMgAM$Lg&M-NgAM$OgA_/(g4@uJg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XIec,XHec,XKec,WEebfFGeboLHec,XLec#OKeboIL -eGoUHeb]=HeboLGeGoUIeboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XLec,UUeGoU"eGoU"!!)uJrrE)Lrr@W#J^o>%e("Vt -s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA_0QgA_-Zg&M-,g&M-,!!)uOrrE)Qrr@W(J_G\/e(Ou! -s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XLec,UUeGoU"eGoU"!!)uJrrE)Lrr@W#J^o>%e("Vt -s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XJeboLIeboLJebfFIeboK!eUc8%e^DtOV#TT>]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0OgAM$NgAM$OgACsNgAM#&g4@t/g="[YU&X9;\c@6~> -!<E0!joD4Kec5[Gec19tec,XJec,XJeboLIeboLJebfFIeboK!eUc8%e^DtOV#TT>]`<Q~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD+HgAh3JJUuO+g4@tTg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XJeboLIeboK!e_em\V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0OgAM$NgAM#&g>CTfU&X9;\c@6~> -!<E0!joD3.eUc8dec,XJeboLIeboK!e_em\V#TT>]`<Q~> -!<E0!joD3.eUc8feboLIec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tpgAM$NgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8feboLIec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD4Keb4Xkec,XKec,UNeGoUIec,XAeb]@,ebK2reZ77#!<1OK!<:UL!!^sR!7fU"!.i\Y -eHMcKk2s>WJ,~> -!<E0!joD+Hg@g*ngA_0PgA_-Sg&M-NgA_0FgA:m1gA(`"g8is-!<1^P!<:dQ!!_-W!8?-,!.ik^ -g'+2Mk2s5TJ,~> -!<E0!joD4Keb4Xkec,XKec,UNeGoUIec,XAeb]@,ebK2reZ77#!<1OK!<:UL!!^sR!7fU"!.i\Y -eHMcKk2s>WJ,~> -!<E0!joD4Keb=[rs7t4F!<1OK!;Y1F!;+hA!8Q-)!.i\!ec,XKec,XLec,UReGoU"eGoT#e_ns] -V#TT>]`<Q~> -!<E0!joD+Hg@p-us7tCK!<1^P!;Y@K!;,"F!8Q<.!.ik&gA_0PgA_0QgA_-Wg&M-,g&M,(g>LZg -U&X9;\c@6~> -!<E0!joD4Keb=[rs7t4F!<1OK!;Y1F!;+hA!8Q-)!.i\!ec,XKec,XLec,UReGoU"eGoT#e_ns] -V#TT>]`<Q~> -!<E0!joD4Kec19uXT/=rec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#Jrr</O!!(RJ!<:RM!7h&K -!7h&Kp!s'BrRLiHJ^q!TrrE#Jr;ciIr;_E!hphn+s5rIW!.Y~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE#Orr</T!!(aO!<:aR!8@DP -!8@DPp"KEGrS%2MJ_I?^rrE#Or;ciNr;_E&hqA7-s5rIT!.Y~> -!<E0!joD4Kec19u@fQK(ec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#Jrr</O!!(RJ!<:RM!7h&K -!7h&Kp!s'BrRLiHJ^q!TrrE#Jr;ciIr;_E!hphn+s5rIW!.Y~> -!<E0!joD4Kec19uXT/=rec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IE!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<(XJ!<:dQ!".E[!8?-, -!8?-,!;>.H!<1^P!<:dQ!.ijTg4@uWg'+2Mk2s5TJ,~> -!<E0!joD4Kec19u@fQK(ec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IE!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD4Kec19uXT/=rebT7WeGoU"!!(R"!!(OL!7fU"!;k=E!!(RK!<:UL!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD+HgAca#0`V1KgA1d\g&M-,!!(a,!!(^Q!8?-,!;kLJ!!(aP!<:dQ!<:dQ!"7K\!8?-, -!8?-,!8@;MrS%8Orn@APs4[JQJ_G\/J_L+W"ektYk.1PC~> -!<E0!joD4Kec19u@fQK(ebT7WeGoU"!!(R"!!(OL!7fU"!;k=E!!(RK!<:UL!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD4Kec19uXT/=rec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<(IJ!<1OK!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-[g&M-,!!(a,!!(aM!;kLM!<(XO!<1^P!<:dQ!".E[!8?-, -!8?-,!;>.H!<1^P!<:dQ!.ijTg4@uWg'+2Mk2s5TJ,~> -!<E0!joD4Kec19u@fQK(ec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<(IJ!<1OK!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD4Kec19uXT/=rec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<(IJ!<1OK!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-]g&M-,!!(a,!!(^Q!;G4I!<(XO!<1^P!<:dQ!"7K\!8?-, -!8?-,!8@;MrS%8Orn@APs4[JQJ_G\/J_L+W"ektYk.1PC~> -!<E0!joD4Kec19u@fQK(ec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<(IJ!<1OK!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD4Kec19uXT/=rec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IJ!<1OK!<:UL!".6V -!7fU"!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<(XO!<1^P!<:dQ!".E[ -!8?-,!8?-,!;>.H!<1^P!<:dQ!.ijTg4@uWg'+2Mk2s5TJ,~> -!<E0!joD4Kec19u@fQK(ec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IJ!<1OK!<:UL!".6V -!7fU"!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD4Kec19uXT/=rec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#JrrE#Jr;clJrrE)LrrE)L -rrDcCrrE#Jr;bI"JV1dkJ^rr6"f21\k.LbF~> -!<E0!joD+HgAca#0`V1KgA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE#OrrE#Or;clOrrE)QrrE)Q -rrDcHrrE#Or;bI'JUtXgJ_K;@"ektYk.1PC~> -!<E0!joD4Kec19u@fQK(ec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#JrrE#Jr;clJrrE)LrrE)L -rrDcCrrE#Jr;bI"JV1dkJ^rr6"f21\k.LbF~> -!<E0!joD4Kec19ss+/]#eU`@iK)kq&e`YHdV#TT>]`<Q~> -!<E0!joD+HgAca!s+/l(g4=glJH5_$g?7/nU&X9;\c@6~> -!<E0!joD4Kec19ss+/]#eU`@iK)kq&e`YHdV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^#B!Be`YHdV#TT>]`<Q~> -!<E0!joD*+g?72iJUt\u_VtNGg?7/nU&X9;\c@6~> -!<E0!joD3.e`YK_K7U_r^#B!Be`YHdV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^#]1pKE(t&e`YHdV#TT>]`<Q~> -!<E0!joD*+g?72iJUt\u_W:^uJcGb$g?7/nU&X9;\c@6~> -!<E0!joD3.e`YK_K7U_r^#]1pKE(t&e`YHdV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAec,XKec,XFec,WYec18Q^#Qg+s7OnCKE(Vps+C@O -J^rr6"f21\k.LbF~> -!<E0!joD+Hg@kRBgA_0PgA_-Sg&M-NgA_0FgA_0PgA_0KgA_/^gAc_T_W/N5s7P(HJcGDss+14M -J_K;@"ektYk.1PC~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAec,XKec,XFec,WYec18Q^#Qg+s7OnCKE(Vps+C@O -J^rr6"f21\k.LbF~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!<1OK!;Y1F!4UMYK7U_r^&S-*eH(=&p!s(ps8RZ# -kLBa3s5rIW!.Y~> -!<E0!joD+Hg@tUIJbe%"!<1^P!;Y@K!;,"F!<1^P!;Y@K!4U\^JUt\u_Z0Z/g&Zd)p"KFss8RZ( -kLp*5s5rIT!.Y~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!<1OK!;Y1F!4UMYK7U_r^&S-*eH(=&p!s(ps8RZ# -kLBa3s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE&Krr<__!!(OL!7fU"!7fU" -!7_&LeGoUKeboLJec,XLec,XLec,UQeGoU"!!(a's+>m9j1YKmp!j(qs7OqBKE(t&e`YHdV#TT> -]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE&Prr<_d!!(^Q!8?-,!8?-, -!87DQg&M-PgAM$OgA_0QgA_0QgA_-Vg&M-,!!(a,s+,a<j21irp"BFts7P+GJcGb$g?7/nU&X9; -\c@6~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE&Krr<__!!(OL!7fU"!7fU" -!7_&LeGoUKeboLJec,XLec,XLec,UQeGoU"!!(a's+>m9j1YKmp!j(qs7OqBKE(t&e`YHdV#TT> -]`<Q~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<1OK!!(RK!".6V!7_&L -eGoU"ec#O`eGoU"!!(R"!!(OL!7fU"!7fU"!7h&K!n@8NgXZ=VJ\C*Ws8V_D!<;YCs8RZ#kLBa3 -s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<1^P!!(aP!".E[!87DQ -g&M-,gAV'eg&M-,!!(a,!!(^Q!8?-,!8?-,!8@DP!nmVSgY2[YJ\pHas8V_B!<;YAs8RZ(kLp*5 -s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<1OK!!(RK!".6V!7_&L -eGoU"ec#O`eGoU"!!(R"!!(OL!7fU"!7fU"!7h&K!n@8NgXZ=VJ\C*Ws8V_D!<;YCs8RZ#kLBa3 -s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>m9j1PHmjFdL4J^rr6"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA1d\g&M-,!!(a,!!(^Q!8?-,!;kLM!<1^P!!h3X!8?-,!8@AOrn@AP -s4[JQ(tnrig=cN,g=cN,g&M-,!!(a,!!(a,!!(d-s+,a<j2(frjFR@2J_K;@"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>m9j1PHmjFdL4J^rr6"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>n&_uG;<kLBa3s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-[g&M-,!!(a,!!(aM!;kLM!<1^P!!h3X!8?-,!8@AOrn@AP -s4[JQ(tnrig=cN,g=cN,g&M-,!!(a,!!(a,!!(d-s+,b$_uG;AkLp*5s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>n&_uG;<kLBa3s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<1OK!%l_$!7fU"!7_&LeGoU" -eGoU"eGoU"!!(R"!!(R"!!(OL!7_&Le^XX"e^XX"gXQ:VJcEUeJ^rr6"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-]g&M-,!!(a,!!(^Q!;G4I!<1^P!%ln)!8?-,!87DQg&M-, -g&M-,g&M-,!!(a,!!(a,!!(^Q!87DQg=cN,g=cN,gY)XYJcEUeJ_K;@"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<1OK!%l_$!7fU"!7_&LeGoU" -eGoU"eGoU"!!(R"!!(R"!!(OL!7_&Le^XX"e^XX"gXQ:VJcEUeJ^rr6"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;b7G!$B_k!7fU"!7fU"!7_&L -e^XX"eGoU"eGoU"!!(R"!!*#KrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;bFL!$Bnp!8?-,!8?-,!87DQ -g=cN,g&M-,g&M-,!!(a,!!*#PrrE)QrrE&PrrE)Qrr@W(J_G\/"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;b7G!$B_k!7fU"!7fU"!7_&L -e^XX"eGoU"eGoU"!!(R"!!*#KrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;cZDquHcIrrE)Lrr<,N!!*#Kr;clJ -rrE)Lr;cfHrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;cZIquHcNrrE)Qrr<,S!!*#Pr;clO -rrE)Qr;cfMrrE)QrrE&PrrE)Qrr@W(J_G\/"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;cZDquHcIrrE)Lrr<,N!!*#Kr;clJ -rrE)Lr;cfHrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD+HgAh3JJUuO+g4@tTg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eY^mbKDX1&V#TT>]`<Q~> -!<E0!joD*+g4@t/g8<TlJc".)U&X9;\c@6~> -!<E0!joD3.eUc8%eY^mbKDX1&V#TT>]`<Q~> -!<E0!joD3.eUc8%eY^mcK)krKeHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<TmJH5`Ig'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^mcK)krKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKDN7]KDN:]s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jbm4`Jbm7`s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDN7]KDN:]s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDW=_s+C0]s8VuH"f21\k.LbF~> -!<E0!joD*+g4@t/g8<U(Jc!:bs+1$`s8VuM"ektYk.1PC~> -!<E0!joD3.eUc8%eY^msKDW=_s+C0]s8VuH"f21\k.LbF~> -!<E0!joD3.eUc8%eY^msKDW=`s+>t$^&S-0eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<U(Jc!:cs+,au_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^msKDW=`s+>t$^&S-0eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKD`F_s8R`K^&S-0eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<U(Jc*Cbs8RZI_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^msKD`F_s8R`K^&S-0eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKD`F_rrU`'KD`F_s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc*CbrrUo*Jc*Cbs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKD`F_rrU`'KD`F_s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDiL`s8UXLKD`F_s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc3Ics8UgQJc*Cbs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDiL`s8UXLKD`F_s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDiL`s8LRKKDiL`s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc3Ics8LaPJc3Ics81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDiL`s8LRKKDiL`s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDrRas8CLJKDiL`s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc<Ods8C[OJc3Ics81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDrRas8CLJKDiL`s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDrRas8:FIKDrRas81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc<Ods8:UNJc<Ods81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDrRas8:FIKDrRas81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE&Xbs81@HKDrRas81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcEUes81OMJc<Ods81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE&Xbs81@HKDrRas81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE&Xbs8(:GKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcEUes8(ILJcEUes81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE&Xbs8(:GKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD4>eH#X+eH#XIeH#WVeH#X+eH#XIeH#XIec,TWec5[IeH#XCeH#X%eH#XIec5ZpeH#X= -ec5[Jec5Zkec17'^&S-.ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+;g&M-0g&M-Ng&M,[g&M-0g&M-Ng&M-NgAV)\gA_0Ng&M-Hg&M-*g&M-NgA_/ug&M-B -gA_0OgA_/pgAc^*_Z0Z3gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4>eGoU+eGoUIeGoTVeGoU+eGoUIeGoUIec#QWec,XIeGoUCeGoU%eGoUIec,WpeGoU= -ec,XJec,Wkec17'^&S-.ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4>eH#X+eH#XIeH#WVeH#X+eH#XIeH#XJeH#XKeH#WXeH#WaeH#WpeH#X<eH#XIeH#Wk -ec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD+;g&M-0g&M-Ng&M,[g&M-0g&M-Ng&M-Og&M-Pg&M,]g&M,fg&M,ug&M-Ag&M-Ng&M,p -gAc^*_Z0Z2gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4>eGoU+eGoUIeGoTVeGoU+eGoUIeGoUJeGoUKeGoTXeGoTaeGoTpeGoU<eGoUIeGoTk -ec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4Jec5XPec42"s8CLHs8LRKs8UUTs4./"s8UXLs8LRKrrUaNs7t4Ds8UXJs2*=drrgmP -ec5[Jec#OIec5[LeHl3*s4./Lec5[Kec5XNec5[Fec#OJec#LMec41Mr;QiKs8W)Krr;uJs8W)K -!WU^Ls5VW3s4./Lrm_&Lec,UKec5[IeH#XJec5[Lec5XMec5Tus8W,L"96pOs8LRKs8CIKs4.&I -!nI>NqUPWG!S.5Kec5[Jec,U,ec5[Jec5[LeH>j%s8W)KrVuoJ!WU^Ls8UXLs8:CIs8:CIs8CLJ -s8LOLs4.,Kf@BnRs8VbE!knX6qpbkGs5rIW!.Y~> -!<E0!joD+GgA_-Ug&Th,!<(XM!<1^P!<:aY!87G,!!(^Q!<1^P!!:jS!;Y@I!<:dO!5dIi!!M!U -g&M-OgAM$NgA_0Qg'@]4!87DQg&M-PgA_-Sg&M-KgAM$OgAM!Rg&Tj\qu?fP!!*#PrW)rOrrE&P -!<CjQ!9;c8!87DQrn7AQgAV*PgA_0Ng&M-OgA_0QgA_-Rg&V**rrE)Q!s%$T!<1^P!<(UP!8@>N -!nmVSqV(rL!SRPPgA_0OgAV*1gA_0OgA_0Qg&h?/!!*#Pr;clO!<CjQ!<:dQ!;tON!;tON!<(XO -!<1[Q!8@DPf@p7Us8VbC!lG!;qq;4Is5rIT!.Y~> -!<E0!joD4Jec,UPeH","!<(IH!<1OK!<:RT!7_)"!!(OL!<1OK!!:[N!;Y1D!<:UJ!5d:d!!LgP -eGoUJeboLIec,XLeHc0*!7_&LeGoUKec,UNeGoUFeboLJeboIMeH".Mqu?fK!!*#KrW)rJrrE&K -!<C[L!9;T3!7_&Lrm_#Lec#RKec,XIeGoUJec,XLec,UMeH#QurrE)L!s$jO!<1OK!<(FK!7guI -!n@8NqUPTG!S%2Kec,XJec#R,ec,XJec,XLeH5g%!!*#Kr;clJ!<C[L!<:UL!;t@I!;t@I!<(IJ -!<1LL!7h&Kf@BnRs8VbE!knX6qpbkGs5rIW!.Y~> -!<E0!joD4KeH>j%ec5Tu!<<#J!<<#J$3/Q+s4./"s4./JeH#XKeH>j%ec5Ep!<;uI!<9mc"96p% -s8CIJs8CIJs8CISs4,["ec42"ec5Tu!<<&K"96p%s7k+Es8:CIs8LOXs4./"s4,["e^a]Mec5Qt -"96p%s8LOKs52?/s4,["rm_#KrRD#Me^a]ueH#XIeHc-)ec42"ec5Tu!<<&K"96p%s8CIJs8CIJ -s8CIMs4,["qUG`Kec42"rRCoJrm_,Ne^a]YeIV]1ec41Ms4,["e^a]Mec5X!!<;uI!<<#J"96p% -s8CIJs8:CIs8LONs4,["rm_#KeCFSO!<;YCs8VuH"f21\k.LbF~> -!<E0!joD+Hg&h?/g&V**!!)uO!!)uO#lr]5!87G,!87GOg&M-Pg&h?/g&Up%!!)rN!!'jh!s%'/ -!<(UO!<(UO!<(UX!8?-,g&Th,g&V**!!*#P!s%'/!;P7J!;tON!<1[]!87G,!8?-,g=cP\g&V') -!s%'/!<1[P!8lK4!8?-,rn7>PrRq>Rg=cQ*g&M-Ng'7W3g&Th,g&V**!!*#P!s%'/!<(UO!<(UO -!<(UR!8?-,qUu&Pg&Th,rRq5Orn7GSg=cPcg(+2;g&Tj\!8?-,g=cP\g&V-+!!)rN!!)uO!s%'/ -!<(UO!;tON!<1[S!8?-,rn7>PeCsqR!<;YAs8VuM"ektYk.1PC~> -!<E0!joD4KeH5g%eH#Qu!!)uJ!!)uJ#lrN+!7_)"!7_)JeGoUKeH5g%eH#Bp!!)rI!!'jc!s$m% -!<(FJ!<(FJ!<(FS!7fU"eH","eH#Qu!!*#K!s$m%!;P(E!;t@I!<1LX!7_)"!7fU"e^XZMeH#Nt -!s$m%!<1LK!8l</!7fU"rm^uKrRCuMe^XZueGoUIeHZ*)eH","eH#Qu!!*#K!s$m%!<(FJ!<(FJ -!<(FM!7fU"qUG]KeH","rRClJrm_)Ne^XZYeIMZ1eH".M!7fU"e^XZMeH#U!!!)rI!!)uJ!s$m% -!<(FJ!;t@I!<1LN!7fU"rm^uKeCFSO!<;YCs8VuH"f21\k.LbF~> -!<E0!joD4KeHQ!'ec41Mrr;rI!<<#Jrr<#K#636Rec41Mrr;uJ"96p%s7k+Es8:CIs2!4hs4,[" -e^a[!rRCoJrRLoIs4%>Rec42"e^a[!rm_,Ne^a]peH#XIeH#XKeI)?,s4./"ec41Ms8LRKs8LRJ -s8CIJs52?/s4,["rm_#KrRLoIr7(fIr7)&Pe^a]Ms4./JeH#XKeHQ!'ec41Mrr;rI!<<#J"96p% -s8(7Ks4./"s8CIJs8LONs4,["iRIr.r7),Re^a]Mec41Ms8LOKs8:CIs8CIMs4,["rRCoJr7(fI -rmh#JrRCoJeCFSOo"G)'qpbkGs5rIW!.Y~> -!<E0!joD+Hg'%K1g&Tj\rW)oN!!)uOrW)uP"p!?Wg&Tj\rW)rO!s%'/!;P7J!;tON!5[@m!8?-, -g=lN+rRq5OrS%5Ns4RYWg&Th,g=lN+rn7GSg=cQ%g&M-Ng&M-Pg'Ri6!87G,g&Tj\!<1^P!<1^O -!<(UO!8lK4!8?-,rn7>PrS%5Nr7V,Nr7VAUg=cP\!87GOg&M-Pg'%K1g&Tj\rW)oN!!)uO!s%'/ -!;bCP!87G,!<(UO!<1[S!8?-,iS"83r7VGWg=cP\g&Tj\!<1[P!;tON!<(UR!8?-,rRq5Or7V,N -rn@>OrRq5OeCsqRo"tG,qq;4Is5rIT!.Y~> -!<E0!joD4KeHGs'eH".MrW)oI!!)uJrW)uK"p!0ReH".MrW)rJ!s$m%!;P(E!;t@I!5[1h!7fU" -e^aX!rRClJrRLlIs4%;ReH","e^aX!rm_)Ne^XZpeGoUIeGoUKeHu<,!7_)"eH".M!<1OK!<1OJ -!<(FJ!8l</!7fU"rm^uKrRLlIr7(cIr7)#Pe^XZM!7_)JeGoUKeHGs'eH".MrW)oI!!)uJ!s$m% -!;b4K!7_)"!<(FJ!<1LN!7fU"iRIo.r7))Re^XZMeH".M!<1LK!;t@I!<(FM!7fU"rRClJr7(cI -rmguJrRClJeCFSOo"G)'qpbkGs5rIW!.Y~> -!<E0!joD4KeHl3*ec42"e^a]ueJ%u5ec42"e^a]Mec42"e^a]Mec5X!"96p%s7k+Ns4,["e^a]M -ec3S<#liH*s4./"ec5Tu'E?V5s4./"ec41Ms4./"ec41Ms8LONs4,["psffQe^a]Mec41Ms8UX" -rr3,Os4,["r7)#Oe^a]Mec5X!!<:s,"96p%s8LOKs8CIMs4,["rRCoJr7)&Pe^a]Ms4./JeH#XK -eHl3*ec42"e^a]ueH#XJeH>j%ec5Kr"TR$Pec5Tu!<<&K"96p%s5DK=s4,["e^a]Mec41Ms4,[" -rm_5Qe^a]Mec5Tu"96p%s8CIJs8:CIs8LONs4,["rm_#KeCFSOnGiC9"f21\k.LbF~> -!<E0!joD+Hg'@]4g&Th,g=cQ*g(OJ?g&Th,g=cP\g&Th,g=cP\g&V-+!s%'/!;P7S!8?-,g=cP\ -g&T(F#QWT4!87G,g&V**'*-b?!87G,g&Tj\!87G,g&Tj\!<1[S!8?-,pt?,Vg=cP\g&Tj\!!(a, -rW!)T!8?-,r7V>Tg=cP\g&V-+!!(p1!s%'/!<1[P!<(UR!8?-,rRq5Or7VAUg=cP\!87GOg&M-P -g'@]4g&Th,g=cQ*g&M-Og&h?/g&V!'"9@-Ug&V**!!*#P!s%'/!9)WB!8?-,g=cP\g&Tj\!8?-, -rn7PVg=cP\g&V**!s%'/!<(UO!;tON!<1[S!8?-,rn7>PeCsqRnGiC>"ektYk.1PC~> -!<E0!joD4KeHc0*eH","e^XZueIqr5eH","e^XZMeH","e^XZMeH#U!!s$m%!;P(N!7fU"e^XZM -eH!P<#QWE*!7_)"eH#Qu'*-S5!7_)"eH".M!7_)"eH".M!<1LN!7fU"psfcQe^XZMeH".M!!(R" -rW!)O!7fU"r7(uOe^XZMeH#U!!!(p,!s$m%!<1LK!<(FM!7fU"rRClJr7)#Pe^XZM!7_)JeGoUK -eHc0*eH","e^XZueGoUJeH5g%eH#Hr"9?sPeH#Qu!!*#K!s$m%!9)H=!7fU"e^XZMeH".M!7fU" -rm_2Qe^XZMeH#Qu!s$m%!<(FJ!;t@I!<1LN!7fU"rm^uKeCFSOnGiC9"f21\k.LbF~> -!<E0!joD4Jec,UKec5XMec5Tus8W)Ks8W)K!rpgNrmh&K!S.5Lec5[Cec5[Jec5Zdec,UKec5XM -ec5Tus8W)Ks8W)K!rpgNrmh&K!S.5Lec5[Cec5[Jec5[LeH#XHec5XNec42!s8CLJs8LRIs5DN- -s8LRIs8LRKs8LRHrrCUHrrpsQec5["q>UcOs8UXLs4./"ec#OIec5[FeHZ'(s4./LeboIIec5XM -ec4UYs8W&Js8W,Lrr3&Ms8W)Ks8W,LrVulIs8W)Kr;QcIr;ZfIs8W)KrVtI!s+BqC!e^OQqpbkG -s5rIW!.Y~> -!<E0!joD+GgAV*PgA_-Rg&V**rrE&PrrE&P!W^pSrn@AP!SRPQgA_0HgA_0OgA_/igAV*PgA_-R -g&V**rrE&PrrE&P!W^pSrn@AP!SRPQgA_0HgA_0OgA_0Qg&M-MgA_-Sg&Tk+!<(XO!<1^N!9)Z2 -!<1^N!<1^P!<1^M!!(aM!!V'Vg&M-,q#C`T!!(^Q!87G,gAM$NgA_0Kg'.Q2!87DQgACsNgA_-R -g&U*crrE#OrrE)QrW!#R!!*#PrrE)Qr;ciNrrE&Pqu?`NquHcNrrE⪻bF&s+0eA!eLCOqq;4I -s5rIT!.Y~> -!<E0!joD4Jec#RKec,UMeH#QurrE&KrrE&K!W^aNrmh#K!S%2Lec,XCec,XJec,Wdec#RKec,UM -eH#QurrE&KrrE&K!W^aNrmh#K!S%2Lec,XCec,XJec,XLeGoUHec,UNeH"/!!<(IJ!<1OI!9)K- -!<1OI!<1OK!<1OH!!(RH!!UmQeGoU"q#C`O!!(OL!7_)"eboLIec,XFeHQ$(!7_&LebfFIec,UM -eH"RYrrE#JrrE)LrW!#M!!*#KrrE)Lr;ciIrrE&Kqu?`IquHcIrrE&Kr;bF!s+BqC!e^OQqpbkG -s5rIW!.Y~> -!<E0!joD4HeH#X-eH#WNeH#X-eH#X7ec,TjeH#WgeH#W#e`,-ZKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD+Eg&M-2g&M,Sg&M-2g&M-<gAV)og&M,lg&M,(g>^idJcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD4HeGoU-eGoTNeGoU-eGoU7ec#QjeGoTgeGoT#e`,-ZKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD4Kec,U-ec5[JebfBVec,U-ec5[JebfBWec#Niec5[JebfAtea(ccKE(uFec1:%s81=M -V#TT>]`<Q~> -!<E0!joD+HgAV*2gA_0OgA:l[gAV*2gA_0OgA:l\gAM#ngA_0OgA:l$g?[JmJcGcDgAca(s81LR -U&X9;\c@6~> -!<E0!joD4Kec#R-ec,XJeb]?Vec#R-ec,XJeb]?WeboKiec,XJeb]>tea(ccKE(uFec1:%s81=M -V#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#X5ec5[Jec5[Lec5[>ec5ZmeH#XEeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcK -k2s>WJ,~> -!<E0!joD+?g&M-:gA_0OgA_0QgA_0CgA_/rg&M-Jg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2M -k2s5TJ,~> -!<E0!joD4BeGoU5ec,XJec,XLec,X>ec,WmeGoUEeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcK -k2s>WJ,~> -!<E0!joD4BeH#X4eH#XIeH#XKeH#X=eH#WmeH#XEeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcK -k2s>WJ,~> -!<E0!joD+?g&M-9g&M-Ng&M-Pg&M-Bg&M,rg&M-Jg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2M -k2s5TJ,~> -!<E0!joD4BeGoU4eGoUIeGoUKeGoU=eGoTmeGoUEeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcK -k2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec5[HeH#XIeH#XKec,UJec5[Iec5[KeH>j%s8W)K!<;cCs8W&Js8W,L -$3/QUs4,["ec5[Jec5[Jec5[Kec#OEeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M-FgA_0PgA_0Mg&M-Ng&M-PgAV*OgA_0NgA_0Pg&h?/!!*#P!!)`HrrE#OrrE)Q -#lrZZ!8?-,g&M-OgA_0OgA_0PgAM$Jg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoUAec,XKec,XHeGoUIeGoUKec#RJec,XIec,XKeH5g%!!*#K!!)`CrrE#JrrE)L -#lrKU!7fU"eGoUJec,XJec,XKeboLEeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#XBeH>j%ec5Tu!<;uI!<;uI!<<&K"96p%s8CIJs8LOSs4,["e^a]Ms8CIJs7b%e -s4,["e^a]Mec41Ms4,["e^a]Mec41Ms4,["e^a]Mec5X!!<;iE!<7r,!<7r,!<8qHs+C@Op=91q -s8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Gg&h?/g&V**!!)rN!!)rN!!*#P!s%'/!<(UO!<1[X!8?-,g=cP\!<(UO!;G1j -!8?-,g=cP\g&Tj\!8?-,g=cP\g&Tj\!8?-,g=cP\g&V-+!!)fJ!!%o1!!%o1!!&nMs+14Mp=fOt -s8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeH5g%eH#Qu!!)rI!!)rI!!*#K!s$m%!<(FJ!<1LS!7fU"e^XZM!<(FJ!;G"e -!7fU"e^XZMeH".M!7fU"e^XZMeH".M!7fU"e^XZMeH#U!!!)fE!!%o,!!%o,!!&nHs+C@Op=91q -s8VuH"f21\k.LbF~> -!<E0!joD4BeH#XBeH#XIec,UHeH#XIeH#XKeHQ!'ec41Mrr;uJ!<;uIs8VW>!<;uI&c^D3s4,[" -e^a]Mec41Ms4,[!s8LOKs81=Hs7k+Es,,>,s,,>,s/+?HKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Gg&M-NgAV*Mg&M-Ng&M-Pg'%K1g&Tj\rW)rO!!)rNrrDTC!!)rN&HLP=!8?-, -g=cP\g&Tj\!8?0+!<1[P!;kIM!;P7J!/fJ1!/fJ1!2eKMJcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD4BeGoUBeGoUIec#RHeGoUIeGoUKeHGs'eH".MrW)rJ!!)rIrrDT>!!)rI&HLA3!7fU" -e^XZMeH".M!7fX!!<1LK!;k:H!;P(E!/f;,!/f;,!2e<HKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeHl3*ec42"e^a]teH#XIeH#XKeHl3*ec42"e^a^!eHl3*ec41Ms4./JeH#XD -eKOtCec41Ms4,["e^a]Mec41Ms4,["e^a]Mec41Ms4,["rm_,Ne^a]seH#W,eH#W,eH#WHec1:% -s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg'@]4g&Th,g=cQ)g&M-Ng&M-Pg'@]4g&Th,g=cQ+g'@]4g&Tj\!87GOg&M-I -g*$IMg&Tj\!8?-,g=cP\g&Tj\!8?-,g=cP\g&Tj\!8?-,rn7GSg=cQ(g&M,1g&M,1g&M,MgAca( -s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeHc0*eH","e^XZteGoUIeGoUKeHc0*eH","e^X[!eHc0*eH".M!7_)JeGoUD -eKFqCeH".M!7fU"e^XZMeH".M!7fU"e^XZMeH".M!7fU"rm_)Ne^XZseGoT,eGoT,eGoTHec1:% -s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec5XOec41Mr;QcIq#C?Ds8N,Ms8LRKs8UXLrrUaNs8LOKs7Y"Cs8CLJ -s8UXKrrCUIrs%$Rs4,["s8CLJs8:FIs8(7Gs,,>,s,,>,s/+?HKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD+?g&M-FgA_0PgA_-Tg&Tj\qu?`Np]1<Irr<)R!<1^P!<:dQ!!:jS!<1[P!;>.H!<(XO -!<:dP!!(aN!!_-W!8?-,!<(XO!;tRN!;bCL!/fJ1!/fJ1!2eKMJcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD4BeGoUAec,XKec,UOeH".Mqu?`Ip]1<Drr<)M!<1OK!<:UL!!:[N!<1LK!;=tC!<(IJ -!<:UK!!(RI!!^sR!7fU"!<(IJ!;tCI!;b4G!/f;,!/f;,!2e<HKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W5eboLGeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gAM$Lg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5eboLGeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeVO8+s,,>,s,,>,s/+?HKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD+?g5#`dg&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeVF3_eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W4ec#RHeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gAV*Mg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4ec#RHeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#X5eH#W\eH#X9eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M-:g&M,ag&M->g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoU5eGoT\eGoU9eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#X5eH#W\eH#X9eH#W,eH#W,eH#WHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M-:g&M,ag&M->g&M,1g&M,1g&M,MgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoU5eGoT\eGoU9eGoT,eGoT,eGoTHec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#XBeH,^#rr<#Ks8W)KrVm2Ss8UXLs4,["ec#LLec5[JeH#XCec5[Jec5[LeHu9+ -s8UX"s4./LrRLrJrRLrJrmguImaV=;MU__,MU__,VUb^!s8VfCs+C@OqpbkGs5rIW!.Y~> -!<E0!joD+?g&M-Gg&V3-rW)uPrrE⪻[/X!!(^Q!8?-,gAM!Qg&M-Og&M-HgA_0OgA_0Qg'Ic5 -!!(a,!87DQrS%8OrS%8Orn@;Nmb.X@MV8%1MV8%1VV;'$s8VfHs+14Mqq;4Is5rIT!.Y~> -!<E0!joD4BeGoUBeH#[#rW)uKrrE&Kr;[/S!!(OL!7fU"eboILeGoUJeGoUCec,XJec,XLeHl6+ -!!(R"!7_&LrRLoJrRLoJrmgrImaV:;MU_\,MU_\,VUb^!s8VfCs+C@OqpbkGs5rIW!.Y~> -!<E0!joD4BeH#XAeH#XJeH>j%ec5X!!<<#J"96p%s8LOKs8CIMs4,["rm_#KpXLGee^a]Mec41M -s4,["e^a]Mec41Ms4,["e^a]Mec41Ms8LOKs6S89s,,>,s,,>,s/+?HKE(uFec1:%s81=MV#TT> -]`<Q~> -!<E0!joD+?g&M-Fg&M-Og&h?/g&V-+!!)uO!s%'/!<1[P!<(UR!8?-,rn7>PpY$bjg=cP\g&Tj\ -!8?-,g=cP\g&Tj\!8?-,g=cP\g&Tj\!<1[P!:8D>!/fJ1!/fJ1!2eKMJcGcDgAca(s81LRU&X9; -\c@6~> -!<E0!joD4BeGoUAeGoUJeH5g%eH#U!!!)uJ!s$m%!<1LK!<(FM!7fU"rm^uKpXLDee^XZMeH".M -!7fU"e^XZMeH".M!7fU"e^XZMeH".M!<1LK!:859!/f;,!/f;,!2e<HKE(uFec1:%s81=MV#TT> -]`<Q~> -!<E0!joD4BeH#XAeH#XJec,UIeH#XJeH>j%ec5X!!<<#J"96p%s7=b@s8:CZs4,["e^a]Mec41M -s4,["e^a[!rm_#Kqpb]Hm*u+9MU__,MU__,VUb^!s8VfCs+C@OqpbkGs5rIW!.Y~> -!<E0!joD+?g&M-Fg&M-OgAV*Ng&M-Og&h?/g&V-+!!)uO!s%'/!;"nE!;tO_!8?-,g=cP\g&Tj\ -!8?-,g=lN+rn7>Pqq;#Mm+MF>MV8%1MV8%1VV;'$s8VfHs+14Mqq;4Is5rIT!.Y~> -!<E0!joD4BeGoUAeGoUJec#RIeGoUJeH5g%eH#U!!!)uJ!s$m%!;"_@!;t@Z!7fU"e^XZMeH".M -!7fU"e^aX!rm^uKqpbZHm*u(9MU_\,MU_\,VUb^!s8VfCs+C@OqpbkGs5rIW!.Y~> -!<E0!joD4BeH#XAeH#XJeH>j%ec5X!#liH*s4./"ec5X!!<<#J"96p%s8LOKs7b%es4,["e^a]M -ec41Ms4,["e^a]Mec41Ms4,["e^a]Mec5X!"96p%s6nJ<s,,>,s,,>,s/+?HKE(uFec1:%s81=M -V#TT>]`<Q~> -!<E0!joD+?g&M-Fg&M-Og&h?/g&V-+#QWT4!87G,g&V-+!!)uO!s%'/!<1[P!;G1j!8?-,g=cP\ -g&Tj\!8?-,g=cP\g&Tj\!8?-,g=cP\g&V-+!s%'/!:SVA!/fJ1!/fJ1!2eKMJcGcDgAca(s81LR -U&X9;\c@6~> -!<E0!joD4BeGoUAeGoUJeH5g%eH#U!#QWE*!7_)"eH#U!!!)uJ!s$m%!<1LK!;G"e!7fU"e^XZM -eH".M!7fU"e^XZMeH".M!7fU"e^XZMeH#U!!s$m%!:SG<!/f;,!/f;,!2e<HKE(uFec1:%s81=M -V#TT>]`<Q~> -!<E0!joD4BeH#XBec#OIec5[Iec5[Kec5XNec41urrCUKrrpsQs4,["p=93CrRLrJs4.,K!7h#I -#1`bRe^a^"rRLrJr71iImaV=;MU__,MU__,VUb^!s8VfCs+C@OqpbkGs5rIW!.Y~> -!<E0!joD+?g&M-GgAM$NgA_0NgA_0PgA_-Sg&Tk*!!(aP!!V'V!8?-,p=fNHrS%8Os4[GP!8@>N -#20%Wg=cN,rS%8Or7_/Nmb.X@MV8%1MV8%1VV;'$s8VfHs+14Mqq;4Is5rIT!.Y~> -!<E0!joD4BeGoUBeboLIec,XIec,XKec,UNeH".u!!(RK!!UmQ!7fU"p=90CrRLoJs4.)K!7guI -#1W\Re^XX"rRLoJr71fImaV:;MU_\,MU_\,VUb^!s8VfCs+C@OqpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%s7CsDs81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca(s7CmBs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%s7CsDs81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec17%s7:mCs81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc^(s7:gAs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec17%s7:mCs81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$eb]?0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gA:l5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$eb]?0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeVO8+s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g5#`dg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeVF3_eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$ebfE0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gACr5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$ebfE0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X.ec5[EeH#W\eH#XKeH#XGeH5d$s8CIJs-_C;s,,>,s/+?HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD+?g&M-3gA_0Jg&M,ag&M-Pg&M-Lg&_9.!<(UO!1DO@!/fJ1!2eKMJb$\Xs81LRU&X9; -\c@6~> -!<E0!joD4BeGoU.ec,XEeGoT\eGoUKeGoUGeH,a$!<(FJ!1D@;!/f;,!2e<HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD4BeH#X-eH#XEeH#W\eH#XKeH#XGeHGp&s4,[!s-_C;s,,>,s/+?HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD+?g&M-2g&M-Jg&M,ag&M-Pg&M-Lg&qE0!8?0+!1DO@!/fJ1!2eKMJb$\Xs81LRU&X9; -\c@6~> -!<E0!joD4BeGoU-eGoUEeGoT\eGoUKeGoUGeH>m&!7fX!!1D@;!/f;,!2e<HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD4BeH#XAec,UJec5[LeH>j%s8W&Jrr;fErVuoJ!WU^LrrUaNs8LONs4./LrRLoIq:,NG -ec,UKec5[Jec5XLec,RMec5[Kec5[Jec,UKec#LKec5Nsr;ZcH!<8J;!<7r,!<8qHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD+?g&M-FgAV*OgA_0Qg&h?/!!)uOrW)cJr;clO!<CjQ!!:jS!<1[S!87DQrS%5Nq:YiL -gAV*PgA_0OgA_-QgAV'Rg&M-PgA_0OgAV*PgAM!Pg&V$(quH`M!!&G@!!%o1!!&nMs+0aXs8VuM -"ektYk.1PC~> -!<E0!joD4BeGoUAec#RJec,XLeH5g%!!)uJrW)cEr;clJ!<C[L!!:[N!<1LN!7_&LrRLlIq:,KG -ec#RKec,XJec,ULec#OMeGoUKec,XJec#RKeboIKeH#KsquH`H!!&G;!!%o,!!&nHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD4BeH#XBeH#XIeIV]1ec41Ms4,["e^a]Mec5Ep!<;uI!<;rH!<<&K#636(s4,["p!j'B -rRDbbe^a]Mec41Ms4,["e^a]Mec41Ms4,["qpb]Hrm_#KqUGZIec5Tu!<8J;!<7r,!<8qHs+BmU -s8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Gg&M-Ng(+2;g&Tj\!8?-,g=cP\g&Up%!!)rN!!)oM!!*#P"p!B2!8?-,p"BBG -rRr(gg=cP\g&Tj\!8?-,g=cP\g&Tj\!8?-,qq;#Mrn7>PqUtuNg&V**!!&G@!!%o1!!&nMs+0aX -s8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeGoUIeIMZ1eH".M!7fU"e^XZMeH#Bp!!)rI!!)oH!!*#K"p!3(!7fU"p!j$B -rRD_be^XZMeH".M!7fU"e^XZMeH".M!7fU"qpbZHrm^uKqUGWIeH#Qu!!&G;!!%o,!!&nHs+BmU -s8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAec5[Kec,UJeHu9+ec41Ms4,["psfBEr7(fIrRLoIrm_,Ne^a^!ec5[DeH#XJ -ec,UJeI2E-ec41Ms4,["e^a[!rRLrJrRCoJrm_#KqUGZIec5Tu!<8J;!<7r,!<8qHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD+?g&M-FgA_0PgAV*Og'Ic5g&Tj\!8?-,pt>]Jr7V,NrS%5Nrn7GSg=cQ+gA_0Ig&M-O -gAV*Og'[o7g&Tj\!8?-,g=lN+rS%8OrRq5Orn7>PqUtuNg&V**!!&G@!!%o1!!&nMs+0aXs8VuM -"ektYk.1PC~> -!<E0!joD4BeGoUAec,XKec#RJeHl6+eH".M!7fU"psf?Er7(cIrRLlIrm_)Ne^X[!ec,XDeGoUJ -ec#RJeI)B-eH".M!7fU"e^aX!rRLoJrRClJrm^uKqUGWIeH#Qu!!&G;!!%o,!!&nHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD4BeH#X?eIqo4ec41Ms4,["e^a]Mec41Ms7k+Ks4,["e^a^!eH>j%ec5X!"96p%s8:CI -s7k+Es8CI_s4,["e^a]Mec41Ms4,["e^a]Mec5Qt!<<&K"TR$&s8VuHr;ZcH!<8J;!<7r,!<8qH -s+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Dg(FD>g&Tj\!8?-,g=cP\g&Tj\!;P7P!8?-,g=cQ+g&h?/g&V-+!s%'/!;tON -!;P7J!<(Ud!8?-,g=cP\g&Tj\!8?-,g=cP\g&V')!!*#P"9@00!!)oMquH`M!!&G@!!%o1!!&nM -s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoU?eIhl4eH".M!7fU"e^XZMeH".M!;P(K!7fU"e^X[!eH5g%eH#U!!s$m%!;t@I -!;P(E!<(F_!7fU"e^XZMeH".M!7fU"e^XZMeH#Nt!!*#K"9@!&!!)oHquH`H!!&G;!!%o,!!&nH -s+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XBec,UIec5[Lec,RSec5["ec5["s7k.Es8UXJs8UXLrrUaNec,RNec5["rr;cD -rVulIs8W&Jrr;uJs8N8Qs4,["s8LRJs8:FIrrL[MqUG`Kec41MrVr>:!<7r,!<8qHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD+?g&M-GgAV*NgA_0QgAV'Xg&M-,g&M-,!;P:J!<:dO!<:dQ!!:jSgAV'Sg&M-,rW)`I -r;ciNrrE#OrW)rOrr<5V!8?-,!<1^O!;tRN!!1dRqUu&Pg&Tj\r;`;?!!%o1!!&nMs+0aXs8VuM -"ektYk.1PC~> -!<E0!joD4BeGoUBec#RIec,XLec#OSeGoU"eGoU"!;P+E!<:UJ!<:UL!!:[Nec#ONeGoU"rW)`D -r;ciIrrE#JrW)rJrr<5Q!7fU"!<1OJ!;tCI!!1UMqUG]KeH".Mr;`;:!!%o,!!&nHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD4BeH#WFeH#X5eH#XGeH5d$s-2%6s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M,Kg&M-:g&M-Lg&_9.!0l1;!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoTFeGoU5eGoUGeH,a$!0l"6!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#WGec,U5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,LgAV*:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTGec#R5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5eboLGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,:gAM$Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5eboLGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^_!!*%VeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g496c!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeU[^^!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4ec#RHeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,9gAV*Mg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4ec#RHeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X.ec5[DeH#XIeH#XIeH#XFec5[BeH#X7eH5d$s8CIJs7t1Fs,,>,s,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-3gA_0Ig&M-Ng&M-Ng&M-KgA_0Gg&M-<g&_9.!<(UO!;Y=K!/fJ1!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU.ec,XDeGoUIeGoUIeGoUFec,XBeGoU7eH,a$!<(FJ!;Y.F!/f;,!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#X-eH#XFec,UIec5[Jec5[EeH#XBeH#X7eHGp&s4,[!s7t1Fs,,>,s,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-2g&M-KgAV*NgA_0OgA_0Jg&M-Gg&M-<g&qE0!8?0+!;Y=K!/fJ1!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU-eGoUFec#RIec,XJec,XEeGoUBeGoU7eH>m&!7fX!!;Y.F!/f;,!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XAec,UJec5[LeH>j%s8W&Jrr;`C!<<&K!rpgNrm_)Mec5Eprr<#Ks8N5Ps8UX" -rVulIs8W&Jrr;fEr;ZcH!<;lF!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-FgAV*OgA_0Qg&h?/!!)uOrW)]H!!*#P!W^pSrn7DRg&Up%rW)uPrr<2U!!(a, -r;ciNrrE#OrW)cJquH`M!!)iK!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUAec#RJec,XLeH5g%!!)uJrW)]C!!*#K!W^aNrm_&MeH#BprW)uKrr<2P!!(R" -r;ciIrrE#JrW)cEquH`H!!)iF!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XBeH#XIeIV]1ec41Ms4,["e^a]Mec5Bo%0+l.s4,["e^a]Mec5Ep$3/Q+s4,[" -e^a^!eH#XJeHZ'(ec41Ms7OnDs4./JeH#XFeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg&M-Ng(+2;g&Tj\!8?-,g=cP\g&Um$$io#8!8?-,g=cP\g&Up%#lr]5!8?-, -g=cQ+g&M-Og'.Q2g&Tj\!;5%I!87GOg&M-Kg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeGoUIeIMZ1eH".M!7fU"e^XZMeH#?o$ini.!7fU"e^XZMeH#Bp#lrN+!7fU" -e^X[!eGoUJeHQ$(eH".M!;4kD!7_)JeGoUFeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec,UJeHu9+ec41Ms4,["pXK?Fe^aTt!7h#Iq:,fOe^a]Mec41Ms8LOK -s8CLIs8CLJs7b%Fs4./JeH#XFeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-FgA_0PgAV*Og'Ic5g&Tj\!8?-,pY#ZKg=lH)!8@>Nq:Z,Tg=cP\g&Tj\!<1[P -!<(XN!<(XO!;G1K!87GOg&M-Kg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUAec,XKec#RJeHl6+eH".M!7fU"pXK<Fe^aQt!7guIq:,cOe^XZMeH".M!<1LK -!<(II!<(IJ!;G"F!7_)JeGoUFeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X?eIqo4ec41Ms4,["e^a]Mec41Ms7b%Ds8:CIs8:CIs7k+Ns4,["e^a]Mec5X! -#liH*s4./"ec5Qt!<;lFr;ZcH!<;lF!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Dg(FD>g&Tj\!8?-,g=cP\g&Tj\!;G1I!;tON!;tON!;P7S!8?-,g=cP\g&V-+ -#QWT4!87G,g&V')!!)iKquH`M!!)iK!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoU?eIhl4eH".M!7fU"e^XZMeH".M!;G"D!;t@I!;t@I!;P(N!7fU"e^XZMeH#U! -#QWE*!7_)"eH#Nt!!)iFquH`H!!)iF!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XBec,UIec5[Lec,RSec5["ec5["s8(:Es8CIJs8:CIs7t4Ds8CLJs8:FIs8LRK -s8LRJs7b%Hs4./"ec#OEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-GgAV*NgA_0QgAV'Xg&M-,g&M-,!;bFJ!<(UO!;tON!;Y@I!<(XO!;tRN!<1^P -!<1^O!;G1M!87G,gAM$Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBec#RIec,XLec#OSeGoU"eGoU"!;b7E!<(FJ!;t@I!;Y1D!<(IJ!;tCI!<1OK -!<1OJ!;G"H!7_)"eboLEeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WZeH#X1eH5d$s7FhAs,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M,_g&M-6g&_9.!;+tF!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoTZeGoU1eH,a$!;+eA!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W\ec5ZueH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,agA_0%g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT\ec,WueGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5eboLGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,:gAM$Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5eboLGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^_!!*%VeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g496c!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeU[^^!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4ec#RHeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,9gAV*Mg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4ec#RHeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X(eH#X7eH#XIeH#XIeH#XFec5[BeH#X9eH#W,eH#W,eH#WHec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD+?g&M--g&M-<g&M-Ng&M-Ng&M-KgA_0Gg&M->g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2M -k2s5TJ,~> -!<E0!joD4BeGoU(eGoU7eGoUIeGoUIeGoUFec,XBeGoU9eGoT,eGoT,eGoTHec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD4BeH#Wgec,UIec5[Jec5[EeH#XBeH#X9eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&M,lgAV*NgA_0OgA_0Jg&M-Gg&M->g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoTgec#RIec,XJec,XEeGoUBeGoU9eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#XBeH,^#rr<#Ks8W&Js8W&Js8W&Js8W,Ls8W,Ls8W,Ls8VfC!<<&K!rpgNrm_)M -ec5Eprr<#Ks8N5Ps8UX"rVulIs8W&Jrr;iF!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Gg&V3-rW)uPrrE#OrrE#OrrE#OrrE)QrrE)QrrE)QrrDcH!!*#P!W^pSrn7DR -g&Up%rW)uPrr<2U!!(a,r;ciNrrE#OrW)fK!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeH#[#rW)uKrrE#JrrE#JrrE#JrrE)LrrE)LrrE)LrrDcC!!*#K!W^aNrm_&M -eH#BprW)uKrr<2P!!(R"r;ciIrrE#JrW)fF!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAeH#XJeIV]1ec41Ms4,["e^a]Mec5Tu!<<&K!<<&K"om-Qe^a]oeI;K.ec41M -s4,["e^a]peHu9+ec41Ms4,["rm_#KrRD,Pe^a]Mec5Bo!<7r,!<7r,!<8qHs+BmUs8VuH"f21\ -k.LbF~> -!<E0!joD+?g&M-Fg&M-Og(+2;g&Tj\!8?-,g=cP\g&V**!!*#P!!*#P"T[6Vg=cQ$g'du8g&Tj\ -!8?-,g=cQ%g'Ic5g&Tj\!8?-,rn7>PrRqGUg=cP\g&Um$!!%o1!!%o1!!&nMs+0aXs8VuM"ektY -k.1PC~> -!<E0!joD4BeGoUAeGoUJeIMZ1eH".M!7fU"e^XZMeH#Qu!!*#K!!*#K"T['Qe^XZoeI2H.eH".M -!7fU"e^XZpeHl6+eH".M!7fU"rm^uKrRD)Pe^XZMeH#?o!!%o,!!%o,!!&nHs+BmUs8VuH"f21\ -k.LbF~> -!<E0!joD4BeH#XAeH#XJec,UJeH#XIec,UHeH#XJeHGp&s4,[!s7XtEs4,ZtrrCUIs7t1Os4,[" -e^a]Mec5X!!<<#Jrr;rIs8VoF!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Fg&M-OgAV*Og&M-NgAV*Mg&M-Og&qE0!8?0+!;>+J!8?0)!!(aN!;Y=T!8?-, -g=cP\g&V-+!!)uOrW)oNrrDlK!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUAeGoUJec#RJeGoUIec#RHeGoUJeH>m&!7fX!!;=qE!7fWt!!(RI!;Y.O!7fU" -e^XZMeH#U!!!)uJrW)oIrrDlF!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAeH#XJeIV]1ec41Ms4,["e^a]Mec5Tu!<<#J#liHTe^a]Mec5Bo!<;uI!<;uI -!<;iE$3/Q+s4,["e^a^!eHl3*ec42"e^a]teH#XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&M-Fg&M-Og(+2;g&Tj\!8?-,g=cP\g&V**!!)uO#QWQYg=cP\g&Um$!!)rN!!)rN -!!)fJ#lr]5!8?-,g=cQ+g'@]4g&Th,g=cQ)g&M-Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoUAeGoUJeIMZ1eH".M!7fU"e^XZMeH#Qu!!)uJ#QWBTe^XZMeH#?o!!)rI!!)rI -!!)fE#lrN+!7fU"e^X[!eHc0*eH","e^XZteGoUGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#XBec#OIec5[Jec5[Jec5[KeboIHeH#XJec5[Eec#OHeH#XIeH#XFec#OHec5[I -ec5[Kec5[Kec,UEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-GgAM$NgA_0OgA_0OgA_0PgACsMg&M-OgA_0JgAM$Mg&M-Ng&M-KgAM$MgA_0N -gA_0PgA_0PgAV*Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeboLIec,XJec,XJec,XKebfFHeGoUJec,XEeboLHeGoUIeGoUFeboLHec,XI -ec,XKec,XKec#REeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WHeH#X3eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,Mg&M-8g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTHeGoU3eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WJec5[2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,OgA_07g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTJec,X2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5eboLGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,:gAM$Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5eboLGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^O!1<fes/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g496T!13b`gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeU[^O!13b`ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4ec#RHeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,9gAV*Mg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4ec#RHeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X.ec5[EeH#Wnec5[>eHc-)s4./"ec1WZ!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-3gA_0Jg&M,sgA_0Cg'7W3!87G,g&R,d!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoU.ec,XEeGoTnec,X>eHZ*)!7_)"eGtTZ!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#X-eH#XEeH#WmeH#X>eH>j%s4.)JNR\%/MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-2g&M-Jg&M,rg&M-Cg&h?/!8@AONS4@4MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoU-eGoUEeGoTmeGoU>eH5g%!7h#JNR\"/MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#XAec,UJec5[LeH>j%s8W&Jrr;fErVuoJ!WU^LrrUaNs8LONs4./LrRLoIq:,NG -ec,UKec5[LeH>j%s8W#I#QN?)s8UXLs7t4Bs8UULs,GP/s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-FgAV*OgA_0Qg&h?/!!)uOrW)cJr;clO!<CjQ!!:jS!<1[S!87DQrS%5Nq:YiL -gAV*PgA_0Qg&h?/!!)rN#6<K3!!(^Q!;Y@G!<:aQ!0,\4!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAec#RJec,XLeH5g%!!)uJrW)cEr;clJ!<C[L!!:[N!<1LN!7_&LrRLlIq:,KG -ec#RKec,XLeH5g%!!)rI#6<<)!!(OL!;Y1B!<:RL!0,M/!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeH#XIeIV]1ec41Ms4,["e^a]Mec5Ep!<;uI!<;rH!<<&K#636(s4,["p!j'B -rRD5Se^a]Mec41Ms8CIJs8LONs4,["psfWLec42"e^a\ZeH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&M-Gg&M-Ng(+2;g&Tj\!8?-,g=cP\g&Up%!!)rN!!)oM!!*#P"p!B2!8?-,p"BBG -rRqPXg=cP\g&Tj\!<(UO!<1[S!8?-,pt>rQg&Th,g=cOdg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoUBeGoUIeIMZ1eH".M!7fU"e^XZMeH#Bp!!)rI!!)oH!!*#K"p!3(!7fU"p!j$B -rRD2Se^XZMeH".M!<(FJ!<1LN!7fU"psfTLeH","e^XYZeGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#XAec5[Kec,UJeHu9+ec41Ms4,["psfBEr7(fIrRLoIrm_,Ne^a^!ec5[DeH#XJ -ec,UJeH>j%ec5Tu!<<&K"96p%s7k+Ls4./"s4,["NR\%/MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-FgA_0PgAV*Og'Ic5g&Tj\!8?-,pt>]Jr7V,NrS%5Nrn7GSg=cQ+gA_0Ig&M-O -gAV*Og&h?/g&V**!!*#P!s%'/!;P7Q!87G,!8?-,NS4@4MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUAec,XKec#RJeHl6+eH".M!7fU"psf?Er7(cIrRLlIrm_)Ne^X[!ec,XDeGoUJ -ec#RJeH5g%eH#Qu!!*#K!s$m%!;P(L!7_)"!7fU"NR\"/MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#X?eIqo4ec41Ms4,["e^a]Mec41Ms7k+Ks4,["e^a^!eH>j%ec5X!"96p%s8:CI -s7k+Es8CISs4,["e^a]Mec5Tu!<<&K"96p%s7t4Bs8UULs,GP/s,,>,s/+?HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD+?g&M-Dg(FD>g&Tj\!8?-,g=cP\g&Tj\!;P7P!8?-,g=cQ+g&h?/g&V-+!s%'/!;tON -!;P7J!<(UX!8?-,g=cP\g&V**!!*#P!s%'/!;Y@G!<:aQ!0,\4!/fJ1!2eKMJb$\Xs81LRU&X9; -\c@6~> -!<E0!joD4BeGoU?eIhl4eH".M!7fU"e^XZMeH".M!;P(K!7fU"e^X[!eH5g%eH#U!!s$m%!;t@I -!;P(E!<(FS!7fU"e^XZMeH#Qu!!*#K!s$m%!;Y1B!<:RL!0,M/!/f;,!2e<HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD4BeH#XBec,UIec5[Lec,RSec5["ec5["s7k.Es8UXJs8UXLrrUaNec,RNec5["rr;cD -rVulIs8W)Krr;uJr;ZfIs8ViD"96pOeboH-eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-GgAV*NgA_0QgAV'Xg&M-,g&M-,!;P:J!<:dO!<:dQ!!:jSgAV'Sg&M-,rW)`I -r;ciNrrE&PrW)rOquHcNrrDfI!s%$TgACr2g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBec#RIec,XLec#OSeGoU"eGoU"!;P+E!<:UJ!<:UL!!:[Nec#ONeGoU"rW)`D -r;ciIrrE&KrW)rJquHcIrrDfD!s$jOebfE-eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WIeH#XBeH#XCeHGp&s4..,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,Ng&M-Gg&M-Hg&qE0!87F1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTIeGoUBeGoUCeH>m&!7_(,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WJec#ODec5[>eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,OgAM$IgA_0Cg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTJeboLDec,X>eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$eb]?0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gA:l5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$eb]?0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^O!1<fes/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g496T!13b`gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeU[^O!13b`ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$ebfE0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gACr5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$ebfE0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X.ec5[DeH#XJec5[Jec5[Fec5[BeH#X7eH5d$s8CIJs7t1Fs,,>,s,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-3gA_0Ig&M-OgA_0OgA_0KgA_0Gg&M-<g&_9.!<(UO!;Y=K!/fJ1!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU.ec,XDeGoUJec,XJec,XFec,XBeGoU7eH,a$!<(FJ!;Y.F!/f;,!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#X-eH#XFec,UJeHu9+ec41Ms4,["q:,KFp!j'BlI?%;ec41Mrr;fE!<7r,!<7r, -!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-2g&M-KgAV*Og'Ic5g&Tj\!8?-,q:YfKp"BBGlIl@@g&Tj\rW)cJ!!%o1!!%o1 -!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoU-eGoUFec#RJeHl6+eH".M!7fU"q:,HFp!j$BlI?";eH".MrW)cE!!%o,!!%o, -!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAec,UJec5[LeH>j%s8W&Jrr;`C!<;rH#636(s4,["q:5KEs4./L"P*PPe^aWu -rmh&KrRLoIq:5ECrm_#Kq:,KFMU__,MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-FgAV*OgA_0Qg&h?/!!)uOrW)]H!!)oM"p!B2!8?-,q:bfJs4[JQ"PNhUg=lK* -rn@APrS%5Nq:b`Hrn7>Pq:YfKMV8%1MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUAec#RJec,XLeH5g%!!)uJrW)]C!!)oH"p!3(!7fU"q:5HEs4.,L"P!JPe^aTu -rmh#KrRLlIq:5BCrm^uKq:,HFMU_\,MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#XBeH#XIeIV]1ec41Ms4,["e^a]Mec5Bo!<;uI!<<#Js8VlE$3/Q+s4,["e^a^! -eH#XJeHZ'(ec41Ms7OnDs4./JeH#XFeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg&M-Ng(+2;g&Tj\!8?-,g=cP\g&Um$!!)rN!!)uOrrDiJ#lr]5!8?-,g=cQ+ -g&M-Og'.Q2g&Tj\!;5%I!87GOg&M-Kg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeGoUIeIMZ1eH".M!7fU"e^XZMeH#?o!!)rI!!)uJrrDiE#lrN+!7fU"e^X[! -eGoUJeHQ$(eH".M!;4kD!7_)JeGoUFeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec,UJeHu9+ec41Ms4,["pXK9DrRCoJrRD#Me^a]qeHu9+ec41Ms4,[" -rm_#KrRLoIrRLrJpXK?Fec5Tu!<;lF!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-FgA_0PgAV*Og'Ic5g&Tj\!8?-,pY#TIrRq5OrRq>Rg=cQ&g'Ic5g&Tj\!8?-, -rn7>PrS%5NrS%8OpY#ZKg&V**!!)iK!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUAec,XKec#RJeHl6+eH".M!7fU"pXK6DrRClJrRCuMe^XZqeHl6+eH".M!7fU" -rm^uKrRLlIrRLoJpXK<FeH#Qu!!)iF!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#X?eIqo4ec41Ms4,["e^a]Mec41Ms7b%Ds8LOKs8:CLs4,["q:,fOe^a]Mec41M -s8LOSs4,["ec41Ms8:CIs7t4Cs8LOKs7t1Fs,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Dg(FD>g&Tj\!8?-,g=cP\g&Tj\!;G1I!<1[P!;tOQ!8?-,q:Z,Tg=cP\g&Tj\ -!<1[X!8?-,g&Tj\!;tON!;Y@H!<1[P!;Y=K!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU?eIhl4eH".M!7fU"e^XZMeH".M!;G"D!<1LK!;t@L!7fU"q:,cOe^XZMeH".M -!<1LS!7fU"eH".M!;t@I!;Y1C!<1LK!;Y.F!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBec,UIec5[Lec,RSec5["ec5["s8(:Es8UXJs8LRKs7t4Ds8CLJs8:FIs8LRK -s8LRJs7b%Hs4./"ec#OEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-GgAV*NgA_0QgAV'Xg&M-,g&M-,!;bFJ!<:dO!<1^P!;Y@I!<(XO!;tRN!<1^P -!<1^O!;G1M!87G,gAM$Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBec#RIec,XLec#OSeGoU"eGoU"!;b7E!<:UJ!<1OK!;Y1D!<(IJ!;tCI!<1OK -!<1OJ!;G"H!7_)"eboLEeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WZeH#X1eH5d$s7FhAs,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M,_g&M-6g&_9.!;+tF!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoTZeGoU1eH,a$!;+eA!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W\ec5ZueH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,agA_0%g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT\ec,WueGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$eb]?0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gA:l5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$eb]?0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^O!1<fes/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g496T!13b`gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeU[^O!13b`ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$ebfE0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gACr5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$ebfE0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X5ec5[Jec5[Lec5[>ec5ZmeH#XEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&M-:gA_0OgA_0QgA_0CgA_/rg&M-Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoU5ec,XJec,XLec,X>ec,WmeGoUEeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#X4eH#XIeH#XKeH#X=eH#WmeH#XEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&M-9g&M-Ng&M-Pg&M-Bg&M,rg&M-Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoU4eGoUIeGoUKeGoU=eGoTmeGoUEeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#XAec5[Kec5[HeH#XIeH#XKec,UJec5[Iec5[KeH>j%s8W)K!<;cCs8W&Js8W,L -$3/QUs4,["ec5[Jec5[Jec5[Kec#OEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-FgA_0PgA_0Mg&M-Ng&M-PgAV*OgA_0NgA_0Pg&h?/!!*#P!!)`HrrE#OrrE)Q -#lrZZ!8?-,g&M-OgA_0OgA_0PgAM$Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUAec,XKec,XHeGoUIeGoUKec#RJec,XIec,XKeH5g%!!*#K!!)`CrrE#JrrE)L -#lrKU!7fU"eGoUJec,XJec,XKeboLEeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XBeH>j%ec5Tu!<;uI!<;uI!<<&K"96p%s8CIJs8LOSs4,["e^a]Ms8CIJs7b%e -s4,["e^a]Mec41Ms4,["e^a]Mec41Ms4,["e^a]Mec5X!!<;iE!<7r,!<7r,!<8qHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD+?g&M-Gg&h?/g&V**!!)rN!!)rN!!*#P!s%'/!<(UO!<1[X!8?-,g=cP\!<(UO!;G1j -!8?-,g=cP\g&Tj\!8?-,g=cP\g&Tj\!8?-,g=cP\g&V-+!!)fJ!!%o1!!%o1!!&nMs+0aXs8VuM -"ektYk.1PC~> -!<E0!joD4BeGoUBeH5g%eH#Qu!!)rI!!)rI!!*#K!s$m%!<(FJ!<1LS!7fU"e^XZM!<(FJ!;G"e -!7fU"e^XZMeH".M!7fU"e^XZMeH".M!7fU"e^XZMeH#U!!!)fE!!%o,!!%o,!!&nHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD4BeH#XBeH#XIec,UHeH#XIeH#XKeHQ!'ec41Mrr;uJ!<;uIs8VW>!<;uI&c^D3s4,[" -e^a]Mec41Ms4,[!s8LOKs81=Hs7k+Es,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Gg&M-NgAV*Mg&M-Ng&M-Pg'%K1g&Tj\rW)rO!!)rNrrDTC!!)rN&HLP=!8?-, -g=cP\g&Tj\!8?0+!<1[P!;kIM!;P7J!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUBeGoUIec#RHeGoUIeGoUKeHGs'eH".MrW)rJ!!)rIrrDT>!!)rI&HLA3!7fU" -e^XZMeH".M!7fX!!<1LK!;k:H!;P(E!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeHl3*ec42"e^a]teH#XIeH#XKeHl3*ec42"e^a^!eHl3*ec41Ms4./JeH#XD -eKOtCec41Ms4,["e^a]Mec41Ms4,["e^a]Mec41Ms4,["rm_,Ne^a]seH#W,eH#W,eH#WHec19m -^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg'@]4g&Th,g=cQ)g&M-Ng&M-Pg'@]4g&Th,g=cQ+g'@]4g&Tj\!87GOg&M-I -g*$IMg&Tj\!8?-,g=cP\g&Tj\!8?-,g=cP\g&Tj\!8?-,rn7GSg=cQ(g&M,1g&M,1g&M,MgAc`p -_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeHc0*eH","e^XZteGoUIeGoUKeHc0*eH","e^X[!eHc0*eH".M!7_)JeGoUD -eKFqCeH".M!7fU"e^XZMeH".M!7fU"e^XZMeH".M!7fU"rm_)Ne^XZseGoT,eGoT,eGoTHec19m -^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec5XOec41Mr;QcIq#C?Ds8N,Ms8LRKs8UXLrrUaNs8LOKs7Y"Cs8CLJ -s8UXKrrCUIrs%$Rs4,["s8CLJs8:FIs8(7Gs,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-FgA_0PgA_-Tg&Tj\qu?`Np]1<Irr<)R!<1^P!<:dQ!!:jS!<1[P!;>.H!<(XO -!<:dP!!(aN!!_-W!8?-,!<(XO!;tRN!;bCL!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAec,XKec,UOeH".Mqu?`Ip]1<Drr<)M!<1OK!<:UL!!:[N!<1LK!;=tC!<(IJ -!<:UK!!(RI!!^sR!7fU"!<(IJ!;tCI!;b4G!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5eboLGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gAM$Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5eboLGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeVO8+s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g5#`dg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeVF3_eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4ec#RHeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gAV*Mg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4ec#RHeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X5eH#W\eH#X9eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-:g&M,ag&M->g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoU5eGoT\eGoU9eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X5eH#W\eH#X9eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-:g&M,ag&M->g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoU5eGoT\eGoU9eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XBeH,^#rr<#Ks8W)KrVm2Ss8UXLs4,["ec#LLec5[JeH#XCec5[Jec5[LeHu9+ -s8UX"s4./LrRLrJrRLrJrmguImaV=;MU__,MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-Gg&V3-rW)uPrrE⪻[/X!!(^Q!8?-,gAM!Qg&M-Og&M-HgA_0OgA_0Qg'Ic5 -!!(a,!87DQrS%8OrS%8Orn@;Nmb.X@MV8%1MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUBeH#[#rW)uKrrE&Kr;[/S!!(OL!7fU"eboILeGoUJeGoUCec,XJec,XLeHl6+ -!!(R"!7_&LrRLoJrRLoJrmgrImaV:;MU_\,MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#XAeH#XJeH>j%ec5X!!<<#J"96p%s8LOKs8CIMs4,["rm_#KpXLGee^a]Mec41M -s4,["e^a]Mec41Ms4,["e^a]Mec41Ms8LOKs6S89s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Fg&M-Og&h?/g&V-+!!)uO!s%'/!<1[P!<(UR!8?-,rn7>PpY$bjg=cP\g&Tj\ -!8?-,g=cP\g&Tj\!8?-,g=cP\g&Tj\!<1[P!:8D>!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAeGoUJeH5g%eH#U!!!)uJ!s$m%!<1LK!<(FM!7fU"rm^uKpXLDee^XZMeH".M -!7fU"e^XZMeH".M!7fU"e^XZMeH".M!<1LK!:859!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XAeH#XJec,UIeH#XJeH>j%ec5X!!<<#J"96p%s7=b@s8:CZs4,["e^a]Mec41M -s4,["e^a[!rm_#Kqpb]Hm*u+9MU__,MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-Fg&M-OgAV*Ng&M-Og&h?/g&V-+!!)uO!s%'/!;"nE!;tO_!8?-,g=cP\g&Tj\ -!8?-,g=lN+rn7>Pqq;#Mm+MF>MV8%1MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUAeGoUJec#RIeGoUJeH5g%eH#U!!!)uJ!s$m%!;"_@!;t@Z!7fU"e^XZMeH".M -!7fU"e^aX!rm^uKqpbZHm*u(9MU_\,MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#XAeH#XJeH>j%ec5X!#liH*s4./"ec5X!!<<#J"96p%s8LOKs7b%es4,["e^a]M -ec41Ms4,["e^a]Mec41Ms4,["e^a]Mec5X!"96p%s6nJ<s,,>,s,,>,s/+?HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD+?g&M-Fg&M-Og&h?/g&V-+#QWT4!87G,g&V-+!!)uO!s%'/!<1[P!;G1j!8?-,g=cP\ -g&Tj\!8?-,g=cP\g&Tj\!8?-,g=cP\g&V-+!s%'/!:SVA!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9; -\c@6~> -!<E0!joD4BeGoUAeGoUJeH5g%eH#U!#QWE*!7_)"eH#U!!!)uJ!s$m%!<1LK!;G"e!7fU"e^XZM -eH".M!7fU"e^XZMeH".M!7fU"e^XZMeH#U!!s$m%!:SG<!/f;,!/f;,!2e<HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD4BeH#XBec#OIec5[Iec5[Kec5XNec41urrCUKrrpsQs4,["p=93CrRLrJs4.,K!7h#I -#1`bRe^a^"rRLrJr71iImaV=;MU__,MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-GgAM$NgA_0NgA_0PgA_-Sg&Tk*!!(aP!!V'V!8?-,p=fNHrS%8Os4[GP!8@>N -#20%Wg=cN,rS%8Or7_/Nmb.X@MV8%1MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUBeboLIec,XIec,XKec,UNeH".u!!(RK!!UmQ!7fU"p=90CrRLoJs4.)K!7guI -#1W\Re^XX"rRLoJr71fImaV:;MU_\,MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$eb]?0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gA:l5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$eb]?0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeVO8+s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g5#`dg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeVF3_eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$ebfE0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gACr5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$ebfE0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X(eH#X7eH#XJec5[Jec5[Fec5[BeH#X9eH#W,eH#W,eH#WHec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD+?g&M--g&M-<g&M-OgA_0OgA_0KgA_0Gg&M->g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2M -k2s5TJ,~> -!<E0!joD4BeGoU(eGoU7eGoUJec,XJec,XFec,XBeGoU9eGoT,eGoT,eGoTHec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD4BeH#Wgec,UJeHu9+ec41Ms4,["q:,KFp!j'Bm*u+9MU__,MU__,VUb^!o"G)'qpbkG -s5rIW!.Y~> -!<E0!joD+?g&M,lgAV*Og'Ic5g&Tj\!8?-,q:YfKp"BBGm+MF>MV8%1MV8%1VV;'$o"tG,qq;4I -s5rIT!.Y~> -!<E0!joD4BeGoTgec#RJeHl6+eH".M!7fU"q:,HFp!j$Bm*u(9MU_\,MU_\,VUb^!o"G)'qpbkG -s5rIW!.Y~> -!<E0!joD4BeH#XBeH,^#rr<#Ks8W&Js8W&Js8W&Js8W,Ls8W,Ls8W,Ls8VfC!<;rH#636(s4,[" -q:5KEs4./L"P*PPe^aWurmh&KrRLoIqUGTGMU__,MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-Gg&V3-rW)uPrrE#OrrE#OrrE#OrrE)QrrE)QrrE)QrrDcH!!)oM"p!B2!8?-, -q:bfJs4[JQ"PNhUg=lK*rn@APrS%5NqUtoLMV8%1MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUBeH#[#rW)uKrrE#JrrE#JrrE#JrrE)LrrE)LrrE)LrrDcC!!)oH"p!3(!7fU" -q:5HEs4.,L"P!JPe^aTurmh#KrRLlIqUGQGMU_\,MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#XAeH#XJeIV]1ec41Ms4,["e^a]Mec5Tu!<<&K!<<&K"om-Qe^a]oeH#XIeH#XJ -ec5[EeHu9+ec41Ms4,["rm_#KrRD,Pe^a]Mec5Bo!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Fg&M-Og(+2;g&Tj\!8?-,g=cP\g&V**!!*#P!!*#P"T[6Vg=cQ$g&M-Ng&M-O -gA_0Jg'Ic5g&Tj\!8?-,rn7>PrRqGUg=cP\g&Um$!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUAeGoUJeIMZ1eH".M!7fU"e^XZMeH#Qu!!*#K!!*#K"T['Qe^XZoeGoUIeGoUJ -ec,XEeHl6+eH".M!7fU"rm^uKrRD)Pe^XZMeH#?o!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAeH#XJec,UJeH#XIec,UHeH#XJeHGp&s4,[!s7XtCs8CIJs8CIMs4,["q:,fO -e^a]Mec41Ms8LOKs8CLIs8CLJs7t1Fs,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Fg&M-OgAV*Og&M-NgAV*Mg&M-Og&qE0!8?0+!;>+H!<(UO!<(UR!8?-,q:Z,T -g=cP\g&Tj\!<1[P!<(XN!<(XO!;Y=K!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAeGoUJec#RJeGoUIec#RHeGoUJeH>m&!7fX!!;=qC!<(FJ!<(FM!7fU"q:,cO -e^XZMeH".M!<1LK!<(II!<(IJ!;Y.F!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XAeH#XJeIV]1ec41Ms4,["e^a]Mec5Tu!<<#J#liHTe^a]Mec5Bo!<<&K!<;uI -"96p%s7t1Os4,["e^a]Mec5X!#liH*s4./"ec5Qt!<;oG!<7r,!<7r,!<8qHs+BmUs8VuH"f21\ -k.LbF~> -!<E0!joD+?g&M-Fg&M-Og(+2;g&Tj\!8?-,g=cP\g&V**!!)uO#QWQYg=cP\g&Um$!!*#P!!)rN -!s%'/!;Y=T!8?-,g=cP\g&V-+#QWT4!87G,g&V')!!)lL!!%o1!!%o1!!&nMs+0aXs8VuM"ektY -k.1PC~> -!<E0!joD4BeGoUAeGoUJeIMZ1eH".M!7fU"e^XZMeH#Qu!!)uJ#QWBTe^XZMeH#?o!!*#K!!)rI -!s$m%!;Y.O!7fU"e^XZMeH#U!#QWE*!7_)"eH#Nt!!)lG!!%o,!!%o,!!&nHs+BmUs8VuH"f21\ -k.LbF~> -!<E0!joD4BeH#XBec#OIec5[Jec5[Jec5[KeboIHeH#XJec5[Eec#OJec#OIec5[Fec#OHec5[I -ec5[Kec5[Kec,UEeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-GgAM$NgA_0OgA_0OgA_0PgACsMg&M-OgA_0JgAM$OgAM$NgA_0KgAM$MgA_0N -gA_0PgA_0PgAV*Jg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeboLIec,XJec,XJec,XKebfFHeGoUJec,XEeboLJeboLIec,XFeboLHec,XI -ec,XKec,XKec#REeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WHeH#X3eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,Mg&M-8g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTHeGoU3eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WJec5[2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,OgA_07g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTJec,X2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$eb]?0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gA:l5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$eb]?0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^O!1<fes/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g496T!13b`gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeU[^O!13b`ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$ebfE0eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gACr5g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$ebfE0eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAeH#Wnec5[>eH5d$s8CIJs6%o4s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Fg&M,sgA_0Cg&_9.!<(UO!9`&9!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAeGoTnec,X>eH,a$!<(FJ!9_l4!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XAeH#WmeH#X>eHGp&s4,[!s6%o4s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Fg&M,rg&M-Cg&qE0!8?0+!9`&9!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAeGoTmeGoU>eH>m&!7fX!!9_l4!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBec#OJeH,^#rr3&Ms8W)K"96pOs8CLIs7t1Gs4.,Ks4./Ls4%5Oec5[IeHc-) -ec5["s8VoFr;ZcH!<;64!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-GgAM$Og&V3-rW!#R!!*#P!s%$T!<(XN!;Y=L!8@DPs4[JQs4RPTg&M-Ng'7W3 -g&M-,!!)iKquH`M!!)39!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeboLJeH#[#rW!#M!!*#K!s$jO!<(II!;Y.G!7h&Ks4.,Ls4%2OeGoUIeHZ*) -eGoU"!!)iFquH`H!!)34!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAeH#XIeH#XHeH#XKeHZ'(ec41Ms7OnBs8CISs4,["e^a]Mec5Tu!<<&K"96p% -s7k+Gs4./JeH#X4eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Fg&M-Ng&M-Mg&M-Pg'.Q2g&Tj\!;5%G!<(UX!8?-,g=cP\g&V**!!*#P!s%'/ -!;P7L!87GOg&M-9g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUAeGoUIeGoUHeGoUKeHQ$(eH".M!;4kB!<(FS!7fU"e^XZMeH#Qu!!*#K!s$m% -!;P(G!7_)JeGoU4eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAeH#XIeH#XJec,UJeH>j%ec5X!s8ViD!<<#Jrr;uJ"96p%s8CIJs8LONs4,[" -psfHGec5Tu!<;64!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Fg&M-Ng&M-OgAV*Og&h?/g&V-+rrDfI!!)uOrW)rO!s%'/!<(UO!<1[S!8?-, -pt>cLg&V**!!)39!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUAeGoUIeGoUJec#RJeH5g%eH#U!rrDfD!!)uJrW)rJ!s$m%!<(FJ!<1LN!7fU" -psfEGeH#Qu!!)34!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XAeHZ'(ec41Ms8LONs4,["rm_,Ne^a]teH#XEeH#XJeHu9+ec41Ms4,["rRCoJ -rm_,Ne^a]qeboIHeH#X4eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Fg'.Q2g&Tj\!<1[S!8?-,rn7GSg=cQ)g&M-Jg&M-Og'Ic5g&Tj\!8?-,rRq5O -rn7GSg=cQ&gACsMg&M-9g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUAeHQ$(eH".M!<1LN!7fU"rm_)Ne^XZteGoUEeGoUJeHl6+eH".M!7fU"rRClJ -rm_)Ne^XZqebfFHeGoU4eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X@ec5[Lec#OJec5XNec42!rr^gOs4.,Kpso?Crmh&Krmh#JrmgrHs4./LpXKEH -ec41MrVu*3!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-EgA_0QgAM$OgA_-Sg&Tk+!!CpT!8@DPptGZHrn@APrn@>Orn@8Ms4[JQpY#`M -g&Tj\r;c'8!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoU@ec,XLeboLJec,UNeH"/!!!CaO!7h&Kpso<Crmh#KrmguJrmgoHs4.,LpXKBH -eH".Mr;c'3!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#WgeH#XBeH#XCeH5d$s5MQ/s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M,lg&M-Gg&M-Hg&_9.!92]4!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoTgeGoUBeGoUCeH,a$!92N/!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#Whec#ODec5ZueH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,mgAM$IgA_0%g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTheboLDec,WueGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5eboLGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,:gAM$Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5eboLGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^O!1<fes/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g496T!13b`gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeU[^O!13b`ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4ec#RHeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,9gAV*Mg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4ec#RHeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X5ec5[Jec5[Lec5[>ec5[<eH#X!eH#XGec5[>eH5d$s8CIJs/XZMs,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-:gA_0OgA_0QgA_0CgA_0Ag&M-&g&M-LgA_0Cg&_9.!<(UO!3=fR!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU5ec,XJec,XLec,X>ec,X<eGoU!eGoUGec,X>eH,a$!<(FJ!3=WM!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#X4eH#XIeH#XKeH#X=eH#X<eH#X!eH#XFeH#X>eHGp&s4,[!s/XZMs,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-9g&M-Ng&M-Pg&M-Bg&M-Ag&M-&g&M-Kg&M-Cg&qE0!8?0+!3=fR!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU4eGoUIeGoUKeGoU=eGoU<eGoU!eGoUFeGoU>eH>m&!7fX!!3=WM!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XAec5[Kec5[HeH#XIeH#XKec,UJec5[Iec5[KeH>j%s8W)K!<;fDrVuoJ!WU^L -rrUaNs8LONs4./LrRLoIq:,NGec,UKec5[LeH>j%s8W#I#QN?)s8UXLs7t4Cs8LOKs/XZMs,,>, -s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-FgA_0PgA_0Mg&M-Ng&M-PgAV*OgA_0NgA_0Pg&h?/!!*#P!!)cIr;clO!<CjQ -!!:jS!<1[S!87DQrS%5Nq:YiLgAV*PgA_0Qg&h?/!!)rN#6<K3!!(^Q!;Y@H!<1[P!3=fR!/fJ1 -!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAec,XKec,XHeGoUIeGoUKec#RJec,XIec,XKeH5g%!!*#K!!)cDr;clJ!<C[L -!!:[N!<1LN!7_&LrRLlIq:,KGec#RKec,XLeH5g%!!)rI#6<<)!!(OL!;Y1C!<1LK!3=WM!/f;, -!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeH>j%ec5Tu!<;uI!<;uI!<<&K"96p%s8CIJs8LOSs4,["e^a]Ms8CIJs7XtC -s8:CIs81=Hs8LOQs4,["e^a]meH#XJeHu9+ec42"s4,["rRCoJrm_,Ne^a]peH5d$s8CIJs/XZM -s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Gg&h?/g&V**!!)rN!!)rN!!*#P!s%'/!<(UO!<1[X!8?-,g=cP\!<(UO!;>+H -!;tON!;kIM!<1[V!8?-,g=cQ"g&M-Og'Ic5g&Th,!8?-,rRq5Orn7GSg=cQ%g&_9.!<(UO!3=fR -!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUBeH5g%eH#Qu!!)rI!!)rI!!*#K!s$m%!<(FJ!<1LS!7fU"e^XZM!<(FJ!;=qC -!;t@I!;k:H!<1LQ!7fU"e^XZmeGoUJeHl6+eH","!7fU"rRClJrm_)Ne^XZpeH,a$!<(FJ!3=WM -!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeH#XIec,UHeH#XIeH#XKeHQ!'ec41Mrr;uJ!<;uIs8VT=!<;uI!<<#Jrr;uJ -"96p%s8LRKs7b%Ds8CLIs8UXLs8UULs8CIJs8LONs4,["psfHGec5Tu!<9+M!<7r,!<8qHs+BmU -s8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Gg&M-NgAV*Mg&M-Ng&M-Pg'%K1g&Tj\rW)rO!!)rNrrDQB!!)rN!!)uOrW)rO -!s%'/!<1^P!;G1I!<(XN!<:dQ!<:aQ!<(UO!<1[S!8?-,pt>cLg&V**!!'(R!!%o1!!&nMs+0aX -s8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeGoUIec#RHeGoUIeGoUKeHGs'eH".MrW)rJ!!)rIrrDQ=!!)rI!!)uJrW)rJ -!s$m%!<1OK!;G"D!<(II!<:UL!<:RL!<(FJ!<1LN!7fU"psfEGeH#Qu!!'(M!!%o,!!&nHs+BmU -s8VuH"f21\k.LbF~> -!<E0!joD4BeH#XBeHl3*ec42"e^a]teH#XIeH#XKeHl3*ec42"e^a^!eHl3*ec41Ms4./JeH#XC -eHZ'(ec41Ms8LONs4,["rm_,Ne^a]teH#XEeH#XJeHu9+ec42"s4,["rRCoJrm_,Ne^a]qeboIH -eH#WMeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg'@]4g&Th,g=cQ)g&M-Ng&M-Pg'@]4g&Th,g=cQ+g'@]4g&Tj\!87GOg&M-H -g'.Q2g&Tj\!<1[S!8?-,rn7GSg=cQ)g&M-Jg&M-Og'Ic5g&Th,!8?-,rRq5Orn7GSg=cQ&gACsM -g&M,Rg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeHc0*eH","e^XZteGoUIeGoUKeHc0*eH","e^X[!eHc0*eH".M!7_)JeGoUC -eHQ$(eH".M!<1LN!7fU"rm_)Ne^XZteGoUEeGoUJeHl6+eH","!7fU"rRClJrm_)Ne^XZqebfFH -eGoTMeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec5XOec41Mr;QcIq#C?Ds8N,Ms8LRKs8UXLrrUaNs8LOKs7OqBs8UXJ -s8UXLrrUaNec,RNec5["rr;cDrVulIs8W,LrVulIr;ZfIs8ViD"TR$Pe^aWuXOR=NMU__,VUb^! -o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-FgA_0PgA_-Tg&Tj\qu?`Np]1<Irr<)R!<1^P!<:dQ!!:jS!<1[P!;5(G!<:dO -!<:dQ!!:jSgAV'Sg&M-,rW)`Ir;ciNrrE)Qr;ciNquHcNrrDfI"9@-Ug=lK*XP*XSMV8%1VV;'$ -o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUAec,XKec,UOeH".Mqu?`Ip]1<Drr<)M!<1OK!<:UL!!:[N!<1LK!;4nB!<:UJ -!<:UL!!:[Nec#ONeGoU"rW)`Dr;ciIrrE)Lr;ciIquHcIrrDfD"9?sPe^aTuXOR:NMU_\,VUb^! -o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,ec5[BeH#XCeH5d$s/+<Hs,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1gA_0Gg&M-Hg&_9.!2eHM!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,ec,XBeGoUCeH,a$!2e9H!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,ec#ODec5Z9eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1gAM$IgA_/>g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eboLDec,W9eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5eboLGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gAM$Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5eboLGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeVO8+s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g5#`dg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeVF3_eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4ec#RHeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gAV*Mg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4ec#RHeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#X5ec5[Jec5[Lec5[>ec5[:eH#X?ec5[Jec5[KeH#XBeH#XKeH#Wrec5[>eH5d$ -s8CIJs4,X"s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-:gA_0OgA_0QgA_0CgA_0?g&M-DgA_0OgA_0Pg&M-Gg&M-Pg&M-"gA_0Cg&_9. -!<(UO!7fd'!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU5ec,XJec,XLec,X>ec,X:eGoU?ec,XJec,XKeGoUBeGoUKeGoTrec,X>eH,a$ -!<(FJ!7fU"!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#X4eH#XIeH#XKeH#X=eH#X;eH#X=eH#XIeH#XJeH#XCeH#XKeH#WqeH#X>eHGp& -s4,[!s4,X"s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-9g&M-Ng&M-Pg&M-Bg&M-@g&M-Bg&M-Ng&M-Og&M-Hg&M-Pg&M-!g&M-Cg&qE0 -!8?0+!7fd'!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoU4eGoUIeGoUKeGoU=eGoU;eGoU=eGoUIeGoUJeGoUCeGoUKeGoTqeGoU>eH>m& -!7fX!!7fU"!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XAec5[Kec5[HeH#XIeH#XKec,UJec5[Iec5[KeH>j%s8W)K!<;`B!<<#Js8W)K -s8VuH!<;uI!<<#J!<;fDrVluMs8UXKrrUaNs8LONs4./LrRLoIq:,NGec,UKec5[LeH>j%s8W#I -#QN?)s8UXLs7t4Cs8LOKs4,X"s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-FgA_0PgA_0Mg&M-Ng&M-PgAV*OgA_0NgA_0Pg&h?/!!*#P!!)]G!!)uOrrE&P -rrDrM!!)rN!!)uO!!)cIr;ZrR!!(aP!!:jS!<1[S!87DQrS%5Nq:YiLgAV*PgA_0Qg&h?/!!)rN -#6<K3!!(^Q!;Y@H!<1[P!7fd'!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUAec,XKec,XHeGoUIeGoUKec#RJec,XIec,XKeH5g%!!*#K!!)]B!!)uJrrE&K -rrDrH!!)rI!!)uJ!!)cDr;ZrM!!(RK!!:[N!<1LN!7_&LrRLlIq:,KGec#RKec,XLeH5g%!!)rI -#6<<)!!(OL!;Y1C!<1LK!7fU"!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeH>j%ec5Tu!<;uI!<;uI!<<&K"96p%s8CIJs8LOSs4,["e^a]Ms8CIJs7XtC -s8CIMs4,["rRCoJr7(fIr7(fIr7(fIpXK9Drm_)Mec5Ns!<<&K#636(s4,["p!j'BrRD5Se^a]M -ec41Ms8CIJs8LONs4,["psfHGec5Tu!<:U"!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Gg&h?/g&V**!!)rN!!)rN!!*#P!s%'/!<(UO!<1[X!8?-,g=cP\!<(UO!;>+H -!<(UR!8?-,rRq5Or7V,Nr7V,Nr7V,NpY#TIrn7DRg&V$(!!*#P"p!B2!8?-,p"BBGrRqPXg=cP\ -g&Tj\!<(UO!<1[S!8?-,pt>cLg&V**!!(R'!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeH5g%eH#Qu!!)rI!!)rI!!*#K!s$m%!<(FJ!<1LS!7fU"e^XZM!<(FJ!;=qC -!<(FM!7fU"rRClJr7(cIr7(cIr7(cIpXK6Drm_&MeH#Ks!!*#K"p!3(!7fU"p!j$BrRD2Se^XZM -eH".M!<(FJ!<1LN!7fU"psfEGeH#Qu!!(R"!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XBeH#XIec,UHeH#XIeH#XKeHQ!'ec41Mrr;uJ!<;uIs8VT=!<<#J!<;uIrr;oH -!<;uI!<;uI!<;fD!<<&K!rpgNrRLoIrm_,Ne^a^!ec5[DeH#XJec,UJeH>j%ec5Tu!<<&K"96p% -s7k+Gs4./JeH#X"eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg&M-NgAV*Mg&M-Ng&M-Pg'%K1g&Tj\rW)rO!!)rNrrDQB!!)uO!!)rNrW)lM -!!)rN!!)rN!!)cI!!*#P!W^pSrS%5Nrn7GSg=cQ+gA_0Ig&M-OgAV*Og&h?/g&V**!!*#P!s%'/ -!;P7L!87GOg&M-'g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeGoUIec#RHeGoUIeGoUKeHGs'eH".MrW)rJ!!)rIrrDQ=!!)uJ!!)rIrW)lH -!!)rI!!)rI!!)cD!!*#K!W^aNrRLlIrm_)Ne^X[!ec,XDeGoUJec#RJeH5g%eH#Qu!!*#K!s$m% -!;P(G!7_)JeGoU"eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XBeHl3*ec42"e^a]teH#XIeH#XKeHl3*ec42"e^a^!eHl3*ec41Ms4./JeH#XC -eH#XJeHl3*ec42"e^a]teH#XIeH#XIeH#XDeHZ'(ec5["s8LONs4,["rm_,Ne^a]teH#XEeH#XJ -eHu9+ec41Ms4,["rRCoJrm_,Ne^a]qeboIHeH#X"eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-Gg'@]4g&Th,g=cQ)g&M-Ng&M-Pg'@]4g&Th,g=cQ+g'@]4g&Tj\!87GOg&M-H -g&M-Og'@]4g&Th,g=cQ)g&M-Ng&M-Ng&M-Ig'.Q2g&M-,!<1[S!8?-,rn7GSg=cQ)g&M-Jg&M-O -g'Ic5g&Tj\!8?-,rRq5Orn7GSg=cQ&gACsMg&M-'g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUBeHc0*eH","e^XZteGoUIeGoUKeHc0*eH","e^X[!eHc0*eH".M!7_)JeGoUC -eGoUJeHc0*eH","e^XZteGoUIeGoUIeGoUDeHQ$(eGoU"!<1LN!7fU"rm_)Ne^XZteGoUEeGoUJ -eHl6+eH".M!7fU"rRClJrm_)Ne^XZqebfFHeGoU"eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XAec5[Kec5XOec41Mr;QcIq#C?Ds8N,Ms8LRKs8UXLrrUaNs8LOKs7OnBs8CLJ -s8LRKrr^gOe^aTt!7h#Is4%,Lp!s*B!7h#Is4./L!nI>$rr3)Ns8UXKs7k.Cs8LRKs8LRJs8LRH -s8UXLs7b%Hs4./"ec#O!eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-FgA_0PgA_-Tg&Tj\qu?`Np]1<Irr<)R!<1^P!<:dQ!!:jS!<1[P!;5%G!<(XO -!<1^P!!CpTg=lH)!8@>Ns4RGQp"KEG!8@>Ns4[JQ!nmY.rW!&S!!(aP!;P:H!<1^P!<1^O!<1^M -!<:dQ!;G1M!87G,gAM$&g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUAec,XKec,UOeH".Mqu?`Ip]1<Drr<)M!<1OK!<:UL!!:[N!<1LK!;4kB!<(IJ -!<1OK!!CaOe^aQt!7guIs4%)Lp!s'B!7guIs4.,L!n@;$rW!&N!!(RK!;P+C!<1OK!<1OJ!<1OH -!<:UL!;G"H!7_)"eboL!eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#WYeH#X2eH#X?eH#X$eH#XBeH#XCeH5d$s3T9rs,,>,s/+?HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD+?g&M,^g&M-7g&M-Dg&M-)g&M-Gg&M-Hg&_9.!79F"!/fJ1!2eKMJb$\Xs81LRU&X9; -\c@6~> -!<E0!joD4BeGoTYeGoU2eGoU?eGoU$eGoUBeGoUCeH,a$!796r!/f;,!2e<HKCZ_Us81=MV#TT> -]`<Q~> -!<E0!joD4BeH#WXeH#X4eH#X>eH#X%ec#ODec5ZceH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,]g&M-9g&M-Cg&M-*gAM$IgA_/hg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoTXeGoU4eGoU>eGoU%eboLDec,WceGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5eboLGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gAM$Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5eboLGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeVO8+s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g5#`dg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeVF3_eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4eb]@HeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gA:mMg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4eb]@HeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W4ec#RHeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,9gAV*Mg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT4ec#RHeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W5ec,XGeH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,:gA_0Lg&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT5ec,XGeGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XCec5[;ec5[Kec5[4ec5[BeH5d$s8CIJs5DK.s,,>,s,,>,s/+?HKCZ_Us81=M -V#TT>]`<Q~> -!<E0!joD+?g&M-HgA_0@gA_0PgA_09gA_0Gg&_9.!<(UO!9)W3!/fJ1!/fJ1!2eKMJb$\Xs81LR -U&X9;\c@6~> -!<E0!joD4BeGoUCec,X;ec,XKec,X4ec,XBeH,a$!<(FJ!9)H.!/f;,!/f;,!2e<HKCZ_Us81=M -V#TT>]`<Q~> -!<E0!joD4BeH#XBeH#X:eH#XJeH#X3eH#XBeHGp&s4,[!s5DK.s,,>,s,,>,s/+?HKCZ_Us81=M -V#TT>]`<Q~> -!<E0!joD+?g&M-Gg&M-?g&M-Og&M-8g&M-Gg&qE0!8?0+!9)W3!/fJ1!/fJ1!2eKMJb$\Xs81LR -U&X9;\c@6~> -!<E0!joD4BeGoUBeGoU:eGoUJeGoU3eGoUBeH>m&!7fX!!9)H.!/f;,!/f;,!2e<HKCZ_Us81=M -V#TT>]`<Q~> -!<E0!joD4BeH#XBec,UJec5[KeH>j%s8W&Jrr;rI!<<#Js8VlEs8W#Is8W)K"96pOs7t4Cs8LOK -s5DK.s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-GgAV*OgA_0Pg&h?/!!)uOrW)oN!!)uOrrDiJrrDuNrrE&P!s%$T!;Y@H!<1[P -!9)W3!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUBec#RJec,XKeH5g%!!)uJrW)oI!!)uJrrDiErrDuIrrE&K!s$jO!;Y1C!<1LK -!9)H.!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeH>j%ec5Tu!<<&K$3/Q+s4,["e^a]ueH#XKeH>j%ec5Bo!<<&K#liH*s4,[" -ec5Bo!rpgNrRCoJiRIr.MU__,MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&M-Gg&h?/g&V**!!*#P#lr]5!8?-,g=cQ*g&M-Pg&h?/g&Um$!!*#P#QWT4!8?-, -g&Um$!W^pSrRq5OiS"83MV8%1MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoUBeH5g%eH#Qu!!*#K#lrN+!7fU"e^XZueGoUKeH5g%eH#?o!!*#K#QWE*!7fU" -eH#?o!W^aNrRClJiRIo.MU_\,MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#XBeHQ!'ec41Mrr;uJ$3/Q+s4,["e^a]ueH#XKec,UDec,UJeH#XIec5[CeH5d$ -s8CIJs5DK.s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-Gg'%K1g&Tj\rW)rO#lr]5!8?-,g=cQ*g&M-PgAV*IgAV*Og&M-NgA_0Hg&_9. -!<(UO!9)W3!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUBeHGs'eH".MrW)rJ#lrN+!7fU"e^XZueGoUKec#RDec#RJeGoUIec,XCeH,a$ -!<(FJ!9)H.!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#XBeHl3*ec42"e^a^!eHu9+ec41Ms4,["rRCoJrm_,Ne^a]reH>j%ec5X!#liH* -s4,["ec5Epr;ZcH!<;$.!<7r,!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&M-Gg'@]4g&Th,g=cQ+g'Ic5g&Tj\!8?-,rRq5Orn7GSg=cQ'g&h?/g&V-+#QWT4 -!8?-,g&Up%quH`M!!)!3!!%o1!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoUBeHc0*eH","e^X[!eHl6+eH".M!7fU"rRClJrm_)Ne^XZreH5g%eH#U!#QWE* -!7fU"eH#BpquH`H!!)!.!!%o,!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#XCec,RSec5["s8UXLec,RTec5["ec5["s4.&Is4./LpsoEE!S.5Lec5[Lec5XN -ec5[EeHGp&s4,Zus5MQ/s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M-HgAV'Xg&M-,!!(^QgAV'Yg&M-,g&M-,!8@>Ns4[JQptG`J!SRPQgA_0QgA_-S -g&M-Jg&qE0!8?0*!92]4!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoUCec#OSeGoU"!!(OLec#OTeGoU"eGoU"!7guIs4.,LpsoBE!S%2Lec,XLec,UN -eGoUEeH>m&!7fWu!92N/!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#WTeH5d$s4l-)s,,>,s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&M,Yg&_9.!8Q9.!/fJ1!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoTTeH,a$!8Q*)!/f;,!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec19ks81=MV#TT>]`<Q~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAc`ns81LRU&X9;\c@6~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec19ks81=MV#TT>]`<Q~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec17%^%D=+KE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAc^(_Y!j0JcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec17%^%D=+KE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH5d$eb]?0eH#W,eH#W,eH#WHec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gA:l5g&M,1g&M,1g&M,MgAc^*_Z0Z2gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$eb]?0eGoT,eGoT,eGoTHec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeU[^O!1<fes/+?HKE&Xbs7t4FK*&ads81=MV#TT>]`<Q~> -!<E0!joD+?g496T!13b`gAca(_Z0Z3gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeU[^O!13b`ec1:%^&S-.ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH5d$ebfE0eH#W,eH#W,eH#WHec1:%^&S-/ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&_9.gACr5g&M,1g&M,1g&M,MgAca(_Z0Z4gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeH,a$ebfE0eGoT,eGoT,eGoTHec1:%^&S-/ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XJeboK2eH#W,eH#W,eH#WHec1:$^&S-0ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-OgAM#7g&M,1g&M,1g&M,MgAca'_Z0Z5gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUJeboK2eGoT,eGoT,eGoTHec1:$^&S-0ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#XGec,W5eH#W,eH#W,eH#WHec1:$^&S-1ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M-LgA_/:g&M,1g&M,1g&M,MgAca'_Z0Z6gAca'_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoUGec,W5eGoT,eGoT,eGoTHec1:$^&S-1ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:#^&S-2ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca&_Z0Z7gAca'_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:#^&S-2ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:#^&S-3ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca&_Z0Z8gAca&_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:#^&S-3ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:"^&S-4ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca%_Z0Z9gAca&_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:"^&S-4ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:"^&S*6eUrMP^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca%_Z0W;g4=hQ_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:"^&S*6eUrMP^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:!]`A*3KD`F_s81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca$_>sW8Jc*Cbs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:!]`A*3KD`F_s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:!]`S4dKDW@^s81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca$_?0agJc!=as81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:!]`S4dKDW@^s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19u^&N`^^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca#_Z,2a_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19u^&N`^^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19u]`<]]^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAca#_>o/`_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19u]`<]]^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19ks81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,MgAc`ns81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19ks81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHeGt6js81=MV#TT>]`<Q~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,Mg&Q]ms81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHeGt6js81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#W/eHMcKk2s>WJ,~> -!<E0!joD+?g&M,1g&M,1g&M,1g&M,4g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoT/eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD4SeU`@(K7SZXKBC\fV#TT>]`<Q~> -!<E0!joD+Pg4=g+JUrBTJ`bYiU&X9;\c@6~> -!<E0!joD4SeU`@(K7SZXKBC\fV#TT>]`<Q~> -!<E0!joD4SeU`@(K7SZYK)kr6eHMcKk2s>WJ,~> -!<E0!joD+Pg4=g+JUrBUJH5`4g'+2Mk2s5TJ,~> -!<E0!joD4SeU`@(K7SZYK)kr6eHMcKk2s>WJ,~> -!<E0!joD4Sec19n]`J/H]`3PrJ\@A_s8V`)s8V63"f21\k.LbF~> -!<E0!joD+PgAc`q_?'\R]`3Q"J\m_is8V`.s8V68"ektYk.1PC~> -!<E0!joD4Sec19n]`J/H]`3PrJ\@A_s8V`)s8V63"f21\k.LbF~> -!<E0!joD4Sec19p^&S*5K>"tu!/#j9J\@A_rVuT)s8V63"f21\k.LbF~> -!<E0!joD+PgAc`s_Z0W:J\o,#!.f^<J\m_irVuT.s8V68"ektYk.1PC~> -!<E0!joD4Sec19p^&S*5K>"tu!/#j9J\@A_rVuT)s8V63"f21\k.LbF~> -!<Bh3SGUk:KD3(Ys8R]Q^&S,Jec18Q]n*k_^&.j)^&S,peHMJVS=BQZJ,~> -!<B_0RJY_<JbR%\s8RWO_Z0YOgAc_T_L]Ri_YaB._Z0Yug'*nUR@+$TJ,~> -!<Bh3SGUk:KD3(Ys8R]Q^&S,Jec18Q]n*k_^&.j)^&S,peHMJVS=BQZJ,~> -!!)uB!1`r:s+C-\rVm&OK7gl;s1m1bK7U^e]p?A3s8UXJs8'G/s5qi8SB\a\S,e'~> -!!)u?!1E`<s+1!_rVm&TJUt]<s1m@gJUt[h_Nr(=s8UgOs8'V4s5r#=REE+PR/ha~> -!!)uB!1`r:s+C-\rVm&OK7gl;s1m1bK7U^e]p?A3s8UXJs8'G/s5qi8SB\a\S,e'~> -!<CCD]`=T"ec1:!^&A!1ec17'^&S,Jec18Q]n*k_^&S-2ec#OG^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca$_YsN6gAc^*_Z0YOgAc_T_L]Ri_Z0Z7gAV'L_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:!^&A!1ec17'^&S,Jec18Q]n*k_^&S-2ec#OG^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:#^&A!/ec17'^&S,Jec18Q]n*k_^&S-0ec#OI^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca&_YsN4gAc^*_Z0YOgAc_T_L]Ri_Z0Z5gAV'N_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:#^&A!/ec17'^&S,Jec18Q]n*k_^&S-0ec#OI^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:%^&A!-ec17'^&S,Jec18Q]n*k_^&S-.ec#LL^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca(_YsN2gAc^*_Z0YOgAc_T_L]Ri_Z0Z3gAV$Q_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:%^&A!-ec17'^&S,Jec18Q]n*k_^&S-.ec#LL^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ebb!oec17'^&S,Jec18Q]n*k_^&S--ebt.#s5qi8SB\a\S,e'~> -!<C:A\cA/qgA?HrgAc^*_Z0YOgAc_T_L]Ri_Z0Z2gAQU&s5r#=REE+PR/ha~> -!<CCD]`=T"ebb!oec17'^&S,Jec18Q]n*k_^&S--ebt.#s5qi8SB\a\S,e'~> -!<CCD]`=T"ec1:%^&<T[ec17'^&S,Jec18Q]n*k_^&S-.ebt+%^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca(_Yo&^gAc^*_Z0YOgAc_T_L]Ri_Z0Z3gAQR(_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:%^&<T[ec17'^&S,Jec18Q]n*k_^&S-.ebt+%^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:#^&<T]ec17'^&S,Jec18Q]n*k_^&S-0ebt."^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca&_Yo&`gAc^*_Z0YOgAc_T_L]Ri_Z0Z5gAQU%_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:#^&<T]ec17'^&S,Jec18Q]n*k_^&S-0ebt."^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:!^&<T_ec17'^&S,Jec18Q]n*k_^&S-2ebt-u^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca$_Yo&bgAc^*_Z0YOgAc_T_L]Ri_Z0Z7gAQU#_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:!^&<T_ec17'^&S,Jec18Q]n*k_^&S-2ebt-u^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec19t^&<QeeUrLfs8Tmbs+>m9J\@A_s8W,LrIas[s8V63"e<iN]po(Q~> -!<C:A\cA/qgAca"_Yo#hg4=gls8Tmgs+,a<J\m_is8W,QrIOg^s8V68"e!NE\sWPK~> -!<CCD]`=T"ec19t^&<QeeUrLfs8Tmbs+>m9J\@A_s8W,LrIas[s8V63"e<iN]po(Q~> -!<CCD]`=T"ec19r^&3Ka^&S,Jec18Q]n*k_^&S-2KD<.[s5qi8SB\a\S,e'~> -!<C:A\cA/qgAc`u_Yerd_Z0YOgAc_T_L]Ri_Z0Z7Jb[+^s5r#=REE+PR/ha~> -!<CCD]`=T"ec19r^&3Ka^&S,Jec18Q]n*k_^&S-2KD<.[s5qi8SB\a\S,e'~> -!<CCD]`=T"ec19p^&EWc^&S,HK7U^e]p?A3s8R`F^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAc`s_Z#)f_Z0YMJUt[h_Nr(=s8RZD_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec19p^&EWc^&S,HK7U^e]p?A3s8R`F^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec19n]`Ni"s1O&9]n*k_]`J.coY(;)k1'X*c+Uf\!.Y~> -!<C:A\cA/qgAc`q_?,;*s1Nu7_L]Ri_?'[foYUY.k1U!,b.>0P!.Y~> -!<CCD]`=T"ec19n]`Ni"s1O&9]n*k_]`J.coY(;)k1'X*c+Uf\!.Y~> -!<CCD]`=T"ec18Qs+13$s02OceHMJf]tKp9J,~> -!<C:A\cA/qgAc_Ts+13$s02Ocg'*ne]"4:0J,~> -!<CCD]`=T"ec18Qs+13$s02OceHMJf]tKp9J,~> -!<CCD]`=T"eGt5Qs+13$s0)IbeHMJf]tKp9J,~> -!<C:A\cA/qg&Q\Ts+13$s0)Ibg'*ne]"4:0J,~> -!<CCD]`=T"eGt5Qs+13$s0)IbeHMJf]tKp9J,~> -!<CCD]`=RReUc8%eW&)_SB\a\S,e'~> -!<C:A\cA.Lg4@t/g5XeiREE+PR/ha~> -!<CCD]`=RReUc8%eW&)_SB\a\S,e'~> -!<CCC^%%VDUk,=mUogEm^%.Znc2PBWS,e'~> -!<C:@]()2>Tn/ngTrk!g](26hb5SsQR/ha~> -!<CCC^%%VDUk,=mUogEm^%.Znc2PBWS,e'~> -!]^8*rOqgI!53s`JcC<$XoIq9rk/B'!<7Q~> -!^m%2rOVUC!4ma]JcC<$XoIq6rji0!!<7Q~> -!cn@drOqgI!53s`JcC<$XoIq9rk/B'!<7Q~> -!\j]"n%A^kJ`_OGJ`a)s!6suG!h98jJ,~> -!^m%2n%&LeJ`_OGJ`a)s!6XcA!gs&gJ,~> -!cn@dn%A^kJ`_OGJ`a)s!6suG!h98jJ,~> -s#C,\S=K,_!1\W&J`_OGXl]W.n\+sm!W`9#J,~> -s$QngR@3TV!1AE#J`_OGXl]W+n[eag!W`9#J,~> -s)S5AS=K,_!1\W&J`_OGXl]W.n\+sm!W`9#J,~> -">Mnk!!)MYJ\?WJJ\A.unXTUZrr7K~> -r^?bdn<nj=J\$EDXLdqirrE&uJ,~> -"DW"!!!)MYJ\?WJJ\A.unXTUZrr7K~> -"?A1s0fadbJH16$MZE\TJ,~> -r'Z)9JH16$MZE\TJ,~> -rc8*TF+F=B!.b-.!;ukI~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/note.gif b/lib/et/doc/src/note.gif Binary files differdeleted file mode 100644 index 6fffe30419..0000000000 --- a/lib/et/doc/src/note.gif +++ /dev/null diff --git a/lib/et/doc/src/notes.gif b/lib/et/doc/src/notes.gif Binary files differdeleted file mode 100644 index e000cca26a..0000000000 --- a/lib/et/doc/src/notes.gif +++ /dev/null diff --git a/lib/et/doc/src/notes.xml b/lib/et/doc/src/notes.xml index 5abab9766c..8611955d3d 100644 --- a/lib/et/doc/src/notes.xml +++ b/lib/et/doc/src/notes.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>Event Tracer (ET) Release Notes</title> @@ -28,12 +28,50 @@ <rev>%VSN%</rev> <file>notes.xml</file> </header> - <p>This document describes the changes made to the Event Tracer (ET) system - from version to version. The intention of this document is to - list all incompatibilities as well as all enhancements and - bugfixes for every release of Event Tracer (ET). Each release of Event Tracer (ET) - thus constitutes one section in this document. The title of each - section is the version number of Event Tracer (ET).</p> + <p>This document describes the changes made to the <c>Event Tracer + (ET)</c> system from version to version. The intention of this + document is to list all incompatibilities as well as all + enhancements and bugfixes for every release of <c>Event Tracer + (ET)</c>. Each release of <c>Event Tracer (ET) </c> thus constitutes + one section in this document. The title of each section is the + version number of <c>Event Tracer (ET)</c>.</p> + +<section><title>ET 1.4</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Thanks to Olle Mattsson the GUI parts are rewritten to + use <c>wxWidgets</c>. For the time being it is still + possible to use the old <c>GS</c> based version of the tool, + but it is deprecated. The <c>wxWidgets</c> based version is + started by default.</p> + + <p>A print function has been added, in order to enable + printing of sequence charts.</p> + + <p>A new tutorial has been added to the documentation. It is + based on <c>Jayson Vantuyl's</c> article + <c>http://souja.net/2009/04/making-sense-of-erlangs-event-tracer.html</c>.</p> + + <p>The functions <c>et:trace_me/4</c> and + <c>et:trace_me/5</c> has been introduced in order to replace + the deprecated functions <c>et:report_event/4</c> and + <c>et:report_event/5</c>. Hopefully the new names makes it a + little more obvious what the intended usage of the functions + are.</p> + + <p>The <c>max_events</c> configuration parameter to + <c>et_viewer</c> is not used any more. Now the event cache + in the <c>Viewer</c> only contains those events that + actually are displayed in the GUI.</p> + + <p>Own Id: OTP-8058</p> + </item> + </list> + </section> + +</section> <section><title>ET 1.3.3</title> @@ -130,8 +168,8 @@ <section> <title>Improvements and new features</title> - <p>This is the first release of the Event Tracer (ET) as - a stand-alone application.</p> + <p>This is the first release of the <c>Event Tracer (ET)</c> as + a stand-alone application separated from the Megaco application.</p> </section> </section> </chapter> diff --git a/lib/et/doc/src/part.xml b/lib/et/doc/src/part.xml index d0375ffaf9..627aee866d 100644 --- a/lib/et/doc/src/part.xml +++ b/lib/et/doc/src/part.xml @@ -4,7 +4,7 @@ <part xmlns:xi="http://www.w3.org/2001/XInclude"> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>Event Tracer (ET) Users Guide</title> @@ -32,7 +32,8 @@ and provides tools for collection and graphical viewing of trace data.</p> </description> <xi:include href="et_intro.xml"/> - <xi:include href="et_architecture.xml"/> + <xi:include href="et_tutorial.xml"/> + <xi:include href="et_desc.xml"/> <xi:include href="et_examples.xml"/> </part> diff --git a/lib/et/doc/src/ref_man.gif b/lib/et/doc/src/ref_man.gif Binary files differdeleted file mode 100644 index b13c4efd53..0000000000 --- a/lib/et/doc/src/ref_man.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans.gif b/lib/et/doc/src/sim_trans.gif Binary files differdeleted file mode 100644 index e3ab0bd3f1..0000000000 --- a/lib/et/doc/src/sim_trans.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans.png b/lib/et/doc/src/sim_trans.png Binary files differnew file mode 100644 index 0000000000..0a3a8fdcb5 --- /dev/null +++ b/lib/et/doc/src/sim_trans.png diff --git a/lib/et/doc/src/sim_trans.ps b/lib/et/doc/src/sim_trans.ps deleted file mode 100644 index efc48162b7..0000000000 --- a/lib/et/doc/src/sim_trans.ps +++ /dev/null @@ -1,6595 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: (ImageMagick) -%%Title: (sim_trans.ps) -%%CreationDate: (Mon Oct 14 16:45:00 2002) -%%BoundingBox: 0 0 512 426 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Orientation: Portrait -%%PageOrder: Ascend -%%Pages: 1 -%%EndComments - -%%BeginDefaults -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-none or 1-RunlengthEncoded. - % hex color packets. - % - gsave - /buffer 512 string def - /byte 1 string def - /color_packet 3 string def - /pixels 768 string def - - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Times-Roman findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore - showpage -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 512 426 -DisplayImage -0 0 -512 426 -12.000000 -512 426 -1 -0 -0 -256 -020202 -0a0a0a -6272a4 -fea602 -fe0202 -bec2be -fefefe -c6c6d6 -424242 -7a86ae -0202fe -bebece -717ace -bebabe -e6e6e6 -42568a -6a72c6 -969296 -6272b6 -5a6e9e -4a464a -969ade -9696d6 -5a6a96 -fefafe -b6baee -2a3662 -323e72 -f6f6f6 -324272 -9696ce -5a6696 -7286c6 -6272ae -969ab6 -e6e2e6 -f6f2f6 -3a4a8a -969ac6 -728ac6 -526297 -626ea6 -7a8bce -42569e -9696be -d6d6d6 -eeeeee -555e9e -828282 -dedade -727eb6 -5a6aa6 -828eb5 -4a528a -3a4a82 -5a6eae -8a92ce -52669e -eeeaee -4a5a9e -6a7ac6 -9ea6d6 -627abe -a6aac6 -a6aade -7982ae -4a5296 -424e96 -7278a6 -a7acce -828ec6 -a6a6de -727ac6 -5266ae -bec2d6 -dedef6 -5a6eb6 -7282ce -6a72bd -8a96b6 -8a9ad1 -5a6aae -969ad6 -808ad6 -cecece -4256a6 -9e9ed6 -969bbe -8a92d6 -d6dad6 -8292c6 -5a5e96 -dedede -6266a6 -7a82ce -8a96d6 -525d8a -757eae -5262a6 -e6e6f6 -3a4e8a -969ed6 -626aae -aeafd6 -9696b6 -6a6e9e -5a66a6 -32427a -7a86bd -f6f6fe -bebed6 -969ace -dedfee -9ea6de -424a7f -6276b6 -b6bade -969ece -7282c6 -424642 -a3a6c6 -8a8eb6 -8296ce -6a72ae -7986ce -626a9e -626eb6 -ced2ee -8286b6 -cfd1e6 -707aae -828ed6 -626ebe -4a5ea6 -424e82 -3a427a -4a5996 -3a4672 -4a569e -8a96c6 -969ede -b6bede -96a2d6 -4a4a4a -d6daee -8292ce -5a6296 -727ab8 -5a669e -5a72be -8a92b6 -626aa6 -9ea2de -6a76a1 -6a6ea6 -7a82b7 -525a9e -eeeef6 -4a5682 -42528a -b6beee -9e9ec6 -d4d6e6 -8a96be -5a66b6 -a6aed6 -6a7ece -6a7fc6 -8286ae -7580a6 -525a96 -5a6ab6 -6a76be -7a82d6 -a6a2a6 -7a8ac6 -eeeaf6 -c6c6ee -9ea1ce -d6d2d6 -7a86c6 -626eae -525eae -8a96de -828ace -e6e6ee -8292de -8a92c6 -c6c2d6 -6276be -6b76ae -435282 -acb5de -828abe -5262af -626e9e -6a7ab6 -727ece -8a92be -9ea2d6 -aeaaae -e6e2f6 -8a92de -9696c6 -828ebe -c6cce5 -3a467a -9e9ebe -828ac6 -4a5e8a -6a72a4 -424e8a -5266b6 -62669e -7a82c6 -96a2c6 -4a5e96 -5a62a6 -9eaad6 -424a8a -7a86d6 -525ea6 -7a8aba -4a56a6 -8a96ce -6a76c6 -425296 -8a8ebe -7282bc -828ece -6272be -828ab6 -626696 -6a7abe -626ab6 -5a66ae -32466a -5a6a9e -5a629e -a7aec6 -727ec6 -e6eaf6 -828aae -e6e2ee -4a5aa6 -d6dae6 -525e96 -727ebe -324672 -dee2f6 -6a7aa6 -bec2e6 -3a4682 -5a6ebe -4a578a -8292d6 -ec89f8ecf800000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -00000089f889f8898787870000060606060606060606060606060606061aa0a0a0a0a0a0 -a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 -a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 -a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 -a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a019191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -191919191919191919191919191919191919191919191919191919191919191919191919 -1919191919191919191919191919191919191919191919c01a0606060606060606060606 -060606060606060606ae0606060606060606060606060606060606060606ae0606060606 -06060606060606060606060000878787ecec0006062d2d2d313131315c5c5c2323230e0e -0e1abacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabaca -bacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabaca -bacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabaca -bacabacabacabacabaca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca -83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca -83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca -83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca83ca8383838383838383838383838383 -838383838383838383838383838383838383838383838383838383838383838383838383 -838383838383838383838383838383838383838383838383838383838383838383838383 -838383838383838383838383838383838383838383838383838383838383838383838383 -838383838383838383838383838383838383838383838383838383838383838383838383 -838383838383838383838383838383838383838383838383838383838383ba831a0654b3 -b3b32d2d2d313131315c5c5c2323230e0eae0654b3b3b32d2d2d313131315c5c5c232323 -0e0eae0654b3b3b32d2d2d313131315c5c5c23060600ec891d0006b32d2d2d313131315c -5c5c2323230e0e0e231ac5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5 -c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5 -c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5 -c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c548c548c50cc548c50cc548c50cc548c50cc548 -c50c4d48c50c4d48c50cad48c50cad48c50cdc48c50cdc48c50cdc48c50cdc48c50cdc48 -c50c5348c50cb8c5c50cb8c5c50cb8c5c54883c5c54883c5c54883c5c54883c5c54858c5 -c548cac5c548cac5c548cac5c5485fadc5485fadc5485fadc548b7adc50cb7adc5c5b7ad -c5a615adc5a615adc5a615adc5a615adc5a615adc5a615adc5a615adc5a615adc5a615ad -c5a615adc5a615adc5a68cadc5a68cadc5a68cadc5a68cadc5a68cadc5a68cadc5a68cad -c5a68cadc5a68cadc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdc -c5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdc -c5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdcc5a68cdc -c5c58cc51a06b3b3b32d2d2d313131315c5c5c2323230e0e23ae06b3b3b32d2d2d313131 -315c5c5c2323230e0e23ae06b3b3b32d2d2d313131315c5c5c2323230e54001d1d00062d -2d2d313131315c5c5c2323230e0e0e3a0e1aac3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c -3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c -3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3cc5464d3c3c3c3c3c3c3c3c3c3c3c3c3c3c -3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c0c3c0c3c3c0c3c0c3c0c3c -0c3c0c3c0c3c0c3c0ca70c3c0ca60c3c0cc50c3c0cc50c3c0c4d0c3c0c4d0c3c0c4d0c3c -0c7c3c0c3cb4a60c3c7ca63c0c53a70c3c53a70c3c53a60c3c53a63c0ce5c53c0ce5c53c -0c58c53c0cffc53c0c38c50c3c58c50c3c5fc50c3c580c0c3c580c0c3c580c0c3c5f0c3c -3c504d3c3c504d3c0c504d3c0c504d3c0c154d3c0c154d3c0c154d3c0c154d3c0c654d3c -0c654d3c0c654d3c0c654d3c0c654d3c0c654d3c0c654d3c0c654d3c0c654d3c0c8e4d3c -0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c -0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c -0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c0c8e4d3c -0c8e4d3c0c8e4d3c3c98c5e11a06b3b32d2d2d313131315c5c5c2323230e0e0e3aae06b3 -b32d2d2d313131315c5c5c2323230e0e0e3aae06b3b32d2d2d313131315c5c5c2323230e -0e54008900062d2d2d313131315c5c5c2323230e0e0e3a3a231ae1acacacacacacacacac -acacacacacacacacacacacacacacacacacacacacac4b4bacacacacacacacacacacacacac -acacacacacacacacacacacacacacacacacacacacacacac5fb1ac6518067f4b4bacac1c18 -acacacacacacacacacacacacacacacacacacacacacacacacacacacacacace1ace110e110 -e110ac10ac6d1810ac6d1810ac10ac103c10ac104810ac104810ac10c510ac10c510ac10 -c510ac105ee1acb171e1e110b4e1ac10dce1ac10b40cac10b848e110b848e110b848e110 -8348e1108348e110910ce1105848e110580ce1105f48e1105f48e11016c5e11052c5e110 -52c5e11052c5e110150ce1e115c5e1e165c5e1e165c5e1e165a6e1e165a6e1e165a6e1e1 -65a6e1e156a6e1e156a6e1e198a6e1e198a6e1e198a6e1e198a6e1e1984de1e1984de1e1 -984de1e1984de1e1714de1e1714de1e1714de1e1714de1e1475ee1e1475ee1e1475ee1e1 -475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1 -475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1475ee1e1 -475ee1e1475ee1e1475ee1e1475ee1e1475ee1e11a18542d2d2d313131315c5c5c232323 -0e0e0e3a3aae18542d2d2d080808080808080808080e0e0e3a3aae18542d2d2d31080831 -5c5c5c0808230e0e0e3a0d0000062d2d31313108085c5c2323230e08083a3a3a231aeaea -eaeaeaeaeaeaeaeaeaeaeab815eaeaeaeaeaeaeaeaeaeaeaeaeaeaea84907ffceaeaeaea -eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeab8181e436306 -aa898181fc846d6d1beab815eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea -eaeaea84847e847e84848484ea6d6d1bea6d6d1b8484841284ea84107e84841084848438 -658484ac8484843c128484481284ea4006d684c5e6847ef04e8484d69aea84d610ea84d6 -10ea845e10ea845e108484b8108484b8108484b810848446e1847e83e1848438e1848438 -e1847ee0e1847ee03c847e5f3c8484163ceaea58e1eaea16e1abea16e1abea16aceaea16 -aceaea1648eaea1648eaea1648eaea1548eaea1548eaea1548eaea1548eaea1548eaab15 -48abea1548abea1548abea56e1eaab56e1eaab56e1eaab56e1eaea5648eaea5648eaea8e -48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e -48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e48eaea8e -48eaea8e48eaea8e48eaea8e48eaea8e48eaea9848eaea98488484ea1a182d2d2d593131 -315c5c5c2323230e0e0e3a3a3aae062d2d2d59080808080808087777080e0e3a3a3aae06 -2d2d2d5908080808315c777708080e0e3a3a0d0000062d31312d080808082323230e0877 -14143a2e231aababababababababababababab6d18f4abababababababababababababab -a451fcfcabababababababababababababababababababababababababababababababab -abab63811b3b1c181bc2c2fcfca46d241bab6d18f4ababababababababababababababab -abababababababababababa451a4aba4aba4aba4ab6d6d1bab6d6d1b51a451a4abab4ca4 -aba484a451a4e66d18dfe6ab51a4bd51aba4ac51aba43c377ff35151aba43ceaaba4c5ea -ababc5eaa4ab7684a4ab76e6a4ab76e6aba4b484aba4b48451a4af84aba4af84aba446e6 -51a446e6aba45ae6ab51914eab51e04eab51e04eabab8b4eabab5facabab5facabab5fac -abab5facabab50acabab50e9a4ab6fe9a4ab6f3ca4ab6fe9a4ab6fe9a4ab75e9a4ab75e9 -a4ab75e9a4ab75e9a4ab75e9a4ab75e9a4ab653cabab8e3cabab8e3cabab8e3cabab8e3c -a4ab8e3ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73c -a4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73c -a4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4abc73ca4ab8ee9a4ab8ec4a4a456ab -1a182d2d313131315c5c5c2323230e0e0e3a3a3a2eae182d2d2d311a0808080808770808 -770e3a3a3a2eae182d2d31b3080808080808080877770e3a3a3a0d000006313131310808 -080808230e77080814142e2e231aa4d4a4d4a4d47c4b189d8ea48d0606067cd4a4d4a4d4 -a4cd065fd4a4c09dc26d18a4d47c4b189d8ea4c0067cd4cd06b4a4cdfba4204b189d8ea4 -d4c9f9c0c9d4a4d4a49106a9fccd060606e96d18a4d46d6d1b8d0606067c7c4b189d8ea4 -d4c9f9c0c9d46d18a4d4a4d4a4d4da631806b0e9d4dab006b0dad449d46d6d1bd46d6d1b -d4204b189d8e49d4da631806b0a78d06060627dab006b0dad412d4f9f974c94938068249 -493e84d449e9fdd4d43c84d4d4a74cd449a784d4d4764ca4497612d4492095d449b412a4 -49afe6d4d4af4ed449e5e649a4e5bdc2c291bdc2c291bdc2c238bdc2c25f73d4d47aacd4 -d4e0bdd4a4e0bdd4a48bbdd4d4e0bdd4d4e0bdd4d4503ed4d4503ed4d4503ea4d4503ea4 -d4503ea4d4503ea4d45093d4d475e9d4d465e9d4d465e9d4d4653ea4d465c4a4d48ec4a4 -d48ec4a4d48ec4d4d48ec4a4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4 -d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4 -d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4d48e3ca4 -d48e3c49d48e3cc21a1c2d313131315c5c5c2323230e0e0e3a3a3a2e2eae1c2d31313108 -08081a0808777708083a3a3a2e2eae1c2d3131313108080808777708080e3a3a3a2e0d00 -0006313131312d080808770808081414142e2e9d311af4b6b6b6b6ea6d9d9abc06337e6d -18f61bdfb6b6b6b6b6bb066e42b6b0456b6d241bea6d9d9abc0633d60696df9d0696df6d -413b6d9d9abc0633b66d064b401bb6b6b674068642126d18601d6d6d1b9c6d241b7e6d18 -60866d9d9abc0633b66d064bda1b63c91bb6b6b6b6a506c94199689fd706cd174a0675b6 -b66d241b9c6d241b5d6d9d694a0633a506f94199680feb6d18602206cd174a06b2c2b66d -06703f6b3206ef424ec2b69c10d9b69ce1d9b6b610d99cb63cd99cb693a4b6b6f7a4b69c -f05db69c765db69c5e5db69cb466b69cb4eab69cafeab6b6b8eab6b6b8eab6b646eab6b6 -46eab69c467eb6b6e312b6b6bb12b6b6bb12b6b6bb12b6b63812b6b6e37bb6b6e37bb6b6 -384eb685384eb685384eb685384eb685384eb6b61e4eb6b61e4eb6b61eacb6b61eacb685 -6facb6b66facb6b66facb6b66facb6b66facb6b66facb6856facb6856facb6856facb685 -6facb6856facb6856facb6856facb6856facb6856facb6856facb6856facb6856facb685 -6facb6856facb6856facb6856facb6856facb6856facb6856facb6856facb6856facb685 -6facb6856fac85b66facb6b675acf4b61a1c313131315c5c5c2323230e0e0e3a3a3a2e2e -2eae1c3131313108315c23235c0e0e0e143a3a2e2e2eae1c31313131312d080877080877 -0e3a3a3a2e2e0d000006315c5c5c232308087777140814143a2e24245c1adfdfdfdfdf75 -063f258b06f22b6d6d1be2dfdfdfdfdff485241864f00628256d6d1b6f063f258b06f23b -064a2818b00b5106ce26063f258b06a82b6d18726bfc55dff481061b55f46d6d1b2b6d6d -1bf46d6d1bf46d6d1b26063f258b06a82b6d18726b25f41b1b55dfdff49d06606b43e225 -63069ece49060e25f46d6d1bf46d6d1b52063f648b06a82e06601b2be264556d6d1b6306 -9efceb06b964f46d18ce1be249060764c2f4f47ec2f4f47ec2dff412c2f4f44e49f4f44e -498a8ac449f4f493a4f4f4f0a4f4f4f051f4f47651f4f47651f4f4b4513bf46c33f4f4de -29f4f4d04cf4f4d037f4f4b8668adfd0eadf8ad066df8ad0eadf8ad066df8ad0668af45a -eadff45aeadf3b5a668af4bb668af4bb7e8af4bb7e8af48b7e8adfbb7e8a8abb7e8a3b8b -7e8a3b8b7e8adfbb4cdf8abb4cdf8a8b4cdf8a1e7edf3b6f4cdf3b6f37dff46f37dff46f -37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f -37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f37dff46f -37dff46f37dff46f37dff46f7edf3b6f7edff42612f4f4551a1c31315c5c5c2323230e0e -0e3a3a3a2e2e2e2424ae1c31313131082323230e0e0e3a3a082e2e2e2424ae1c31315c5c -5c230808777708773a3a2e2e2e240d0000065c5c5c2323230e7708081414142e2e242424 -311af4f4f4f43ba50606060606cf436d6d1bf4f4f4f4f4f4f4f48d06f2744b1be26d241b -a50606060606cf43902479a20b6357f31b670606060606a1256d6d1b55f4f4f4f4cd061b -df3b6d241bdf6d241bf46d241bf46d6d1ba50606060606a1256d6d1bdfdfdff4f4f4f4f4 -df06061be28af4f418061b2b3b06066b3b6d241bf46d241ba50606060606cf06061df485 -2bf4626d6d1b18061b2b6a06061b516d6d1b49b6850607fc3bdf7eb6f4df12c2f43b7e62 -f4f41262f4f47b493bf4c4c23b55c4d93bdff7d93bdff75df4dff76af4dfe45d3bdf9beb -3bdf6c33f48a6c37f42bc14c3b8ad07ef4dfd07ef4f4467ef43b467ef43b467ef43b467e -f43b467ef4f4d07ef4f4467ef43b467ef4f4e312f4f4e3123bf4e3123bf4bb123bf48b12 -3bf48b123bf4bb123bf4bb123bf48b12f43b8b123b3b5012f43b6f12f43b1e12f43b1e12 -f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73 -f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73 -f43b1e73f43b1e73f43b1e73f43b1e73f43b1e73f4f41e73f43b1e12dff41e3b1a24315c -5c31ae0808080808141408ae2e2e24242eae24315c5c5c0823230e0e0e3a3a3a8f2e2e24 -242eae24315c5c5c2308770808080814142e2e2e24240d0000065c5c2323230e0e0e1414 -08142e2e2424241c311a8a8a8a8a422606ef1b1b1b1bfc6d6d1b8a8a8a8a8a8a8a423206 -b324c66b2b6d6d1b2606ef1b1b1b1bfca50631b29606f5a51b2606ef1b1b1b1b256d6d1b -428a8a8a8ac0069e2b8a6d6d1b426d6d1b8a6d6d1b8a6d6d1b2606ef1b1b1b1b256d6d1b -8a8a8a8a8a8a8a8a8ab0061f8a428a8a630635426606631b2b6d6d1b426d6d1b2606ef1b -1b1b1bf1061f8a8a42dd3b6d6d1bf10635dd9a06631b3b6d6d1b858a66063f878a662f8a -8ab5dd8a8a29dd8a8a21628a8a7b628a8abe628a8abed98a8a93d98a8a936a8a8a616a8a -8a326a8a8a9b6a8a8a9b5d8a8a9b5d8a8a9beb8a8a805d8a8ac1668a8ac1668a8ac1668a -8ac1668a8ac1668a8acc668a8acc298a8acc298a8acc298a8a46298a8ae3b58a8ac6b58a -8ac6298a8a96b58a8ac6298a8abb298a8a8b298a8a8b298a8a8bb58a8a8b298a8acb212b -8acb218a8a26218a8a26218a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a -8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a -8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a267b8a8a26218a8a26218a -8a269a421a9d5c5c5c2377777777770814148f8f2e2424241cae245c5c5c2308230e0e0e -3a3a3a2e8f2e2424241cae245c5c5c23770877777714141414142e2424240d0000065c23 -23230e0e0e3a3a14142e2e2424241c24311a428a8a8a8a629d18269bbb808a6306d2628a -8a8a8a42428a42b00606d3fc8a6d241b629d18269bbb808ad606060202060699fc629d18 -a19bbbc18a6d241b8a8a8a428a93064143426d241b8a6d241b426d241b426306d2b59d18 -a19bbbc18a6d241b428ab9638a8a8a8a8ab206b9bb9b2666a1064abecd06961b426d241b -8a6d241b629d18a16cbbc1b206b9969b75668a6306d2a5064ac4cd064f1b8a6d241b8a42 -d7067d87669c8a42b59c8a4229b6424229628a429a628a42be628a42be5b8a42c4d98a42 -93d98a4232d98a4232d98a42e4d98a429b6a8a4280338a426c668a42c1668a42c15d8a8a -c1978a8ac1668a8ac1668a8ac1668a8acc298a8accb5428accb5428acc7e428accb5428a -e3b5428ac6b5428ac6b5428ac6b58a8ac6b58a8abbb5428abb7e428a8bb58a8a8b218a8a -8b218a8a8b218a8acb21428acb21428a267b428a267b428a267b428a267b428a267b428a -267b428a267b428a267b428a267b428a267b428a267b428a267b428a267b428a267b428a -267b428a267b428a267b428a267b428a267b428a267b428a267b428a267b428a267b422b -267b422b267b8a8acb7b8a2b1a245c5c2323080808081414141414142424241c24ae245c -5c2323770e0e0e3a3a3a2e2e142424241c24ae245c5c235c087708083a3a1414148f2424 -241c0d0000062323230e0e0e3a3a3a2e2e2e2424241c1c1c311a4242424242427d4a1c06 -b079dbe3241869db424242424242426706071bdb426d6d1b42974a1c06b079db9c061889 -d318066bdb425d4a1c06b079db6d6d1b424242354235a2a2db426d6d1b426d6d1b426d6d -1b42e32418d26a4a1c06b079db6d6d1b4242246d1b42354242424f700618f3e8d3226306 -f1681b87426d6d1b426d6d1b425d4a1c06b0793596700618f3e8dbe32418d2570e06f157 -1b87426d6d1b425b70a21b9c9c42427d9c42425d9c424229f642429add3542699c42427b -5b4242be5b42424492424282ee424282924242619235429b9442429b6a42429b6a424280 -5d4242805d4242a85d4235805d4235805d423580d54242805d4242a8974242807d424280 -974242c17d4242e35d4242e35d4242795d4242e35d4235e35d424279974242e3294242e3 -7d4242797d4242797d4242797d42429629424296294242969a4242966942429669424296 -694242966942429669424296694242966942429669424296694242966942429669424296 -694242966942429669424296694242966942429669424296694242966942429669424296 -69424296694242966942422c7d42352c294242421a2e5c232323ae7708081408148f8fc8 -24241c1c1cae2e5c23232308777708141414148f1424241c1c1cae2e5c230e0e0e7777f1 -3a0e2e8f142424241c1c0d00000623230e0e0e3a3a3a2e2e2e2424241c1c1c18b31a35db -35db353535d3871b1b1bdb35fc1b06060606060606443535ce1b1b3535421a1b3535d387 -1b1b1b7235351b1b35351b1b35353525871b1b1bfc351b1a3535db3535357d242c35d31b -1b35d31b1b35351b1b3535721b1b8625871b1b1bdb351b1bdb35421b1a35db35353535fc -1b1b1b1b2535871b1b1b6b4235d31b1b35421a1b353564871b1b1bdb35fc6b1b1b1bfefe -721b1b866b1b1b1b6b355baa1b1b5b7824d187aa3535d5aa3535d5aa35357d9c35357df6 -db359af63535695b35359a5b3535d25b3535d25b3535445b3535445b3535615b35359392 -353541ee353541d53535a8d535dba8d5db35a8d5353580d5353580d5353580d5353580d5 -353580d5353580d53535e7d5353579d5353579d5353579d5353579d5353579d5353579d5 -3535797d353579693535797d3535797d3535797d35352c7d35352c7d35352c7d35352c69 -35352c6935352c6935352c6935352c6935352c6935352c6935352c6935352c6935352c69 -35352c6935352c6935352c6935352c6935352c6935352c6935352c6935352c6935352c69 -35352c6935352c6935352c6935352c6935352c693535c66935db2c351a2e2323230e0e0e -3a3ab02e2e2e2424241c1c1c1cae2e2323230e0e0e3a3a3a2e2e2e2424241c1c1c1cae2e -2323230e0e0e3a3a3a2e2e2e2424241c1c1c0d000006230e0e0e3a3a3a2e2e2e2424241c -1c1c18182d1ad3d335d3d3d3d343d3d3d3d3d335649f0f1b1b1b1b1b1b1bfcd3644243d3 -d39f43d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d364d3d39fd3d3d3d3d3d343d343d3d3d3d3 -d3d39f7dcf25d364d3d3d3644364d3d3d3d3d3d3d3d39fd3d3d3d3d364d3d39fd3d3d3e2 -d342d3d3d3d364d3d3d3d3d3439fd3436443d3d39fd36464d39f43d3d30fd3d3d39fd3d3 -9f8a9f64d38a0f64d3880f9f43aa424343284264d3288878281b9f64d3ee8ad3d3178a64 -d31faa64d3c3d89fd37dd864d302aad36402aad3d3be92d3d39992d3d3999264d34462d3 -d3932fd3d36139d364611fd3d34192d3d34192d3354192d3d34192d3d34117d3d3de17d3 -d3de17d3d3de17d3d3e717d3d3e7edd3d3e717d3d3e717d3d3e717d3d3e717d3d3e71fd3 -d3e71fd3d33417d3d35a1386d39617d3d39613d3d3966964d3c6c364d3966964d3966964 -d39669d3d3967dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3 -d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3 -d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3c67dd3d3967dd3d3967dd3d34f69d335967dd3 -1a3a23230e0e0e3a3a3a2e2e2e2424241c1c1c1818ae2e23230e0e0e3a3a3a2e2e2e2424 -241c1c1c1818ae2e23230e0e0e3a3a3a2e2e2e2424241c1c1c180d0000060e0e0e3a3a3a -2e2e2e2424241c1c1c181818b31a7272368672db86868686863672db86dbdb723672db25 -72db648686368686867286dbdb8686d3868672db8686862586648672db86db868686db72 -64728686db8686dbdb727236728786dbdb8686db7272db25db72db86db86db8686867272 -72dbdbdb6472db7286368636db7286866472db868625867286868686db8672db86db8672 -db7286869f86727235bf8686fe9f7286febf257288bf868660358686f6356472726486db -929e867292fe86861ffe86867dfe72727daa7286c3aa862569aa8672d2aa3686d2603686 -99f67286fa2f368644928672a9287272a9282586415b86db419286724192868641928686 -091fdb86091f8686091f8686091f7286a81f8686f21f8686f21f8686f21fdb86f21fdb86 -f21fdb86f21f8686341f8686341fdb86341786863417648679178686797d8686967d8686 -967d7286967d8686967d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d8686 -4f7d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d8686 -4f7d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d86864f7d7272 -4fd53672967d72361a2e230e0e0e3a3a3a2e2e2e2424241c1c1c18181cae2e230e0e0e3a -3a3a2e2e2e2424241c1c1c18181cae2e230e0e0e3a3a3a2e2e2e2424241c1c1c18180d00 -00060e3a3a3a2e2e2e2424241c1c1c1818180606b31af4f4dff43bdfdfdfdfdff4f43bdf -3b3bf4f4f43b3bf43b3bdfdf3bdfdfdff48af43bdff48adfdff43bdfdfdf3bdf8adff43b -df3bdfdfdf3bf48af4f48a3bf4df3b3bf4f4f4df3bdf3b3bf4df3bf4f43b3b3bf43bdf3b -f43bdfdfdff4f4f43b3b3b8af43bf4df3bdf3bf4f4f48adff43bdf8a3bdff4dff4dfdf3b -dff43bdf3bdff43bf4dfdf8adff4f4df3bf4df8af4f4df8af43bf43b3b3bdf3bdff4dfdf -3bdff4f4f48af4dff4dff43bdf3bdfdff48a8a8a3bf4f43b3bf48a8a8af43b8a8a3b3bf4 -3b3b8a8af43bdff43bf4df3b8af48af43bdff48a8af43bdf8a3b8a8a3bf43b8a3bf4f48a -3bdfdf3b3bdf8adf8af48a8a8adf8a8a8a8adf8a8af4df8a8adfdfdf8a8adf8a8adfdf8a -df3bdf3b3b3b8af43b3bdf3bf4f48a8a3bdfdf42df8a42424242424242df42424242df42 -4242424242df4242dfdf4242df42df4242df4242df42df4242df42df4242df4242df42df -4242df4242df42df4242df4242df42df4242df4242df42df4242df4242df42df4242df42 -42df42df4242df4242df42df4242df4242df42df4242df4242df42df4242df4242df42df -42df4242dfdfdfdfdfdfdf8adfdf42421a3a0e0e3a3a3a2e2e2e2424241c1c1c18181806 -06ae3a0e0e3a3a3a2e2e2e2424241c1c1c1818180606ae3a0e0e3a3a3a2e2e2e2424241c -1c1c181818060d000011111111111111111111111111111111111111111a010101010101 -010101010101010101010101010101010101010101010101010100010101010101010101 -010101010101010101010101010101010101010101010101000101010101010101010101 -010101010101010101010101010101010101010100010101010101010001010101010101 -010101010001010101010101010101010101010101010101010101010100010100010001 -010101010101010101010001010101010101010101010101010101010100010101010101 -010101010101010101010101010100010101010101010100010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010100010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -0101010101010101010101010101010101010101010101011a1111111111111111111111 -111111111111111111ae1111111111111111111111111111111111111111ae1111111111 -111111111111111111111111111111000006230e0eae0606060606060606060606060606 -060606060606060606060606060606060606061818181818060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060618060606180606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606ae18230e0d0000060e0e23ae060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -0606060606060606060606060606060606060606060606061830ae060e0e0d0000060e0e -0eae06065959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959593030ae06 -0e0e0d0000060e0e23ae0606595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959593030ae060e0e0d0000060e0e0eae060659595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959593030ae060e0e0d0000060e0e0eae06065959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959592d3030ae060e0e0d0000060e0e0eae0606 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959593030ae060e0e0d00 -00060e0e0eae060659595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959592d -3030ae060e0e0d0000060e0e0eae06065959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959593030ae060e0e0d0000060e0e0eae0606595959595959590000000000 -000000590000595959595959595959595959595959595959595900005959595900000000 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590000000059595959595959590000590000595959595959595959 -595959595959590000595959595959595959595959595959595959595959595959595959 -000000000000000059000059590000595959595959595959595959595959595959595959 -595959595959000059595900005959595959595959000059595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959592d3030ae060e0e0d0000060e0e0eae060659595959 -595959000059595959595959000059595959595959595959595959595959595959590000 -595959590000595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595900005959000059595959595959000059000059 -595959595959595959595959595959000059595959595959595959595959595959595959 -595959595959595900005959595959595900005959000059595959595959595959595959 -595959595959595959595959595900005959590000595959595959595900005959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959593030ae060e0e0d0000060e0e -0eae06065959595959595900005959595900005900005959000000005959595959595959 -595959595959590000595900005900005959000000005959000059590000595900005959 -000000005959000059000059595959595959595959595959000059595959595900000000 -595900005900005959000000005959590000000059590000000059590000000059590000 -590000595959595959595959595959590000595959590000590000590000000059590000 -000059590000590000595959595959595959595959590000595959000059590000000059 -590000590000590000595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959592d3030ae06 -0e0e0d0000060e0e0eae0606595959595959590000595959590000590000590000595900 -005959595959595959595959595959000059590000590000590000595900005900005959 -000059590000590000595900005900000000005959595959595959595959595900005959 -595959000059590000590000590000590000595900005900005959000059590000595900 -005959000059000000000059595959595959595959595959000059595959000059000059 -590000595900005959000059000000000059595959595959595959595959000059595900 -005900005959000059000059000000590000595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959593030ae060e0e0d0000060e0e0eae060659595959595959000000000059000059 -000059000059590000595959595959595959595959595900005959000059000059000059 -590000595900005900005900005959000059590000590000005959595959595959595959 -595959590000595959595900005959000059000059000059000059590000590000595959 -595959000059590000595900005900000059595959595959595959595959595900000000 -005900005900005959000059590000595900005900000059595959595959595959595959 -595900000000000000590000595900005900005900005959000059595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959592d3030ae060e0e0d0000060e0e0eae06065959595959595900 -005959595900005900005900000000000059595959595959595959595959595900595900 -595900005900000000000059590000590000590000595900000000000059000059595959 -595959595959595959595959000059595959590000595900005900005900005900000000 -000059000059595959595900005959000059590000590000595959595959595959595959 -595959590000595959590000590000595900005959000000000000590000595959595959 -595959595959595959590000595959000059000000000000590000590000595900005959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959593030ae060e0e0d0000060e0e0eae0606 -595959595959590000595959590000590000590000595959595959595959595959595959 -595959590000000059590000590000595959595959000059000059000059590000595959 -595900005959595959595959595959595959595900005959595959000059590000590000 -590000590000595959595900005959595959590000595900005959000059000059595959 -595959595959595959595959000059595959000059000059590000595900005959595959 -000059595959595959595959595959595959000059595900005900005959595959000059 -000059590000595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959592d3030ae060e0e0d00 -00060e0e0eae060659595959595959000059595959000059000059000059590000595959 -595959595959595959595959590000595959000059000059590000595959000059590000 -595959000059590000590000595959595959595959595959595959595900005959000000 -005959000059000059000059000059590000590000595900005959000059000000595900 -005900005959595959595959595959595959595900005959595900005900005959000059 -000000595900005900005959595959595959595959595959595900005959590000590000 -595900005900005900000059000059595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -3030ae060e0e0d0000060e0e0ed706065959595959595900005959595900005900005959 -000000005959595959595959595959595959595959000059595900005959000000005959 -595900005959000059595959000000005959000059595959595959595959595959595959 -595900000000595900000000595900005900005959000000005959590000000059595959 -000059590000000059590000595959595959595959595959595959590000595959590000 -590000595959000059590000000059590000595959595959595959595959595959590000 -595959000059590000000059590000590000590000595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959592d3030ae060e0e0d0000060e0e0eae0606595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959000059595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959593030ae060e0e0d0000060e0e0eae060659595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595900005959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595459 -59595959595959595959595959595959595959595959592d3030ae060e0e0d0000060e0e -0eae06065959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590000595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595459545954595954595954595959595959595959595959593030ae06 -0e0e0d0000060e0e0eae0606595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595459595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595954595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959545959595959595459595459595459545959595459545959595959595959595959 -595959545959545959545959595959595959595959595959595959595959595959595959 -5959592d3030ae060e0e0d0000060e0e0eae060659595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595954595959545959595459595954595959545959595459595954595959545959 -595959595959595959595959595954595959545959595459595954595959595959595959 -595459595459545959545954595959595954595459545954595954595959545959595459 -595954595959545959595459595954595959545959595459595954595959545959595459 -595954595959545959595459595954595959545959595459595954595959545959595459 -595959595954595959595959595459595959595959595959595959595959595959595959 -545959545959545959595959595959595959595959595959595959595959595959595959 -5954595959595959595959593030ae060e0e0d0000060e0ef9ae06065959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595459 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595954595954595459595959595959595959595959595959595959595959595959595959 -595959595959595959595459545954595459545959595959595959595959595959595959 -595459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595459595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959592d3030ae060e0e0d0000060e0e0eae0606 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595954595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595459 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595954595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959593030ae060e0e0d00 -00060e0e0eae061c59595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595954595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959592d -3030ae060e0e0d0000060e0e0eae0606303030303030303030303030303030303030a930 -3030a930a93030a930a930fa30303030a930303030303030303030303030303030303030 -30303030303030303030303030a93030a93030a9303030a93030a930fa30303030a93030 -303030303030303030303030303030303030303030303030303030303030303030303030 -3030303030a9303030fa3030a93030fa3030a930fa303030a93030303030303030303030 -3030303030303030303030a9303030a9303030a9303030a930fa30303030a93030303030 -303030303030303030303030303030a9303030a9303030a93030a93030a93030a930a930 -30a93030a930a93030a930a93030a930a93030a930a93030a930a93030a93030a93030a9 -303030a93030a930a93030a930a93030a930a93030a930a930a93030a930a930a93030a9 -3030a93030a930a930a930a93030a93030a930a930a930a93030a930a93030fa30a93030 -a930a93030a930a93030fa3030a930a93030fa3030a930a93030fa3030a930a93030fa30 -30a930a93030fa3030a930a93030fa3030a930a93030fa3030a930a93030fa3030a93030 -a930a93030a930a93030a930a93030a93030a93030a93030a93030a93030a930303030a9 -3030a930a930a93030a93030a930a930a93030a93030a930a93030a93030a93030fa30fa -303030a9303030303030ae180e0e0d0000060e0e0eae0630303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030ae060e0e0d0000060e0e0eae59592d2d2d2d -2d2d2d54592d2d2d2d2d2d2d2d5459595959595959595959595959592d54592d54592d2d -2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d54595959595959 -595959595959595959545954592d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d -2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d54595459595959595959595959595959 -5954592d2d2d2d2d54592d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d545959595959595959 -595959595959545954592d2d2d54592d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d5459595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959592d5459592d2d2d2d2d2dae060e0e0d0000060e0e -0ed759595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959ae06 -0e0e0d0000060e0e0eae2d59595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959545959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959ae060e0e0d0000060e0e0e22595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959ae060e0e0d00 -00060e0e0eae595959595959595959595959595959595959595959595954595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595954595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959ae060e0e0d0000060e0e0e2259595959595959595959595959595959595959545959 -595959545959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595459595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595459595959595954595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959545959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959ae060e0e0d0000060e0e0e22595959595959 -595959595959595959595959595959595959595959595459595959595959595959595959 -595959595959595959595959595959595959595959595959595959545959595959595959 -595954595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959545959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959545959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959000000000059595959595959595459590000 -595959595959595959000059000059595959595900005959595959595959595959595959 -595959595959595959595959000059595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595954595959595959595959595959595959ae06 -0e0e0d0000060e0e0e225959595959595959595959595959595959595959595959595959 -595959595959595959595954595959595959545959545959595459595959595959595959 -595959595959595959595959595959595959595959595959595954595959595959595959 -595959595459595959545959545959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954595959595900005959000059595959 -595959595959000059595959595959595959595900005959595959590000595959595959 -595959545959595959595959595959595959595900005959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959ae060e0e0d0000060e0e0eae59595959545954595954595959591c1c1c1c -1c1c1c1c1c1c1c5959595959595959000000000000595959595959595959595959595959 -595959595459595459595959595959595959595959595959595959595959595959595959 -545959545959545959595959595959595959595959595959595959595459595459595459 -595959595959595959595959595959595959595959595954595959595959595959590000 -595959000059590000000059590000000059590000000059590000590000595959595959 -000059595959590000000059590000595959000059590000000059590000595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959545959595959595959595959595959595959 -5959595959595959595959595959ae060e0e0d0000060e0e0ed759595959595959595959 -595959591c061c061c061c061c1c30595959595959595900005959595959545959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959000059595900005900005959000059590000595900005959000059000059 -000059595959595900005959595900005959000059000059595900005900005959000059 -000059595959545959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595954595954595959545959545959595459595954595459 -545959595459595459595459595459595954595959595459595959545959595959595959 -59595959595959595959595959595959595959595959ae060e0e0d0000060e0e0eae5959 -5959595959595959595959591c0659595959595959303059595959595959590000595959 -590000590000590000000059595900000000595900000000005959000000005959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595900005959590000590000595900005959000059595959 -595900005900005900005959595959590000595959590000595900005959000059000059 -590000595900005900005959595959595954595954595959545959595459595459595459 -595459545959545959595959595959595959595959595959595959595959595959595959 -595954595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595954595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595954595959595959595959595959595459595959595959595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595906065959595959595930305959595959 -595959000059595959000000000000005959000059000059590000595959590000590000 -595900005959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590000595959000059000000000000 -595900005959590000000000590000590000595959595959000059595959000000000000 -595900005900005959000000000000590000595959595959595959595959595959595959 -595959595959595959595959595959595459595954595959545959595459595954595459 -595459595954595959595959545959595954595959545959595459595954595959545959 -595459595959595959595459545959595959595959595959595959545959595959595954 -595959595959595459595959595959545959595959595954595959595959595459595959 -595959545959595959595954595959595959595954595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959590606595959595959 -593030595959595959595900000000005900000059590000595900005900005959000059 -595900005959000059590000595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959000059595900 -005900005959595959590000595900005959000059000059000059595959595900005959 -595900005959595959595900000059595900005959595959000059595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959545954595959595959595459545959545959595459595959 -595459545959595959545954595959595954595459595959595459545959595959545954 -595959595954595459595959595459545959595959545959545959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954595959595959595959595959595459 -59595959595959595959d7060e0e0d0000060e0e0ed75959595959595959595959595959 -060659595959595959303059595959595959590000595959590000595959000000000000 -590000000000005959590059595900000000000059595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595900005959000059590000595900005959000059000000595900005900005900005959 -595959590000595959590000595900005959590000005959590000595900005900005959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595906065959595959595930305959595959595959000059595959000059 -595900005959595959000059595959595900005959590000595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590000000000595959590000000059595959000059590000005900 -000000590000595959595959000000000000590000000059595959590059595959590000 -000059590000595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959ae060e0e0d0000060e0e -0ed75959595959595959595959595959061c5959595959595930fa595959595959595900 -005959595900005959590000595900005900005959000059000059595959000059590000 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959545959595959595959595959595959595959595959595959ae06 -0e0e0d0000060e0e0eae59595959595959595959595959591c0659595959595959303059 -595959595959590000595959590000595959590000000059595900000000595900000000 -005959000000005959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954595959 -595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959061c3030 -303030303030305959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959545959595954595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959545959595959595959ae060e0e0d00001c0e0e5cd75959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959ae060e0e0d00 -00060e0e0eae595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595459595959595959595959595959595959cd5959595959cd595959 -595959cd5959595959595959595959595959595954595959595959595959595959595954 -595959595959595959595959595959545959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959ae060e0e0d0000060e0e5cd759595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595954595959cd5959595959cd595959595959 -cd5959595959cd595959595959cd595959cd595959595959545959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595954595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595459595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959590100595959590100010059595901000100 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959545959595959595959595959595959 -595959595459595959595959595959595959595959595959595959595959595959545959 -595959595959595959545959595959595959ae060e0e0d00001c0e0e0ed7595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -595959595959595959595959595959545959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590000000159595900005959 -000159000059590001595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595459595959595959595959595959595959 -595959595959595959595959595959595459595959595959595954595959595959595959 -595954595959595959595959595459595959595954595959595959595959595959595900 -005959590000595900005900005959000059595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959ae06 -0e0e0d00001c0e0e59d75959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959545959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959590000595959000059590000590000595900005959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959545959595959595959595959595959595959595959595959595959595959 -595959595959ae060e0e0d0000060e0e2eae595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959545959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595954595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959000059595900005959000059000059590000595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959ae060e0e0d0000060e5c0e2259595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595459595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959545959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595900005959590000595900005900 -005959000059595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959545959595959595959595959 -59595459595959595959595959595959595959595959ae060e0e0d0000060e0e0eae5959 -5959595959595959595959591c1c1c1c1c1c1c1c1c1c1c59595959595959590000595959 -000059000059595959590000595959595959595959595959590000000000015959595959 -595959595959595959595959595959595959595959595959590100010001000100595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595459595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590000595959 -000059590000590000595900005959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59cd59595959595959595959595959595959595959545959595959595959ae060e0e0d00 -001c0e0e0ed759595959595959595959595959591c1c061c1c1c1c1c061c305959595959 -595959000059595900005959595959595959000059595959595959595959595959000059 -595959595959595959595959595959595959595959595959595959595959595959595959 -000059595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959000059595900005959000059000059590000595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959591c06595959595959 -593030595959595959595900005959590000590000595900005900005959000000005959 -595959595900005959595900005901005901000001595901590100015901000159595959 -5959595959595959000059595959010000015959595959595959cd595959cd5959595959 -595959595959595959595959595959595959595959595959595459595959595959595959 -595959595959595959595959595959595959595954595954595959595959595959595959 -595959595959595959595954595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595900005959595900000000595959000000005959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959ae060e0e0d00001c0e0e0e4f5959595959595959595959595959 -06065959595959595930a959595959595959590000595959000059000059000059000000 -590000595900005959595959590000595959590000000000000059590000590000595900 -005959000159595959595959595959590000595959000059590001595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595459595959595959595959595954 -5959595959545959595959595959595959595959595959595959595959cd595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -cd5959595959595959595959595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595906065959595959595930305959595959595959000000000000005900 -005900005959000059000059590000595959595959000000000059000000595900005959 -000059000059590000595900005901010000000059595959000059595900005959000059 -59595959595959595959595959595959595959595959cd59595959595959595959595959 -595959595959545954595959595959545954595959545959595954595959595959595959 -595959595959595959545959595959545954595459595459595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959cd5959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959545959595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959590606595959595959593030595959595959595900 -005959590000590000590000595900005900000000000059595959595900005959595900 -005959590000595900005900005959000059590000595959595959595959595900005959 -590000595900005959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959545954595959595959595959595959595959 -595959595959595959595959545959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959cd59595959cd -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595954595959595959595959595959 -595959595959595959595959595959595959545959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959ae06 -0e0e0d0000060e0e0eae5959595459595959595959595959060659595959595959303054 -595959595959590000595959000059000059000059590000590000595959595959595959 -590000595959590000595959000059590000590000595900005959000059000000000000 -595959590000595959000059590000595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595954595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959cd59595959595959595959 -595959595959595959595959cd5959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959055959 -590559595959595959055959590559595905595959055959595905595959055959595959 -595959595959595959595959595959cd5959595959595959595959595959595959595459 -595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959061c5959 -595959595930305959595959595959000059595900005900005900005900000059000059 -590000595959595959000059595959000059595900005959000059000059590000595900 -005959595959595959595959000059595900005959000059595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959545959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959590559595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959590606595959595959593030595959595959595900005959590000590000595900 -005900005959000000005959595959595900005959595900005959595900000000595900 -005959000059590000595959595959595959595900005959595900000000595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -a930a93030a93030a93030a930303030a93030a930fa3030fa3030a930a93030a93030a9 -30a93030fa3030fa3030a930a93030a93030a930a930fa30fa30fa30fa30fa30fa30fa30 -fafa3027fa30fa27fafa30273027fafa30fa30fa27fafa30fa30fa3027fafafafafafafa -fafafafafafafafafafafafafa30273027fafafafafafafafa30273027fafafafafafafa -fafafafafafa30fa30fa30fa30fa3030303030fa30303030303030303030303030303030 -3030fa3030fa30fafa30fafa595959595959595959595905595959595959590559595959 -595959055959595959595905595959595959590559595959590559595959590559595905 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959061c30303030303030303059595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595930303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -30303030303030303030303030303030303030f159595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959ae060e0e0d00 -00060e0e5cae595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959593030050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -05050505050505050505050505050505050505050505050505050505050505051c1c0606 -060606061c0618181c061c061c06061c1c1c1c1c1c1c1c1c2e1c2e1c5959595959595959 -595959595959055959595959595905595959595959590559595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959ae060e0e0d00001c0e0e0ed759595954595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959303005050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050606060606060606060606060606060606060606061c1c1c1c1c1c1c1c301cf1 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -59595959595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959cd595959595959595959595959595930300505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505060659595959595959595959595930065959595959595959 -5959595930301c1c59595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959ae060e0e0d00001c0e0e0ed7595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959cd59595959 -595959593030050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050506065959595959595959595959593006 -59595959595959595959595930301c2e5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959cd595959595959595959595959595959595959595959 -595959595959595959595959303005050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050606595959595959 -595959595959300659595959595959595959595930301c1c595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959ae06 -0e0e0d00001c0e0e0ed75959595959595959595959595959595959595959545959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd59595959595959 -595959595959595959595959595959595959595930300505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0606595959595959595959595959300659595959595959595959595930301c2e59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959ae060e0e0d0000060e0e0eae595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959543030050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050506065959595959595959595959593006595959595959595959595959 -30301c1c5959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -5959595959595459595959595959ae060e0e0d00001c0e0e0ed759595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595954595959595959595959595959 -59595959595959595959cd59595959595959595959595959595959595959595959595959 -303005050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050606595959595959595959595959300659595959 -595959595959595930301c2e595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -59595959595959595959595959595959595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595954595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595930300505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505060659595959595959595959 -5959300659595959595959595959595930301c1c59595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959ae060e0e0d00 -001c0e0e59d7595959545959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd59595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595930fa050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050506065959 -59595959595959595959301c59595959595959595959595930301c2e5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -59595959595959595959595959595959595959595959cd59595959595959595959595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959591c1c1c1c1c1c1c1c -1c1c1c595959595959595900005959590000590000595959595900005959595959595959 -595959595900005959590000595959595959595900005959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959303005050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505051c06595959595959595959595959300659595959595959595959595930301c1c -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595459595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959 -1c1c061c06060606061ca959595959595959590000595959000059595959595959590000 -595959595959595959595959590000595959000059595959595959590000595959595959 -595959595959595959595959595954595959595959595959595959055959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595930300505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505050505050505050606595959595959595959595959301c5959595959595959 -5959595930301cf159595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959ae060e0e0d0000060e0e0eae595959595959 -59595959595959591c065959595959595930305959595959595959000059595900005900 -005959000059000059590000000059595959595959000059595900005900005900005959 -000059590000590000590000595959000000005959000059590000595901015901015901 -015959595959595959595959595959595959595959595959595959595959595954595959 -595959593030050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050506065959595959595959595959593006 -59595959595959595959595930301c1c5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959590606595959595959593030595959595959595900 -005959590000590000590000590000005900005959000059595959595900005959590000 -590000005900005900005900005959000000590000590000595900005900005959000059 -590000590001015901015959595959595959595959595959595959595959595959cd5959 -595959595959595959595959303005050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050606303030303030 -303030303030301c30303030303030303030303030301c2e595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959ae06 -0e0e0d0000060e0e0eae59595959595959595959595959591c0659595959595959303059 -595959595959590000000000000059000059000059590000590000595900005959595959 -590000595959000059000059590000590000000059595900005959000059000059590000 -595900005900005900005959000059590000595959595959595959595959595959595959 -595959595959595959595959595959595959595930300505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0630303030303030303030303030303030303030303030303030303030301c1c59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -595959595959ae060e0e0d00001c0e0e59d75959595459595959595959595959061c5959 -595959595930fa5959595959595959000059595900005900005900005959000059000000 -000000595959595959000059595900005900005959000059000000005959590000595900 -005900005959000059590000590000590000595900005959000159595959595959595959 -59595959595959595959595959595959595959595959595959595959fa301c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c2e1c2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e1c1c1c -1c1c1c1c1c1c06060606060606060606060606060606061c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1cf15959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -5959595959595959595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959590606595959595959593030595959595959595900005959590000590000590000 -595900005900005959595959595959595900005959590000590000595900005900005900 -005959000059590000590000595900005959000059000059000059590000595900005959 -595959595959595959595959595959595959595959595959595959595959595959595959 -301c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c2e1c1c2e1c1c2e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c0606060606060606060606060606060606060606060606060606 -060606060606060606061c1c595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959061c59595959595959303059595959595959590000595959 -000059000059000059000000590000595900005959595959595900005900005959000059 -590000590000595900005900005959000059000059590000595959000059590000595959 -0000595900015959595959595959595959595959cd595959595959595959595959595959 -545959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959590559595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959ae060e0e0d00 -00060e0e0eae595959595959595959595959595906065959595959595930305459595959 -595959000059595900005900005959000059000059590000000059595959595959590000 -000000595900005959000059000059595900000000595900005959000000005959595900 -005959000059595900005959000059595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595905595959595959595959595959590559595959595959595959595959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595459595959 -5959ae060e0e0d00001c0e0e0ed75959595959595959595959595959061c303030303030 -303030595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595905 -595959055959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd59595959595959595959595959cd5959595959 -59595959595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959595959055959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959ae060e0e0d00001c0e0e59d7595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59fa30fa30fa30fa3030a930fa30fa30a93030a9595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -5959595959595959593030303030303030303030303030303030301c595959595959ae06 -0e0e0d00001c0e0e0ed75959595459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959593030050505050505053005050505050505061c -595959595959ae060e0e0d0000060e0e0eae595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595930300505050505051c3005 -0505050505051c06595959595959ae060e0e0d00001c0e2e59d759595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959055959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505051c3030050505050505061c595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959303005050505051c1c30300505050505050606595959595959ae060e0e0d00 -001c0e0e0ed7595959595959595959595959595959595959595954595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595954595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959055959595959595959595959595905595959595959595959 -59595959595959595959595959303005050505051c1c5930300505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595954595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -595959595959595459595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959055959595959595959595959595959595959593030050505051c1c59593030050505 -05050606595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959 -595954595959595954595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595459595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959545959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595930300505050506 -1c5959593030050505050606595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505051c1c595959593030050505050606595959595959ae060e0e0d00001c0e0e -0ed759595459595959595959595959595959595959595959595459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959593030050505061c59595959593030050505061c595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595954595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959303005051c0659595959595930300505050606 -595959595959ae060e0e0d00001c0e0e0ed7595959595959595959595959595959595959 -595959595959595954595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959545959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595930300505061c5959595959 -595930300505061c595959595959ae060e0e0d0000060e0e59ae59595959595959595959 -595959595959595959595959595959595959595459595959595959595959595959595954 -595959595959595959545959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959040459595959595959595959595904045959595904045959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959045959595959595959595959595959595904 -595959595959595959595959595959595959595959595959595959595959595959545959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959080559595959 -595959595959595959595908045959595959595959595959595959080459595959595959 -595959595959595959595959595959590559595959595959595959595959595959303005 -1c065959595959595959303005050606595959595959ae060e0e0d00001c0e0e0ed75959 -59595959595959595959590303595903030303590303030303590303590303cd03030359 -cd0303595903035903030303035903030359595959545959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959045959595959595959595959595904595959595904595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959590459595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959b354085959595959595959595959595959cd -045959595959595959595959595959595959595959595959595959595959595959595959 -5959595959303005061c5959595959595959593030050606595959595959ae060e0e0d00 -00060e0e0eae5959595954595959595959595959035959035959037f59037f59037f0359 -7f59035959037f5903597f037f03597f59037f59037f5903595959595959595459595459 -595959595954595459595959545959595954595959595954595459545959595959595959 -595959595959595959595959595959595959595959595959595905595959590404cd0459 -590404cd0404595959595959595959040404595904040459595959040459595959590459 -595959590459595959595959595959595959595959595959595959595959595959595959 -545959595959595959595959595959595959595959595959595959595959595959595959 -595959595959590404590459590459040459595959040459595959040404595959040459 -595904045959595959595959595904040404590404590459595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959590804cd08545908540408545959590804cd -595959080404cd59590404595959080459595959595959595959592d04595959590804cd -5959590804cd595904590804595959080459595908540408045959595959595959595959 -5959595959595959595959595930301c0630303030303030303030303005060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595959595959590359590359590303 -5903595903035959595903035903595903595903590359035903595903037f0359595459 -595959595959595954595459595959595959595959595459595959595459595959595959 -59545959595959595959595959595959cd59595959595959055959595959595959595959 -5959cd045904590459590459cd04595959595959595904595959597f0459590459590459 -5904595959cd0459595959cd045959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595904cd04590459cd04595904595904595904595904cd -595959595959045959595959045959595959595959597f0459597f04cd04590459595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595954045904590454590454 -5904595904595408595904cd595959595959045959545905085959595959595959595959 -045959590459540859590459590459590454045959590459cd04592d590459cd59595959 -595959595959595959595905595959595959595959303006303030303030303030303030 -3030061c595959595959ae060e0e0d0000060e0e0eae595959595959595959595959597f -03595903595903590303595903590359595903590303595903595903590359037f035959 -035903035959595959595959595959595959595959595959545959595959595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -595959595959595959595904590459045959045959045959595959595959590404595959 -04cd59045959040404595959595904595959595904595959595959595959595959595959 -595959595959595959595954595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959045904590459590459cd045959 -040404cd595959040459595959cd0459595904040459595959595959595959047f595904 -59047f045959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595904 -7f0459045959045959045959040404b35959590404595959595904595959040404595959 -595959595959595904cd5959045959045959045959595959040459595959040404595959 -540459595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed7595959595959 -595959595959595903595903595903595903595903595903595903595903595903595903 -595903590359595903595903595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595904cd045904595904595904595959595959 -5959cd59590459590459590459cd04595904595959590459595959590459595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959597f0459045904 -59590459590459cd045959045959595959045959595904595904cd5904595959595959cd -595959045959040459047f04595959595959595959595959595959595459595959595959 -595959595905595959595959595959595959595959595959595959595959055959595959 -595959595959590459045904595904595904cd59045959045959595959045959cd590459 -590459590459595959595959595959590459595904595904545904595904597f04590459 -59cd04595904595959045959595959595959595959595959595959595959595959595959 -593030060606061c1c061c061c0606060606061c595959595959ae060e0e0d0000060e0e -0eae595959595959595459595959595959030359590303595903590303037f5903030359 -5903597f5903035959590359035959030359590359595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959045904590404595904 -045959595959595959590404045959040404590404595904045959590404040404590404 -040404595959595959595959595959595959595959595459595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959590459047f0404040404590404595904045959590404047f59590404040404590404 -590459595959595959595959040459045904590404595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959047f04590404040404590404595904045959590404 -045959590404040404590404cd04595959595959595904040404047f5904045959595904 -04595904047f040459595904045959590404040459595959595959595959595959595959 -59595959595959595930301c06060606060606060606060606300606595959595959ae06 -0e0e0d00001c0e0e0ed7595959595959595959595959595959597f59597f5959597f5959 -59595959595959595959595959597f595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd59597f0459595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959545959595959595959595959595959595959595959590559595959595959590559 -5959595959595959595959595959595959595959595959595959597f597f595959595959 -5959cd595959cd59595959595959597f5959595959595959595959595959595959595959 -597f595959597f595959595959595959595959597f595959595959595959595959595959 -595959595959595959595959595959595930300606595959595959595959595930300606 -595959595959ae060e0e0d0000060e0e59ae595959595959595959595959595959595959 -595959595959595959595959597f59595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590404595959590404040404045959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959597f595959597f59595959595959 -5959595959595959597f5959595959595959590404040404045959595959595959595959 -595959595954595954595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590404040404 -0459595959595959595959595959595959595959595959595959595959595959595959cd -595959595959595959595959595959595959595959595959593030060659595959595959 -5959595930300606595959595959ae060e0e0d00001c0e0e0ed759595959595959595959 -597f59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5905595959595959595959595959595959595959595959cd595959597f59595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959cd59595959595959cd5959595959595959595959cd59595959595959597f59595959 -597f59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd5959cd59595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303006 -0659595959595959595959593030061c595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959597f5959cd5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300606595959595959595959595930300606595959595959ae060e0e0d00 -001c0e0e0ed7595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59cd59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -5959595954595959595959595930300606595959595959595959592d3030060659595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959cd5959595959595959595959595959595959595959 -595959595959595959595959595959595459595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595954595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959545959303006065959595959595959595959 -30300606595959595959ae060e0e0d00001c0e0e59d75959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -595959595959595959595959595959595959595959055959590559595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959055959595959595959595959595959595959593030061c595959 -595959595959592d3030061c595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959cd595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959cd595959cd595959cd595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595905595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300606595959595959595959595930300606595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595905 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd595959cd595959595959595959595959595959cd5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959592d3030061c595959595959595959592d30300606595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959cd595959595959595959595959 -59595959595959595959595959595959cd5959595959cd59595959595959595959595959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959cd595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300606595959595959595959595930300606 -595959595959ae060e0e0d00001c0e0e0e4f595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd595959cd595959cd595959cd595959cd595959595959cd595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959cd595959595959595959595959595959595959595959cd -59595959cd59595959595959cd5959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959592d3030061c59595959595959 -5959592d3030061c595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -5959595959cd59595959595959595959595959595959595959595959595959595959cd59 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959cd59595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595954595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959055959595959595959595959 -5959595959595959595959595959595959595959595959595959cd595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303006 -06595959595959595959595930300606595959595959ae060e0e0d00001c0e0e0ed75959 -5959cd595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959cd59595959cd59595959 -59595959595959595959595959595959595959595959595959595959595959cd59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959592d3030061c595959595959595959592d30300606595959595959ae060e0e0d00 -00060e0e0eae595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959cd59595959cd595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd59595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959055959 -595959595959595959595959593030060659595959595959595959593030060659595959 -5959ae060e0e0d00001c0e0e0e4f59595959595959595959595959595959595959595959 -59595959595959595959595959595959cd59595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd59595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959cd59 -5959595959595959595959595959cd5959595959595959595959595959cd595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959592d3030061c595959595959595959592d -3030061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959cd5959595959 -595959595959595959595959cd59595959595959595959595959595959cd595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300606595959 -595959595959595930300606595959595959ae060e0e0d00001c0e0e0ed75959595959cd -5959595959595959595959595959595959cd5959cd5959cd595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd59595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -2d3030061c595959595959595959592d30300606595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959cd595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300606595959595959595959595930300606595959595959ae06 -0e0e0d00001c0e0e0ed75959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959cd59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959595959cd -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595459595959595959592d3030061c595959595959595959592d3030061c -595959595959ae060e0e0d0000060e0e0eae595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959cd595959595959595959 -595959cd5959595959595959595959595959595959595959595959cd5959595959595959 -5959595959595959595959595959595959595959595959595930300606303030a9303030 -3030303030300606595959595959ae060e0e0d00001c0e0e0ed759595959595959cd5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd5959595959595959595959595959595959cd5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959592d30301c -30303030303030303030303030300606595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd59595959595959595959595959cd595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd59595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c590e0ed7595959595959595959595959595959595959595959595903595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd5904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -5959595959595959595959595959595959cd595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -59035959595959595959595959595959595959cd59595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595904cd5959595959595959595959595959595959cd045959 -595959595959595959595959595959045959595959595959595959595959595959595959 -595959045959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5904cd595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959cd5959595959595959595959 -595959595904595959595959595959595959595959595904595959595959595959595959 -59595959595959595959cd04595959595959595959595959595959595959595959595959 -595959595959595959cd59595959595959595959595959595959595959595959cd045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595905595959595959595959cd595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e59ae595959595959 -595959595959cd5959595959595959595903595959595959595959cd5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959590404045959040404045959040459595959045904040459040404045959 -595959595959590404595904045904045959040404045959590404595959045904040459 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959cd5959595959595904595959595959595959595959595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c2e0e -0ed7595959595959595959595959595959595959595959597f0359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959cd5959595959595904cd5959595959045959cd5959cd0459595959045959 -59cd5904cd5959595959595959590459590459cd0459cd0459595904cd59595904cd5904 -5959cd0459cd595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959055959595959590559595959595959595959595959595959 -5959595959595959cd5959595959595959595959595959cd590459595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959cd59 -595959595959595959595959595959595959595959595959595959595959595959595459 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959035959 -59cd59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595904045959595904595959590404 -04595959cd045959595959045959595959595959595904cd5904595904595904cd595904 -59595959040404cd59595904595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959590459595959cd595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959055959590559595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e2e59d7595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959cd5959595959595959595959595959 -5959595959595959595959595959595959590559595959595959595959595959cd595959 -595959595959595959595959595959595904595959595959595959595959595959045959 -590459590404595904595959590459595959590459590459595959595959045959045959 -045959045959590459590459045959045959590459595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd04595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd045959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -595959595959595959595959595959595959595959595959543030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -5959595959595959595959595903cd595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595904040459595959590404595904045904595904040404595959590404595959595959 -595959040459595959040459045959590404cd5959040459595904040404595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -5904595959595959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -5959595959595959595959595904595959595959cd595959595959cd5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595459595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959cd595959cd595959cd595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959cd59 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959cd5959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59cd595959cd595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959cd5959595959595959595959595959595959595959595959 -5959595959595959cd5959040404040404cd595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595959595959595959595959595959 -5903595959595959595959595959595959595959595959595959595959cd5959cd5959cd -5959cd5959cd595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959cd5959cd5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959cd5959 -595959595959595959cd5959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959c8595959595959595959595959595959595959595959cd59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595904595959595959595959cd59595959 -5959595959595959595959595959595959595959cd595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd0459cd595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e59d7595959595959 -59595959595959595959595959595959590359595959595959595959595959595959cd59 -5959595959595959595959595959595959595959595959595959595959595959595959cd -595959595905595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd04595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595901015959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595459595959595959595959 -5930fa050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959cd5959595959595959595959595959 -5904595959595959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590100010159595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959055959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -5959595959595959593030050505050505058d050505050505050606595959595959ae06 -0e0e0d00001c0e0e0e4f59595959595959cd595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -5959cd5959595959595959595900000101010159cd045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959590559595959595959590559 -59595959cd5959595959595959595959cd59595959595959595959595959595959045959 -5959595959595959595959595959595959595959595959595959cd595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -54595959595959595959595959595959593030050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0ec8595959595959595959595959595959595959 -5959595959035959595959595959595959cd595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595901010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101000000000000000001010104595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959545959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e0e0e4f59595959595959595959 -59cd5959595959595959595959c859595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -5959595959595959595959595959595959595c5959595959595c59595959595c59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595900000000000059 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959540859595959595959595959595959595959595959595959 -595959595959595959595959595959cd5959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595930fa05 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0ed75959 -5959595959595959595959595959595959595959590359595959595959cd595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590000005959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959cd5959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959055959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959cd595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595900005959595959595904595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -5959cd595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd595959cd59595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595904cd595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595905595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005ef0505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959 -595959595959595959c85959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959cd59595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd045959595959595959595959595959595959595959595959595959 -59595959595959595959595959cd59595959595959595959595959595959595959595959 -595959595959595959595959595959595954595959595959595959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e59ae595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959cd5959595959595959595959595959045959cd595959595959595959595959595959 -59595959595959595959595959cd59595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595459 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959cd5959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -59595959595959595959cd5959595959595959595959595959595959595959595959597f -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -5959cd5959cd595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -5959595959595959593030050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0ed75959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595905595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505058d05050505050606 -595959595959ae060e0e0d00001c0e0e0ed7595959595959595959595959595959595959 -5959595959c8595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd590459cd59595959 -cd5959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959055959595959595959595959cd59595959595959595959595959595959595959 -59595959590459595959cd5959595959595959595959595959cd59595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595930fa050505050505050505 -0505050505050606595959595959ae060e0e0d0000060e0e59ae59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959597f0459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5904595959595959595959cd595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd59595959590459595959595959595959595959595959595959595959 -59cd59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959545959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959545959595959 -59595959593030050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0eae595959595959595959595959595959595959595959595903595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595905 -595959595905595959595959590559595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e59d7595959595959595959cd595959595959595959595959 -59c859595959595959595959595959595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595930fa05050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0ed75959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959597f045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595904cd59 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed7595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -cd5959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595905595959595959595959595959590559595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595459595959595959595959595959595959 -593030050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0ed759595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959045959595959590459595959590404595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd0459595959595959595959 -5959595959595959595959595959595959cd595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c0e0e0e4f5959595959595959595959595959595959595959595959c85959 -595959595959595959595959055959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -5959595959595959595959cd595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595904595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930fa050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0eae595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959055959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959597f04595959595959595959595904590404595959 -590404595904590459040459595959595959040404045959590404595959590404045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e0e0ed759595959595959595959 -59595959595959595959595959c859595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -59590459cd04595904595904590459045904595959595959595959045959595959590459 -595904595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595905595959595959 -05595959595959595959595905595959595959595959cd59595959595959595959595959 -5959595959595959595959595904595959595959595959cd595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595954595959595959595959303005 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0ed75959 -5959595959595959cd595959595959595959595959035959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -5959595959595959595959595959595959595959cd595959595959595959595959045959 -595959595959595959590459590459590404047f59045904590459595959595959595904 -595959595959045959590459590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd595959595959595959595959595959595904cd59595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959593030050505050505c005050505050505050606595959595959ae060e0e0d00 -001c0e0e2e4f5959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595905595959595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -595959595904595959595959595959595959045959047f59045959045959047f04595959 -595959595959590459590459597f04595959045959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd04595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959cd5959595959595959595959595908595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930fa050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959cd0459595959595959595959590404045904045959040459 -5959045904595959595959597f59595904047f5904040404047f590404cd045959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959590559595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e590ed75959595959595959595959595959 -5959595959595959590d59cd595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959cd595959595959595959045959cd5959595959595959597f59 -59595959595959597f59595959595959595959595959597f59595959595959cd59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595954595959595959595959595959595959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0ed7595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -cd5959595959595959595959597f59595959595959595904040404040459595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -595959595904cd5959595959595959595959595959595959595959590559595959595959 -595959595959595959595959595959595905595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595954595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0e4f59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595905595959595905595959595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -59045959595959595959595959595959595959595959595959597f5959597f597f597f59 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd595959cd595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959cd0459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930fa050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0ec85959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd595959cd595959cd595959cd595959cd5959595959595959595959 -5959595959595959595959595959595959595959590459595959cd595959595959595959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959590459cd -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e0e0e4f595959595959595959595959595959595959 -5959595959c8595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959055959595959595959595959595959cd59595959595959595959595959 -595959595959595959595959595959597f04595959595959590000595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -cd5959595959595959595959595959595959595959595959595959595408595959595959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eef59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959010000005959 -595959597f59595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959cd595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c2e590e4f5959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595905595959595959595959595959595959595959595959 -59595959595959595959cd59595959595959595959595959595959595959595959045959 -000000000000595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -595959595959cd5959595959595959595959595954085959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959545959595959595959545959 -595959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed759595959595959cd59595959595959595959595959595903595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595900000000000000000000000000000000000000000000010000010000010000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000100010000010001000100010001000100010000010000010001010000010001010101 -010101010101010101010101010100000004595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959590559595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595959595959595959595959595959 -590d59595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595905 -5959595905595959595959595959595959595959595959595959595959cd595959595959 -595959595959595959595959590459590000000000595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959055959595959595959595959595905 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595900000000595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595904cd59595959595905595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0e4f595959595959 -5959595959595959595959595959595959c8595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -0559595959590559595959595959595959595959595959595959595959595959595959cd -595959595959595959595959595959595959595959595959595959595904595959595959 -590000595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959055959595959 -5959595959595959595959595959595959595959595959cd595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595954595959595959 -5930fa050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eef59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595904cd595959595959590559595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959055959595905 -595959595959595959055959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c2e590e4f59595959595959595959595959595959595959595959590d5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959cd5959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959592d085959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954085959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959593030050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0eae595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959cd5959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595459595959595959595954595959593030050505050505050505 -8d05050505050606595959595959ae060e0e0d00001c0e0e0ed759595959595959595959 -59595959595959595959595959c859595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959055959595959 -595959590559595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959cd5959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595930fa05 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0ed75959 -595959595959595959595959595959595959595959035959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595904cd59595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959cd59595959595959595904cd59595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c2e592e4f5959595959cd5959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959597f595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -590359595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959055959595959595959055959595959595959595959595959 -595959055959595959595959590559595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959 -595959595959595959c85959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959cd5959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959545959595959595959592d085959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595954085959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930fa0505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0ed7595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595959595959595959595959590559595959595959590559595959590559 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595905595959595959595959595959cd59595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0ed75959595959595959595959595959595959595959595959c859595959595959595959 -595959595959595959595959055959595959595959595959595959595959055959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595459 -595959595959595959595959590459595959595959595959595959595959055959595959 -595959595959595959595905595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595905595959595959595959595959595959595959590559595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -5959595459595959593030050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959055959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959597f59595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595904cd59595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -055959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959055959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e0e0e4f595959595959595959595959595959595959 -5959595959c8595959595959595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959cd59595959595959cd595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -595959545954595954595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -59595959595959595959595959595959595959595959595959595959595959cd59595959 -59595959cd04595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5905595959595959595959595959595959595959595959595930fa050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959045959595959595959595959595959595959595959595959595959595959595959 -595959590459595959045959595959595959595959595959595959040459595959595959 -59595954595959040459595959595959595959595959595959595959cd59595959595959 -590459595959595959595959595905595959595959055959595959595959595959595959 -595905595959595959595959055959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595905595959595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -595959595959595959595959595959595959595959595959595959590559595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959cd59595959595959597f045959 -595959595959595959595904595959595959595959595959595959595959595959595959 -59595959595959595959595959595959590459595959595959595459595954595459597f -045954595954595959595959595959590459595959595959595959595959595959595959 -595959595959595954085959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -055959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959590559595959595959595959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595954 -59595959593030050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595959055959595959595959595959595959595959595959590559595959595959 -595959595959595959595959595905595959595959595905595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5459595959047f5959595959595959595959040404045959045904040404045904045959 -595959595904590459040459045904040459590404595959040404045959590404595959 -595959595959595904595959590404595959590404595959045904045959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959055959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959590559595959595905595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930300505050505050505058d0505050505060659595959 -5959ae060e0e0d00001c2e592e4f59595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959045959595959595959595959597f04597f59597f04597f -597f04597f0459595959595959045904590459597f0459597f59597f045959597f04597f -5959047f5904595959595959595959590459595904595904595904595904595904590459 -595959595959595959595959595959595959595959595959590459595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -59595959595959595959cd5959595959595959cd59595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595905 -59595959595959595959595959595959595959595930fa05050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595959595959595959595959045959595959595959595959595904 -59595959590459595959045959045959595959597f047f047f0459595904595959595959 -0459595959045959595904040459595959595959595959590459595904597f0459590459 -7f59597f0404595959595959595959595959595959595959595959595959595959045959 -595959595959595959595905595959595959055959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595459595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed7595959595959 -5959595959595959595959595959595959c8595959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595905595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959597f04595959595959 -5959595959597f045959045959045959595904597f045959595959595959045904595959 -5904595959595959045959597f0459590459045959045959595959595959595904595959 -045959045959045959045959047f04595959595959595959595959595959595959595959 -595959cd5904595959595959590559595959595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595905595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959cd5904595959595959055959595959595959595905 -595959595905595959595959595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -593030050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959055959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959590404595904040404595959040459595959595959 -5959047f0459595904040404595904040404045959590404597f59040459595959595959 -595904040404045959040459595959040459590404590404595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595905595959595959595959595905595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595459595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c0e0e59d75905595959595959595959595959595959595959595959c85959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595905595959595959595959595959595959595905595959 -595905595959595959595959cd5959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959597f59597f597f5959595904 -7f5959595959595959595959595959597f597f595959597f597f59595959595959595959 -7f595959595959595959597f597f595959597f5959595959595959595959595959595959 -595959595959595959595959595959595959595954085959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954085959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959055959 -595959595959595959595959595959595930fa050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0eef595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -595959595959595959595959595959597f04595959595959595959595959595959595959 -595959595904045959595904040404040459595959595959595959595959595959595959 -595959595959595959595904040404040459595959595959595959595959595959595959 -5959595959595959cd595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959055959595959595959595959595959595959595905595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e2e59d759595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -59595959595959595959595959597f5959595959597f59597f5959595959595959595959 -59595959595959595959595959595959595959595959597f595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959590559595959595959595959595959595905595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59cd59595959595959595959590459595959595959590559595959595959055959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959055959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595904cd59595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595904cd59595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e0e0ed75959595959595959595959595959595959595959595959c8595959595959 -595959595959595905595959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595905595959595959 -5959595959595959595959cd595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959cd595959595959595959 -595959595959595959595959595959595408595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959055959595959595959 -055959595959595959595905595959595959055959595959595959595959595959595959 -59cd59595959595959595959595959595959595901015959595959595408595959595959 -595959590559595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930fa050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959cd0459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959cd59595959cd595959595959595959590459595959595959595959 -595905595959595959595959595959595905595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959cd59595959595959590000000159595959 -590459595959595959595959595959595959595959595959595959590559595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e0e4f5959595959595959595959595959 -595959595959595959c85959590559595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595905595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd59595959cd595959595959595959045959cd5959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959597f5959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959055959595959595959595959595905595959 -595959595959595959590559595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959cd5959595959595959595959595959 -590000000000005959045959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959545959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595959595959595959595903595959595959595959055959595959595905 -595959595959595905595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595900000001000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000100010001000001000100010101000101010001000100 -000000000001010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010100000000000000000000000004595959595959595959595959595959595959 -595959590559595959595959595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595905595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959045c59f9595cf95cf95cf95cf95cf95cf95cf9590e0ef9 -5cf95cf95cf95cf959f1590e0ef95cf95cf95cf95cf959f1590e0ef95cf959f1590e0e5c -f95cf95cf95cf95cf95cf95cf95cf95cf95cf95cf95cf95cf95cf959f959f9595c59f959 -5c595c595959595959595959595959595900000000000059590459595959595959595905 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -59595959595959595930fa050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959590559595959595959595959590559595959 -595959595959055959595959595905595959595959595959595959595959595959055959 -5959595959595959595959595959595959595959595959cd595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959000000595959595904cd59 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505058d05050505050606 -595959595959ae060e0e0d00001c0e590e4f595959595959595959595959595959595959 -5959595959c8595959595959595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595900005959 -595959595908595959595959595959595959595959590559595959595959595959595905 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959593030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e2e0eae59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959540459595959595959595959595959055959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0e4f5959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595905595959 -595959595905595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959545959595959595959 -545959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0eef595959595959595959595959595959595959595959595903595959595959 -595959595959595959595959595959590559595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595905595959595959595959590559595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e0e4f59595959595959595959595959595959595959595959 -590559595959595905595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959055959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -540859595959595959595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959035959595959595959595959595959595959590559595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959592d045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0e4f595959595959 -5959595959595959595959595959595959c8595959595959595959595905595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595905595959595959595959595905595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959597f04595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954595959 -5930fa050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959595959590559595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595905595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c2e592e4f5959595959595959595959595959595959595959595959c85959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959cd59595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954085959 -055959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959593030050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0eae595959590559595959595959595959595959 -595959595903595959595959595959595959590559595959595959595959595959595959 -595959590559595959055959595959595959055959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959055959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e0e0ed759595959595959595959 -595959595959595959595959590559595959595959055959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959cd5959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959055959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -59595905595959595959595959595959595959595459595959595959595959595930fa05 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959597f59595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959597f045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e2e59d75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959590559595959055959595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959597f5904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959545959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595459595959595959595959595408595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959055959595959 -595959595959595954595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -590359595959595959595959595959590559595959595959595959595959595959595959 -595905595959595905595959595959595959055959595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959047f595959595959595959595959595959595959595959 -595959595959595959595959595959045959595959595959595959590404595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595459595459595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -2d0459595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595930300505050505050505058d050505 -05050606595959595959ae060e0e0d00001c592e59d75959595959595959595959595959 -595959595959595959c85959595959590559595959595959595959595959595959595959 -595959590559595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959597f04595959595959595959595959 -7f0459595959595959595959595959595959595959595959595959595959595959545959 -59545959595959595959595959595959595954595959595959595959595959597f045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959590559595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930fa0505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959545959595904595959595959 -595959595959590404590459045904040459040459595904590404595959040404045959 -590404595959590404045959595959595959595959595959595959595959595959595459 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -545959595959595959595959595959595904595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959595959595959595959590559595959595959590559 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959590559595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -7f0459595954595959595459597f04597f047f597f04597f597f597f0459597f04597f04 -59597f047f59597f04597f04595904597f04595959595959545959595459595954595959 -545959545959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959597f0459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959540859595959595959595959 -595959595905595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959593030050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959590559595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959590459590459595904595959590404 -0459595904595904595959045959595904040459597f0459590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959592d045959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e0e0e4f595959055959595959595959595959595959 -5959595959c8595959595959595959595905595959595959595959595959595959595959 -595905595959590559595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595905595959cd59595959595959cd5959595959 -595959595959595959595959595959595904595959595959595959595959045959045959 -590459595904597f0459597f04595904595959045959045904597f045959045959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959545959595930fa050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eef59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959040404595904040404595904045904590404047f0404597f590404597f59040459 -595959040459045959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5904cd595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e59d75959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -055959595959595959595959595959595959595959595959595959590559595959595959 -595959595959595959595905595959595959595959055959595959595959595959595959 -595959595959595959595959595959cd5959595959595959595959595959595959045959 -5959595959595959595959597f0459597f597f595959597f595959595959595959595959 -5959595959595959595959597f59cd595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959595959cd -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959055959595905595959595959 -595959595959595905595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959593030050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0eae595959595959595905595959595959595959595959595903595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959055959595959590559595959595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959597f04595959595959595959595959040404595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959cd595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959592d04595959595959 -595959595959590559595959595959595959595959595959595959590559595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595904595959595959595959595959597f5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959cd5959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959590559595959595959 -59595959595959595959595959595959545959595930fa05050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595905595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -5959595959cd595959cd5959595959cd59595959cd595959595959595959cd595959cd59 -5959cd595959cd5959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed7595959595959 -5959595959595959595959595959595959c8595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959055959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -590000595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904cd595959595959595959595959595959595959595959595959595959cd59 -5959595959595959595959595959595959595959cd5959cd5959cd5959cd5959cd595959 -cd59595959595959595959595959595959595959595959cd595959595959595959595959 -595959595959595959595959595959595408595959595959590559595959595959595959 -055959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -593030050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eae59595959595959595959595959595959595959595959590359595959595959595959 -595959590559595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959000000005959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959cd59595959595959595959595959595959595959595959cd59 -59595959595959cd595959cd5959595959595959595959592d0459595959595959595959 -595959590559595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505058d05050505050606595959595959ae06 -0e0e0d00001c0e0e0e4f5959595959595959595959595959595959595959595959c85959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959055959595959595905595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959597f59045959000000000000595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959cd595959595959cd595959cd5959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959cd59595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595459595959595959595959595930fa050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0eef595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595900000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000001010000000000 -010100000101000000000000010000000100000100000100000000010000010001010101 -010101010101000101010100010101010001000100010101010100010101000101010001 -010100010001000101010101010101010101010101010101010101010100010000010000 -010000000100000100010001000100000001010000000100010000010000000000000000 -000000000004cd5959595959595959590559595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c2e590e4f59595959595959595959 -595959595959595959595959590559595959590559595959595959595959595959055959 -595959595959595905595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd5959595959595959cd59595959595959590459590000000000595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595459595959303005 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959c85959595959595959595905595959 -590559595959595959595905595959595959595959595959590559595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959045959 -595900000000595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e0e0ed75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959590000595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595408595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930fa050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0ed759595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595905595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c2e592e4f5959595959595905595959595959 -595959595959595959c85959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959055959595959590559595959595959 -055959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0eae595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959cd59595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959595959595959595959590559595959595959595959 -590559595959595959595959595959595959055959595959595959595959055959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959540859595959595959595959 -595959595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -59595959545959595930fa050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0ed75959595959595959595959595959595959595959595959035959 -595959595905595959595959595959595959595905595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -59cd59595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959592d045959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c2e592e4f595959595959595959595959595959595959 -5959595959c8595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959597f04595905595959595959595959595959595959595959055959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595905595959 -595959055959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959595959595959595959595959 -595959595959595959595959595959055959595959590559595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -545959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -545959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595905595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930300505050505050505058d0505050505060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595905595959595959595959595959 -590559595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959597f590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eae5959595959595959595959595959 -595959595959595959035959595959595905595959595959595959595959595959055959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959055959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0e4f595959595959 -5959595959595959595959595959595959c8595959595959595959055959595959595959 -595959595959595905595959590559595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959597f04595459595959595959595959595959595959595959595959595959595959 -595959595959595954595959595954595459595459545954595459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595408595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930fa050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eef59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959590a0a595959595959595959595959595959595959 -595959595959595959595959595959595959595959590a595959590a5959595959595959 -595959595959595959595959595959595459595959595959595959595959595959595959 -595959595959595959595959590459595954595459545959545954595954595959595459 -545959545959595459595954595959595959595959595959595959595959595959595959 -595954595959595959545959595959595959595959595959595959595959595959595959 -5959595959595959595459595959595959595959595959592d0459595959595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c0e2e594f5959595959595959595959595959595959595959595959c85959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595905595959595959055959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -595959595959595959045959595959595959595959595959590a59595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959590a -595959595959595959595959595459595959595959545959595959595959595959595959 -59595959595959595959595959595959595959597f045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959545959595959595959595959545959595959595459595959 -59595459595959595959595959595959595959595959595959595959595959597f045959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595954595959593030050505050505050505050505050505061c -595959595959ae060e0e0d0000060e592eef595959595959595959595959595959595959 -595959595903595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595905595959595959595959595959595959595959 -5959595959595959595959597f59595959047f5959595959595959595959590a0a0a5959 -590a0a595959595959595959590a0a595959590a0a59590a0a590a59590a0a590a595959 -590a0a5959590a0a0a0a5959595954595959595959595959595959595959595959595959 -595959595959595959595459595959595959545959545959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959545959545959595959595959595959595959595959 -595959595904595959595959595959595959055959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e2e594f59595959595959595959 -595959595959595959595959590559595959595959595959055959595959595959055959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -59595959595959595959595959595959595959595959597f590459595959595959545959 -59590a59590a59590a59590a59595959545959590a59590a59590a59590a590a590a590a -590a590a590a595959590a595959590a5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959540859590559595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959590559595959595959 -05595959595959595959595959595959595959595959595959595959595959595930fa05 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0eef5959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959590a59590a59590a59590a59595959595959590a59595959590a59 -590a590a590a590a590a590a590a595959590a595959590a595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959592d045959595959595959595959595959 -595959595959590559595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e2e59d75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959597f045954595959595959595959590a59590a59590a59590a5959595959595959 -0a59590a59590a59590a590a590a590a590a590a590a595959590a595959590a59590a59 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eae59595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595904595959595959595959595959590a0a590a59590a0a59 -5959595959595959590a0a595959590a0a59590a590a590a0a0a590a590a0a590a0a0a0a -0a5959590a0a595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959cd59595959595959595959 -590459595959595959595959595959595959590559595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e2e59d75959595959595959595959595959 -595959595959595959c85959595959595959595959590559595959595905595959595959 -595959595959595959595959055959595959595959055959595959595959595959595959 -055959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595954085959595959595959595959055959595959595959595959590559 -595959595959595959595905595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959545959595930fa0505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e592ed7595959595959 -595959595959595959595959595959595903595959595959595905595959595959595959 -595959595959595959595959595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959cd59595959595959595959595959595904595959595959 -59595959595959595959595959595959590a0a0a0a0a0a59595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd04595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959592d04595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e2e -59d759595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959593030050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959c85959 -595959595959595959595959590559595959595905595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959597f045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595930300505050505050505058d05050505050606 -595959595959ae060e0e0d00001c0e2e59d7595959595959595905595959595959595959 -5959595959c8595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959590559595959590559 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595408595959595959590559595959590559595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959545959595930fa050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e592ed759595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -cd5959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd5959cd59595959 -5959595959595959595959592d0459595959595959595959595959595959595959595959 -595959595959590559595959595905595959595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e2e59d75959 -595959595959595959595959595959595959595959c85959595959595959590559595959 -595959595959595959590559595959590559595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959cd5959cd595959cd5959595959595959595959595959cd595959 -59595959595959597f045959595959595959595959595959595959595959595959595959 -5959cd59595959595959595959595959595959595959595959cd59595959595959cd5959 -595959595959cd595959cd59595959595959cd595959595959595959595959cd59595959 -59595959595959595959595959595959595959597f045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959593030050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0eae595959595959595959595959595959595959595959595903595959595959 -595959595959595959590559595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd04595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959cd595959cd595959595959595959595959595959cd595959cd5959 -5959595959595959595959595959595959047f5959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -cd5959595959595959cd595959595959595959595959cd59595959595959cd5959595959 -5959595959595959595959595959595959cd595959595959595959595904595959595959 -595959595959595959595959595959055959595959595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e2e59d759595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959590559595959595959595959595959055959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -540859590559595959595905595959595959595959595959590559595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595930fa05050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0ed75959595959595959595959595959 -595959595959595959035959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959590559595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -59595959595959595959cd59595959595959595959045959595959595459595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd595959595959cd595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e2e59d7595959595959 -5959595959595959595959595959595959c8595959595959595959595959595959595959 -595905595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595459595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959cd59 -595959597f04595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595954595959 -593030050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eef59595959595959595959595959595959595959595959590359595959595959595959 -595959595959590559595959595959595959595905595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -590459595959595959595459595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959590559595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c0e2e594f5959595959595959590559595959595959595959595959c85959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -055959595959595959595959595959595959595959cd5959595959595959595959595959 -595959595959597f59045959595959595959595959595959545959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954085959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930fa050505050505050505050505050505061c -595959595959ae060e0e0d0000060e592eef595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959545959595959595959 -595959595959595959595959595959595959595959595959595959595959595954595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904cd59595959cd -595959595959cd595959595959595959595959595959595959595959595959595959cd59 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959592d04595959595959595959055959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c2e590e4f59595959595959595959 -595959595959595959595959590559595959595959595905595959595959595959595959 -595959595959595959595959590559595959595959595959595959055959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959597f0459595959595959595959 -595459595959595459595959595959595959595459595959595459595959595959595959 -545959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959590559 -595959595959055959595959595959595959595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959303005 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e2e0eae5959 -595959595959595959595959595959595959595959035959595959595959595959595959 -055959595959590559595959055959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959545959545959545959595959545959595959 -545959545959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959590459595959595959595959595959595959cd595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505058d05050505050606595959595959ae060e0e0d00 -001c0e2e59d75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959590559595959595959595959595959 -59595959595959595959595959595959595959595959cd59595959595959595959595959 -595959597f04595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595459595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959cd5959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd59595959595959595959595408595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -5959595959595959545959595930fa050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e2ed759595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959cd5959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -2d0459595959595959595959055959595905595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e59d75959595959595959595959595959 -595959595959595959c85959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959595959595959595959595959595959595959595959595959595959 -59595959cd5959595959cd5959595959595959595959cd59595959595959595959595959 -59595959595959597f045959055959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e2ed7595959595959 -595959595959595959595959595959595903595959595959595905595959595959595905 -595959595959595959055959595959595959055959595959590559595959055959595905 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959cd59 -5959595959cd595959595959595959595959595959595959595959595959595959595959 -59595959590459cd59595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -59d759595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -7f0459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959cd5959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595959595959595959595959595959540859595959595959595959 -595959595959590559595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595954595959 -59595959595959595930fa050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e2ed75959595959595959595959595959595959595959595959035959 -595959595959595959590559595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959590559595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959545959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e0e59d7595959595959595959595959595959595959 -5959595959c8595959595959595959595959595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd5959595959595959595959597f04595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd59595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959055959595905595959595959595905595959595959595905 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954595959593030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eae59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959040459595959595959595959595959595959595959 -5959595959595959595959595959cd045959595959590459595959590404595959595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e2e59d75959 -595959595959595959595959595959595959595959c85959595959590559595959595959 -595959595959595959595905595959595959595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959597f045959 -595959595959595959595959595959595959595959595959045959595959595959595959 -595959595959595959595959595959595959595959595904595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd595959595959595959595954085959595959595959595959595959 -595959595959595905595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595959590559595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -595959595904595959595959595959595959045904040459590404595959595904595959 -59040459595904045959595959040404cd59590404595959595959595959040404045959 -59040459595959040404cd59595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959592d04595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959590559595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e2e59d759595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959055959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -5959595959595959595959597f04595959595959595959595959590459cd59590459cd04 -5959597f0459595904595904595959cd04595959047f595959cd04595904595959595959 -5959cd045959595959cd045959cd04595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -7f0459595959595959595959595959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eef5959595959055959595959595959 -595959595959595959c85959595959595959590559595959595959595959595959595959 -595905595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959047f59595959595959595959595904 -595959590404045959595959045959cd0404047f59590404045959595904045959590404 -045959cd5959595959595904595959595959045959590459590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -59cd595959595959595959595959595959cd595959cd5959cd5959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959055959595959595959595959595959595905 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e2e594f595959595959 -5959590559595959595959595959595959c8595959595959595959595959595959595959 -595959055959595959595959595959595959595959595959590559595959055959595959 -595959595959595905595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959590459595959045959045959595904595959045959045904597f04595959 -595959045959047f59045959595959595959590459590459595904595959045959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd04595959595959595959cd5959cd5959cd59595959595959595959595959cd -5959cd595959cd595959595959cd595959cd5959595959595959595959595959cd595959 -5959595959595959595959595959595959595959cd595959595959595959595959595959 -595959595959595959595959595959595408595959595959595959595959595959590559 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954595959 -5930fa050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eef59595959595959595959595959595959595959595959590359595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595459595959595904040404595959040459595904040404045959040459 -5959040459047f5904040459595959040459595959595959595959590404cd5904040404 -04595904045904cd59595959cd5959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd5959595959cd59 -59595959595959cd5959cd5959595959595959cd5959595959cd59595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959055959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505058d05050505050606595959595959ae06 -0e0e0d00001c0e2e59d75959595959595959595959595959595959595959595959c85959 -595959595959595959595959595959595959595959595959595959595959595959595905 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959cd5959 -595959595959595959045959595959595959cd595959597f595959595959cd5959595959 -7f5959595959597f59595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959cd59595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959cd595959595959595959595959595959595959cd59595959595959595959cd045959 -595959595959595959595959595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -59595959545959595959595959595959593030050505050505050505050505050505061c -595959595959ae060e0e0d0000060e592ed7595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904cd5959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595904 -0404040404595959595959595959595959cd595959595959595959595959595959595959 -cd5959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e0e0ed759595959595959595959 -595959595959595959595959590559595959595959590559595959595959590559595959 -590559595959595959595959595959595959055959595959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -5959cd5959595959595959595959cd595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959cd595959595959cd595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959595959cd -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959540859590559595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595905595959595959595959595959595959595930fa05 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0ed75959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595959595905595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -59595959595959595959595959597f595959595959595959595959595959595959595959 -59595959595959595959cd59595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e0e0ed75959595959595959595959595959595959595959595959c8595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959045959595959595959595959595959595959595959597f5959595959595959 -5959597f5959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd04595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959cd595959595959595959595959595959595900005959595959595904595959595959 -595959595959590559595959595959590559595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595954595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0ed759595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -5959595959597f59595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959cd59595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959590000000059595959 -590459595959595959595905595959595959595905595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e0ed75959595959595959595959595959 -595959595959595959c85959595959595959595959595959595959595905595959595959 -595959595959595959595959595905595959595905595959595959595959595959055959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959cd59595959595959590459595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590000000000005954085959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930fa0505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0ed7595959595959 -595959595959595959595959595959595903595959595959595959595959595905595959 -595959595959055959595959055959595959590559595959595959595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959cd59595901000001000001 -000000010100000000000000000000000000000000000000000000000000000000000000 -000100010101010101010101010101010101010101010101010101010001010101010101 -010101010101010101010101010101010101010101010101010101010001010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010100010001000100 -000100000000000000000000000000000004595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c2e59 -0ed759595959595959595959595959595959595959595959590559595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595900000000000059590459595959595959595959 -595959595959595959595959595959055959595959595959590559595959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -5959595959595959593030050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0eae5959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959000000595959595904cd59 -595959595959595959590559595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e2e59d7595959595959595959055959595959595959 -5959595959c8595959595959595905595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595900005959 -59595959b308595959595959595959595959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959545959595930fa050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0ed759595959595959595959 -595959595959595959595959590359595959595959595959595959595905595959590559 -595959595905595959595959595959595959590559595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959592d0459595959595959595959595959595959055959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595905595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595459595959595959 -59595959593030050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595905595959595959595959595959595959595959595959595905595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959cd5959595959595959595959595959 -5959597f5904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930300505050505050505058d0505050505060659595959 -5959ae060e0e0d00001c0e2e59d759595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959590559595959595959590559595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -540859595959595959595959055959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959545959595930fa05050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0ed75959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959592d045959595959595959595959595959595959055959595959595959 -595905595959595959595959055959595959595959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e2e59d7595959595959 -5959595959595959595959595959595959c8595959595959595959595959055959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959597f04595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -593030050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eef59595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595905595959595959595959595905595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c0e2e594f5959595959595959595959595959595959595959595959c85959 -595959055959595959595959595905595959595959595959595959595959595959595959 -595959595905595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954085959 -055959595959595959595959595959595959595905595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930fa050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0eef595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959595959595959595959 -595905595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959597f04595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959592d04595959595959595959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e2e594f59595959595959595959 -595959595959595959595959590559595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959cd5959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959055959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595459595959303005 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0eef5959 -595959595959595959595959595959595959595959035959595959595959595959055959 -595959595959595959595959590559595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959597f59045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595459 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959545959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -590559595959595959595959595959595959595959055959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e0e0e4f5959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959597f04595959595959595959595959595959595959595959595959595959595959 -595959595959595959595954595459545959595459595459545959545959545959595959 -545959545959545954595459595954595954595459545954595459545954595954595959 -595959595959595959595959595959597f04595459595954595959545959595459595954 -595959545959595459545954595459595459595459595954595459595459545959595459 -595954595959595954595954595459595459595954595959595459595959595959595959 -595959595959595959595959595959595959595959595959595959595408595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930fa050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e0e0eef59595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595905595959595959595959595959 -055959595959595959595959595959595959595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959590404595959595959 -595959040459595959595959595959045959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959045959595959590459595959595459595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959545959595954595959595959595959595959595959595959595959595959595959 -2d0459595959595959595959055959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e0e594f5959595959595959595959595959 -595959595959595959c85959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959cd5959595959595959045959595959595959595959595959 -7f045959595959595959597f045959595959595959595904595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595904595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959055959595959595905595959595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e2eef595959595905 -595959595959595959595959595959595903595959595959595959595959055959595959 -595959595959595959595905595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959597f04595959595959 -595959595959590404045959590404595959595904595959590404595959040404045959 -590404595959595959595959040404045959045904040459040459595904590404595959 -5904040459590404595959595904045959590404040459595904045959595904047f5904 -7f0404595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959545959 -595954595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505058d05050505050606595959595959ae060e0e0d00001c0e0e -594f59595959595959595905595959595959595959595959590559595959595959595959 -595959595905595959595959590559595959595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959590559595959595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595904597f04595904597f04595959590459595904597f04 -59597f045959595904595904595959595959595959045959595959045959595959590459 -59590459590459590459595959595959045959590459590459597f047f595959597f0459 -595904595904595904597f04590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959545959595959595959595959540859595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -59595959545959595930fa050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e2eef5959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959055959 -595959595905595959595959590559595959055959595959590559595959595959595959 -5959595959595959595959595959595959595959595959595959595959cd595959595959 -5959595959595959590459595959595959595959595904595904597f040404595959597f -04595959040404595959590459595959040404595959595959595959590459595959cd04 -595959590404045959590459590459595904045959590404045959590459595959595904 -5959595959590459595904597f045959045959047f045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595954595959595959595959595959595959592d045959 -595959595959595959595959595959595959055959595959595959595959055959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e2e594f595959595959595959595959595959595959 -5959595959c8595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959045959045959 -04595904595959590459595904597f0459597f0459590459047f59045959595959595959 -590459590459590459595904597f0459595904595904595959597f045904595904595959 -045959045959590459590459595904595959045959045959045959045904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959597f04595905595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e592eef59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -5959595959595959595959595959595959595959595959597f0459595959595959595959 -597f59040459047f59040459595904040404047f5904045959595959040459595904047f -5959595959595959cd590404595904040404595904045904590404047f04045904040459 -7f5904045904597f59040459595959590404595904040404045959040459590404045904 -040459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959055959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e2e59d75959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -595959595959595959590559595959055959595959595959595959595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -5959595959595959595959597f59595959597f59595959597f5959595959595959595959 -597f59595959595959595959595959595959595959595959597f595959595959597f5959 -595959597f5959595959597f5959595959597f595959595959cd59597f597f597f595959 -7f595959597f59597f045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959595959595959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595459595959595959 -595959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959055959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904040404040459595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959592d04595959595959 -595959055959595959595959595959595959595959595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595959595959595959595959595959 -590559595959595959595959595905595959595959595959595959595959595959595959 -595959595959595959595959055959595905595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -59595959cd59595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959597f59595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595459595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0ed75959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595905595959595959 -595959595959055959595959595959590559595959595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959590559595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed7595959595959 -5959595959595959595959595959595959c8595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -cd5959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595900005959 -595959597f04595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959cd595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959055959595959 -595959595959595959595959595959595959595905595959595959595959595959590559 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930fa050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0ed759595959595959595959595959595959595959595959590359595959595959595959 -595959595905595959595959590559595959595959595959595959590559595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590000000059595959590459cd5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959cd595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595904cd595959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505050505050505050606595959595959ae06 -0e0e0d00001c0e0e0ed75959595959595959595905595959595959595959595959c85959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959590559595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959590459cd595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959597f5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590000000000005959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd595959cd59595959 -59cd59595959595959595959595959595959595959595959595959595959595959085959 -595959055959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959590559595959595959595959 -59595959595959595959595959595959593030050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0ed7595959595959595959595959595959595959 -595959595903595959595959595959595905595959595959595959595959595959595959 -595959055959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595900000100000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000004595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd595959595959cd59595959595959595959595959595959595959595959 -595959cd5904595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e2e59d759595959595959595959 -595959595959595959595959590559595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd59595959595959595959cd595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595900000000000059 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959590459595959595959590559595959055959595959595959 -595959595959055959595959595959595905595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959545959595930fa05 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e0eae5959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959590559595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590000005959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595959cd59 -5959595959595959cd59595959595959595959595904cd59595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959545959595959 -595959595930300505050505050505058d05050505050606595959595959ae060e0e0d00 -001c0e2e59d75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590559595959590559595959595959595959595959595959 -59595959595959595959595959cd59595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595900005959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959592d08595959595959 -595959595959595959595959595959590559595959595959590559595959595959595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e592ed759595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595905595959595959595959 -590559595959055959595905595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959047f595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -540459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e2e59d75959595959595959595959595959 -595959595959595959c85959595959595905595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -5959cd595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959055959595959595959595959 -595959595959595905595959590559595959595959595959595959595959595959595959 -595959595959595959595905595959595959595959595959595959595930fa0505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0ed7595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd59595959595959595904595959595959595959055959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e0e -0ed759595959595959595959595959595959595959595959590559595959595959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -055959595959595959055959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959cd5959cd5959595959595959595959 -595959595959cd59595959595959595959cd595959cd5959595959595959595959595959 -5959cd595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959540859595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595954595959593030050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0ed75959595959595959595959595959595959595959595959035959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959597f0459595959595959595959595959cd -595959cd5959cd5959cd59595959595959cd5959cd59595959595959595959595959cd59 -595959cd5959cd595959595959cd59595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e2e59d7595959595959595959595959595959595959 -5959595959c8595959595959595959055959595959595959595959595959055959595959 -595959595905595959590559595959595959595959595959595959595959595959595959 -595959595959595959055959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959590559595959595959595905 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595930fa050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0ed759595959595959595959 -595959595959595959595959590359595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959590559595959595959595959 -595959595959595959595959055959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505050505050505050606595959595959ae060e0e0d00001c0e0e0ed75959 -595959595959595959cd5959595959595959595959055959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959590559 -595959595959055959595959055959595959595959595959595959595959595959595959 -595959595959595959595959cd5959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959597f045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959055959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -59595959593030050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0ed75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959595959595905595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959cd59595959595959 -597f59595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959592d04595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e0e0e4f59595959595959595959595959595959595959595959 -59c859595959595959595959595959595959595959590559595959595959595959595959 -055959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -595959cd5959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959597f59595959595959597f0459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959595959595959595959595959595959595959595959595959595959 -590459595959590559595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959545959595930fa05050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eef5959595959595959595959595959 -595959595959595959035959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959cd5959595959cd5959595959595959595959 -595959595959595959045959595959595959595959590559595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e2e594f595959595959 -5959595959595959595959595959595959c8595959595959595959595905595959595959 -595959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595408595959595959595959595959595959595959 -595959595959595959595959595959590559595959055959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -593030050505050505050505050505050505061c595959595959ae060e0e0d0000060e0e -0eef59595959595959595959595959595959595959595959590359595959595959590559 -595959595959595959595959595959595959055959595959595959595959595959590559 -595959595959595905595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959590a0a595959595959 -5959595959595959595959595959590a5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595904cd595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959592d0459595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930300505050505050505058d05050505050606595959595959ae06 -0e0e0d00001c0e0e0e4f5959595959595959595959595959595959595959595959c85959 -595959595959595959595959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959595959595959 -59595959595959597f045959595959595959595959595959595959595959595959595959 -590a5959595959595959595959595959595959595959590a595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595459595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959590559595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595905595959595959595959595959595959595959590559 -595959595959595959595959545959595930fa050505050505050505050505050505061c -595959595959ae060e0e0d0000060e0e0ed7595959595959595959595959595959595959 -595959595903595959595959595959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595905595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959545959595904595959595959595959595959590a0a59590a -590a0a595959590a0a0a5959595959595959590a0a59590a0a590a0a59590a0a0a0a5959 -590a0a5959590a590a0a0a59595959595959595959595959595959595959595959595959 -5959595959595959595959595459595959595959cd595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -0505050505050606595959595959ae060e0e0d00001c0e2e59d759595959595959595959 -595959595959595959595959590559595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959597f0459595959545959595459 -59590a59590a59590a59590a59590a59590a59595959595959590a59590a59590a59590a -5959590a595959590a59590a5959590a5959595959595459595954595959595459595959 -545959595959595959595959545959595459595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd595959 -5959cd595959595959595959540859595959595959595959055959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -0505050505050505050505050505061c595959595959ae060e0e0d0000060e0e2ed75959 -595959595959055959595959595959595959595959035959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959590559595959595959595905595959595959595959595959 -595959cd5959595959595959595959595959595959595959595959595959595959045959 -595959595959595959590a0a0a5959590a59590a59590a59590a59595959595959590a59 -590a59590a59590a5959590a595959590a0a0a595959590a595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595904595959cd59595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959592d045959595959595959595959595959 -595959595959595959595959595959055959595905595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050505050505050505050505050606595959595959ae060e0e0d00 -001c0e2e59d75959595959595959595959595959595959595959595959c8595959595959 -595959595959595959595959595959055959595959590559595959055959595959595959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959597f045959595959595959595959590a59590a59590a59590a59590a59590a5959 -5459595959590a59590a59590a59590a5959590a59590a590a59590a5959590a59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959cd5959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959cd595959cd59595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5459595959595959595959595930fa050505050505050505050505050505061c59595959 -5959ae060e0e0d0000060e592ed759595959595959595959595959595959595959595959 -590359595959595959595959595959595959595959595959595959595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -5959595959595959595959595904595959595959595959595959590a0a59590a0a0a590a -0a59590a0a590a59595959595959590a0a595959590a0a590a5959590a0a5959590a0a59 -59590a0a0a0a595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -05050606595959595959ae060e0e0d00001c0e2e59d75959595959595959595959595959 -595959595959595959055959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd5959595959595959595959595959595959595959595959595959595959595959 -595959595959595954085959595959595959595959595959595959595959595959055959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959545959595930300505050505 -05050505050505050505061c595959595959ae060e0e0d0000060e0e0ed7595959595959 -595959595959595959595959595959595903595959595959595959595905595959595959 -595959595959055959595959595959595959055959595959595959595959590559595959 -595959595959595959590559595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd595959595959595904595959595959 -59595959595959595959595959595959595959595959590a0a0a0a0a0a59595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959592d04595959595959595905595959595959595959 -595959595959595959595959595959590559595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505050505050505050505050606595959595959ae060e0e0d00001c0e2e -59d75959595959595959595959595959595959595959595959c859595959595959595959 -595959595959595959595959595959595905595959595959595959595959595905595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959cd5959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959cd59595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -590559595959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595930fa050505050505050505050505050505061c595959595959ae06 -0e0e0d0000060e0e0ed75959595959595959595959595959595959595959595959035959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959595904cd59 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595905595959 -595959595959595959595959595959595930300505050505050505050505050505050606 -595959595959ae060e0e0d00001c0e2e59d7595959595959595959595959595959595959 -5959595959c8595959595959595959595959595959595959055959595959595959595959 -055959595959595959595959595959595959595959590559595959595959595959595959 -59595959595959595959595959595959590559595959595959595959595959cd59595959 -cd5959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959cd5959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd5959595959cd59595959595959595959595959595959cd5959595959 -59595959b308595959595959595959595959595959595959595959590559595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959593030050505050505050505 -050505050505061c595959595959ae060e0e0d0000060e0e0eef59595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595905595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd5959595959cd5959595959 -5904cd595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595459592d0459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05050505050505058d05050505050606595959595959ae060e0e0d00001c0e2e594f5959 -595959595959590559595959595959595959595959055959595959595959590559595959 -595959595959595959595959595959595959595959590559595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959cd595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959055959595959 -595959cd5959cd595959cd59595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959cd59595959 -595959595959595959595959595959595959595959045959595959595959595959055959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -545959595930fa050505050505050505050505050505061c595959595959ae060e0e0d00 -00060e0e0eef595959595959595959595959595959595959595959595903595959595959 -595959595959595959595959595959595959595959595959595959055959595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959cd595959cd5959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959cd5959cd595959cd59595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959593030050505050505050505050505050505060659595959 -5959ae060e0e0d00001c0e2e594f59595959595959595959595959595959595959595959 -59c859595959595959595959595959595959595959055959595905595959595959595959 -595959595905595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595905595959595959595959595959595959595959 -59595959cd59595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -54595959595959595959595959595959cd59595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959cd0459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd595959595959595959595959595959 -540859590559595959595959595959595959595959595959595959595959595959595959 -595959590559595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959303005050505050505050505050505 -0505061c595959595959ae060e0e0d0000060e0e0eef5959595959595959595959595959 -595959595959595959035959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959590559595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd045959595959595459595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959cd59595959595959595959595959595959 -5959cd595959cd5959595959595959595959595959595959595959595959595959045959 -cd5959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959592d045959595959595959595959595959055959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595930300505050505 -050505050505050505050606595959595959ae060e0e0d00001c0e2e59d7595959595959 -5959595959595959595959595959595959c8595959595905595959595959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959055959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959590559595959545959595959595959595959 -5930301c1c1c1c1c1c1c1c1c1c061c060606061c595959595959ae060e0e0d0000060e59 -2ed759595959595959595959595959595959595959595959590359595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959cd5959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959593030051c1c1c1c1c0606060606060606300606595959595959ae06 -0e0e0d00001c0e2e59d75959595959595959595959595959595959595959595959055959 -595959595959595959595959595905595959595959595959595959595959595959595959 -595959055959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959cd59595959597f045959595959595959545959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959cd5959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595954085959 -595959595959055959595959595959595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959593030051c065959595959595959593030050606 -595959595959ae060e0e0d0000060e0e0ed7595959595959595959595959595959595959 -5959595959c8595959595959595959595905595959595959595959055959595959595959 -055959595959595959595959595959595959595959595959595959055959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595459 -595959595959595959595959595959595959595959595959595959595959595459595959 -5959595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959592d04595959595959595959595959595905595959595959590559595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959545959593030050506065959595959 -5959593030050606595959595959ae060e0e0d00001c0e2e59d759595959595959595959 -59595959595959595959595959c859595959595959595959595959595959595959595959 -595959595959595959595959590559595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959597f0459595959595959595954 -595954595959595959545959595959595959595959595959595459595954595954595954 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959055959595959 -595959595959595959595959595959595959595959595959595959595959595959303005 -05061c5959595959595930300505061c595959595959ae060e0e0d0000060e0e0eef5959 -595959595959595959595959595959595959595959035959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595459595954595959545959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959cd045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959595959 -595959595959595959595905595959595905595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595930300505050606595959595959303005050606595959595959ae060e0e0d00 -001c0e2e594f5959595959595959590559595959595959595959595959c8595959595959 -055959595959595959595959595959595959055959595959595959595959595959595959 -595959595959595905595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959cd5959595959595959595959595959595959 -595959597f04595959595959595959595959595459595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959cd595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959cd5959595959595959cd59595959cd595959595959595959595408595959595959 -595905595959595959595905595959595959595959595959595959595959055959595959 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959595959593030050505060659595959593030050505060659595959 -5959ae060e0e0d0000060e0e0eef59595959595959595959595959595959595959595959 -590359595959595959595959595905595959590559595959595959595959595905595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959cd5959 -595959595959595959595959590459595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959cd59595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -2d0459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959593030050505051c0659595959303005 -05050606595959595959ae060e0e0d00001c0e2e594f5959595959595959595959595959 -595959595959595959c85959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959597f045959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959595959595959cd045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959055959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595459595959595959595959595930300505050506 -06595959303005050505061c595959595959ae060e0e0d0000060e0e0eef595959595959 -595959595959595959595959595959595903595959595959595959595959595959595959 -595959595959595959595959595959590559595959595959595905595959595959595959 -595959595959595959595959595959595959590559595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959cd5959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595905595959595959055959595905595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5930300505050505060659593030050505050606595959595959ae060e0e0d00001c0e0e -0e4f59595959595959595959595959595959595959595959590559595959595959595959 -595959595959595905595959595905595959595959595959595959595959595959595959 -595959595959055959595959055959595959595959595959595959595959590559595959 -59595959cd59595959595959595959595959595959595959595959595959595959595959 -7f0459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595459595959595959595959595959595959 -cd59595959595959cd595959595959595959595959595959595959595959595959595959 -595959595959595959595959cd0459595959595959590559595959595959595959595959 -595959055959590559595959595959595905595959590559595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959540859595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959593030050505050506065430300505050505061c595959595959ae06 -0e0e0d0000060e0e0ed75959595959595959595959595959595959595959595959035959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959045959595959595959595959590559 -595959595959595959595959595959595959590559595959595959595959595959590559 -595905595959055959590559595959595959595959595959595959595959595959595959 -59595959595959595959595959595959595959595959595959595959595959592d045959 -595959595959595959595959055959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959545930300505050505050630303005050505050606 -595959595959ae060e0e0d00001c0e0e0ed7595959595959595959595959595959595959 -5959595959c8595959595959595959595905595959595959595959595959595959590559 -595959595959595959595959595959590559595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959597f04595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595408595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959cd5959595959595959595959cd595959595959 -595959595904595959595959595959595959595959595959595959055959595959595959 -595959595959595959055959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959545959595959593030050505050505063030 -0505050505050606595959595959ae060e0e0d0000060e0e0ed759595959595959595959 -595959595959595959595959590359595959595959595959595959595959595959595959 -595959595959595959595959590559595959055959595959595959595959595959595959 -595959055959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959cd5959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595904cd595959595959595905595959595959595959595959 -595959595959595959595905595959595959595959595959595959595959595959595959 -595905595959595959595959595959595959595959595959595959595959595959303005 -05050505050530300505050505050606595959595959ae060e0e0d00001c0e2e59d75959 -595959595959595959595959595959595959595959c85959595959595959595959595959 -595959595905595959595959595959595959595959595959595959595959595959595959 -595959055959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959cd59595959595959595959597f045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590559595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595954085959595959595959595959595959 -595959595959595959595959590559595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959303005050505050505308d050505050505061c595959595959ae060e0e0d00 -00060e0e0ed7595959595959595959595959595959595959595959595903595959595959 -595959595959595905595959595959595959595959595959590559595959595959595959 -595959595959590559595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595904595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959545959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959cd595959595959595959 -595959595959595959595959595959595904595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595959590559595959595959595959 -595959595959595959595959595959595959595959595959595959595904595959595959 -595959595959595959055959595959595959055959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595930301c1c061c06060606061c0606060606060659595959 -5959ae060e0e0d00001c0e0e0ed759595959595959595959595959595959595959595959 -590559595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595959595959055959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959597f0459595959595959595959595959595959595959595959 -595959595959595959595959595959595959545959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590459595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -590459595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595905595959595959 -595959595959595959595959595959595959595959300606060606060606060606060606 -0606061c595959595959ae060e0e0d0000060e0e0ed75959595959595959595959595959 -595959595959595959035959595959595959595959595959595959595959595959595959 -595959595959595959595959595959055959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959590559595959595959595959 -5959595959595959595959595959595959595959590459cd595959595959595959595959 -595959595959595959595959595959595959595959595959545959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959cd595959595959595959595959595959595959595959595959595959595959045959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959045959595959595959595959055959595959595959595959595959 -595959595959590559595959055959595959595959595959595959595959595959595959 -595959595959595905595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959ae060e0e0d00001c0e0e0e4f595959595959 -595959595959595959595959595959595959595959595959595905595959595959595959 -595959595959595959595959595959595905595959595959590559595959595959595959 -595959595959055959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595459 -595959595954595959545959595959595959595959595954595959545959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959cd5959595959595959595959595959595959595959595959595959595959 -595959cd5959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959cd5959595959 -595959595959595959595959595959595959595905595959595959595959595959595959 -055959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595959595959595959595959595959595959595959595959ae060e0e0d0000060e0e -0eef5959595959593efafa27fafa30fa3030fa3030fa3027fafa273e27273e2727272727 -27273e2727273e2727273e2727273e2727273e2727273e2727272727273e272727272727 -273e2727273e2727273e27272727272727273e2727273e27273e27273e273e273e3e273e -273e27272727fa27fafa27fa27fa2730fafa30fa3027fa30fa30fa30fa3027fa302730a9 -30a93030a9303030fa3030fa303030303030fa30fa30fa30fa30fa3030fa303030fa3030 -3030fa303030fa3030fa3030fa30fa30fa30fa30fa30fa30fa30fafa30fafa30fa30fafa -30fafa30fa30fafa30fafa30fa3027fa3027fa3027fa27fa27fa27fafa27fafa27fa273e -273e27273e27fa27fa27273027fa27fa273e273e273e273e273e273e273e273e273e273e -27273e273e273e273e273e273e273e273e273e27273e27273e27273e273e273e273e273e -2727273e273e27273e2727273e27273e27273e27273e273efa27fafa27fafa27fafa27fa -27fa2730fa30fa30fa30fa30fa30fa30fa30a93030a9a9faa927fa27272727273e272727 -3e2727273e272727272727273e2727273e2727273e2727273e2727273e27273e27273e27 -273e273e273e273e273e2727273e27272727fa27fa27fa2727fa27fafa30fa30fa3030fa -30303030303030595959595959595959595959595959595959595959595959595959ae06 -0e0e0d00001c0e2e594f59595959595930303030303030303030303030303030302727fa -272727273e2727fa27272727fa272727fa272727fa272727fa272727fa27273e2727fa27 -2727273e2727fa27272727fa272727fa272727fa273e2727fa272727fa2727fa2727fa27 -27272727272727272730fa30fa3030273030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -302730303030303030303030303030303030303030303030302730273027302730272730 -27273027273027fa273027273027302730273027302730273027fa273027302727302730 -273027302727302730fa273027fa273030fa2730fa2730273030fa273030303027303030 -303030303030303030303030303030303030303030303030303030303030303030272727 -fa27fa272727fa272727fa2727273e2727fa27272727fa272727fa272727fa272727fa27 -27fa2727fa2727fa27272727272727272727fa3027fa2730fa3030303030303030303030 -30303030303030303030303030301c595959595959595959595959595959595959595959 -595959595959ae060e0e0d0000060e0e0eef595959595959273005050505050505050505 -050505052e052e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e1c2e2e2e1c2e1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c2e1c1c1c1c1c1c2e1c2e1c2e1c1c2e1c2e1c1c2e1c1c2e1c2e1c2e1c2e1c2e1c2e -1c2e1c2e2e1c2e2e2e2e2e2e2e2e2e2e2e2e2e1c2e1c1c1c1c1c1c1c2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e1c2e2e2e1c2e2e1c2e2e2e2e2e0505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505052e1c050505050505050505050505051c1c59595959595959595959595959 -5959595959595959595959595959ae060e0e0d00001c0e0e0e4f59595959595930300505 -050505050505050505051c2e30051c1c1c1c2e1c1c2e1c1c1c2e1c1c1c2e1c1c1c2e1c1c -1c2e1c1c1c2e1c1c1c1c1c1c2e1c1c1c2e1c1c1c2e1c1c1c2e1c1c1c2e1c1c1c1c2e1c1c -1c1c1c1c1c1c2e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c06061c0606060606061c1c1c1c1c061c1c1c1c -1c1c1c1c1c06060606061c0606061c061c061c1c061c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c30050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -05050505050505050505050505051c1c1c2e0505050505050505050505061c5959595959 -59595959595959595959595959595959595959595959ae060e0e0d000002ec0fec0f5959 -595959593030050505050505050505052e1c1c3030051c1c595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959303005050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505051c1c1c1c1c1c0505050505050505 -051c06595959595959595959595959595959595959595959595959595959643725db0000 -014f4f4f4fec595959595959303005050505050505051c1c1c1c593030051c1c59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -5959595c5959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595930300505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505050505050505050505050505050505050505050505050505051c1c59591c1c -1c1c05050505050505061c59595959595959595959595959595959595959595959595959 -5959258b4e122500004f13133e0f59595959595930300505050505052e1c1c1c59595930 -30051c1c5959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959593030050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -05051c06595959591c1c1c1c050505050506065959595959595959595959595959595959 -59595959595959595959438b1212db00004f3e1313ec5959595959593030050505051c1c -1c1c59595959593030051c1c595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -303005050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505051c1c5959595959591c1c1c1c050505061c595959595959595959 -595959595959595959595959595959595959dbbb7e124300004f133e130f595959595959 -303005052e2e1c1c595959595959593030051c0659595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595930300505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505050505050505050505050505051c0659595959595959591c061c0605060659 -5959595959595959595959595959595959545959595959595959438b7e7e2500007a1313 -3eec5959595959593030303030305959595959595959593030051c1c5959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959593030050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505050505050505050505050505050505050505050505061c5959595959595959 -5930303030061c595959595959595959595959595459595959595959595959595959258b -12124300004f3e731364595959595959303005053030303059595959595959303005061c -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959303005050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505051c06 -595959595959595930303030050606595959595959545959595959595959595959595959 -595959595959db8b127e2500007a13133eec595959595959303005050505303030305959 -5959593030051c1c59595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595930fa0505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505061c595959595959303030300505051c1c59595959595959595959595959 -5954595959595959595959595959438b12124300004f7395130f59595959595930300505 -0505050530303030595959303005061c5959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959593030050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -05050505050505050505050505051c065959595930303030050505050506065959595959 -59595959595959595959595959595959595959595959dbbb127e2500004f133e13ec5959 -595959593030050505050505050530303030593030051c1c595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -59595959595959595959595930fa05050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -05050505050505050505050505050505050505050505061c595930303030050505050505 -05061c595959595959595959595959595959595959595959595959595959438b12124300 -008b73957364595959595959303005050505050505050505303030303005061c59595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595930300505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505050505050505050505050505050505050505050505050505051c0630303030 -0505050505050505051c0659595959595959595959595959595959595459595959595959 -595943bb127e2500004f13133eec59595959595930300505050505050505050505053030 -30051c1c3030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -3030303030303030303030303030303030303030303030303030303030fa050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505061c30300505050505050505050505061c5959595959595959595959595959595959 -59595959595959595959db8b12124300008b217313645959595959593030050505050505 -050505050505050530050630303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303030303030303030303030303030303030303030303030303030303030303030303030 -303005050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -05050505050505050505063005050505050505050505050505061c595959595959595959 -59595959595959595959595959595959595943bb127e2500007a73133eec595959595959 -30301c1c1c1c1c1c1c1c1c1c1c06060606061c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -1c2e2e2e2e2e2e2e2e2e2e2e2e2e2e0e2ef10ef10ef10ef10ef10ef10ef10ef10ef10ef1 -0ef10ef10ef10ef10ef10ef10ef10ef10ef10ef10ef10ef12e0e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e1c1c1c1c1c1c1c060606061c1c061c061c061c061c060606061c59 -5959595959595959595959595959595959595959595959595959db8b1212430000a32173 -1364595959595959301c1c1c1c0606060606060606060606060606061c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c061c061c061c0606061c0606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -06060606060606060606061c061c061c061c061c1c061c06061c06061c06061c061c061c -061c061c1c061c061c061c1c061c1c061c1c061c061c1c061c1c061c1c061c061c06061c -1c061c061c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c061c1c061c1c1c1c061c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c061c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c061c061c1c1c06 -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c2e1c2e1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e1c2e2e2e1c2e2e1c2e1c2e2e2e2e2e2e -2e2e2e2e2e1c2e2e1c2e1c1c1c1c1c1c1c1c1c1c1c060606060606060606060606060606 -0606060606060659595959595959595959595959595959595459595959595959595943bb -217e2500009673133eec5959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959595959595959595959595959595959595959595959595959595959595959 -595959595959db8b1212430000bb21730273ecec64ecec64bf8f0fbf8f368f368f36aeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae -aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae22aed7d7aed7d7d7d7d7d7d7d713ec -6464646464f864646425256443648b7e127e25001d007a1313733e4f504f4f4f7a4f347a -4f7a4f4f4fc306060606060606060606061c061c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c061c06061c060606060606060606060606060606060606061c06061c06 -061c06061c06061c060606060606061c0606060606060606060606060606060606060606 -06060606060606060606060606060606060606060606060606061c0606061c06061c0606 -06061c0606060606061c060606061c06060606060606060606060606061c060606060606 -0606060606060606060606060606060606061c0606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -0606060606060606060606060606060606060606060606060606061c061c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c061c0606060606060606060606060606060606061c06061c1c1c1c1c1c1c -1c1c1c1c1c1c7a7a7a7a7a7a7a7a8b5a8b8b8b38bbbb1212124300061d008b7373021313 -73130295027302212121212173860e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e5c0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e5c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e4f02137302022121123712121212127e12b512db0006 -898700256473730273737321217e121212122121138f0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0ef10ea37321b51212127e1212127e1212 -21121243db000606f81d890000646425252564d3432543434343434343640d0d0d0d0d0d -0d050d050d05050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050d050d050d -050d0d0d0d0d0d0d0d050d050d050d0d050d050d050d050d050d050d050d050d050d0d0d -050d050d050d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d -0d0d0d0d0d0d0d0d0d0d0d050d050d050d050d050d050d050d050d050d0d050d050d050d -050d050d0d0d0d0d0d0d0d0d0d0d050d050d050d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d -0d0d0d050d050d050d0d0d0d0d0d0d050d050d050d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d -0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d -0d0d0d0d0d0d0d0d0d0d0d050d050d050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -050505050505050505050505050505050505050505050505050505050505050505050505 -0505050505050505050505050505050505050505050505050505050505050d050d0d0d0d -0d0d0d0d0d0d0d0d0d0d050d050d050d0505050505050505050505050d051343432543db -43db43db43dbdbdb43dbdb00000000061d891d1d1d000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000060600 -%%PageTrailer -%%Trailer -%%EOF diff --git a/lib/et/doc/src/sim_trans_contents_viewer_collector.gif b/lib/et/doc/src/sim_trans_contents_viewer_collector.gif Binary files differdeleted file mode 100644 index 77115b71ab..0000000000 --- a/lib/et/doc/src/sim_trans_contents_viewer_collector.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans_contents_viewer_collector.png b/lib/et/doc/src/sim_trans_contents_viewer_collector.png Binary files differnew file mode 100644 index 0000000000..545697bf38 --- /dev/null +++ b/lib/et/doc/src/sim_trans_contents_viewer_collector.png diff --git a/lib/et/doc/src/sim_trans_contents_viewer_collector.ps b/lib/et/doc/src/sim_trans_contents_viewer_collector.ps deleted file mode 100644 index 3ef1921fa2..0000000000 --- a/lib/et/doc/src/sim_trans_contents_viewer_collector.ps +++ /dev/null @@ -1,1407 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/sim_trans_contents_viewer_collector.ps -%%CreationDate: Mon Oct 14 17:27:25 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 406 232 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 217.359744 translate -391.247539 -217.359744 scale -% Image geometry -468 260 8 -% Transformation matrix -[ 468 0 0 260 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 468 string def -/gstr 468 string def -/bstr 468 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 82198 ASCII Bytes -colorimage -r;V<JJH16$[f?Ok0f^sKJ,~> -r;V<JJH16$[fH=oJ,~> -r;V<JJH16$[fH>IJ,~> -rr;uunc&S<J[C!8K<tV-mJd0^mJd0^nc/Uhs#C'6J,~> -rr;uunc&SGMnXbRJ\(Zg!&X*C!28f[!28r_rrE$dJ,~> -rr;uunc&SuJaS*WKC/_KmJd0^mJd0^nc/Uhrc<S~> -s8N-#s8W)KqVM,3!%EJWXc%a_f7O,Rs3:GkqVM/4!i5k@qpkQ"r8n'Vs3:GkqVDD<s8N'Z3Ih~> -s8N-#s8W)LrS%8-ro3q>!&U.0JWYMGlB)-)s3CVlrmq&%rndY6s5jBVs3CVlrmq&%rndY6s5jBV -s3CVlrmq&%rn[h<s8N'e7">~> -s8N-#s8W)KqVM,3!+LN9J_l%9!b22SqpkQ"r8n'Vs3:GkqVM/4!i5k@qpkQ""m5jb!-<43~> -!ri9#rRLc$qW7c,JTJAC!.4]d!.4]d!.4]d!.4]d!/(8l!/(8l!/(8l!/(8l!/(8l!/pht!/pht -IuAYpF,PBdF,PBdF,PBdF,PBdF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#m -F-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#m -F-M#mF-M#mEsn4ZF*!RmF*!Re.KB:qqVM,3!Mobmeb\/"joM:XqpkQ"rT41+!&9!~> -"9/B$df.hrgA]t.ir/!>1kC(kI/nitI/nitI/nitI/o!#I/o!#I/o!#I/o-'I=I*)I=7*+I=7*+ -I=7*+I=76/I=76/I=76/I=7B3I=7B3I=7B3I=7B3I=7N7I=7N7I=7N7I=7N7I=7N7I=7N7I=7N7 -I=7Z;I=7Z;I=7Z;I=7Z;I=7Z;I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=3?2 -KmeB?KmeB?KmeB?KmeB?KmeB?KmeB?KmeB?KmeB?I5M!'df.hrgA]t.ir8'@U&Y,?rmq&%rndY6 -roO6Ts8LIGf)=>%hYuL:k0<rpJ,~> -!ri9#rRLc$qW7ceJ^(aM!7h(n!7h(n!7h(n!7h(n!7h(n!7h(n!7h(n!7h(n!7h(n!7h(ns4..o -s4..os4..os4..oJ)8`#c/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!q -c/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!q -c/.!qc/.!qc/.!qc/.!qc/-]Ss81@ChYZF9V#U>BqVM,3!Mobmeb\/$joWd-F+=~> -!ri9#rmgl%qrRtJjsbjrr+Z:SK6,%I!-A-S!-A-S!-A-S!-A-S!.4][!.4][!.4][!.4][ItMfW -C4gSBC4gSBC4gSBC5[.JC5[.JC5[.JC5[.JC5[.JC5[.JC6WdSC6WdSC6WdSC6WdSC6WdSC6WdS -C6WdSC6WdSC6WdSC6WdSC6WdSC7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[ -C7K?[C)iabC208[C208[C208[C208[C208[C208[C+92\eb\/"joXtHs8:FDhYZF:m\Km\eb\/# -joWd-0n9~> -!ri9#rmq&%rndY6roO:IjtqX7r-8?lNIf5t!.Fil!.Fil!.Fil!.k,p!.k,pIt`;rH%gZlH&6rp -H&6rpH&[5tH&[5tH'*N#H'*N#H'Nf'H'Nf'H'Nf'H's5/H's5/H's5/H's5/H's5/H's5/H(BM3 -H(BM3H(BM3H(BM3H(BM3H(BM3H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7GqPeA -H$Q*7H$Q*7H$Q*7H$Q*7H$Q*7H$Q*7H$Q*7H$Q*7H$Q*7H$Q*7Gr5QLdf.hrgA]t.ir8'ClCn7+ -df.hrgA]t.ir8'ClCn7+df.hrgA]t.irA-Bc2^7_~> -!ri9#rmgl%qrRtJk$in\r5JZ[`l.r&rl"l^rl"l^rl"l^rl"l^rl"l^rl"l^rl+o^s2G#_s2G#_ -s2BK<c,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZP -c,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZP -c,IZPc,IZPc,IX9e]l(Pe]l(Pe]l(Pe]l(Pe]l'Bs8:FDhYZF:m\Km\eb\/"joXtHs8:FDhYcL; -blDg8~> -!<E0!eb\/"k5XiMjsd0Bs5)RH%#`)>PlLd.hVN!^pA`c["nqt2CA.]*C&i>SC&i>SC&i>SC&i>S -C&iV[C&iV[C4CSOC;luiC2/BBC2/BBC2/ZJC2/ZJC2/ZJC2/uSC2/uSC2/uSC2/uSC2/uSC2/uS -C2/uSC2/uSC208[C208[C208[C208[C208[C208[C208[C208[C208[C20PkC20PkC20PkC20Pk -C20PkC20PkC20PkC20PkC2,&jHYR;kHYR;kHYR;kHYR;kHYR;kHYR;kHYR;kHYR;kHYR:Es8CLE -hYZI8mK'-`rRLX.roX7K!MoboeH4Sn62f[?62fpIm_&UN~> -!<E0!f)=>%hYuO6k5X]IjtrrXs5)RS%$ehTSbiB7hVNBtpA3Ea"nqe8FnY\0FT?^dFT?jhFT?jh -FansfF`i7\F`iC`F`iC`FiLG,F`i[hF`i[hF`iglF`igpF`istF`j+#F`j+#F`j+#F`j+#F`j7' -F`j7'F`j7'F`j7'F`j7'F`jC+F`jC+F`jC/F`jC/F`jC/F`jO3F`jO3F`jO3F`jO3F`jO3F`jO3 -F`jO3F`jO3F`fI9JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ+3JTZ)l -qU5AorS%8-ro3q>s69ZZqU5AoqEY$JroX7G!hoJ=rmh2*5X='&hZ#tDir8'AlFHtG~> -!<E0!eb\/"k5XiMk$k4,s7Y9f%+Xdbec5[;p@cJEs8U`js8W,<s8W#9!6tM^!6tM^!6tM^!6tM^ -!6tM^s3:S_s36&4mbZ4-`QcZH`RW5P`RW5P`RW5P`RW5P`RW5P`RW5P`RW5P`RW5P`RW5P`RW5P -`RW5P`RW5P`RW5P`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY`SSkY -`SSkY`SSkY`SSkY`SSkY`SSl>`?F*_`Pp]Y`Pp]Y`Pp]Y`Pp]Y`Pp]Y`Pp]Y`Pp]Y`Pl<drRLc$ -qr[qH!Moboeb;B/k5XiMV#UDD!o?4/rSIQ?rT41L]`<Q~> -!s&AOec+G*63#g?k5RaHmK)H!oO7iRPi6'PK9Yk7!J?X%@KP*)3T"9XKE%0%k5S=Fc-87Xp@^4M -K9Y/#s7QRM@eTLMraGkBraGkBraGkBraPnls'btLraL@uC1:Y!C1:YRs*J4%C1:Y)C1:Y)C1:Y) -C1:Y1C1:Y1C1:Y1C1:Y1C1:Y:C1:Y:C1:Y:C1:Y:C1:Y:F(/UCF(/UCF(/UCF(/UKF(/UKF(/UK -F(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/T)S9&.KS9&.KS9&.KS9&.K -S9&.KS9&.KS9&.KS9&.KS9&.KS9+[=!@e'Jeb\/"k5OcLV#UGE!8dH9s5s=K!MobpeH"J)63#g? -63$*ImK(!$J,~> -!s&APf)FD'5l]^?iWA717/lHPi\^:E!KEZ/D#oWen8/2cSa(%ng<rOLD%VX$R8E&G=\-id88\(o -4Dg(Kghm)b"?^Ppp,r=k!-/!T!-S9X!-S9XJ!HRAD1-D@D1-D@D1Q\DD6EniD1utHD2ECPD2ECP -D2i[TD38sXD38sXD3]B`D3]B`D3]B`D4,ZdD4,ZdD4,ZdD4,ZdD4,ZdD4PrhD4PrhD4PrhD4Prh -D4PrhD4u5lD4u5lD4u5lD4u5lD5DMpD5DMpD5DMpD5DMpD(VT0D/H+pD/H+pD/H+pD/H+pD/H+p -D/H+pD/H+pD/H+pD/H+pD/H+pD/H+prbVZmqYo(EgA]t.ir8*>l2dUTrmh)'q`t*Js5s=G!MTAh -ec=G&5l]^>7/uELl2eHrJ,~> -!s&AOec+G*63#g?k5RaHmK)HZoXt:Me`"1Bc.2<s!R90[]`RWaKAX?Sc2Z%QpA^%tk2q<0s8R/R -c.1U_s8N4C^&S+RqRlmJrk/<Nrk8?^s1JEOrk/<Nrk/<Nrk3g<s2D[r`P&t0`P&t0`P&t0`P&t0 -`P&t0`P&t0`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8 -`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&r*e]#58e]#58e]#58 -e]#58e]#58e]#58e]#58e]%O$!Fl*.eb\/"k5OcLV#UGE!8dH9s5s=K!MobpeH"J)63#g?63$*I -mK(!$J,~> -!W`8NrndT>rT=,Gs%<=Z!Tkj'=p"Et9&a"UpA[bT=p"Et9'TU[3T"!Qk05VQp@^4=;E6a@p@^4E -pA[b@>6":!0j=;E1&G,S@fBO2@fBO6CA.["CAqCdC1:@MF(/<VF(3DV@U`MEHX^/^HX^/^HX^/^ -K48"fK48"fMeZF!MeZF!MeZF!MeZF!MeZF!MeZF!MeZF!P\OB*P\OB*P\OB*P\OB*P\OB*P\OB* -P\OB*P\OB*S8)52S8)52S8)52S8)52S8)52S8)52S8)52S8)52/Y$QZ>+B>2>+B>2>+B>2>+B>2 ->+B>2>+B>2>+B>2>+B>2>+B>2>+AbFs4,ZrhYZI6mKKEde^`O5pH\fArU'ibs4,ZVhY0;9k5OcL -]`<Q~> -!W`8Orn@<9ro*q?rBpbQmc$(qB`e#)=lO,spA.q^B`e#)=mB]%84;?L''@V)=n_\S@:_ttC%h6_ -C%hC+h.co_#<Z_op,m&'D>n5LD>n7!EG]E(FnYZ7H#780H#780I;N\4JT9,tEH,],KlLg@M/d6D -M/d6DNHJrLO`bAPO`bAPQ$$eTQ$$eTQ$$eTQ$$eTR<<4XR<`L\R<`L\R<`L\SU"p`SU"p`SU"p` -SU"p`SU"p`Tm:?dTm:?dTm:?dTm:?dTm:?dTm:?d3MC_4Bq]fdBq]fdBq]fdBq]fdBq]fdBq]fd -Bq]fdBq]fdBq]fdBq]fdBq]fdBq]fdBq]5tqUX6rgA]t.ir8*>l3?[MqUX6OgAF566icBKl3?[M -qUX6OgAF566icBKl2eHrJ,~> -!W`8NrndT>rT=,Gs%<=Z!Tmk`[/^.+UuJc]rrAkb[/^.+V!>>eKAX$Kp?$Fds8R/A["F"<s8R/I -s8SnN[/^./F0tuIF8N<E^&GA=^&GAA^&S,.^&GD=^&PJ>^&PHh`P(F%[(WiR`P&Xc`P&Xc`P&Xc -`P&Xcc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKkc+UKk -e\/>se\/>se\/>se\/>se\/>se\/>se\/>se\/>se\/>se\/>se\/>se\/>s-.T]9[+2js[+2js -[+2js[+2js[+2js[+2js[+2js[+2Nms4,ZrhYZI6mKKEde^`O5pH\fArU'ibs4,ZVhY0;9k5OcL -]`<Q~> -!<E/uhY]\>k5RaH9)n;[jsg1*#'8Z$mZ^VVrr2t>qGI]kk5YJLC/USis6cEV;ZGSWKC8c0;RHH' -s)SY+s6c+L;Vp8_mf/eT[/U(0F*ldDs6bgA;CBH`K2PUKmS`cY;GqSms6c+LV#PL6`W(9_`P#/j -hZ*#.;GuB.XPWnR"G?_q3Q;!t#\s)5;H!5^0spr[s)SV*s6c+L;Vp93hGX(Iqbdflk5YJLC/USi -s6cEV;ZHG(0iI`=0iE)Ls6cCT;OlnLs6as8rr7FoSF6FFS5O**hVPX%;N(Qi;GqR>;GqR>;GqjN -;GqjN;GqjN;Gr-V;Gr-V;Gr-V;GrE^;GrE^;GrE^;GrE^;GrE^;GrEf;GrEf;GrEf;Gr`o;Gr`o -;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Go66C/RroC/RroC/RroC/RroC/Rro -C/RroC/RroC/RroC/RroC/RroC/RroC/QMSeb\/"k5=WKV"W@<hY0>6mK03Xec"A#5lg'GmK(!$ -J,~> -!<E/ugAXA;6il<0r'^SQ!TGs5AHmkFqX1%g^Ae-4L&,[email protected],h"d/6LTk1t; -s8Rc^hYQZ6AS'l\Om`(>A\S0Ds+LU4qZ#uKqIM&"s-7/,[dI`#qIO5lhYQZ6A[;>iA]k%,A^8/( -L#2[oTk.fpijRkFAH\:uI7VZ_rs3oDqIO73p,p(gs8Rc]hYQZ6AS'l\[c1llqYOh3Woj0Xl?Qs@ -lMp.Lral-''0Kk"p,loChYQZ:AS%n(qZ#i3^Ae.]M5ok@m]'iDD;sQhk%0hXH"CQ<EFi^8EFi^< -EFi^<EFi^@F_,-HF_,-HF_,-LF_,-LF_,-LF_,-LF_,-PF_,-PH"CQTH"CQTH"CQTH"CQXH"CQX -H"CQXH"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CPATm:3\Tm:3\Tm:3\Tm:3\Tm:3\ -Tm:3\Tm:3\Tm:3\Tm:3\Tm:3\Tm:3\Tm:3+p=B2rrndY6roX4Fs6]r^p=B5srBU6Jrp'OO!ho>= -rS%69r'UPIrosRQ\c@6~> -!<E/uhY]\>k5RaH9)n;[k$n4p#0$$1p=6P,rr2u;qQpX\pAb0d]sQ>`s7Y"B[/]h'c1_1f[,1f^ -s2>H8s7Y!M[.a4<pA`[MhZ!QT`<>W/s7X_6ZmY#9c*Xk7p9al"['[g?s7Y!MhZ(R%k5WE-k2s%i -mf3"2[']Q#hY-oT"O6tBKBE15#eg9<[']l5F5Hors2>E7s7Y!M[.a4Mp9al"qm6a]pAb0d]sQ>` -s7Y"B[/^.>F0tuIF0rpSs7Y!M[+4mMs7XFgrr7Gleb9%:e[3$'p@dYB[*AWH['[fc['[fc['[fc -['[fc['\)k['\)k['\)k['\)k['\)k['\)k['\)k['\)k['\)k['\)k['\)k['\)k['\As['\As -['\As['\As['\As['\As['\B&['\B&['\B&['\B&['\B&['VR<`O*#&`O*#&`O*#&`O*#&`O*#& -`O*#&`O*#&`O*#&`O*#&`O*#&`O*#&`O'+Jeb\/"k5=WKV"W@<hY0>6mK03Xec"A#5lg'GmK(!$ -J,~> -!<E/thYKP;9)e5ZhC8A#$tAquC;p3V@eTh"3D03I25L9/HYSd2SH$Q3^&O<p;YL.I[/]P[@eTh" -9(q[f`W'+>pAa!Vs6`0^pA\#Nk5TL+F';35;CIJ']h22jUbVT:0k0kEC;p3VHiK!rmf/2;p3TF* -mV9`@>#P(ohP;n*;BrRK5tYV[s&(TFp+]J=p+^%Ms&)J_mV9`@>#P(ohP;mgjtZg4I\d##HYSd2 -SH$Q3^&O<p;YKf=;YKf=@eT5)`W',;s5&*;PX/LHs&,*]`EKtTS6Ahas5'P+HiL0>F';I>F(/$F -HX]lNHX]lNHX]lNK47_VK47_VK47_VMdfR^MdfR^MdfR^MeZ-fMeZ-fMeZ-fMeZ-fMeZ-fP\O)o -=d3Z!;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo -;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;CV>9hYZI4mK'[email protected]!)!1W!MoGdhYTS= -k5=WJ]`<Q~> -!<E0!gAg"05kmbHmK)0$r*9_Fp?le7s(Q?DqHZ?dr*;1_s5JTPPuXOXb%\`mSR#Ops5LKel:c'g -qHZqkmVTi@BjLH4ijSmP9PsM">sRQPH!tu0;#=NHOoN-l?0\FTp@^U_p?le7s(R2eO]CiLO]Ct' -=n_9#_Z+=UpAa!L5lP%6])PT'EVB675kan6?2!tSD>*g3;"j<o_Z+=UpAa!L5j%&grEXlTs5JTP -PuXOXb%\`mSR#Opp,lXSp,[email protected][5XC%hC/RK(QH_Z-<@?2"<TW^)F@Y#'CX?!Vkm -?!W"q?!W/$?!W/$?!W;(?!WG,?!WG,?!WG0?!WS4?!WS4?!WS4?!WS4?!W_8?!W_8?!W_8?!W_8 -?!UU$EEuk<F^8:@F^8:@F^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:D -F^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^890pAN_EhYuO6k5OZFmK'$TrRq<<hVS7kroO8M -lK\B:!MT5cgAg"05l="Mk5OZGmK'm!J,~> -!<E/thYKP;9)e5ZhI?Da%(-'.Ut,L@[/^/aH_gS@2:_`pXIQYUc2ZXbec3UiXT/=gec5'%[/^/a -KE(Y@ec2GHs8VN;s6c,Ys8S"(pA^qHUm.DHX=2'feXW`7c$TKjF0tu@Ut,L@`W*<@pA_Lqs/_Ib -p8$7=UoaUrm`g+XX<ZU%K:K=Ks,1sus)Y:As)YRIs,2O0p8$7=UoaUrm`g+PmW8?.Ib"JdXIQYU -c2ZXbec3UiXT/<AXT/<A[/]iqec2Gqs6ctY[#;$cs,48ak*4Erc*XSPs6e-Y`W*oI]sOlB]sOlB -]sOlB`O)_J`O)_J`O)_J`O)_J`O)_J`O)_J`O)_J`O)_Jc*XRRc*XRRc+U3[c+U3[c+U3[c+U3[ -=j=X]XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[ -XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XCCo"hYZI4mK'[email protected]!)!1W!MoGdhYTS= -k5=WJ]`<Q~> -!<E/uhZ)a:62aFUmf2t]hC8@p$^C[e3K*oi62(",62O80mf-0>5s[Nns%5:Ts5l=6pA[E5p@^45 -p@^5*s.hZ5s+<W2s$8C5p+]25p+\kqs/]]/62F2$pA[F"s&(lNp+_g3UcFA5K1c0W;ZH0u>5pmQ -s.hZ5s+<W2s$8A"r^nE[s"Qf3p@^4,p@^45p@^45p@^5*s.hZ5s+<W2s$8A"8hi(!8q6:/;DCI' -3Tg?63ElIF3D0#=0hV050pM^63K*oimf-0>5s[Lsp@^6's%5:Ts5l=6pA[E58lG].8lA8RC0F5% -F';1.F';1.HWj$6HWj$6HWj$6K3Cl>K47GFK47GFK47GFK47GFK47GFK47GFMdf:NMdf:NMdf:N -Mdl]Y;2\mU8rI.N8rI.N8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW -8sEdW8sEdW8sEdW8sEdW8sEdW8sEdW8sEfa8c^C7r8.>5qsOLX!MoGfh>fk=k5XiL9)e8Yp&Uu_ -r8%G9r':<Tr9aX[]`<Q~> -!W`8Srnd\7qEtNYmdBZ:hDG.5$_@<t8<s43<VH,K<VooVmf-QX9MeFFs&DHus5m!XpA[fOp@^UO -p@^V:s/JVTs+sbLs%G]Op,lLOp,l@;s/p?A:f[Bq-scE?:jr@P8G;a>Sc>]\Q2c\Ds2&@DlFq-8 -8=BLX8<s43<VH8[5Y1lW,L6<O<E]%h4B;+K4B_CO4B_CO4IQ5L8<s43<VH8[5Y,$C5lFi8mf-QX -9MeFFs&DHus5m!Xp@^UOp@^V>s/Jb\s,$1D>sMCd9NCf[4QcZD6tQD\9Nh)c83g0hs2J&M=]p#] -=]p/a=]p;i=]p;i=]pGm=]pSu=]pSu=]p`$=]p`$=]p`$=]p`$=]pl(=]pl(=]pl,=]pl,=]q#0 -=]q#0s&i3aEEQG0EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4 -EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EW0)C2"oYWrndY6roX4FrpKgW#,1bEg>:[Oro3q> -s69SPrpKgW"/5GBgA]q/iql.DlMg2Qo""gO~> -!<E/uhZ)a:62aFUmf2t]hI?DY$dJ^jK>mklSH&V1SGT*>pA^%tPa%+"s+>s*s6bf@s8R^us8RGA -s8R/Zs2BW0s/_ajs+>[us*LRAs)X_(s2D(0PaqTGs8OC'^&O=Ts8R/bs2BW0s/_ajeXZ[5c)gql -`W*o0`W*$0s8RFmMuKLsk5TLuV#UI9SH&V1V#UI9V#UI9`W*o0`W*$0s8RFmMkk]HrM4r:s,25g -P`,88K7g9*mYdn@s)Y"9s)ZHb`Il/0XS2[PH^p=YV#UI9pA]btXT.^HV#UIAH^(W3eVgN)UpR5! -UqNk*UqNk*UqNk*UqNk*UqO.2UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^: -UrB_@Uf#+<Unku:Unku:Unl8BUnl8BUnl8BUnl8BUnl8BUnl8BUnl8BUnl8BUnl8BUnl8BUnl8B -Unl8BUnl8BUnl8BUnl8BUnl8BUnl8BUnl8BrhKR(pAEeEk54THp&Uu_rS@N?qr[qH!)!7Ys7QJh -pAEbIk57LF9)S)Yp:UHV~> -!<E0!hYlU:62aFUmf)n\hC8@p!3H+u"IqdOp+cD9s8N*S62jLVrt7%P9)noG9(qs59(qs59(qs5 -XSi)3S3clB0hV050hV050hPoos8UVjq+;"$s+@]80gYO,0s(<Q$_0N5p5@2/k*4^WXSi)$S3clB -1&OWX`W%Yb9(qs59(qs59(qs59(qs5XSi)$S3clB1&+B@rrFi?r_!4j%P^7As8OfGp@^45p@^5B -r;Qkhs8OhP8q1%<p+cUI0gT:Ks"S!Vp+^#S9)ljj8kNi%8kO/.8kO/.8kO/.8kOG68kOG68kO_F -8kO_F8kO_F8kO_F8kO_F8kO_F8kO_F8kP"N8kP"N8kP"N8kP"N8kP"N8kP"N8kP"N8kP=W8kP=W -8kP=W8kP=W8kP=W8kP=W8kLn(@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W -@S07W@S07W8h'K4h>jAL62jIXV!d[Mp&Uu_rS@N?r9""H!_VnKrq6AgpANhJk57OE9)e8Yp&Vi, -J,~> -!<E0!hYuL7k57UK8FGpFnc@H$r)j$&r;Qnj9_S0BqH<ju!C0Za=VU`44B5Pas$0`\p,l@Kp,lLO -p,oMUrtCqsp@^UKp@^UOp@^UOEQ8%Yg3rd"$GQOs]&#PLp@^VOr;R.q9\T&sf"U:7i]OCArrnre -p@^UKrE0i[s$0^ip@^UOp@^UOp@^UOp@^VOr;Qqk9_S0B<V]etrrGAbr`Kg/s#a:as8P>ep@^UO -p@^VOr;V8;s8P>i?!1<Ap@^WFs#a:us8P?(p@^Uc@9roQ86K)@AQ`/aAQ`/aBj"SiBj"SmBj"Sq -D-:"uD-:#$D-:#$D-:#$D-:#$D-:#(D-:#(D-:#(EEQG,EEQG0EEQG0EEQG0EEQG0EEQG4EEQG4 -EEQG4EEQG4F]hk8F]hj0R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8R<;Y8 -R<;Y8R<;Y8R<;Y8R9;B;gA]q/SbYYTV=*dNncGNUgA]q17,m5*k5OWI8FGpFncGNUgA]q/iqZ"A -mf2hY\c@6~> -!<E0!hYlU:62aFUmf)n\hI?DY!7h#I"ML'"s)\%4s8N+@SGo>art9CCV#UIAV#UI9V#UI9V#UI9 -eboF\]p/QsF/8j9F/8j9F/61ns8VN#q4nASs/b)FF.E:1F4L3g$b_emp9`u,m_/%0eboFM]p/Qs -F8VgJk5TLuV#UI9V#UI9V#UI9V#UI9eboFM]p/QsF82R2rrI22rhTSo%We/9s8RGAs8R/9s8R/j -r;Ql4s8R0=UjoKGs)\5?F.BW;s*M-Qs)YQKV#SttUnkB!Unk]*Unk]*Unk]*Unk]*Unk]*Unku: -Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unku:Unl8BUnl8B -Unl8BUnl8BUnl8BUnl8BUnffk[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB -[%sMB[%sMBUgj&rh>jAL62jIXV!d[Mp&Uu_rS@N?r9""H!_VnKrq6AgpANhJk57OE9)e8Yp&Vi, -J,~> -!s&AXhYZI69)n>Xp&X#!r(7$Ts.oTJ"$-)K1&=KDmf-Jh8f$Rh8kNRmjtTL%p+]25p+]25p+_g3 -V#<"]3VN/$9(qs59(qs58kMBAV#TjKqFV0;s4-h$0hV050pM^6r@n^@XT..QPlK:00pM^6r@nC7 -p@^6=8cc$nr_!4a%l$]Mp+]25p+]25p+_g3V#<"M3VN/$pdtVUs'#@n''B3d8n.h_0hV050hV05 -0pM^6r@nB9s'#CoIp,bDp+b_08m6!0jtTd-p+]H;@fN5a8nqO%8on0.8on0.8on0.8pa`68pa`6 -8qUSF8qUSF8qUSF8qUSF8qUSF8qUSF8qUSF8rI.N8rI.N8rI.N8rI.N8rI.N8rI.N8rI.N8sEdW -8sEdW8sF'_8sF'_8sF'_8sF'_8i2cI8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_ -8kP=_8kP=_8kP=_8h'K5h>l^962X=Tmeuh[V"XfE!Tl]Hk5F]K9()ZO!MoGgh>l^962X=Tmf)n\ -]`<Q~> -!s&AXhYuO6k5IaM8FGpFncJO=2#L>TRK'Gg49J.Jp,r1O!p]esrDaWqs&E'5s5lFDp@^UKp@^UK -p@^V:s/u;_'1hij4B;+K4B;+K4B5BX=f)/`;#40#IK.adPsA@Cp,ncCY5LHk8?W!HV3V)7Y!AET -Y5LHb8G;a>r)Ed's8H$up('8cp@^UKp@^UKp@^V:s/u;_"%`.Z4SVnXlMkGo<>+Ho<E3c5jucZ; -p,l@Kp,ncCY5LJ4lMkEu<E3I1p@^W6s&EcQs5lFLp@^UW<GDK55ZMr8<E4<U<E4HY<E4HY<E4Ta -<E4`e<E4li<E4li<E4li<E4li<E5#q<E5#q<E5#q<E5#q<E5/u<E5/u<E5/u<E5/u<E5<$<E5<$ -<E5<(<E5H,<E5H,<E5H,<E5H,s&D%HEE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#, -EE-#,EE-#,EE-#,EE-#,EE+jdrn[Y7q*b6R!:KjW!qr>Yrn[_97,n4.rosRQ8FHKJ!qr>Yrn[Y7 -q*b6R!:KjW!P/8]~> -!s&AXhYZI69)n>Xp&X#Zr1!i-s2FqX",$XRF8DC.pA^BUS/1huK:K%CmW4ous)X_1s)X_1s)Z0Z -`VjikKE(smSH&V1SH&V1S=Gh.`W,XrqO@u$s5s$gH^t-9F2e0urGrC"ec4dN[/]:5Hc?$(rGr'n -s8R0<S/0ZTK:JJ3s)X_1s)X_1s)X_1s)Z0Z`Vji[KE(smpm_EZs-3JP'))?XS?2bYF.E:1F.E:1 -F2e0urGr&6s-3MQJ#&V7s)[o6K<2H[mW53(s)Y!+XT-7dS?/NVS@#)^S@#)^S@#)^S@#)^S@u"o -S@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oSAhS"SAhS"SAhS"SAhS"SAhS" -SAhS"SAhS"SAhS"SAhS"SAhS"S2A3dS=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR" -S=IR"S=IR"S=IR"S7;3kh>l^962X=Tmeuh[V"XfE!Tl]Hk5F]K9()ZO!MoGgh>l^962X=Tmf)n\ -]`<Q~> -!W`8Wqr[qHs%<=Zr:U0J.JudG;XXRTH^'.Tk5T0oqar`9s5o5dP[^0_]kYOdM_Ritp+]25p+]2% -s(Z$2s."G#K1bk20hV050hUU.C/V-cC4lQC1&4Eemf3;Q3D0#=0iIH>S9pKQ8pgU<@UfB;C,o2[ -s."G#K1bk21&OWfF8pSQ9(qs59(qs59(qs59'6.g@da8dH^'.Tp@^459'5:68q*<1k)4SN@\!J3 -C;p420hV050hV050iIH>S:d&YSH%`0H^nhCk5T1ls1NKms,/U(p@^458u2Jr3GM_i8nqO%8on0. -8on0.8pa`68pa`68qUSF8qUSF8qUSF8qUSF8qUSF8qUSF8qUSF8rI.N8rI.N8rI.N8rI.N8mR?a -8kP"N8kP"N8kP=W8kP=W8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_ -8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kLQ+hVRDWrB^<Qr:U>jp>4Zgk!B"/r9aPWr:U;ip>4Zg -k5@UGmeocVp&Vi,J,~> -!W`8Wro3q>s69\S8FGpFo)JCag,/_-$XrK"SV<>c<Ta=(@Ja%^U&X8;JXL5Cs2&p$s-5]Hp@^UK -p@^[email protected]&/N7p,l@Kp,l@;s)hbUM04[ThE:U6,jPF09Lr1Wp,ldOqON>*M,f90s)E&Y -s*7"@meWK.Q&/N7p,r7Q,(9KB:f[5_4B;+K4B;+K4B:PDF`$RCSV<>c<VH,K<E82Dr)J3>s5oGp -R;&5l_KF$$Prr(?p,l@Kp,lpSqONV6M4st3Ob'3C<Ta=(Y5c@eb5[_l<VH,K<E5mqD+&MT<E4<U -<E4<U<E4HY<E4Ta<E4`e<E4li<E4li<E4li<E4li<E5#q<E5#q<E5#q<E5#q<E5/u<E5/u<E5/u -<E3=eD,jT$D,jT$EE-#(EE-#(EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#, -EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-!qo%r6_iqc(B8H/2[p'.5]hVR8O7/l?JlMp8P -8H/2[p'%/\hVR8OrC$\N!(?fWrpg-a\c@6~> -!W`8Wqr[qHs%<=Zr:U0J@f2`(V"Xi-]u@[TpA^YYqj]Ogs6dS-`N7&YeZ@p5[!S>Cs)X_1s)X_( -s.$1as2D[j]q#-&F.E:1F.Dt(S>=]KXM+YrHhj0WpAb/FMk'hIF/8O0`P'7(SA"t&S>?2bUk>K: -s2D[j]q#-&F8VOP[/ZqdSH&V1SH&V1SH&V1SG)uQXS2\5]u@[Ts8R/1SF6+KS:8`_m_-!HXMt4i -XQKPiH^t-9F.E:1F/8O0`P'7(c2[4F[*>\BpA^Z-s4+L=s0R-Cs8R/1SB_(uK<1l=S@#)^S@#)^ -S@#)^S@#)^S@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS@u"oS6a+8 -S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR" -S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=F'^hVRDWrB^<Qr:U>jp>4Zgk!B"/r9aPWr:U;ip>4Zg -k5@UGmeocVp&Vi,J,~> -!<E/sk54TDp&X#!qaq3)^%VKoMa<9ps(_C&1lL5js5mcVPii#.PVG0jp@^45p@^45Mt[0c>.sY0 -mYaC)p+]25p+]0tpA\mPpAaj*;DIu>,cq$b0gSG*p+]0K^%VKoMa:8@s#ECFs#EA;@_ML8mYaC) -p+cG:s4&5X9(qs59(qs59(qs58rNECC0J=Es6be2p@^459(qs5r(;ErhZ*W<@R67@s5oP#3D0#= -0hV050hPogpAaQ=8rMR+s5mcVPkP,lPii#.S2!#rp@^45C>RJq>#IsbC0F5%F';1.F';1.HWj$6 -HWj$6HX]T>K47GFK47GFK47GFK47GFK47GFK47GFK47GFMdf:NMdf:NMdf:NMdl]Y;2\mU8rI.N -8rI.N8sEdW8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_ -8sF'_8sF'_8sF'_8sF)i8cgI0hYuX=Ud7<D8cYsjp&_&XhYu[:62F4Op&_&XhYlU:62g6O9)SA` -]`<Q~> -!<E0!ir8*>lMg5No)A=`g,/\'$YdKOs6>S7NUlpc9`%XCQ/;Q;iakfOk5X_34@E$>p,l1Fp,l02 -o(m??_Y4#pNC`d:4AbbF4A_%.qJj[Ks7XT<5l"5%Y5cL(9MkHV4A]b/pAaE;86Puh6qmIW6qC-g -_Y4#pNC`d:4SqtTef[L[p@^UFp@^UFp@^UFNUlpcBu9TDlA\@.p,l/Jp@^WH:k"\ds8(_d9UY&C -lBOJ";"jTF;"jTF:hdf?s6>S?Q/;Q;iakfOo(m?sk5X_;4@E$>p,l/ghUXf#>u4@?>u4@?@8KdG -@8KdK@8KdOAPc3SAPc3WAPc3WBi%W_Bi%W_Bi%W_Bi%W_Bi%WcBi%WcBi%WcBi%WcBi%WgD?!F0 -O_mokO_mokO_mokQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>o -Q#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#6Ls!]9?%ro*pOr'^NT!ikh^rq6Demb[s&qaCBRs760_!ho&= -ro+"A6q%%>!q&TMrpp*_!P/8]~> -!<E/sk54TDp&X#ZqihG`eb9%:[#;Wks.oLU1pl]Ns6c,0^$bpoZu^kas8R/)s8R/)^%VK%Ut,2= -p9]bXs)XG)s)XF<pA^rNpAb0LMgP8a,gHA>F-Mphs)XF#eb9%:[#:ISs*K\(s*KZgUt,2=p9]bX -s)\(%s5kG^PlLc)PlLc)PlLc)PeHejUnlQ7s7WgXs8R/)PlLc)r02Z;mf3=TP`*6Cs7Wg@K9ZE9 -F-Q_)F-NKNpAainMmVpPs6c,0^%VK%`U<d"]lSgjs8R/)V!dAdS=Gh.XIPN>XIPN>XIPN>XIPN> -[%rqN[%rqN[%rqN[%rqN[%rqN[%rqN[%rqN]qgmW]qgmW]qgmW]qgmW]qgmW]qk[m;8&ciPeElW -PeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElWPeElW -PeElWPeElWPeElWPeEmlPQG=^hYuX=Ud7<D8cYsjp&_&XhYu[:62F4Op&_&XhYlU:62g6O9)SA` -]`<Q~> -!<E/tk54TDp&b9E.JcX;5rnp!"$oOF1&CnOF%SIk0`jX53W:`53W;YN1&jlG1&jiL5qt)[5rnp!% -RE]A0hP%m0hP&(0eksSr\4C5qYp_?8kM)u3W;YN1&jiH5rnp!#XM'T0el9m0erZ"!C8aF0`s^60 -erPt(1Q]r8kLfm8kLfm8kLfm8kMB(0gS)cr\4L@8hi("9)gXC8cUmM0`jX53W:`53W;YN1&jlG1 -&acF3W:`75tX091&k,S5qt)d3W:a_3D*aY0em.5p.@>C8kNi%8kO/.8kO/.8kO/.8kOG68kOG>8 -kO_F8kO_F8kO_F8kO_F8kO_F8kO_F8kO_F8kP"N8kP"N8kP"N8kP"N8kP"N8kP"N8kP"N8kP=W8 -kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_s%4Z'C._*_C._*_C._*_C._*_C._*_C._*_C -._*_C._*_C._*_8h'3*k54TDp&b8imec/Dmec\Zs.o)[k54TDp&Vi,J,~> -!s&A\ir8*>lMg5No)A=aqURM":]X6Tr]C9R:e3_FrrRIB8GtXP9Me.V49.eK;#`ZX;#`ZX:^'BP -4A8F6r]CZ]:cpj::cpj::e3]29L/S>!'pD\"aNp@6p*a6;#`ZX:]X6Tr]CHW:f'8::f'8:r_NVh -5lNkJ85ME2qbS&BnsN<N4?QG:4?QG:4?QG:83B".9L/S>"%Z6N4T81W4SqqT8GtXP9Me.V49.eK -;#`ZX;#`ZW:]Nc[49J,N83m/:Ip#cB4?QG.4?Pks:ha&p4Dgqc>tA6t:iTc;:j$2C:jHJG:jlbK -:jlnO:k<1S:k`IW:k`IW:k`U[:l/m_:l/m_:l/m_:lT0c:lT0c:lT0c:lT0c:m#Tk:m#Tk:m#Tk -:m#Tk:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:c"AR:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo -:f*Eo:f*Eo:f*Eo:f*Eo:f*ER2"(A&roX4FrpKdVrq6EiU$hp>roX4FrpKdVrq6EiU$hp>roX4F -rpKdVrq6B(!.Y~> -!<E/tk54TDp&b9E@eko^HiA'gK8YA'qYpVmMhD"M"+,raKDoolKDpf/F8q0uF8q.%K6)*dMgPGE% -YK[\F,PrtF,Ps/F)ut\rc8'dqYp_pMi2q'HiAs'F8h'tHiA'lK8YY/F,PrtF8_!sHiA'gK8Xelq -hl5[p:ZBBF*!7tF*!7tF*!7tK6)*dMgPGE"+uMQF8h*tF8LjqKDoooH]*f7rc8'lrepets,6nur -egc'rc8O$Mh?@tF*ih0K6)*lKDoqAK8Z7aF*!kjp5=9^Mi4BqMi4BqMi4BqMi4[,Mi4[,Mi4[,M -i4[,Mi4[,Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi59=Mi59=M -i59=Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=s,/8<S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S -;W<=S;W<=S;W<=Mdl,Ok54TDp&b8imec/Dmec\Zs.o)[k54TDp&Vi,J,~> -!<E/uk54TDpAb-neLBuRqCqt1bsD1\!'/Rq!b.Z[_Ee/or]pNVr]q5r8jPa@8jPaH8jPaH8jPaH -8t8d6r]u$C;F*T`;F*T`;F*Ti;F*Ti;F*Ti>!YH$>!YH$>!YH$>!YH$>!YH$>!YH,>!YH,>!YH, ->!YH,>!YH,>!YH,>!YH,>!YH4>!YH4@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;< -@R3;<@R3;<@R3;<@R3:"Mdet<Mdet<Mdet<Mdet<Mdet<Mdet<Mdet$mel5Emec_XrrJq`r9!nE -qtC'i!Mo/]k54TDp&b9-!.Y~> -!W`8[roX4FrpKdVrq?Bg!S0*t:]OMl49/(#:]OMl49/(*:]b@%8B+I+<W5gE=]J9p>ua]t>ua]t -@9HE'AQ_i+Bj"8/D-`uH5Zpo[EEuC;F^\*CH!sNGI:5rKI:Z5OJRqYSKk4(WKk4(WKkX@[M.od_ -M.od_M.od_M.od_NG23cNG23cNG23cO_IWgO_mokO_mokO_mokQ#0>oQ#0>oQ#0>oQ#0>o5*]t] -:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo:mGlo2"'A_ -roX4FrpKdVrq?Bg"/5/Bir8*>lMg5No)A@_q?*GZio9t"rp'LNrpp'^!rBJ.J,~> -!<E/uk54TDpAb-neRJ$+qJuXhc&;F>!/&g[!h?rV_M\DYregc@repf@s,6oAs,.;UP`(HiP`(Hi -Pf8l.rel9%P`(HqP`(HqP`(I$S;W<,S;W<,S;W<,S;W<,S;W<4S;W<4S;W<4S;W<4S;W<4S;W<4 -S;W<4S;W<4S;W<4S;W<4S;W<4S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<= -S;W<=S;W<=S;W<=S;W:F]pt"=]pt"=]pt"=]pt"=]pt"=]pt"=]pt!imel5Emec_XrrJq`r9!nE -qtC'i!Mo/]k54TDp&b9-!.Y~> -!<E0!k54TDpAY'meL?&8r]pNE_a+8pr]pNVr]q5r8jPa@8jPa@8jPaH8jPaH8jPa8r]u$C;F*T` -;F*T`;F*T`;F*Ti;F*Ti>!YH$>!YH$>!YH$>!YH$>!YH$>!YH,>!YH,>!YH,>!YH,>!YH,>!YH, ->!YH,>!YH4>!YH4@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;< -@R3:#Mdet<Mdet<Mdet<Mdet<Mdet<Mdet<Mdet<.IR/sqsO@Trr3"pmeu;Fmec_WrrJq`rT="F -qtC'i!PJJ`~> -!<E0!k5OZFmf)eVpAXmhehhqOs%EGa7)qt$;#X.<<DZ@_<DZ@_=\qdc>uaQl@9#upAQ;DtBj",' -:fU1_D-9P+EEu73F^7[7H!O*;H!sB?I:[email protected]@S -M.K@SNFbdWNG2'[NG2'[NG2'[O_IK_O_IK_O_IK_Q"`ocQ"`oc5*]hU9U0<c9U0<c9U0<c9U0<c -9U0<c9U0<c9U0<c9U0<c9U0<c9U0<c9U0<c9U0<c9U0<c9U0<c9Jl1sroX4FrpKdVrq??f!ho&A -roX4FrpKdVrq??f!ho&AroX4FrpKdVrq?Bg!P/8]~> -!<E0!k54TDpAY'meRF)^rdt2t_h.rIrdt3/re(6/s+>fcMh?YHMh?YHMh?YHMh?Y?Mh?YPMh?YP -Mh?YPP_4UaP_4UaP_4UaP_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4Uq -P_4UqP_4UqP_4UqP_4UqS:cI$S:cI$S:cI$S:cI$S:cI$S:cI$S:cGK[%)c$[%)c$[%)c$[%)c$ -[%)c$[%)c$[%)c$[%)c$[%)c$[%)c$[%)c$[%)c$@da3WqsO@Trr3"pmeu;Fmec_WrrJq`rT="F -qtC'i!PJJ`~> -!W`8_qsO@Tr;QfJ.=k*B8qT_<.IQ?\qsO@Tr;QkpmcN[/mec_Urr](bk2uR/qtC!g!PJJ`~> -!W`8_rp'LNrpp'^rqcZp!R`fU=b9e.<<G)Ck2u[.rpKdVrq??fs8N1plK77.lMg5No)A@^qZ$Qt -U$Ce&rp'LNrpp'^rqZ]r\c@6~> -!W`8_qsO@Tr;QfJ@Y(>+Uk>HF@d`C@qsO@Tr;QkpmcN[/mec_Urr](bk2uR/qtC!g!PJJ`~> -!!)DN!%EI)JI$l6!%I<"!2T"H!2T"H!!%N~> -!!)DK!&T64JI$l6!&X)*!28eB!28eB!!%N~> -!!)DN!+LKbJI$l6!+P>[!2T"H!2T"H!!%N~> -!<E0!joD3.s+13$s1/.5V#TT>]`<Q~> -!<E0!joD*+s+13$s1/.5U&X9;\c@6~> -!<E0!joD3.s+13$s1/.5V#TT>]`<Q~> -!<E0!joD3.s+13$s1847K;AP0k.LbF~> -!<E0!joD*+s+13$s1847JYE,+k.1PC~> -!<E0!joD3.s+13$s1847K;AP0k.LbF~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IF!!:jS!:8G>!<1^P!!:jS!;tRN!:/A:!9Mr7!:SY;!!_-W!8?-,!.ijTg<\LQ -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!;bFL!:8G>!<1^P!;Y@K!:8G>!<1^P!9W#8!:SYA!;bFL!<:dQ!.ijTg<\LQ -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[Oe`,-Z -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*o%O*Drn@APs4[DO -rn@;Ns4[JQ"53_TgAM$OgA_-Sg&M-DgA_0OgA_-Tg&M-,r;clOr;clOrr</T!!(aO!.ijTg>^id -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[Oe`,-Z -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^o>%j440^"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)TDrW)oN -rrE)Qrr<;X!!(a,!!(aL!<:dQ!!(aP!!:jS!;"qE!<(XO!"[c`!8?-,!8?-,!8?-,!8@8Ls4[JQ -J_G\/j4aNa"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^o>%j440^"f21\k.LbF~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eUc9/ec17* -V#TT>]`<Q~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA1d\g&M-,!!(a,!!(^Q!8?-,!:\_A!<:dQ!<:dQ -!;tRN!!(aP!<:dQ!;tRN!<:dQ!;"qB!#!uc!87DQg=cN,g=cN,g=cN,gAV*PgAV)'g4@u9gAc^- -U&X9;\c@6~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eUc9/ec17* -V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"J^rc1s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo@j3Ern@AP$JGI[g&M-,g&M-,qZ-*=rVurPqZ-ZMqu?fP -!!*#PrrDuNrrE)QrrDZErrE#Orr<>Y!!(a,!!(a,qZ$]O!!)rNrW%N'J_K,;s+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"J^rc1s+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"J^rf2s+:KN -s5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQn(RdArn@AP%,([]g&M-,g&M-,!!)KArrE&Prr<,S!!)rN -rrE)Qrr<,S!!*#PrrDuNrrE)QrrDZErrE#Orr<D[!!(a,!!(a,!!)rNrrDrMrW%N'J_K/<s+(?I -s5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"J^rf2s+:KN -s5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eUc92ec17*V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)WErrE&P -rr<Va!!(a,!!(^Q!8?-,!87DQrn@APs4[JQ#20%Wg=cN,o@j3ErS%8O#MK.Xg=cN,gAV*PgA_-S -g&M-PgA_0QgA_/(g4@u<gAc^-U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eUc92ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^o>%imn']"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*n_3m@rn@;Nrn@>O -!8@AOrS%2Ms4[JQs4[JQo@j3ErS%8O!nmVSrn@APs4[DOs4[JQrS%2MJ_G\/inFE`"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^o>%imn']"f21\k.LbF~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD*+g4@t/g:>o@U&X9;\c@6~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD3.eUc8%e]lY4K*Kl%s5rIW!.Y~> -!<E0!joD*+g4@t/g<J@>JHji%s5rIT!.Y~> -!<E0!joD3.eUc8%e]lY4K*Kl%s5rIW!.Y~> -!<E0!joV@/eU_IdC4U-JCAucPK*VG,V#TT>]`<Q~> -!<E0!joV71g4=g+JUrC#Jc=BlJHu5/U&X9;\c@6~> -!<E0!joV@/eU`X0Mh-f7MuM8qK*VG,V#TT>]`<Q~> -!<E0!joV@/eU_IdC4U-KC&m]$ec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!joV71g4=g+JUrC$JH5`LgAca#_>o/`_Z0W?g7eQ/k.1PC~> -!<E0!joV@/eU`X0Mh-f8MZEeVec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=_s+C0]s8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:bs+1$`s8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=_s+C0]s8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:cs+,au_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KD`F_s8R`K^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc*Cbs8RZI_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKD`F_s8R`K^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXT#=$!;rqs!.h5&XQ6J_mf(c:KD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+gA]h+!;tRL!.ijTg>pufs8LaPJc*CbrrUo*Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k5ONC!;u!X!.j9`k2b\)s8LRKKD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#qZ-Srq>gPsq>gMrrW)hsquHbuquHAjquHYrq>^MsrW)r!rVur"q>^MsquGr^ -!W];%rN#u!rN#u!JZOF(jfJLMrmh%$rOr72s4..%r4W.1#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/qZ-TKq>gQLq>gNKrW)iLquHcNquHBCquHZKq>^NLrW)rOrVurPq>^NLquGs7 -!W^pSrRq5OrRq5OJ_G\/jkBb7rn@C'rPJU7s4[L(r5/L6#25dNk2s5TJ,~> -!<E0!joqR2eVf@JqZ-TWq>gQXq>gNWrW)iXquHcZquHBOquHZWq>^NXrW)r[rVur\q>^NXquGsC -!W_?_rT4([rT4([J`_OGjlZUCrmh%$rOr72s4..%r4W.1#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!#lq'.!3E7%XK2F"X8i7rX8i7tX8i7iX8i7rX8i8!X9/I( -X8r1"!!*#"!!)u!!!*#"!!)/_!W];%rN#u!rN#u!JZOF(jfJLMrmh%$rOr72rmh%$rOr72#1]OL -k2s>WJ,~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO#lr]5!8?-,g=cQ)g&M-Kg&M-Mg&M-Bg&M-Kg&M-Og&h?/ -g&V')!!*#P!!)uO!!*#P!!)08!W^pSrRq5OrRq5OJ_G\/jkBb7rn@C'rPJU7rn@C'rPJU7#25dN -k2s5TJ,~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[#ls,M!9WDDk2l[Ajo>DWjo>DYjo>DNjo>DWjo>D[joYVG -joG>A!!*#\!!)u[!!*#\!!)0D!W_?_rT4([rT4([J`_OGjlZUCrmh%$rOr72rmh%$rOr72#1]OL -k2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!#lq'.!3E7%XK2F#X9&C'!;`bs!;iht!:[&i!;W\r!<&u$ -!3E7%r2]kuri?)"rN#u!ri?)"poOJqnuMonXK2F#X8i8!X8i6OXF[J7XT._fec1:$^&S-2ec1:# -^&S*:eYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO#lr]5!8?-,g=cQ*g&_9.!;bCL!;kIM!:\\B!;Y=K!<(UR -!8?-,r7V,Nrn7>PrRq5Orn7>PptG`Jo%F0Gg=cQ*g&M-Og&M,(g4@u>gAh3PgAca'_Z0Z7gAca& -_Z0W?g7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[#ls,M!9WDDk2l[BjoPPF!;bgX!;kmY!:]+N!;YaW!<)$^ -!9WDDr8mtZroO1\rT4([roO1\pu_SVo&^#Sk2l[Bjo>D[jo>C4k(2[Vk5YJ\ec1:$^&S-2ec1:# -^&S*:eYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;`bu!3?1sX8i7tX8i7iX8i7rX9/I(X8r1"!!*#" -!!)u!!s#F(!;rnu!;NYq!:m2n!3E7%rN#u!rN#u!JZOF(jfJLMrmh%$rk8@3r71h"rk8@3#1]OL -k2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;bCN!87GLg&M-Mg&M-Bg&M-Kg&h?/g&V')!!*#P -!!)uO!s%'/!;tON!;P:J!:nhG!8?-,rRq5OrRq5OJ_G\/jkBb7rn@C'rke^8r7_1%rke^8#25dN -k2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;bgZ!9O:Xjo>DYjo>DNjo>DWjoYVGjoG>A!!*#\ -!!)u[!s%KG!;tsZ!;P^V!:o7S!9WDDrT4([rT4([J`_OGjlZUCrmh%$rk8@3r71h"rk8@3#1]OL -k2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"r;c\q!!)nt!!*#"!!)nt!!)nt!!)Mi!!)hrr;cbs!!*#"!!)u! -r;cbs!!)5a!!*#"!!)u!!!)u!!!%SOJZRt7s6fm:s+C?bs8VuHs+C<as8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V')!!*#Pr;c]J!!)oM!!*#P!!)oM!!)oM!!)NB!!)iKr;ccL!!*#P!!)uO -r;ccL!!)6:!!*#P!!)uO!!)uO!!%T(J_K5>s8W)Ps+13es8VuMs+10ds8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG>A!!*#\r;c]V!!)oY!!*#\!!)oY!!)oY!!)NN!!)iWr;ccX!!*#\!!)u[ -r;ccX!!)6F!!*#\!!)u[!!)u[!!%T4J`c(Vs8W)Ks+C?bs8VuHs+C<as8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;ikq!;iht!;iht!<&u!!;3Dn!<&u!!<0&%!3E7% -qlBi!X8r1"!s#F(!;rnu!<&u!!:?if!<0&"!<&u!!<&u!!.h5&XQ?P`mf(c:KE&Xbs8(:GKE&Xb -rs%#Ls5rIW!.Y~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;kLJ!;kIM!;kIM!<(UO!;5%G!<(UO!<1[S!8?-, -qq;)Og&V')!s%'/!;tON!<(UO!:AJ?!<1[P!<(UO!<(UO!.ijTg?%&gs8LaPJcEUes8(ILJcEUe -rs%2Ns5rIT!.Y~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;kpV!;kmY!;kmY!<)$[!;5IS!<)$[!<2*_!9WDD -qrRq[joG>A!s%KG!;tsZ!<)$[!:AnK!<2*\!<)$[!<)$[!.j9`k2kb*s8LRKKE&Xbs8(:GKE&Xb -rs%#Ls5rIW!.Y~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)u!!W];%r2]kurN#u!ri?)"rN#u!mB$0bri?)"rN#u!JZOF(jfJLMrmh%$!knX6q:5Lt -s1SI4#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)uO!W^pSr7V,NrRq5Orn7>PrRq5OmFqF;rn7>PrRq5OJ_G\/jkBb7rn@C'!lG!;q:bk" -s2+g9#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)u[!W_?_r8mtZrT4([roO1\rT4([mH49GroO1\rT4([J`_OGjlZUCrmh%$!knX6q:5Lt -s1SI4#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)qu!!)nt!!)u!!!*#"!!)u!!!)u!rrDMh!!)u!!!)u!!!%SOJZRt7s6fm:s+:Bds8VlE -s+:Wks8UWFs5rIW!.Y~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)rN!!)oM!!)uO!!*#P!!)uO!!)uOrrDNA!!)uO!!)uO!!%T(J_K5>s8W)Ps+(6gs8VlJ -s+(Kns8UfHs5rIT!.Y~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)rZ!!)oY!!)u[!!*#\!!)u[!!)u[rrDNM!!)u[!!)u[!!%T4J`c(Vs8W)Ks+:Bds8VlE -s+:Wks8UWFs5rIW!.Y~> -!<E0!joqR2eS8j#qZ-Srq>gMrquHbur;Zi!r;cl!quHbuq#L/jq#LGrq>gGp!!)quq>^Msq#LAp -rrDPirW)nur;_DMJZRq6s6fm:s+C@Oon*Ras8UWFs5rIW!.Y~> -!<E0!joqI4g4=h/qZ-TKq>gNKquHcNr;ZiOr;clOquHcNq#L0Cq#LHKq>gHI!!)rNq>^NLq#LBI -rrDQBrW)oNr;_E&J_K2=s8W)Ps+14MommFds8UfHs5rIT!.Y~> -!<E0!joqR2eVf@JqZ-TWq>gNWquHcZr;Zi[r;cl[quHcZq#L0Oq#LHWq>gHU!!)rZq>^NXq#LBU -rrDQNrW)oZr;_E2J`c%Us8W)Ks+C@Oon*Ras8UWFs5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K)krCKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJH5`AJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK)krCKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCJmFeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJai[Dg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCJmFeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCf*LKE(u%V#TT>]`<Q~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJb/mJJcGc(U&X9;\c@6~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCf*LKE(u%V#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXO4*L!;NYq!.h57XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g<nUS!;P:J!.ijegAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k0`;k!;P^V!.j9qk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!joqR2eS8j#quHVqrW)ktqZ-Vsq>^MsquDJQ!!)bp!!)bp!!%SOP-"]Ormh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/quHWJrW)lMqZ-WLq>^NLquDK*!!)cI!!)cI!!%T(P1os9rn@C's8VfHs+14M -#25dNk2s5TJ,~> -!<E0!joqR2eVf@JquHWVrW)lYqZ-WXq>^NXquDK6!!)cU!!)cU!!%T4P32fErmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7pX8i7tX8i8!X8i8"X8i8!X8i8"X8i6RX8i7eX8i6OXHK[bmf(c:KE(uF -ec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Ig&M-Mg&M-Og&M-Pg&M-Og&M-Pg&M,+g&M->g&M,(g611is8LaPJcGcD -gAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DUjo>DYjo>D[jo>D\jo>D[jo>D\jo>C7jo>DJjo>C4k*"m,s8LRKKE(uF -ec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&"!<&u!!<0&"!;NYq!4Ap.!!',"!;iks!<0)! -!<0)!!;ESm!;rqt!;iks!!0/$JZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[P!<(UO!<1[P!;P:J!4CP\!!(aP!;kLL!<1^O -!<1^O!;G4F!;tRM!;kLL!!1dRJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*\!<)$[!<2*\!;P^V!4Cth!!)0\!;kpX!<2-[ -!<2-[!;GXR!;u!Y!;kpX!!23^J``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&%!3E7%r2]kupoOJq[&j9-ri?)"rN#u!ri?)" -ri?)"r2]kuorJ,npT+>pr2]kuriH,"JZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[S!8?-,r7V,NptG`J[+bN[rn7>PrRq5Orn7>P -rn7>Pr7V,Np"BBGpY#TIr7V,Nrn@APJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*_!9WDDr8mtZpu_SV[-%AgroO1\rT4([roO1\ -roO1\r8mtZp#Z5SpZ;GUr8mtZroX4\J``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7rX8i8"X8i8!XS`(sXSi.sX8i7"X8i8!X8i8"X8i7uX9em.X8o?'!3E7% -orJ,npT+>prN#u!r2]kuJZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Kg&M-Pg&M-OgACsLgAM$Lg&M,Pg&M-Og&M-Pg&M-Ng'Ic5g&Tj\!8?-, -p"BBGpY#TIrRq5Or7V,NJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DWjo>D\jo>D[k555Xk5>;Xjo>C\jo>D[jo>D\jo>DZjp;%MjoFQ+!9WDD -p#Z5SpZ;GUrT4([r8mtZJ``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i8"XS`(sX8i8!X8i8"X9/I(X8r1"!!)u!!!'1'!!)u!!!*#"q>gPs -"ota+!3E7%orJ,npT+>prN#u!r2]kuJZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-PgACsLg&M-Og&M-Pg&h?/g&V')!!)uO!!'1U!!)uO!!*#Pq>gQL -"p!B2!8?-,p"BBGpY#TIrRq5Or7V,NJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D\k555Xjo>D[jo>D\joYVGjoG>A!!)u[!!'1a!!)u[!!*#\q>gQX -"p!fJ!9WDDp#Z5SpZ;GUrT4([r8mtZJ``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!'1'!!)u!!!*#" -!!)eq"9>M'X8qmo!!)bp!!)u!!!)qu!!%SOP-"]Ormh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!'1U!!)uO!!*#P -!!)fJ"9@-Ug&Ud!!!)cI!!)uO!!)rN!!%T(P1os9rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!'1a!!)u[!!*#\ -!!)fV"9@QajoG&9!!)cU!!)u[!!)rZ!!%T4P32fErmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)u!rrBF-!!)u! -!!)u!!!)u!!!*#"rr<,%!!)Ym!!*#"!!)nt!!)qu!!*#"rr@VOP-"]Ormh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)uOrrBF[!!)uO -!!)uO!!)uO!!*#Prr<,S!!)ZF!!*#P!!)oM!!)rN!!*#Prr@W(P1os9rn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)u[rrBFg!!)u[ -!!)u[!!)u[!!*#\rr<,_!!)ZR!!*#\!!)oY!!)rZ!!*#\rr@W4P32fErmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!joqR2eS8j#q#CDrr;Zi!r;Zi!qZ-Vsq>^Msq#LAprrBI.rW)u"rW)nur;cetrr<,%!!)Vl -rW)ktquH\srW!#$!!%SOPH=fPrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/q#CEKr;ZiOr;ZiOqZ-WLq>^NLq#LBIrrBI\rW)uPrW)oNr;cfMrr<,S!!)WE -rW)lMquH]LrW!#R!!%T(PM6':rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!joqR2eVf@Jq#CEWr;Zi[r;Zi[qZ-WXq>^NXq#LBUrrBIhrW)u\rW)oZr;cfYrr<,_!!)WQ -rW)lYquH]XrW!#^!!%T4PNMoFrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXQQ\[!.h5&XSJstmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g?72b!.ijTgA0J&s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k3(n%!.j9`k5"0>s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXP0`U!.h5&XT#=$mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g=k6\!.ijTgA]h+s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k1\qt!.j9`k5ONCs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSMnsXSW"qXSi.uXSr5!XSr3NXT,@%!9pQb!.h5<XT._fec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!jp%O5g4=h/gA1dLgA:mJgAM$NgAV*OgAV)'gAfk,!9r2;!.ijjgAh3PgAca(s7Y1HJcG`S -g7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5#&Xk5,/Vk5>;Zk5GA[k5G@3k5XQD!9rVG!.j:!k5YJ\ec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!)u!!!*#"rrE&"rr@VOjfAF^JZP3>s6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!)uO!!*#PrrE&Prr@W(jk9\7J_HIEs8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!)u[!!*#\rrE&\rr@W4jlQOCJ``<]s8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!s#F(!;ii%!3E7%X8o@$!<'#!!3E:%!"#_,!3?/#X8i7% -rW)hsrW)ktquH\srW)hsr;cJkquH_trr<5(!!')#!.h5JXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!s%'/!;kIS!8?-,g&Tk+!<(XO!3FoS!"%?Z!87DQg&M-, -rW)iLrW)lMquH]LrW)iLr;cKDquH`Mrr<5V!!(^Q!.ik#gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!s%KG!;km_!9WDDjoFQC!<)'[!3G>_!"%cf!9O7]jo>DD -rW)iXrW)lYquH]XrW)iXr;cKPquH`Yrr<5b!!)-]!.j:/k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX9/I(X8r4#!!)u!!s#F(!;ii(!3E7%X8o=%X8r4#rrB+$rr<>+!!')#XK2C% -ri?)"rN#u!ri?)"ri?)"rN#u!qlBbtr2]kurN#u!oW/#mqQ0\s"KVS'X8mgQV6'^brmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&h?/g&V**!!)uO!s%'/!;kIV!8?-,g&Th,g&V**rrB+Rrr<>Y!!(^Qg=cN, -rn7>PrRq5Orn7>Prn7>PrRq5Oqq;#Mr7V,NrRq5Oo\'9FqV(rL"PNhUg&Q]XV:ttLrn@C's8VfH -s+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjoYVGjoGAB!!)u[!s%KG!;kmb!9WDDjoFNDjoGABrrB+^rr<>e!!)-]k2lXD -roO1\rT4([roO1\roO1\rT4([qrRkYr8mtZrT4([o]?,RqW@eX"Qf[ajoBtpV<7gXrmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juXSi.tX8i8"X8i8"X8i7tX9em.X8o?'!3E7%V5st'XK2E'X8o?'!<&u!!<0&" -!;ro#!3E7%p8e5opT+>poW/#mqQ'l$XK2E'X8mgQV6'^brmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSgAM$Mg&M-Pg&M-Pg&M-Mg'Ic5g&Tj\!8?-,V:l4Ug=cP\g&Tj\!<(UO!<1[P -!;tOQ!8?-,p=]KHpY#TIo\'9FqUu,Rg=cP\g&Q]XV:ttLrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bk5>;Yjo>D\jo>D\jo>DYjp;%MjoFQ+!9WDDV</'ak2l[+joFQ+!<)$[!<2*\ -!;ts]!9WDDp>u>TpZ;GUo]?,RqW7t^k2l[+joBtpV<7gXrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX9/I(X8r4#r;cet!!)nt#lq'.!3E7%XK2DuX9em.X8o?'!3E7%rN#u!riGqr -riH%uqQ'YsqlK\qoW/#mqQ'l$XK2E'X8mgQV6'^brmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&h?/g&V**r;cfM!!)oM#lr]5!8?-,g=cP'g'Ic5g&Tj\!8?-,rRq5Orn@2K -rn@;NqUtoLqqCrJo\'9FqUu,Rg=cP\g&Q]XV:ttLrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjoYVGjoGABr;cfY!!)oY#ls,M!9WDDk2lZ?jp;%MjoFQ+!9WDDrT4([roX%W -roX.ZqW7bXqr[eVo]?,RqW7t^k2l[+joBtpV<7gXrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7sX8i8"X8i8"X8i7tX9/I(X8r1"!!&js#lq'.!3E7%XK2F#X8i8"X8i7m -X8i7tX8i7uX8i8!X8i7mX8i7sX9J[+X8o?'!.h5JXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Lg&M-Pg&M-Pg&M-Mg&h?/g&V')!!&kL#lr]5!8?-,g=cQ*g&M-Pg&M-F -g&M-Mg&M-Ng&M-Og&M-Fg&M-Lg'.Q2g&Tj\!.ik#gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>DXjo>D\jo>D\jo>DYjoYVGjoG>A!!&kX#ls,M!9WDDk2l[Bjo>D\jo>DR -jo>DYjo>DZjo>D[jo>DRjo>DXjothJjoFQ+!.j:/k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i7sX8i8!X8i8"X8i8!X8i8"X8i7uX8i8!XT&:$X9em.X8o?'!3E7%rN#u! -rN#u!rN$)$XK2F#X8i7tX8i7uX8i8"XT&:mX8i8"X8i8"X9J[+X8o?'!.h5JXT._fec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Lg&M-Og&M-Pg&M-Og&M-Pg&M-Ng&M-OgA_/Rg'Ic5g&Tj\!8?-,rRq5O -rRq5OrRq>Rg=cQ*g&M-Mg&M-Ng&M-PgA_0Fg&M-Pg&M-Pg'.Q2g&Tj\!.ik#gAh3PgAca(s7Y1H -JcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>DXjo>D[jo>D\jo>D[jo>D\jo>DZjo>D[k5PF^jp;%MjoFQ+!9WDDrT4([ -rT4([rT41^k2l[Bjo>DYjo>DZjo>D\k5PGRjo>D\jo>D\jothJjoFQ+!.j:/k5YJ\ec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSi.tXSr4uX8i8"XSi.uXSr5!XSr5!XT&:%XSr2%X8i7%quHburW)nur;chu -quHYrquH\srW!#$!!)YmrW)r!rW!,'!!')#!.h5KXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%O5g4=h/gAM$MgAV*Ng&M-PgAM$NgAV*OgAV*OgA_/SgAV'Sg&M-,quHcNrW)oNr;ciN -quHZKquH]LrW!#R!!)ZFrW)rOrW!,U!!(^Q!.ik$gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5>;Yk5GAZjo>D\k5>;Zk5GA[k5GA[k5PF_k5G>_jo>DDquHcZrW)oZr;ciZ -quHZWquH]XrW!#^!!)ZRrW)r[rW!,a!!)-]!.j:0k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXN[d@!.h59XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g<A:G!.ijggAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k02u_!.j9sk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXPU&Y!.h5&XS]+!mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g>:Q`!.ijTgABV(s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k2,8#!.j9`k54<@s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSMqrXSi-MXR3(h!:R#g!;iks!.h5>XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%O5g4=h/gA1gKgAM#&g?mSo!:SY@!;kLL!.ijlgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5#)Wk5>:2k3_:2!:T(L!;kpX!.j:#k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jq+?=eS8j#X8o?'!3E7%XK2F#X8i6OXR<.i!:?if!;W\r!.h5>XT._fec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!jq+6?g4=h/g&Tj\!8?-,g=cQ*g&M,(g@!Yp!:AJ?!;Y=K!.ijlgAh3PgAca(s7Y1HJcG`S -g7eQ/k.1PC~> -!<E0!jq+?=eVf@JjoFQ+!9WDDk2l[Bjo>C4k3h@3!:AnK!;YaW!.j:#k5YJ\ec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!jq"9<eS8j#X8o?'!3E7%X8r.!!!)u!rrALhrr<8)!!')#!3H/"s/c2"orS&kri?,#XSr4s -XSr4rX8i7rX8i6OXI60imf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jq"0>g4=h/g&Tj\!8?-,g&V$(!!)uOrrAMArr<8W!!(^Q!8@DPs4[GPp"K<Drn7AQgAV*L -gAV*Kg&M-Kg&M,(g6p[ps8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jq"9<eVf@JjoFQ+!9WDDjoG;@!!)u[rrAMMrr<8c!!)-]!9X7\s5s:\p#c/ProO4]k5GAX -k5GAWjo>DWjo>C4k*bB3s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i8!X8i7tX8i8!XT&9gXT&8*X8i7%!3E7%rN#u!orJ,nrN#u!riH,"ri?)" -rN#u!ri?)"qlBbtq5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M-OgA_/@gA_-Xg&M-,!8?-,rRq5Op"BBGrRq5Orn@APrn7>P -rRq5Orn7>Pqq;#Mq:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>D[k5PFLk5PDdjo>DD!9WDDrT4([p#Z5SrT4([roX4\roO1\ -rT4([roO1\qrRkYq;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9em.X8o?'!3E7%rN#u!orJ,nq5aPrrN#u!ri?)"r2]ku -r2]kuq5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'Ic5g&Tj\!8?-,rRq5Op"BBGq:YfKrRq5Orn7>Pr7V,N -r7V,Nq:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjp;%MjoFQ+!9WDDrT4([p#Z5Sq;qYWrT4([roO1\r8mtZ -r8mtZq;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9J[+X8o?'!<0&%!3E7%o;qljrN#u!rN#u!riGqrr2]ku -q5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'.Q2g&Tj\!<1[S!8?-,o@j-CrRq5OrRq5Orn@2Kr7V,N -q:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjothJjoFQ+!<2*_!9WDDoB,uOrT4([rT4([roX%Wr8mtZ -q;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9J[+X8o?'!<0&%!3E7%n#QKhri?)"rN#u!ri?)"p8e5o -q5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'.Q2g&Tj\!<1[S!8?-,n(IaArn7>PrRq5Orn7>Pp=]KH -q:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjothJjoFQ+!<2*_!9WDDn)aTMroO1\rT4([roO1\p>u>T -q;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i7uX8i8!X8i7uXT&9gX9J[+X8o?'!<'#!!;!8l!<&u!!<0&"!<&u!!<&u! -!<&u!!;rnu!;W\r!.h5>XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hQg&M-Ng&M-Og&M-NgA_/@g'.Q2g&Tj\!<(XO!;"nE!<(UO!<1[P!<(UO!<(UO -!<(UO!;tON!;Y=K!.ijlgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@`jo>DZjo>D[jo>DZk5PFLjothJjoFQ+!<)'[!;#=Q!<)$[!<2*\!<)$[!<)$[ -!<)$[!;tsZ!;YaW!.j:#k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juXS`(sXSi.rXT&9hXSr2'X8i7%!!)u!!!)VlquH_trW)u"rW)nur;cetquH\s -quD;LS#lYXrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSgACsLgAM$KgA_/AgAV'Ug&M-,!!)uO!!)WEquH`MrW)uPrW)oNr;cfMquH]L -quD<%S(doBrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bk555Xk5>;Wk5PFMk5G>ajo>DD!!)u[!!)WQquH`YrW)u\rW)oZr;cfYquH]X -quD<1S*'bNrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXS/^q!.h5&XQ$>]mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g@j5#!.ijTg>^ids8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k4[p;!.j9`k2PP's8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXS/^q!.h5&XQ$>]mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g@j5#!.ijTg>^ids8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k4[p;!.j9`k2PP's8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXSAmq!<'"o!.h5&XRN=kmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+gA'D#!<(XH!.ijTg@3hrs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k4n*;!<)'T!.j9`k4%O5s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMX8o@#!;rqs!;rqs!;rqs!:m2k!;`eq!:m2k!;NYq!:m2k!;NYq!;!;j!<'"r -!:m5k!;rqt!:m5i!;iks!;iht!;W_q!;rqs!;rqs!5,E5mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g&Tk*!;tRL!;tRL!;tRL!:nhD!;bFJ!:nhD!;P:J!:nhD!;P:J!;"qC!<(XK -!:nkD!;tRM!:nkB!;kLL!;kIM!;Y@J!;tRL!;tRL!5.%cs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:joFQB!;u!X!;u!X!;u!X!:o7P!;bjV!:o7P!;P^V!:o7P!;P^V!;#@O!<)'W -!:o:P!;u!Y!:o:N!;kpX!;kmY!;YdV!;u!X!;u!X!5.Ios8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSW"rXSr4uXSW"qXSr2#X8r7$q>^MsqZ+%*!!)u!!!*#"!!)u!!!*#"!!)u! -!!*#"!!)u!!!)YmrrDqt!!)u!!!)YmrrDkr!W];%o;qrlq5aVtX8qmo!!)u!!!*#"!!)u!!!)Vl -!W];%rN#u!ri?)"oW/#mrN#u!rN#u!q5jSrqQ'YsqQ'YsrN#u!ri?)"rN#u!]r_8%rmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!jp%O5g4=h/gA:mKgAV*NgA:mJgAV'Qg&V-+q>^NLqZ+%X!!)uO!!*#P!!)uO!!*#P!!)uO -!!*#P!!)uO!!)ZFrrDrM!!)uO!!)ZFrrDlK!W^pSo@j3Eq:YlMg&Ud!!!)uO!!*#P!!)uO!!)WE -!W^pSrRq5Orn7>Po\'9FrRq5OrRq5Oq:biKqUtoLqUtoLrRq5Orn7>PrRq5O^"WMdrn@C's8VfH -s+14M#25dNk2s5TJ,~> -!<E0!jp%X3eVf@Jk5,/Wk5GAZk5,/Vk5G>]joGDCq>^NXqZ+%d!!)u[!!*#\!!)u[!!*#\!!)u[ -!!*#\!!)u[!!)ZRrrDrY!!)u[!!)ZRrrDlW!W_?_oB-&Qq;q_YjoG&9!!)u[!!*#\!!)u[!!)WQ -!W_?_rT4([roO1\o]?,RrT4([rT4([q<%\WqW7bXqW7bXrT4([roO1\rT4([^#o@prmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X8i7uX8i7uX8i8!X8i8"X8i8"XT&;!X8i8!X9/I(X8r4#!!'I/!!)u! -!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)\n!W];%qlBbtrN#u!orJ2pX8r't!W];%oW/)oX8r't -!W];%oW/#mrN#u!q5aPro;hunX8r4#!!)u!!!)\n!!)u!!!*#"!!)hr!W];%qlBbtq5aPrrN#u! -ri?)"rN#u!]r_8%rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&M-Ng&M-Ng&M-Og&M-Pg&M-PgA_0Og&M-Og&h?/g&V**!!'I]!!)uO -!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)]G!W^pSqq;#MrRq5Op"BHIg&Us&!W^pSo\'?Hg&Us& -!W^pSo\'9FrRq5Oq:YfKo@a6Gg&V**!!)uO!!)]G!!)uO!!*#P!!)iK!W^pSqq;#Mq:YfKrRq5O -rn7>PrRq5O^"WMdrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[jo>DZjo>DZjo>D[jo>D\jo>D\k5PG[jo>D[joYVGjoGAB!!'Ii!!)u[ -!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)]S!W_?_qrRkYrT4([p#Z;UjoG5>!W_?_o]?2TjoG5> -!W_?_o]?,RrT4([q;qYWoB$)SjoGAB!!)u[!!)]S!!)u[!!*#\!!)iW!W_?_qrRkYq;qYWrT4([ -roO1\rT4([^#o@prmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!<&u!!<&u!!<0&"!<&u!!<&u!!<&u$!3E7%r2]kurN-#! -\?#Z1ri?)"rN#u!ri?)"rN#u!q5aPro;holqlBbtrN#u!o;holqQ'c!XK2EmX8i7sX9/I(X8q^j -!!)ks!!)Vl!s#F(!<&u!!<&u!!:[&i!<0&"!;EPp!;iht!;*>m!;W\r!55K6mf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!<(UO!<(UO!<1[P!<(UO!<(UO!<(UR!8?-,r7V,NrS%8O -\Cpo_rn7>PrRq5Orn7>PrRq5Oq:YfKo@a0Eqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-Lg&h?/g&UTq -!!)lL!!)WE!s%'/!<(UO!<(UO!:\\B!<1[P!;G1I!;kIM!;+tF!;Y=K!57+ds8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!<)$[!<)$[!<2*\!<)$[!<)$[!<)$^!9WDDr8mtZrT=+[ -\E3bkroO1\rT4([roO1\rT4([q;qYWoB$#QqrRkYrT4([oB$#QqW7k[k2l[7jo>DXjoYVGjoFl4 -!!)lX!!)WQ!s%KG!<)$[!<)$[!:]+N!<2*\!;GUU!;kmY!;,CR!;YaW!57Ops8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!<&u!!<&u!!<0&"!;NVt!3E7%rN#u!r2]kurN-#!\Z>c2 -rN#u!rN#u!ri?)"rN#u!qQ'YsnuMfkqlBbtrN#u!o;holqQ'c!XK2EmX8i7sX9/I(X8qak!!)hr -!!)Vl!s#F(!<&u!!<0)"!:d,j!<&u"!3H/"qlBbtqlBeuXSr4qX8i7rX8i75XT._fec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!<(UO!<(UO!<1[P!;P7M!8?-,rRq5Or7V,NrS%8O\_7#` -rRq5OrRq5Orn7>PrRq5OqUtoLo%F'Dqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-Lg&h?/g&UWr!!)iK -!!)WE!s%'/!<(UO!<1^P!:ebC!<(UP!8@DPqq;#Mqq;&NgAV*Jg&M-Kg&M,cgAh3PgAca(s7Y1H -JcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!<)$[!<)$[!<2*\!;P[Y!9WDDrT4([r8mtZrT=+[\`Nkl -rT4([rT4([roO1\rT4([qW7bXo&]oPqrRkYrT4([oB$#QqW7k[k2l[7jo>DXjoYVGjoFo5!!)iW -!!)WQ!s%KG!<)$[!<2-\!:f1O!<)$\!9X7\qrRkYqrRnZk5GAVjo>DWjo>Cok5YJ\ec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8!X8i8"X8i8"X8i8"X8i8"X8i7uXSi.sXSi.tX8i7uX8i7-X8i7uX8i8! -X8i8"X8i8!X8i7tX8i7uXSW"qX8i7tX8i8!X8i8"XSW"qX8i7tX8i8"X8i7kX8i7tX8i8"X8i7j -X8i7qX8i7mX8i8"X8i7uXSr2#X8qgm!!)qurrE&"!!)qu!!)ntrrE&"!!)nt!!)hr!!'X4s6fm: -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-Pg&M-Pg&M-Pg&M-Pg&M-NgAM$LgAM$Mg&M-Ng&M,[g&M-Ng&M-O -g&M-Pg&M-Og&M-Mg&M-NgA:mJg&M-Mg&M-Og&M-PgA:mJg&M-Mg&M-Pg&M-Dg&M-Mg&M-Pg&M-C -g&M-Jg&M-Fg&M-Pg&M-NgAV'Qg&U]t!!)rNrrE&P!!)rN!!)oMrrE&P!!)oM!!)iK!!'Xbs8W)P -s+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D\jo>D\jo>D\jo>D\jo>DZk5>;Xk5>;Yjo>DZjo>Cgjo>DZjo>D[ -jo>D\jo>D[jo>DYjo>DZk5,/Vjo>DYjo>D[jo>D\k5,/Vjo>DYjo>D\jo>DPjo>DYjo>D\jo>DO -jo>DVjo>DRjo>D\jo>DZk5G>]joFu7!!)rZrrE&\!!)rZ!!)oYrrE&\!!)oY!!)iW!!'Xns8W)K -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juXS`(sXS`(tXSi.nX8i8!X9/I(X8r4#!!)qu!!'F.!!)nt!!)u!!!*#"!!)u! -!!)qu!!)Mi!!)nt!!)u!!!)Vl!!)nt!!*#"!!)Sk!!)nt!!*#"!!)Sk!!)eq!!)Vl!!*#"!!)eq -!!)Vl!!)nt!!)u!!!)qu!!)nt!!)u!!!)qu!!)hr!!'U3s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSgACsLgACsMgAM$Gg&M-Og&h?/g&V**!!)rN!!'F\!!)oM!!)uO!!*#P!!)uO -!!)rN!!)NB!!)oM!!)uO!!)WE!!)oM!!*#P!!)TD!!)oM!!*#P!!)TD!!)fJ!!)WE!!*#P!!)fJ -!!)WE!!)oM!!)uO!!)rN!!)oM!!)uO!!)rN!!)iK!!'Uas8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bk555Xk555Yk5>;Sjo>D[joYVGjoGAB!!)rZ!!'Fh!!)oY!!)u[!!*#\!!)u[ -!!)rZ!!)NN!!)oY!!)u[!!)WQ!!)oY!!*#\!!)TP!!)oY!!*#\!!)TP!!)fV!!)WQ!!*#\!!)fV -!!)WQ!!)oY!!)u[!!)rZ!!)oY!!)u[!!)rZ!!)iW!!'Ums8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7sX8i7uX9/I(X8r7$!!)u!!!)u!!!)u!!!)u!!s#F(!;rnu!4Js/!;`bs -!<&u!!<0&"!<&u!!<&u!!:Quh!;iht!<&u!!;!8l!;ikp!;!8l!;ikp!;*>m!;EPp!;!;h!;W\r -!;*>m!;`bs!<&u!!;rnu!;iht!<&u!!<&u!!;W\r!4f32mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Ng&h?/g&V-+!!)uO!!)uO!!)uO!!)uO!s%'/!;tON!4LS]!;bCL -!<(UO!<1[P!<(UO!<(UO!:SVA!;kIM!<(UO!;"nE!;kLI!;"nE!;kLI!;+tF!;G1I!;"qA!;Y=K -!;+tF!;bCL!<(UO!;tON!;kIM!<(UO!<(UO!;Y=K!4gh`s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>DZjoYVGjoGDC!!)u[!!)u[!!)u[!!)u[!s%KG!;tsZ!4M"i!;bgX -!<)$[!<2*\!<)$[!<)$[!:T%M!;kmY!<)$[!;#=Q!;kpU!;#=Q!;kpU!;,CR!;GUU!;#@M!;YaW -!;,CR!;bgX!<)$[!;tsZ!;kmY!<)$[!<)$[!;YaW!4h7ls8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7sX8i7uX9/I(X8r4#!!*#"rrE&"!!)u!!!)u!!s#F(!<&u!!;rqu!55H6 -!<&u!!<0&"!<&u!!<0&"!<&u!!<0&"!<&u!!;!8l!;iht!<&u!!;!8l!;EPp!:m2k!;EPp!;ikt -!;rnu!<&u!!;iht!;`es!;NVq!;W\r!;ikt!;rnu!<&u!!<&u!!<0&"!;rnu!;`bs!<0&"!<0&" -!<&u!!<0&"!<&u!!55K6mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Ng&h?/g&V**!!*#PrrE&P!!)uO!!)uO!s%'/!<(UO!;tRN!57(d -!<(UO!<1[P!<(UO!<1[P!<(UO!<1[P!<(UO!;"nE!;kIM!<(UO!;"nE!;G1I!:nhD!;G1I!;kLM -!;tON!<(UO!;kIM!;bFL!;P7J!;Y=K!;kLM!;tON!<(UO!<(UO!<1[P!;tON!;bCL!<1[P!<1[P -!<(UO!<1[P!<(UO!57+ds8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>DZjoYVGjoGAB!!*#\rrE&\!!)u[!!)u[!s%KG!<)$[!;u!Z!57Lp -!<)$[!<2*\!<)$[!<2*\!<)$[!<2*\!<)$[!;#=Q!;kmY!<)$[!;#=Q!;GUU!:o7P!;GUU!;kpY -!;tsZ!<)$[!;kmY!;bjX!;P[V!;YaW!;kpY!;tsZ!<)$[!<)$[!<2*\!;tsZ!;bgX!<2*\!<2*\ -!<)$[!<2*\!<)$[!57Ops8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSi.tXSi,!XSMqqX98O)X8o@$!<'"q!!'+t!;ikt!55K2!<'"t!;rqs!<'"r -!;3Gk!;rqs!;*Aj!;`er!;3Gk!;`er!;rqu!;rqq!;iht!;`es!;W_q!<'"u!;`es!;rqq!;rqt -!<'"s!;iks!<'"r!<0(s!55K6mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%O5g4=h/gAM$MgAM!OgA1gJg&qE0g&Tk+!<(XJ!!(aM!;kLM!57+`!<(XM!;tRL!<(XK -!;5(D!;tRL!;,"C!;bFK!;5(D!;bFK!;tRN!;tRJ!;kIM!;bFL!;Y@J!<(XN!;bFL!;tRJ!;tRM -!<(XL!;kLL!<(XK!<1^L!57+ds8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp%X3eVf@Jk5>;Yk5>8[k5#)Vjob\HjoFQC!<)'V!!)0Y!;kpY!57Ol!<)'Y!;u!X!<)'W -!;5LP!;u!X!;,FO!;bjW!;5LP!;bjW!;u!Z!;u!V!;kmY!;bjX!;YdV!<)'Z!;bjX!;u!V!;u!Y -!<)'X!;kpX!<)'W!<2-X!57Ops8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSr2#X8r7$r;churW)u"rW)u"q>gPsq>^MsrW)u"rW)u"q>gMrrVuu#!.h5& -XIZHmmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRgAV'Qg&V-+r;ciNrW)uPrW)uPq>gQLq>^NLrW)uPrW)uPq>gNKrVuuQ!.ijT -g7?sts8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ak5G>]joGDCr;ciZrW)u\rW)u\q>gQXq>^NXrW)u\rW)u\q>gNWrVuu]!.j9` -k+1Z7s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8"XT&;#X8i8!X8i8"XT&;"X8i8"X9J[+X8o?'!<0&"!<&u%!3E7%!<0&" -!<0&+!3E7%XK2E'X8r7$rr@VOJZPEDs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-PgA_0Qg&M-Og&M-PgA_0Pg&M-Pg'.Q2g&Tj\!<1[P!<(US!8?-,!<1[P -!<1[Y!8?-,g=cP\g&V-+rr@W(J_H[Ks8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D\k5PG]jo>D[jo>D\k5PG\jo>D\jothJjoFQ+!<2*\!<)$_!9WDD!<2*\ -!<2*e!9WDDk2l[+joGDCrr@W4J``Ncs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!W];%qlC&'XK2E'!3E7%ri?;(XK2E'X8r7$!!)u!#QUs-!3?1%X8r7$ -#lq'.!3E7%XK2F#X8i7uXT&9OXF[IKXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V')!W^pSqq;;Ug=cP\!8?-,rn7PVg=cP\g&V-+!!)uO#QWT4!87G,g&V-+ -#lr]5!8?-,g=cQ*g&M-NgA_/(g4@tRgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG>A!W_?_qrS.ak2l[+!9WDDroOCbk2l[+joGDC!!)u[#QX#L!9O:DjoGDC -#ls,M!9WDDk2l[Bjo>DZk5PF4k(2Zjk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3?1%X8r.!!!)nt!s#F(!<&u&!3?1%X8r.!!!)qu!!)bp -rr@VOJZPZKs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!87G,g&V$(!!)oM!s%'/!<(UT!87G,g&V$(!!)rN!!)cI -rr@W(J_HpRs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9O:DjoG;@!!)oY!s%KG!<)$`!9O:DjoG;@!!)rZ!!)cU -rr@W4J``cjs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)ntr;cet"TYX*!3?1tX8i7tXSi-MXF[IC -XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oMr;cfM"T[91!87GMg&M-MgAM#&g4@tJ -gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oYr;cfY"T[]I!9O:Yjo>DYk5>:2k(2Zb -k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)nt!s#F(!<&u&!3E7%X8r.!!!)bp!!%SO -JZPEDs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oM!s%'/!<(UT!8?-,g&V$(!!)cI!!%T( -J_H[Ks8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oY!s%KG!<)$`!9WDDjoG;@!!)cU!!%T4 -J``Ncs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r*u!!)nt!s#F(!<0)"!;iht!;iht!<&u$!3E7%riH,"qlBbtr2]kurN#u! -JZOF(SZMkZrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V!'!!)oM!s%'/!<1^P!;kIM!;kIM!<(UR!8?-,rn@APqq;#Mr7V,NrRq5O -J_G\/S_F,Drn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG8?!!)oY!s%KG!<2-\!;kmY!;kmY!<)$^!9WDDroX4\qrRkYr8mtZrT4([ -J`_OGS`]tPrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!*#"rrDqt!!)nt!!)u!!s#F(!<0)"!;iht!;rqu -!<0&"!;rqu!.h5&XJDrtmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!*#PrrDrM!!)oM!!)uO!s%'/!<1^P!;kIM!;tRN -!<1[P!;tRN!.ijTg8*I&s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!*#\rrDrY!!)oY!!)u[!s%KG!<2-\!;kmY!;u!Z -!<2*\!;u!Z!.j9`k+q/>s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSi.tXSi.uXSr5!X8i8!XS`(tXSMnsXSr5!X8i8!XS`(tX8r=&rW)hsrr@VO -JZPZKs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hRgAM$MgAM$NgAV*Og&M-OgACsMgA1dLgAV*Og&M-OgACsMg&V3-rW)iLrr@W( -J_HpRs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@ak5>;Yk5>;Zk5GA[jo>D[k555Yk5#&Xk5GA[jo>D[k555YjoGJErW)iXrr@W4 -J``cjs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8i\X8i7WX8i7qXT&:kX8i7`XT&;!XSW"qX8i7rX8i6OXLtY7mf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g:g&M-0g&M-JgA_0Dg&M-9gA_0OgA:mJg&M-Kg&M,(g:Z/>s8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?Ijo>D<jo>DVk5PGPjo>DEk5PG[k5,/Vjo>DWjo>C4k.KjVs8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#rW)u"rW(u[!!'p<!!)bp!!(lW!!)bp!!)Sk!!)5a!W];%rN#u!rN#u!rN-#! -qQ0\sJZQMcs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!joqI4g4=h/rW)uPrW)!4!!'pj!!)cI!!(m0!!)cI!!)TD!!)6:!W^pSrRq5OrRq5OrS%8O -qV(rLJ_Icjs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!joqR2eVf@JrW)u\rW)!@!!'q!!!)cU!!(m<!!)cU!!)TP!!)6F!W_?_rT4([rT4([rT=+[ -qW@eXJ`aW-s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp7d5eS8j#X8i8"X8i7[X8i7<X8i7AX8i7QX9&C'!;NVq!<0&$!3?1tX9&C'!.h5aXT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp7[7g4=h/g&M-Pg&M-4g&M,jg&M,og&M-*g&_9.!;P7J!<1[R!87GMg&_9.!.ik:gAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp7d5eVf@Jjo>D\jo>D@jo>D!jo>D&jo>D6joPPF!;P[V!<2*^!9O:YjoPPF!.j:Fk5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp\'9eS8j#X8o=%XK2F"XSr5!XSr5!XSr4oXS`(sXT&;#XT&;!XSi.uXT&8#XSr4tXS`(s -XSi.rXSr2%X8o?'quHYrrW)hsr;churr<&#rW)PkrW)hsrVuu#!;*Al!;ikq!;*>p!3E7%q5aPr -qlBbtq5aPrJZQMcs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp[s;g4=h/g&Th,g=cQ)gAV*OgAV*OgAV*HgACsLgA_0QgA_0OgAM$NgA_-QgAV*MgACsL -gAM$KgAV'Sg&Tj\quHZKrW)iLr;ciNrr<&QrW)QDrW)iLrVuuQ!;,"E!;kLJ!;+tI!8?-,q:YfK -qq;#Mq:YfKJ_Icjs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp\'9eVf@JjoFNDk2l[Ak5GA[k5GA[k5GATk555Xk5PG]k5PG[k5>;Zk5PD]k5GAYk555X -k5>;Wk5G>_joFQ+quHZWrW)iXr;ciZrr<&]rW)QPrW)iXrVuu]!;,FQ!;kpV!;,CU!9WDDq;qYW -qrRkYq;qYWJ`aW-s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp\'9eS8j#X8o=%XK2F#X8i8"X8i8"X8i7uX8i7nX8i7rX9\g-!3E7%XK2F#X8i8"XT&;" -X8i8"X8i8!X8i8"X8i8!X8i8!X8i8"XT&;"X8i7pX8i7uX8i8!X8i8"XT&;"X8i7kX8i7uX8i8" -XT&:kX8i7uX8i8!X8i7mX9/I(X8r't!!)nt!!)hr!!%SO]WD/$rmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!jp[s;g4=h/g&Th,g=cQ*g&M-Pg&M-Pg&M-Ng&M-Gg&M-Kg'@]4!8?-,g=cQ*g&M-PgA_0P -g&M-Pg&M-Og&M-Pg&M-Og&M-Og&M-PgA_0Pg&M-Ig&M-Ng&M-Og&M-PgA_0Pg&M-Dg&M-Ng&M-P -gA_0Dg&M-Ng&M-Og&M-Fg&h?/g&Us&!!)oM!!)iK!!%T(]\<Dcrn@C's8VfHs+14M#25dNk2s5T -J,~> -!<E0!jp\'9eVf@JjoFNDk2l[Bjo>D\jo>D\jo>DZjo>DSjo>DWjp1tL!9WDDk2l[Bjo>D\k5PG\ -jo>D\jo>D[jo>D\jo>D[jo>D[jo>D\k5PG\jo>DUjo>DZjo>D[jo>D\k5PG\jo>DPjo>DZjo>D\ -k5PGPjo>DZjo>D[jo>DRjoYVGjoG5>!!)oY!!)iW!!%T4]]T7ormh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!jp\'9eS8j#X8o?'!3?2"X8i7uX9em.X8o?'!3E7%orJ,nq5jSrp8e5ori?)"rN#u!ri?)" -oW/#mri?)"r2]kuri?)"pT+>prN#u!qlBl"XK2F#X8i7kX8i8!X8i7uX8i7kX8i7uX8i7iX8i8" -X8i7rX8i7tX8i7rX8i6OXLtY7mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp[s;g4=h/g&Tj\!87GPg&M-Ng'Ic5g&Tj\!8?-,p"BBGq:biKp=]KHrn7>PrRq5Orn7>P -o\'9Frn7>Pr7V,Nrn7>PpY#TIrRq5Oqq;,Pg=cQ*g&M-Dg&M-Og&M-Ng&M-Dg&M-Ng&M-Bg&M-P -g&M-Kg&M-Mg&M-Kg&M,(g:Z/>s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp\'9eVf@JjoFQ+!9O:\jo>DZjp;%MjoFQ+!9WDDp#Z5Sq<%\Wp>u>TroO1\rT4([roO1\ -o]?,RroO1\r8mtZroO1\pZ;GUrT4([qrRt\k2l[Bjo>DPjo>D[jo>DZjo>DPjo>DZjo>DNjo>D\ -jo>DWjo>DYjo>DWjo>C4k.KjVs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp\'9eS8j#X8o?'!3?2"XSMqsX9J[+X8o?'!;3Dn!;W\r!;W_o!<0&"!<&u!!<'"t!;rqr -!<0&"!;NVq!;EPp!<&u!!;ii"!3E7%rN#u!nuMfkrN#u!r2]kunuMfkqlK_roW/#mri?)"qQ'Ys -qQ'Ysq5aPrJZQMcs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp[s;g4=h/g&Tj\!87GPgA1gLg'.Q2g&Tj\!;5%G!;Y=K!;Y@H!<1[P!<(UO!<(XM!;tRK -!<1[P!;P7J!;G1I!<(UO!;kIP!8?-,rRq5Oo%F'DrRq5Or7V,No%F'DqqCuKo\'9Frn7>PqUtoL -qUtoLq:YfKJ_Icjs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp\'9eVf@JjoFQ+!9O:\k5#)XjothJjoFQ+!;5IS!;YaW!;YdT!<2*\!<)$[!<)'Y!;u!W -!<2*\!;P[V!;GUU!<)$[!;km\!9WDDrT4([o&]oPrT4([r8mtZo&]oPqr[hWo]?,RroO1\qW7bX -qW7bXq;qYWJ`aW-s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r7$rrE&"!!)eq"9>M'X8qmo!!)hr!!)ks!!)u!!!*#"!!)u!!!)hr!!*#" -!!)u!!!*#"!!)eq!!)bp!!)u!!!)nt!s#F(!<&u!!:m2k!<&u!!;rnu!:m2k!;EPp!;3Gj!;iht -!;`bs!;W\r!.h5aXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V-+rrE&P!!)fJ"9@-Ug&Ud!!!)iK!!)lL!!)uO!!*#P!!)uO!!)iK!!*#P -!!)uO!!*#P!!)fJ!!)cI!!)uO!!)oM!s%'/!<(UO!:nhD!<(UO!;tON!:nhD!;G1I!;5(C!;kIM -!;bCL!;Y=K!.ik:gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoGDCrrE&\!!)fV"9@QajoG&9!!)iW!!)lX!!)u[!!*#\!!)u[!!)iW!!*#\ -!!)u[!!*#\!!)fV!!)cU!!)u[!!)oY!s%KG!<)$[!:o7P!<)$[!;tsZ!:o7P!;GUU!;5LO!;kmY -!;bgX!;YaW!.j:Fk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r7$rrE#!!!)u!!!*#"rr<,%!!)Ym!!*#"!!)u!!!)ks!!*#"rrE&"!!)u! -!!*#"!!)u!!!*#"!!*#"rrE#!!!)u!!!*#"!!*#"!!)nt!!)qu!!)u!!!*#"!!)u!!!)Sk!!)qu -!!*#"rrDVk!!)qu!!)u!!!)Pj!!)ks!!)ks!!)hr!!%SO]WD/$rmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!jp.U6g4=h/g&V-+rrE#O!!)uO!!*#Prr<,S!!)ZF!!*#P!!)uO!!)lL!!*#PrrE&P!!)uO -!!*#P!!)uO!!*#P!!*#PrrE#O!!)uO!!*#P!!*#P!!)oM!!)rN!!)uO!!*#P!!)uO!!)TD!!)rN -!!*#PrrDWD!!)rN!!)uO!!)QC!!)lL!!)lL!!)iK!!%T(]\<Dcrn@C's8VfHs+14M#25dNk2s5T -J,~> -!<E0!jp.^4eVf@JjoGDCrrE#[!!)u[!!*#\rr<,_!!)ZR!!*#\!!)u[!!)lX!!*#\rrE&\!!)u[ -!!*#\!!)u[!!*#\!!*#\rrE#[!!)u[!!*#\!!*#\!!)oY!!)rZ!!)u[!!*#\!!)u[!!)TP!!)rZ -!!*#\rrDWP!!)rZ!!)u[!!)QO!!)lX!!)lX!!)iW!!%T4]]T7ormh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!joqR2eS8j#rW)r!!!)qur;cetrr<,%!!)VlrW)nur;c_rrW!&%!!',"!<9/"!<9.u!;rqt -!!95%!<'"t!;rqt!;rqr!<'"t!<0)!!<9/"!;3Gk!<'"u!!95%!;3Gk!<0(t!:d/i!;iht!;rqr -!<'"s!.h5cXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!joqI4g4=h/rW)rO!!)rNr;cfMrr<,S!!)WErW)oNr;c`KrW!&S!!(aP!<:dP!<:dN!;tRM -!!:jS!<(XM!;tRM!;tRK!<(XM!<1^O!<:dP!;5(D!<(XN!!:jS!;5(D!<1^M!:eeB!;kIM!;tRK -!<(XL!.ik<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!joqR2eVf@JrW)r[!!)rZr;cfYrr<,_!!)WQrW)oZr;c`WrW!&_!!)0\!<;3\!<;3Z!;u!Y -!!;9_!<)'Y!;u!Y!;u!W!<)'Y!<2-[!<;3\!;5LP!<)'Z!!;9_!;5LP!<2-Y!:f4N!;kmY!;u!W -!<)'X!.j:Hk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uDKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcBJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uDKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K)krCKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJH5`AJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK)krCKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCJmFeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJai[Dg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCJmFeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K)iUWrs=>Xs4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJH3RZrs=8Vs4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK)iUWrs=>Xs4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K*&ads7k.EK*f6ks4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJHE^gs7k=JJI03ns4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK*&ads7k.EK*f6ks4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE&Xbs7t4FK*f6ks4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcEUes7tCKJI03ns4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE&Xbs7t4FK*f6ks4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE&Xbs8(:GKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcEUes8(ILJcEUers%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE&Xbs8(:GKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDrRas81@HKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc<Ods81OMJcEUers%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDrRas81@HKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDrRas8:FIKDrRars%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc<Ods8:UNJc<Odrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDrRas8:FIKDrRars%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDiL`s8CLJKDrRars%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc3Ics8C[OJc<Odrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDiL`s8CLJKDrRars%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDiL`s8LRKKDiL`rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc3Ics8LaPJc3Icrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDiL`s8LRKKDiL`rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KD`F_s8UXLKDiL`rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc*Cbs8UgQJc3Icrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKD`F_s8UXLKDiL`rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc*CbrrUo*Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=^s8IZK^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:as8ITI_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=^s8IZK^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:cs+,au_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDN:]KDW@^rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJbm7`Jc!=ars%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDN:]KDW@^rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMmXaeWmaU\(ec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+s+13$s4%)JgAca#_>o/`_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:s+13$s4%)Jec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!jo_F0eS9['JaS*We*d4cs+Bh@#1]OLk2s>WJ,~> -!<E0!jo_=2g4=hTJcC<$e,TF$s+0\>#25dNk2s5TJ,~> -!<E0!jo_F0eVf"YJcC<$e,TEts+Bh@#1]OLk2s>WJ,~> -!<E0!joD3.eUc8%e]lVEKCAgEeYN6-k.LbF~> -!<E0!joD*+g4@t/g<J=OJa`UCg7eQ/k.1PC~> -!<E0!joD3.eUc8%e]lVEKCAgEeYN6-k.LbF~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD*+g4@t/g:>o@U&X9;\c@6~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD*+g4@t/g:>o@U&X9;\c@6~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joM:.JV/N+JV2=%ldZ07s5rIW!.Y~> -!<E0!joM10JUrB'JUu1!le2N9s5rIT!.Y~> -!<E0!joM:.JV/N+JV2=%ldZ07s5rIW!.Y~> -!<E0!joM:.JV/N+JV2@&!<;B8"f21\k.LbF~> -!<E0!joM10JUrB'JUu4"!<;B="ektYk.1PC~> -!<E0!joM:.JV/N+JV2@&!<;B8"f21\k.LbF~> -!<E0!jo_F0K7id/!WTias+13$s7H<m^&S-)^&S,ueHMcKk2s>WJ,~> -!<E0!jo_=2JV!F0!WU#fs+13$s7H<m_Z0Z._Z0Z%g'+2Mk2s5TJ,~> -!<E0!jo_F0K7id/!WTias+13$s7H<m^&S-)^&S,ueHMcKk2s>WJ,~> -!<E0!jo_F0K7ij1s8N+P]n-37s+14CrrIbcrVuT)s8VE8"f21\k.LbF~> -!<E0!jo_=2JV!L2s8N+N_L_`<s+14CrrI\frVuT.s8VE="ektYk.1PC~> -!<E0!jo_F0K7ij1s8N+P]n-37s+14CrrIbcrVuT)s8VE8"f21\k.LbF~> -!<?U-5m#ShKD3(Ys8R]Q^&S+`eUc8%ebI\pK)iU^s7j;-s6J2=6"3,G!!%N~> -!<@-<9ENq!JbR%\s8RWO_Z0Xeg4@t/gA'D%JH3Ras7jJ2s6JAB9Q<a"!!%N~> -!<BM*PQKBfKD3(Ys8R]Q^&S+`eUc8%ebI\pK)iU^s7j;-s6J2=PdH[>!!%N~> -!!)tU"$tIiKDE4Zrrpr*K>%<bJ^o>%J^sPGs+:Hfs8UX"rVu`-s8VE8"[S&U@R1!E~> -!!)t_"&.F"Jbd1]rrq,-J\qHeJ_G\/J_KnQs+(<is8Ug,rVu`2s8VE="\b2$ED-@_~> -!!)u:"-h>gKDE4Zrrpr*K>%<bJ^o>%J^sPGs+:Hfs8UX"rVu`-s8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7j'7rVulIs+:Bds8RZ#J^o>%psoCs!knX6rRLlHr4W.1ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!^8rVulNs+(6gs8RZ(J_G\/ptGb!!lG!;rS%5Mr5/L6le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7j'7rVulIs+:Bds8RZ#J^o>%psoCs!knX6rRLlHr4W.1ldZ0'`O*":!.Y~> -!<A&W@KSpHK7j-9rVufGs+:Bds8RZ#J^o>%psoCs!knX6qpkZFrk8@3ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!d:rVufLs+(6gs8RZ(J_G\/ptGb!!lG!;qqD#Krke^8le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7j-9rVufGs+:Bds8RZ#J^o>%psoCs!knX6qpkZFrk8@3ldZ0'`O*":!.Y~> -!<A&W@Kf'JK7gkNrVu`Es+:Bds8RZ#J^o>%psoCs!knX6q:5HD!knX6ldZ/)Mdg-]!.Y~> -!<ADaE<T%iJUt\TrVu`Js+(6gs8RZ(J_G\/ptGb!!lG!;q:bfI!lG!;le2M9Q#Ue;!.Y~> -!<C+<Ziu]EK7gkNrVu`Es+:Bds8RZ#J^o>%psoCs!knX6q:5HD!knX6ldZ0'`O*":!.Y~> -!<A&W@KAdFqh+[os+:Bds8RZ#J^o>%psoCs!knX6pso=qs8VE8"[S&U@R1!E~> -!<ADaE</beqgnOrs+(6gs8RZ(J_G\/ptGb!!lG!;ptG[ts8VE="\b2$ED-@_~> -!<C+<ZiQEAqh+[os+:Bds8RZ#J^o>%psoCs!knX6pso=qs8VE8"dI!5[$1Q@~> -!<A&W@Kf'JK7gkNrIasss+:Bds8RZ#J^o>%psoCs!knX6q:5Fr!knX6ldZ/)Mdg-]!.Y~> -!<ADaE<T%iJUt\TrIOh!s+(6gs8RZ(J_G\/ptGb!!lG!;q:bdu!lG!;le2M9Q#Ue;!.Y~> -!<C+<Ziu]EK7gkNrIasss+:Bds8RZ#J^o>%psoCs!knX6q:5Fr!knX6ldZ0'`O*":!.Y~> -!<A&W@KSpHK7j-9rIb$us+:Bds8RZ#J^o>%psoCs!knX6qpkXtrk8@3ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!d:rIOn#s+(6gs8RZ(J_G\/ptGb!!lG!;qqD""rke^8le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7j-9rIb$us+:Bds8RZ#J^o>%psoCs!knX6qpkXtrk8@3ldZ0'`O*":!.Y~> -!<A&W@KSpHK7j'7rIb+"s+:Bds8RZ#J^o>%psoCs!knX6rRLk!r4W.1ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!^8rIOt%s+(6gs8RZ(J_G\/ptGb!!lG!;rS%4$r5/L6le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7j'7rIb+"s+:Bds8RZ#J^o>%psoCs!knX6rRLk!r4W.1ldZ0'`O*":!.Y~> -!<A&W@KSpHK7j!5rIY:(K7gl;s+/^OeUc9Gec17)^&S,_ebt-s^&S,ueHJ6s@U_V'J,~> -!<ADaE<AngJV!X6rIG.+JUt]<s+/mTg4@uQgAc^,_Z0YigAQU!_Z0Z%g'(08EH+YPJ,~> -!<C+<ZicQCK7j!5rIY:(K7gl;s+/^OeUc9Gec17)^&S,_ebt-s^&S,ueHM2V['Z%tJ,~> -!<A&W@KSpHK7ip3r.>'as8RZ#J^o>%psoCs!knX6rIamYs8VE8"[S&U@R1!E~> -!<ADaE<AngJV!R4r.+pds8RZ(J_G\/ptGb!!lG!;rIOa\s8VE="\b2$ED-@_~> -!<C+<ZicQCK7ip3r.>'as8RZ#J^o>%psoCs!knX6rIamYs8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7ij1rdt9cs8RY&JV/N+p4EL]s8R_(p:^M+ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!L2rdb-fs8RY$JUrB'p43@`s8RY$p;6k0le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7ij1rdt9cs8RY&JV/N+p4EL]s8R_(p:^M+ldZ0'`O*":!.Y~> -!<A&W@KSpHK7id/!e\2dJV/N+JV3WJ!knVdoY(;)ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!F0!eJ5gJUrB'JV!KF!lFtgoYUY.le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7id/!e\2dJV/N+JV3WJ!knVdoY(;)ldZ0'`O*":!.Y~> -!<A&W@KSpHK7eaTJcC<$df8X`"[S&U@R1!E~> -!<ADaE<AngJUrCPJcC<$df8Xe"\b2$ED-@_~> -!<C+<ZicQCK7eaTJcC<$df8X`"dI!5[$1Q@~> -!<A&W@KJjGK7X&Rs+13ts6J2=6&T2]5lcE~> -!<ADaE<8hfJV!iPs+13ts6JAB9U0U;9E9S~> -!<C+<ZiZKBK7X&Rs+13ts6J2=Pf:#:PQ64~> -!<A&W@K8]FeUc8%e[a366&T2]5lcE~> -!<ADaE<&[`g4@t/g:>o@9U0U;9E9S~> -!<C+<ZiH>AeUc8%e[a36Pf:#:PQ64~> -!<A&V@dua8Uk,=mUtMOD@e)ebMuI/d5lcE~> -!<AD`EUc_RTn/ngU"Q+>EUld'Q2Yb(9E9S~> -!<C+;[.0B3Uk,=mUtMOD[.9F]`W!4FPQ64~> -!\j\5rF5AV!+LNZJcC<$g<#raGpp!7cT~> -!^m$RrGhFo!-*SiJcC<$g<-rc&!5!8;r~> -!cn@\rNu18!47=WJcC<$g<]rj2`k!7cT~> -!\j\5mpZ8_J`_OGJ`bYJ!/p;T!^Qh:J,~> -!^m$Rmr8>$J`_OGJ`bYJ!1!"m!_`UJJ,~> -!cn@\n$E(ZJ`_OGJ`bYJ!6+E6!gE]8J,~> -"?A1:5sb$M!'u1uJ`_OGg#`9mnRDMa!W^d$J,~> -s$Qng9MFtr!).t+J`_OGg#`:"nT"S&!W^s.J,~> -s)S5APa(^F!0i&sJ`_OGg#`:Rn[/=\!W^d$J,~> -">Mnk!!)LSJ\?WJJ\BaM!+PIarrE&KJ,~> -r^?bdn4\DEJ\$EDft%0'nP&r_rn;l~> -rcA)>n<AL;J\?WJft@BmnWa%RrmcN~> -s#L*6!',T1JH16$[fH?VJ,~> -r'Z)9JH16$[fH?[J,~> -rc8*TF+F=B!.b-Z!;tAt~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.gif b/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.gif Binary files differdeleted file mode 100644 index d0d6031b22..0000000000 --- a/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.png b/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.png Binary files differnew file mode 100644 index 0000000000..06ff60280f --- /dev/null +++ b/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.png diff --git a/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.ps b/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.ps deleted file mode 100644 index 7ad54e9932..0000000000 --- a/lib/et/doc/src/sim_trans_contents_viewer_mgr_actors.ps +++ /dev/null @@ -1,1371 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/sim_trans_contents_viewer_mgr_actors.ps -%%CreationDate: Mon Oct 14 17:26:33 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 406 232 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 217.359744 translate -391.247539 -217.359744 scale -% Image geometry -468 260 8 -% Transformation matrix -[ 468 0 0 260 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 468 string def -/gstr 468 string def -/bstr 468 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 78558 ASCII Bytes -colorimage -!AQV60nB=U!.b-Z!!G#:0ek\=~> -r'Z)9JH16$[fH=oJ,~> -"DW"!C3+q+JH16$[fH>IJ,~> -r]0uYnc&U&JcC<$KDtqba8c/>!]_tqJ,~> -r^?bdnc&U'JcC<$KDtqca8c/>r^;8~> -rcA)>nc&U&JcC<$KDtqba8c/>!cr*tJ,~> -s"OQTs8VWG!53s6J^oD'!56G0s6]pg3B;T~> -s$Qngs8VWC!5=$8J_#J)!5?M-s6]pg6puP~> -s)S5As8VWG!53s6J^oD'!56G0s6]pgF)uj~> -!]^8\n(n&XJ^o>%K@Kt8`SL[8!',Q~> -!^m%gn(IcUJ_#D'K@U%:`S(C1!(;>~> -!cnAAn(n&XJ^o>%K@Kt8`SL[8!-<Y~> -!\j]Tn(n&XJ^sYJ!6'N>MU_^?`SL[8!',Q~> -!^m%gn(IcUJ_'_L!QriAer/)Z^;\e-_>luS~> -!cnAAn(n&XJ^sYJ!6'N>MU_^?`SL[8!-<Y~> -!<E/fh>k6dec1lieHNpfe\-<VrfmH5!J>`neH)JZJ^s>A!57RPpRLp5s.'&Es.'#D!NZ9O~> -!<E/fg&Sjaf)LlgedTEhf"Q]`R?<W_eq&CHecDJYJ_'DC!5@XMpR1^.s-`i>s-`f=!NlEQ~> -!<E/fh>k6dec1lieHNpfe\-<VrfmH5!J>`neH)JZJ^s>A!57RPpRLp5s.'&Es.'#D!NZ9O~> -!<E/thZ',ChZ',Eh>k7]eH*Y&iRItJ^$sPQ`P(Qes-2Bj&]K+(eVedneWc<KeUr5!e]#58eH*Y& -m*u0EHc:Qdo@3iSkMGs'p>5b<s5*^ErS@RV!.Y~> -!<E/tf)M08f)M0:ec<GVdK.4niR.bD[d_]G_RAaXs,l0d&]0+-dZ&[pcB47;dXcttd_`H+dK.4n -m*YsDID19\o?mWQkLTBqp=B21s47.:rRM"P!.Y~> -!<E/thZ',ChZ',Eh>k7]eH*Y&iRItJ^$sPQ`P(Qes-2Bj&]K+(eVedneWc<KeUr5!e]#58eH*Y& -m*u0EHc:Qdo@3iSkMGs'p>5b<s5*^ErS@RV!.Y~> -!<E/uhYiuChYiuDh>k7]eH(;LiRIs]HgoPdK6tSf"cJVqeUr5GeHLSPe^];!^"!.9HgB2_P`(+C -o@3iSkMGs'p>5P6rS@RV!.Y~> -!<E/uf);$8f);$9ec<GVdf4mWdf4mfdf4m;dKPJmdaE\tqpPLqs3gpu^!cq3ld>g!M1O+HdK%#E -f(YU+f(YU2ecDoRJ,~> -!<E/uhYiuChYiuDh>k7]eH(;LiRIs]HgoPdK6tSf"cJVqeUr5GeHLSPe^];!^"!.9HgB2_P`(+C -o@3iSkMGs'p>5P6rS@RV!.Y~> -!<E/uhY`oDhY`oCh>k7deHX!NH\8]UV#G]@`VS*mXG_FPMp9eRMgLA`rmh%,"hfP8[+1uOHiM%o -MgL)`e^]S9]n:[=eYN1ks2>,!H[CCYqUHs`HbIt[XFo&UHe$ZcMgL)`eZ=,:eXV!*eXWGc`J](q -[+3]bMl_j8eHER4^"&YPHO.lKHe$Z!He"qkHiM%nMgL)`e^]S9XGbV]Hi)@nM[R4NHaL/4HaM>R -`K^=Js4..-!N_4UeIKQ_H[C[ie^^aZH[C[qV#G]E`N4uEMlcp.s,.;eMq,e)H[CCYe\-=CJ^sDC -!57RPpRLp5q4.B>!NZ9O~> -!<E/uf)1s9f)1s8ec<G]dK[RNI>+uTU&KH?_YV[gY).RTM9=8LM1(5`rmLh+"hKD=ZI5HGIK..n -OaVqhdaF,7\qP^@d\6Ygs2"o$JUN6\qU-aZICdkTV1m?KJ^Vu`OaVqhd].`4d[>O#d[?fW_NB8# -ZI70\NMVX5dKI.0]$d#GI0duHJ^VttJ^U7kIK..mOaVqhdaF,7V2`oSJc!mqN=31KJZcG8J[3_P -_NFeFs3gq,!MtePdLO9ZJUNNldaG:TI=6spU&KHD_QJ`DM6?j+s,@G`NRG\+JUN6\d^FS8J^X2= -!5@XIpR1^*q3h03!NlEQ~> -!<E/uhY`oDhY`oCh>k7deHX!NH\8]UV#G]@`VS*mXG_FPMp9eRMgLA`rmh%,"hfP8[+1uOHiM%o -MgL)`e^]S9]n:[=eYN1ks2>,!H[CCYqUHs`HbIt[XFo&UHe$ZcMgL)`eZ=,:eXV!*eXWGc`J](q -[+3]bMl_j8eHER4^"&YPHO.lKHe$Z!He"qkHiM%nMgL)`e^]S9XGbV]Hi)@nM[R4NHaL/4HaM>R -`K^=Js4..-!N_4UeIKQ_H[C[ie^^aZH[C[qV#G]E`N4uEMlcp.s,.;eMq,e)H[CCYe\-=CJ^sDC -!57RPpRLp5q4.B>!NZ9O~> -!<E/teb>U4eH!;\bmMFBK>!Lr`Pm1N^&#u1UjJ$,[%t[BH^)4.H`YK:K6rNHH\9S^H[EHFK7gk% -Hc=6^H]+D@K?_A^HbI[^HaLJn^&#u$[!S%^c%Dh:K6tk^K7gk%Hc<[FXNcBEXNcC)`IifVP^CBo -K6rNPrQQOVHc=7KH[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^H]+]EMhCoO(P@'mS9oU@S9on5c%CYf -c%CAfc%CA$V#&=b]r\oSH]-.EH],8<UrC<"HbH5%PeE<.XNf"BH]+]EMgMhE[(X`'H^oZ3oZ[BL -kLBR&q:,J8o[Wi/qpb_K!.Y~> -!<E/tdeB1.dK%#Zc3h^FKt<Ot`l<RX_YVP7V1"3+[]7?II?hO3IB(T<JUNBKI>,tdJUPDTJVC\# -IE'Q`I>OYGL!I\hIDX9dIC?ku^A?,&[XFRhcAACCJUu+hJVC\#IE&jHWm6<HWm61(b(58XQ$pZt -JUNBOrQZU\IE'RPJUPD\JUu+lJUu+dJUPDTJVC\#IE'Q`I>OfGM2D,T(P.!oTm_?KTm_X?b(58` -c@p\lc@LD#V>AId^952YI>Q7GI>P8<WlE&0IDW"4Q+iN3Wm8n@I>OfGM1)hH[_C&,IA)5;oZdHN -kL'?uq9f82o[<W)qpGMJ!.Y~> -!<E/teb>U4eH!;\bmMFBK>!Lr`Pm1N^&#u1UjJ$,[%t[BH^)4.H`YK:K6rNHH\9S^H[EHFK7gk% -Hc=6^H]+D@K?_A^HbI[^HaLJn^&#u$[!S%^c%Dh:K6tk^K7gk%Hc<[FXNcBEXNcC)`IifVP^CBo -K6rNPrQQOVHc=7KH[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^H]+]EMhCoO(P@'mS9oU@S9on5c%CYf -c%CAfc%CA$V#&=b]r\oSH]-.EH],8<UrC<"HbH5%PeE<.XNf"BH]+]EMgMhE[(X`'H^oZ3oZ[BL -kLBR&q:,J8o[Wi/qpb_K!.Y~> -!<E/sebPa5eH!;\bmCIuSB\-^XNcBEq98tnHc>s..t`2fc,G$^c-:lf`Q`aVc-:lfc)c8^c)c8n -c%CA^c$Of^c%CAfc&6q=^%]bsK6tkVHc=6^Hd/X=SB\-^XNc*V`I!6%]mJ#*H^r?^H`YJEHi)%g -P^EDS(k[1[c%CAfc%CAfc%CAfXF$J^XF%%nK7!=:'n^kPc$OfVc$Of^XF$J^c%CAfc%CB:bm25$ -K7hF$Hc>p-%>0#PK6tS^`I!6^c%CBBbl`lNSA"mG!IL&^c1K6\^$!oGSGC\8SFkA/SGUh;X8mb~> -!<E/sdeT=/dK%#Zc3^Y%TusNdY0MTLq9B%qIDYs..uA\ocGk9hcH^uh`m0-dcH^ulcE;Shb-$/q -c@LD`c@LPlc@LPlcA?t?_Y;@UJKr=OIDX9\J^1EHTusNdY0MH\`dNQ/_L9S0IA+fdIBLkHIEMK5 -!L8*4cMrIqcMrIqcMrIqcMrG'cE;Shb-$/qc@LDdpWaP*IEKidIEKidJ^1QLS^,N7IEp,hIEM<0 -#K"3+L!GC#_Yh^ZJJ-7bIE'RPI>Q7pJUP\dcA?t?_Yqa\I?fB/oZdHNkL'?uq9f82o[<W)qpGMJ -!.Y~> -!<E/sebPa5eH!;\bmCIuSB\-^XNcBEq98tnHc>s..t`2fc,G$^c-:lf`Q`aVc-:lfc)c8^c)c8n -c%CA^c$Of^c%CAfc&6q=^%]bsK6tkVHc=6^Hd/X=SB\-^XNc*V`I!6%]mJ#*H^r?^H`YJEHi)%g -P^EDS(k[1[c%CAfc%CAfc%CAfXF$J^XF%%nK7!=:'n^kPc$OfVc$Of^XF$J^c%CAfc%CB:bm25$ -K7hF$Hc>p-%>0#PK6tS^`I!6^c%CBBbl`lNSA"mG!IL&^c1K6\^$!oGSGC\8SFkA/SGUh;X8mb~> -!<E/rebbm6eH!;\blFR;HNU(gK7!F=s*O[gs*Oais*Odj$\NfNc%CAfc%CAfV#5QQUs4O=c-:lf -c-:lfc-=4lH[C[aq998:H`W`qc-:lfc(t8a$`)%*K<1<%K<1!UV#5QAUs4O=qoo/+HiD8#K6tkf -K6tkfK6tkfK6tk=r-JOAc%CB:bnYkXc-:lfc-:lfc(o]^c-:lfc-:lfprs)XK7f)/K?\aiqoo7r -Hd-narltIis31RsHiD7r`KY^rMnRB[H^'*+oZ[BLr7(e\q4%Gup=0/5q:,J8p!rl.r7(hL!.Y~> -!<E/rdefI0dK%#Zc2a^=I06=kJV!XBs*agj!J,[ucMr=mcMrIqcMrIqcMrFrcDCGe';a!*J^2Pl -J^2PlJ^2QXQ$n(?^A6%]SUIZ3NR#h#J^1+iI1)msOb'ZtR>%Z#cDCGe"/X:oJc!^nQ$rYWs+13q -s+13qs+13qs+(3rV>P`DV9XXCp<N\hs3CXqs3CXq$dPSsU!Cr;IEp,hJb[Lr\qP]pI>,spIJ_=i -JHF,JIK%OlIK.UmJc<q$_NfOtNP<]`I?fB/oZdHNr6bSVq3_5op<ir/q9f82p!WZ(r6bVK!.Y~> -!<E/rebbm6eH!;\blFR;HNU(gK7!F=s*O[gs*Oais*Odj$\NfNc%CAfc%CAfV#5QQUs4O=c-:lf -c-:lfc-=4lH[C[aq998:H`W`qc-:lfc(t8a$`)%*K<1<%K<1!UV#5QAUs4O=qoo/+HiD8#K6tkf -K6tkfK6tkfK6tk=r-JOAc%CB:bnYkXc-:lfc-:lfc(o]^c-:lfc-:lfprs)XK7f)/K?\aiqoo7r -Hd-narltIis31RsHiD7r`KY^rMnRB[H^'*+oZ[BLr7(e\q4%Gup=0/5q:,J8p!rl.r7(hL!.Y~> -!<E/qebu$7eH!;\blXtnSG^V4K7!F=!eYj5rQQ+1Hc=7KH\9SfK6tkfK6tkfK6tkEH^t#Y$%mTL -c%CAfc%CBAblbq\H\;.=%)%"GK<3>BK6tkEH^t#Y$`&--Uo\p$Us5ufSG^V4K7!L?(8Q;rc-:lf -c-:lfc-:lfc-:lfc)c8^r657pHhP]!K6tkfK6tkfK6tkEH^r@*H[F#^K7!C<$&a/Tc%CYnK6t<0 -bmf;Pc%CA^c,G$^c-:lfr65JcUjIa=`I",+c1K6\^&6FTSG(J5SGC\8SG(M-SGgt=X8mb~> -!<E/qdf#U1dK%#Zc2t.sU&<49JbdRmKmg]6c5)7b`m2SPM9aCtJ^2PlJ^2PlJ^1EHU&<49JcF$q -JcF$qJc3jr`h@g7q9BD[I>rfXcH^ulcE;Shr6>\DI>t)'I>srGY'm#AcMrImc5*+%`m2k\J^2Pl -J^2PlJ^2PlJ^1EHU&<49JbIChJcF$qJcF$qJIBc+I@8C'JUPhhJV!UA$&sMYc@pttKmg]5cMrG' -cA?thcGk9hcH^ulr6>PeTm_X?`dOP3cLfB^^AQFRRJ,&/RJG82RJ,)'RJkP7XoNt~> -!<E/qebu$7eH!;\blXtnSG^V4K7!F=!eYj5rQQ+1Hc=7KH\9SfK6tkfK6tkfK6tkEH^t#Y$%mTL -c%CAfc%CBAblbq\H\;.=%)%"GK<3>BK6tkEH^t#Y$`&--Uo\p$Us5ufSG^V4K7!L?(8Q;rc-:lf -c-:lfc-:lfc-:lfc)c8^r657pHhP]!K6tkfK6tkfK6tkEH^r@*H[F#^K7!C<$&a/Tc%CYnK6t<0 -bmf;Pc%CA^c,G$^c-:lfr65JcUjIa=`I",+c1K6\^&6FTSG(J5SGC\8SG(M-SGgt=X8mb~> -!<E/pec208eH!;[bmB#LUpR51c%CAMqTUjuH\8E5XMq8fPeE<.XNf"BHd0ffHd0ffHaLbEH_e$M -[*=5Mc-:lfc-:lf[*>DR]sN-Eprt%9H[E`Vc%CAfc%CA=[&gXZ[!R/5]mG+5c-:lfUpR51c%CB? -boOKE[*?jJHd0ffHd0ffHd0ffHaLbEH_e$M[*=5MrlkJ%KDWn.K6tkfK6tkfK6tk^H[DQHH[F#^ -K7!C<*/f0FXF#<-XF#T$]r]2tK6su$H^)4.H`YK:K7!UB$)FrA[!R_U[!TK;c1K6\^&6FTSG(J5 -SGC\8SG(M3SH%.<SGgt=X8mb~> -!<E/pcMs1*c2bTVapZ4CIAOBTZHA#P[`83e1obtXY-t@IWdU/DQ$oLOb(5,db(5,db)(PT_M*E7 -[]ZpYJUttdJUttdM1)hPTsDD<I>RaA,DCPo`lcGTJ]budIAOBTZHBV(IC?_8IC@;<Kmff+Y-Q3$ -Jc!S1\p^a(b(5,db(5,db(5,db)(PT_M*E7[]ZpYJV!gCs,$Wqs+13ms+13ms+(R#_L6j+M1'fp -b(5-=arH7dWiCJq^8cU8Y-t@Ib)(PTV1"W?Q$oLOb(5-CapFcI^9W0Db-$0$J]dW-!5ABVpQbHt -!1!B*!1!9'rK[E.rK[?,!NlEQ~> -!<E/pec208eH!;[bmB#LUpR51c%CAMqTUjuH\8E5XMq8fPeE<.XNf"BHd0ffHd0ffHaLbEH_e$M -[*=5Mc-:lfc-:lf[*>DR]sN-Eprt%9H[E`Vc%CAfc%CA=[&gXZ[!R/5]mG+5c-:lfUpR51c%CB? -boOKE[*?jJHd0ffHd0ffHd0ffHaLbEH_e$M[*=5MrlkJ%KDWn.K6tkfK6tkfK6tk^H[DQHH[F#^ -K7!C<*/f0FXF#<-XF#T$]r]2tK6su$H^)4.H`YK:K7!UB$)FrA[!R_U[!TK;c1K6\^&6FTSG(J5 -SGC\8SG(M3SH%.<SGgt=X8mb~> -!<E/feH!;[bmMFSH[CCHc*W+M^&#t]XG_FPMoErBK6r6Prll^@Hd0ffHd0gBK6t;NP^@b0XNcBE -c-:lfc-<VJHbGYrH[D!rprrl9H^+NS&VGGTc,GooH\8EEc$Of^c$Og:bm;:QH[CCHc%CB>c2W_% -bnu([c-:lfc-:lfc-<VJHbIC_H[CCHc%CBBblNHDqook.Hd0ffHd0ffHd0g:K7gO`Hd0ffHhbi% -["E^qUjJWVXG_FPMoErJK6t;5K6r6PrlkIrHiD7qP_4=0Pf:n*Mh0.EblGHTeH!;YS,g7reb>U, -ec20<ec20;eH)`OJ,~> -!<E/fc2bTUapQ"NJUN6Tb-HSL])'PWWel.PM8%-/KmeZTrlY7ls2t@ms2l=eJUtDLQ%=@;Y0)<H -b0#9db0%#@J\%+tI=[ZtprWZ3I?FNOs+13m)8_YiI>+iH`dN9Xb'e]Xb0%SdJUN6Tb(5-?b5[J$ -b5[%mb5[%mb5[%mapbS,J\&^`JUN6Tb(5-Cb5[%ib5[%mb5[%mb5[%mapG5%KsHD`b0#9dprXD] -KmfMcI@86XM1'f/^<3a4J\%\3I>+^#b5[%lap=8`I=[Ztb)MC3b4EaU^AQ7V[eZ0g[eA#@Q1`H& -Q2T#.Q2Jo.XoNt~> -!<E/feH!;[bmMFSH[CCHc*W+M^&#t]XG_FPMoErBK6r6Prll^@Hd0ffHd0gBK6t;NP^@b0XNcBE -c-:lfc-<VJHbGYrH[D!rprrl9H^+NS&VGGTc,GooH\8EEc$Of^c$Og:bm;:QH[CCHc%CB>c2W_% -bnu([c-:lfc-:lfc-<VJHbIC_H[CCHc%CBBblNHDqook.Hd0ffHd0ffHd0g:K7gO`Hd0ffHhbi% -["E^qUjJWVXG_FPMoErJK6t;5K6r6PrlkIrHiD7qP_4=0Pf:n*Mh0.EblGHTeH!;YS,g7reb>U, -ec20<ec20;eH)`OJ,~> -!<E/feH!;Qc2)be^!4guHN:b0blYk:XN\oiH\;4?qKi4Ugs#o%K>iDdo?@9K`74mi!.Y~> -!<E/fc2bTKb5-Md]$8CoI/pk/ao]G2V9R-a`dNR<b5-Md]%kF0We&$<b4EaU^;S:tXoNt~> -!<E/feH!;Qc2)be^!4guHN:b0blYk:XN\oiH\;4?qKi4Ugs#o%K>iDdo?@9K`74mi!.Y~> -!<E/fblGG.`<+#lUs[-c[$7AfMgLu>`;udJJ]73!!56=q!NZ9O~> -!<E/faoK/,`WF/oU!^ja[ZRSiNI@MG`W;dIJ]@9#!5?Co!NlEQ~> -!<E/fblGG.`<+#lUs[-c[$7AfMgLu>`;udJJ]73!!56=q!NZ9O~> -!<E/fblGG.`QlF+]p+.rK;=(;]Ysla`6A=a!.Y~> -!<E/faoK/,`m2R-^6*tpKqX(;]Z'rc`6&+`!.Y~> -!<E/fblGG.`QlF+]p+.rK;=(;]Ysla`6A=a!.Y~> -!<E/fblGG.`IZ!\`;mTiblOmGJ,~> -!<E/faoK/,`du-^`W3`kaoSXFJ,~> -!<E/fblGG.`IZ!\`;mTiblOmGJ,~> -!!%S&JV/N+YCcfTJ,~> -!!%S$JUrB'YCQZRJ,~> -!!%S&JV/N+YCcfTJ,~> -!<E0!joD3.s+13$s1/.5V#TT>]`<Q~> -!<E0!joD*+s+13$s1/.5U&X9;\c@6~> -!<E0!joD3.s+13$s1/.5V#TT>]`<Q~> -!<E0!joD3.s+13$s1847K;AP0k.LbF~> -!<E0!joD*+s+13$s1847JYE,+k.1PC~> -!<E0!joD3.s+13$s1847K;AP0k.LbF~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IF!!:jS!:8G>!<1^P!!:jS!;tRN!:/A:!9Mr7!:SY;!!_-W!8?-,!.ijTg<\LQ -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!;bFL!:8G>!<1^P!;Y@K!:8G>!<1^P!9W#8!:SYA!;bFL!<:dQ!.ijTg<\LQ -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[Oe^)eG -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[Oe`,-Z -K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*o%O*Drn@APs4[DO -rn@;Ns4[JQ"53_TgAM$OgA_-Sg&M-DgA_0OgA_-Tg&M-,r;clOr;clOrr</T!!(aO!.ijTg>^id -JH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[Oe`,-Z -K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^o>%j440^"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)TDrW)oN -rrE)Qrr<;X!!(a,!!(aL!<:dQ!!(aP!!:jS!;"qE!<(XO!"[c`!8?-,!8?-,!8?-,!8@8Ls4[JQ -J_G\/j4aNa"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^o>%j440^"f21\k.LbF~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eUc9/ec17* -V#TT>]`<Q~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA1d\g&M-,!!(a,!!(^Q!8?-,!:\_A!<:dQ!<:dQ -!;tRN!!(aP!<:dQ!;tRN!<:dQ!;"qB!#!uc!87DQg=cN,g=cN,g=cN,gAV*PgAV)'g4@u9gAc^- -U&X9;\c@6~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eUc9/ec17* -V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"J^rc1s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo@j3Ern@AP$JGI[g&M-,g&M-,qZ-*=rVurPqZ-ZMqu?fP -!!*#PrrDuNrrE)QrrDZErrE#Orr<>Y!!(a,!!(a,qZ$]O!!)rNrW%N'J_K,;s+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"J^rc1s+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"J^rf2s+:KN -s5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQn(RdArn@AP%,([]g&M-,g&M-,!!)KArrE&Prr<,S!!)rN -rrE)Qrr<,S!!*#PrrDuNrrE)QrrDZErrE#Orr<D[!!(a,!!(a,!!)rNrrDrMrW%N'J_K/<s+(?I -s5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"J^rf2s+:KN -s5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eUc92ec17*V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)WErrE&P -rr<Va!!(a,!!(^Q!8?-,!87DQrn@APs4[JQ#20%Wg=cN,o@j3ErS%8O#MK.Xg=cN,gAV*PgA_-S -g&M-PgA_0QgA_/(g4@u<gAc^-U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eUc92ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^o>%imn']"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*n_3m@rn@;Nrn@>O -!8@AOrS%2Ms4[JQs4[JQo@j3ErS%8O!nmVSrn@APs4[DOs4[JQrS%2MJ_G\/inFE`"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^o>%imn']"f21\k.LbF~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@tkgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc8aec17*V#TT>]`<Q~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD*+g4@t/g:>o@U&X9;\c@6~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD3.eUc8%e]lY4K*Kl%s5rIW!.Y~> -!<E0!joD*+g4@t/g<J@>JHji%s5rIT!.Y~> -!<E0!joD3.eUc8%e]lY4K*Kl%s5rIW!.Y~> -!<E0!joV@/eU_IdC4U-JCAucPK*VG,V#TT>]`<Q~> -!<E0!joV71g4=g+JUrC#Jc=BlJHu5/U&X9;\c@6~> -!<E0!joV@/eU`X0Mh-f7MuM8qK*VG,V#TT>]`<Q~> -!<E0!joV@/eU_IdC4U-KC&m]$ec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!joV71g4=g+JUrC$JH5`LgAca#_>o/`_Z0W?g7eQ/k.1PC~> -!<E0!joV@/eU`X0Mh-f8MZEeVec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=_s+C0]s8N;RV#TT>]`<Q~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:bs+1$`s8N;WU&X9;\c@6~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=_s+C0]s8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:cs+,au_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KD`F_s8R`K^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc*Cbs8RZI_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKD`F_s8R`K^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXT#=$!;rqs!.h5&XQ6J_mf(c:KD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+gA]h+!;tRL!.ijTg>pufs8LaPJc*CbrrUo*Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k5ONC!;u!X!.j9`k2b\)s8LRKKD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#qZ-Srq>gPsq>gMrrW)hsquHbuquHAjquHYrq>^MsrW)r!rVur"q>^MsquGr^ -!W];%rN#u!rN#u!JZOF(jfJLMrmh%$rOr72s4..%r4W.1#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/qZ-TKq>gQLq>gNKrW)iLquHcNquHBCquHZKq>^NLrW)rOrVurPq>^NLquGs7 -!W^pSrRq5OrRq5OJ_G\/jkBb7rn@C'rPJU7s4[L(r5/L6#25dNk2s5TJ,~> -!<E0!joqR2eVf@JqZ-TWq>gQXq>gNWrW)iXquHcZquHBOquHZWq>^NXrW)r[rVur\q>^NXquGsC -!W_?_rT4([rT4([J`_OGjlZUCrmh%$rOr72s4..%r4W.1#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!#lq'.!3E7%XK2F"X8i7rX8i7tX8i7iX8i7rX8i8!X9/I( -X8r1"!!*#"!!)u!!!*#"!!)/_!W];%rN#u!rN#u!JZOF(jfJLMrmh%$rOr72rmh%$rOr72#1]OL -k2s>WJ,~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO#lr]5!8?-,g=cQ)g&M-Kg&M-Mg&M-Bg&M-Kg&M-Og&h?/ -g&V')!!*#P!!)uO!!*#P!!)08!W^pSrRq5OrRq5OJ_G\/jkBb7rn@C'rPJU7rn@C'rPJU7#25dN -k2s5TJ,~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[#ls,M!9WDDk2l[Ajo>DWjo>DYjo>DNjo>DWjo>D[joYVG -joG>A!!*#\!!)u[!!*#\!!)0D!W_?_rT4([rT4([J`_OGjlZUCrmh%$rOr72rmh%$rOr72#1]OL -k2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!#lq'.!3E7%XK2F#X9&C'!;`bs!;iht!:[&i!;W\r!<&u$ -!3E7%r2]kuri?)"rN#u!ri?)"poOJqnuMonXK2F#X8i8!X8i6OXF[J7XT._fec1:$^&S-2ec1:# -^&S*:eYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO#lr]5!8?-,g=cQ*g&_9.!;bCL!;kIM!:\\B!;Y=K!<(UR -!8?-,r7V,Nrn7>PrRq5Orn7>PptG`Jo%F0Gg=cQ*g&M-Og&M,(g4@u>gAh3PgAca'_Z0Z7gAca& -_Z0W?g7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[#ls,M!9WDDk2l[BjoPPF!;bgX!;kmY!:]+N!;YaW!<)$^ -!9WDDr8mtZroO1\rT4([roO1\pu_SVo&^#Sk2l[Bjo>D[jo>C4k(2[Vk5YJ\ec1:$^&S-2ec1:# -^&S*:eYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;`bu!3?1sX8i7tX8i7iX8i7rX9/I(X8r1"!!*#" -!!)u!!s#F(!;rnu!;NYq!:m2n!3E7%rN#u!rN#u!JZOF(jfJLMrmh%$rk8@3r71h"rk8@3#1]OL -k2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;bCN!87GLg&M-Mg&M-Bg&M-Kg&h?/g&V')!!*#P -!!)uO!s%'/!;tON!;P:J!:nhG!8?-,rRq5OrRq5OJ_G\/jkBb7rn@C'rke^8r7_1%rke^8#25dN -k2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;bgZ!9O:Xjo>DYjo>DNjo>DWjoYVGjoG>A!!*#\ -!!)u[!s%KG!;tsZ!;P^V!:o7S!9WDDrT4([rT4([J`_OGjlZUCrmh%$rk8@3r71h"rk8@3#1]OL -k2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"r;c\q!!)nt!!*#"!!)nt!!)nt!!)Mi!!)hrr;cbs!!*#"!!)u! -r;cbs!!)5a!!*#"!!)u!!!)u!!!%SOJZRt7s6fm:s+C?bs8VuHs+C<as8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V')!!*#Pr;c]J!!)oM!!*#P!!)oM!!)oM!!)NB!!)iKr;ccL!!*#P!!)uO -r;ccL!!)6:!!*#P!!)uO!!)uO!!%T(J_K5>s8W)Ps+13es8VuMs+10ds8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG>A!!*#\r;c]V!!)oY!!*#\!!)oY!!)oY!!)NN!!)iWr;ccX!!*#\!!)u[ -r;ccX!!)6F!!*#\!!)u[!!)u[!!%T4J`c(Vs8W)Ks+C?bs8VuHs+C<as8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;ikq!;iht!;iht!<&u!!;3Dn!<&u!!<0&%!3E7% -qlBi!X8r1"!s#F(!;rnu!<&u!!:?if!<0&"!<&u!!<&u!!.h5&XQ?P`mf(c:KE&Xbs8(:GKE&Xb -rs%#Ls5rIW!.Y~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;kLJ!;kIM!;kIM!<(UO!;5%G!<(UO!<1[S!8?-, -qq;)Og&V')!s%'/!;tON!<(UO!:AJ?!<1[P!<(UO!<(UO!.ijTg?%&gs8LaPJcEUes8(ILJcEUe -rs%2Ns5rIT!.Y~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;kpV!;kmY!;kmY!<)$[!;5IS!<)$[!<2*_!9WDD -qrRq[joG>A!s%KG!;tsZ!<)$[!:AnK!<2*\!<)$[!<)$[!.j9`k2kb*s8LRKKE&Xbs8(:GKE&Xb -rs%#Ls5rIW!.Y~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)u!!W];%r2]kurN#u!ri?)"rN#u!mB$0bri?)"rN#u!JZOF(jfJLMrmh%$!knX6q:5Lt -s1SI4#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)uO!W^pSr7V,NrRq5Orn7>PrRq5OmFqF;rn7>PrRq5OJ_G\/jkBb7rn@C'!lG!;q:bk" -s2+g9#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)u[!W_?_r8mtZrT4([roO1\rT4([mH49GroO1\rT4([J`_OGjlZUCrmh%$!knX6q:5Lt -s1SI4#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)qu!!)nt!!)u!!!*#"!!)u!!!)u!rrDMh!!)u!!!)u!!!%SOJZRt7s6fm:s+:Bds8VlE -s+:Wks8UWFs5rIW!.Y~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)rN!!)oM!!)uO!!*#P!!)uO!!)uOrrDNA!!)uO!!)uO!!%T(J_K5>s8W)Ps+(6gs8VlJ -s+(Kns8UfHs5rIT!.Y~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)rZ!!)oY!!)u[!!*#\!!)u[!!)u[rrDNM!!)u[!!)u[!!%T4J`c(Vs8W)Ks+:Bds8VlE -s+:Wks8UWFs5rIW!.Y~> -!<E0!joqR2eS8j#qZ-Srq>gMrquHbur;Zi!r;cl!quHbuq#L/jq#LGrq>gGp!!)quq>^Msq#LAp -rrDPirW)nur;_DMJZRq6s6fm:s+C@Oon*Ras8UWFs5rIW!.Y~> -!<E0!joqI4g4=h/qZ-TKq>gNKquHcNr;ZiOr;clOquHcNq#L0Cq#LHKq>gHI!!)rNq>^NLq#LBI -rrDQBrW)oNr;_E&J_K2=s8W)Ps+14MommFds8UfHs5rIT!.Y~> -!<E0!joqR2eVf@JqZ-TWq>gNWquHcZr;Zi[r;cl[quHcZq#L0Oq#LHWq>gHU!!)rZq>^NXq#LBU -rrDQNrW)oZr;_E2J`c%Us8W)Ks+C@Oon*Ras8UWFs5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K)krCKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJH5`AJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK)krCKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCJmFeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJai[Dg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCJmFeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCf*LKE(u%V#TT>]`<Q~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJb/mJJcGc(U&X9;\c@6~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCf*LKE(u%V#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXO4*L!;NYq!.h57XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g<nUS!;P:J!.ijegAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k0`;k!;P^V!.j9qk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!joqR2eS8j#quHVqrW)ktqZ-Vsq>^MsquDJQ!!)bp!!)bp!!%SOP-"]Ormh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/quHWJrW)lMqZ-WLq>^NLquDK*!!)cI!!)cI!!%T(P1os9rn@C's8VfHs+14M -#25dNk2s5TJ,~> -!<E0!joqR2eVf@JquHWVrW)lYqZ-WXq>^NXquDK6!!)cU!!)cU!!%T4P32fErmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7pX8i7tX8i8!X8i8"X8i8!X8i8"X8i6RX8i7eX8i6OXHK[bmf(c:KE(uF -ec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Ig&M-Mg&M-Og&M-Pg&M-Og&M-Pg&M,+g&M->g&M,(g611is8LaPJcGcD -gAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DUjo>DYjo>D[jo>D\jo>D[jo>D\jo>C7jo>DJjo>C4k*"m,s8LRKKE(uF -ec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&"!<&u!!<0&"!;NYq!4Ap.!!',"!;iks!<0)! -!<0)!!;ESm!;rqt!;iks!!0/$JZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[P!<(UO!<1[P!;P:J!4CP\!!(aP!;kLL!<1^O -!<1^O!;G4F!;tRM!;kLL!!1dRJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*\!<)$[!<2*\!;P^V!4Cth!!)0\!;kpX!<2-[ -!<2-[!;GXR!;u!Y!;kpX!!23^J``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&%!3E7%r2]kupoOJq[&j9-ri?)"rN#u!ri?)" -ri?)"r2]kuorJ,npT+>pr2]kuriH,"JZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[S!8?-,r7V,NptG`J[+bN[rn7>PrRq5Orn7>P -rn7>Pr7V,Np"BBGpY#TIr7V,Nrn@APJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*_!9WDDr8mtZpu_SV[-%AgroO1\rT4([roO1\ -roO1\r8mtZp#Z5SpZ;GUr8mtZroX4\J``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7rX8i8"X8i8!XS`(sXSi.sX8i7"X8i8!X8i8"X8i7uX9em.X8o?'!3E7% -orJ,npT+>prN#u!r2]kuJZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Kg&M-Pg&M-OgACsLgAM$Lg&M,Pg&M-Og&M-Pg&M-Ng'Ic5g&Tj\!8?-, -p"BBGpY#TIrRq5Or7V,NJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DWjo>D\jo>D[k555Xk5>;Xjo>C\jo>D[jo>D\jo>DZjp;%MjoFQ+!9WDD -p#Z5SpZ;GUrT4([r8mtZJ``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i8"XS`(sX8i8!X8i8"X9/I(X8r1"!!)u!!!'1'!!)u!!!*#"q>gPs -"ota+!3E7%orJ,npT+>prN#u!r2]kuJZP$9s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-PgACsLg&M-Og&M-Pg&h?/g&V')!!)uO!!'1U!!)uO!!*#Pq>gQL -"p!B2!8?-,p"BBGpY#TIrRq5Or7V,NJ_H:@s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D\k555Xjo>D[jo>D\joYVGjoG>A!!)u[!!'1a!!)u[!!*#\q>gQX -"p!fJ!9WDDp#Z5SpZ;GUrT4([r8mtZJ``-Xs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!'1'!!)u!!!*#" -!!)eq"9>M'X8qmo!!)bp!!)u!!!)qu!!%SOP-"]Ormh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!'1U!!)uO!!*#P -!!)fJ"9@-Ug&Ud!!!)cI!!)uO!!)rN!!%T(P1os9rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!'1a!!)u[!!*#\ -!!)fV"9@QajoG&9!!)cU!!)u[!!)rZ!!%T4P32fErmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)u!rrBF-!!)u! -!!)u!!!)u!!!*#"rr<,%!!)Ym!!*#"!!)nt!!)qu!!*#"rr@VOP-"]Ormh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)uOrrBF[!!)uO -!!)uO!!)uO!!*#Prr<,S!!)ZF!!*#P!!)oM!!)rN!!*#Prr@W(P1os9rn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)u[rrBFg!!)u[ -!!)u[!!)u[!!*#\rr<,_!!)ZR!!*#\!!)oY!!)rZ!!*#\rr@W4P32fErmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!joqR2eS8j#q#CDrr;Zi!r;Zi!qZ-Vsq>^Msq#LAprrBI.rW)u"rW)nur;cetrr<,%!!)Vl -rW)ktquH\srW!#$!!%SOPH=fPrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/q#CEKr;ZiOr;ZiOqZ-WLq>^NLq#LBIrrBI\rW)uPrW)oNr;cfMrr<,S!!)WE -rW)lMquH]LrW!#R!!%T(PM6':rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!joqR2eVf@Jq#CEWr;Zi[r;Zi[qZ-WXq>^NXq#LBUrrBIhrW)u\rW)oZr;cfYrr<,_!!)WQ -rW)lYquH]XrW!#^!!%T4PNMoFrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXQQ\[!.h5&XSJstmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g?72b!.ijTgA0J&s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k3(n%!.j9`k5"0>s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSMnsXSW"qXSi.uXSr5!XSr3rX8i6OXF[J*XT._fec1:%s7Y"CKE(rUeYN6- -k.LbF~> -!<E0!jp%O5g4=h/gA1dLgA:mJgAM$NgAV*OgAV)Kg&M,(g4@u1gAh3PgAca(s7Y1HJcG`Sg7eQ/ -k.1PC~> -!<E0!jp%X3eVf@Jk5#&Xk5,/Vk5>;Zk5GA[k5G@Wjo>C4k(2[Ik5YJ\ec1:%s7Y"CKE(rUeYN6- -k.LbF~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!)u!!!*#"rrE&"rrAjr!!%SOJZRM*s6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!)uO!!*#PrrE&PrrAkK!!%T(J_Jc1s8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!)u[!!*#\rrE&\rrAkW!!%T4J`bVIs8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!s#F(!;ii%!3E7%X8o@$!<'#!!3<4!!<'#!!<9/#!<'"t -!<0)"!!',"!;rqr!;<Mo!!TG(!3?/#riH)!$EO4-XK2C%XK2C%JZPZKs6fm:s+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!s%'/!;kIS!8?-,g&Tk+!<(XO!3=iO!<(XO!<:dQ!<(XM -!<1^P!!(aP!;tRK!;>.H!!V'V!87DQrn@>O$JGI[g=cN,g=cN,J_HpRs8W)Ps+14Mp=fOts8N;W -U&X9;\c@6~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!s%KG!;km_!9WDDjoFQC!<)'[!3>8[!<)'[!<;3]!<)'Y -!<2-\!!)0\!;u!W!;>RT!!VKb!9O7]roX1[$K_<gk2lXDk2lXDJ``cjs8W)Ks+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johL1eS8juX9/I(X8r4#!!)u!!s#F(!;ii(!3E7%X8o=%X8r4#rrB(#!!)hr#QUq+XK2E' -X8r4#!!*#"rrE&"!!*#"!!)u!!!)\nrr<;*!!')#XK2F$XT&;!X9AU*!3E7%JZP]Ls6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&h?/g&V**!!)uO!s%'/!;kIV!8?-,g&Th,g&V**rrB(Q!!)iK#QWQYg=cP\ -g&V**!!*#PrrE&P!!*#P!!)uO!!)]Grr<;X!!(^Qg=cQ+gA_0Og'%K1!8?-,J_HsSs8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjoYVGjoGAB!!)u[!s%KG!;kmb!9WDDjoFNDjoGABrrB(]!!)iW#QWuek2l[+ -joGAB!!*#\rrE&\!!*#\!!)u[!!)]Srr<;d!!)-]k2l[Ck5PG[jokbI!9WDDJ``fks8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juXSi.tX8i8"X8i8"X8i7tX9em.X8o?'!3E7%UoXOrq5jSrp8e5ori?)"rN#u! -ri?)"n>llqXK2E'X8o=%r2]kurN-#!JZPQHs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSgAM$Mg&M-Pg&M-Pg&M-Mg'Ic5g&Tj\!8?-,UtPeKq:biKp=]KHrn7>PrRq5O -rn7>PnCe-Jg=cP\g&Th,r7V,NrS%8OJ_HgOs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bk5>;Yjo>D\jo>D\jo>DYjp;%MjoFQ+!9WDDUuhXWq<%\Wp>u>TroO1\rT4([ -roO1\nE'uVk2l[+joFNDr8mtZrT=+[J``Zgs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX9/I(X8r4#r;cet!!)nt#lq'.!3E7%XK2DtX8i7rX8i7rXS`(tX8i8!X8i8! -XSi.kX9\g-X8o?'!3?1uX8i8!X8i6OXIuZpmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&h?/g&V**r;cfM!!)oM#lr]5!8?-,g=cP&g&M-Kg&M-KgACsMg&M-Og&M-O -gAM$Dg'@]4g&Tj\!87GNg&M-Og&M,(g7[1"s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjoYVGjoGABr;cfY!!)oY#ls,M!9WDDk2lZ>jo>DWjo>DWk555Yjo>D[jo>D[ -k5>;Pjp1tLjoFQ+!9O:Zjo>D[jo>C4k+Ll:s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7sX8i8"X8i8"X8i7tX9/I(X8r1"!!&gr!!)hr!!)ks!!)u!!!*#"!!)u! -!!)hr!!)\n#QUs-!3E7%X8r1"!!)u!!!%SOTWJ1]rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Lg&M-Pg&M-Pg&M-Mg&h?/g&V')!!&hK!!)iK!!)lL!!)uO!!*#P!!)uO -!!)iK!!)]G#QWT4!8?-,g&V')!!)uO!!%T(T\BGGrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>DXjo>D\jo>D\jo>DYjoYVGjoG>A!!&hW!!)iW!!)lX!!)u[!!*#\!!)u[ -!!)iW!!)]S#QX#L!9WDDjoG>A!!)u[!!%T4T]Z:Srmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7sX8i8!X8i8"X8i8!X8i8"X8i7uX8i8!XT&:#X8i8"X8i8!X8i7sX8i8" -XT&;"X8i8!X8i8"X8i8!X8i7nX9em.X8o?'!3E7%riH,"rN#u!JZPNGs6fm:s+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Lg&M-Og&M-Pg&M-Og&M-Pg&M-Ng&M-OgA_/Qg&M-Pg&M-Og&M-Lg&M-P -gA_0Pg&M-Og&M-Pg&M-Og&M-Gg'Ic5g&Tj\!8?-,rn@APrRq5OJ_HdNs8W)Ps+14Mp=fOts8N;W -U&X9;\c@6~> -!<E0!johL1eVf@bjo>DXjo>D[jo>D\jo>D[jo>D\jo>DZjo>D[k5PF]jo>D\jo>D[jo>DXjo>D\ -k5PG\jo>D[jo>D\jo>D[jo>DSjp;%MjoFQ+!9WDDroX4\rT4([J``Wfs8W)Ks+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!jp%X3eS8j#XSi.tXSr4uX8i8"XSi.uXSr5!XSr5!XT&:"XSr4uXSi.rXSr2%X8i7%rW)u" -rW)u"quHDkrW!2)!!')#!3E:$!!0/$riH%uJZPTIs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp%O5g4=h/gAM$MgAV*Ng&M-PgAM$NgAV*OgAV*OgA_/PgAV*NgAM$KgAV'Sg&M-,rW)uP -rW)uPquHEDrW!2W!!(^Q!8?0+!!1dRrn@;NJ_HjPs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp%X3eVf@Jk5>;Yk5GAZjo>D\k5>;Zk5GA[k5GA[k5PF\k5GAZk5>;Wk5G>_jo>DDrW)u\ -rW)u\quHEPrW!2c!!)-]!9WGC!!23^roX.ZJ``]hs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXM(\8!.h5@XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g:c2?!.ijngAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k.TmW!.j:%k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXM1b9!.h5?XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g:l8@!.ijmgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k.]sX!.j:$k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXOXEI!;ESn!.h5>XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g==pP!;G4G!.ijlgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k1/Vh!;GXS!.j:#k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXPU&Y!.h5&XS]+!mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g>:Q`!.ijTgABV(s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k2,8#!.j9`k54<@s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSMqrXSi-MXR3(h!:R#g!;iks!.h5>XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%O5g4=h/gA1gKgAM#&g?mSo!:SY@!;kLL!.ijlgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5#)Wk5>:2k3_:2!:T(L!;kpX!.j:#k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jq+?=eS8j#X8o?'!3E7%XK2F#X8i6OXR<.i!:?if!;W\r!.h5>XT._fec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!jq+6?g4=h/g&Tj\!8?-,g=cQ*g&M,(g@!Yp!:AJ?!;Y=K!.ijlgAh3PgAca(s7Y1HJcG`S -g7eQ/k.1PC~> -!<E0!jq+?=eVf@JjoFQ+!9WDDk2l[Bjo>C4k3h@3!:AnK!;YaW!.j:#k5YJ\ec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!jq"9<eS8j#X8o?'!3E7%X8r.!!!)u!rrALhrr<8)!!')#!3H/"s/c2"orS&kri?,#XSr4s -XSr4rX8i7rX8i6OXI60imf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jq"0>g4=h/g&Tj\!8?-,g&V$(!!)uOrrAMArr<8W!!(^Q!8@DPs4[GPp"K<Drn7AQgAV*L -gAV*Kg&M-Kg&M,(g6p[ps8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jq"9<eVf@JjoFQ+!9WDDjoG;@!!)u[rrAMMrr<8c!!)-]!9X7\s5s:\p#c/ProO4]k5GAX -k5GAWjo>DWjo>C4k*bB3s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i8!X8i7tX8i8!XT&9gXT&8*X8i7%!3E7%rN#u!orJ,nrN#u!riH,"ri?)" -rN#u!ri?)"qlBbtq5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M-OgA_/@gA_-Xg&M-,!8?-,rRq5Op"BBGrRq5Orn@APrn7>P -rRq5Orn7>Pqq;#Mq:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>D[k5PFLk5PDdjo>DD!9WDDrT4([p#Z5SrT4([roX4\roO1\ -rT4([roO1\qrRkYq;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9em.X8o?'!3E7%rN#u!orJ,nq5aPrrN#u!ri?)"r2]ku -r2]kuq5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'Ic5g&Tj\!8?-,rRq5Op"BBGq:YfKrRq5Orn7>Pr7V,N -r7V,Nq:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjp;%MjoFQ+!9WDDrT4([p#Z5Sq;qYWrT4([roO1\r8mtZ -r8mtZq;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9J[+X8o?'!<0&%!3E7%o;qljrN#u!rN#u!riGqrr2]ku -q5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'.Q2g&Tj\!<1[S!8?-,o@j-CrRq5OrRq5Orn@2Kr7V,N -q:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjothJjoFQ+!<2*_!9WDDoB,uOrT4([rT4([roX%Wr8mtZ -q;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9J[+X8o?'!<0&%!3E7%n#QKhri?)"rN#u!ri?)"p8e5o -q5aPrJZP9@s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'.Q2g&Tj\!<1[S!8?-,n(IaArn7>PrRq5Orn7>Pp=]KH -q:YfKJ_HOGs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjothJjoFQ+!<2*_!9WDDn)aTMroO1\rT4([roO1\p>u>T -q;qYWJ``B_s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jsX8i7uX8i8!X8i7uXT&9gX9J[+X8o?'!<'#!!;!8l!<&u!!<0&"!<&u!!<&u! -!<&u!!;rnu!;W\r!.h5>XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hQg&M-Ng&M-Og&M-NgA_/@g'.Q2g&Tj\!<(XO!;"nE!<(UO!<1[P!<(UO!<(UO -!<(UO!;tON!;Y=K!.ijlgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@`jo>DZjo>D[jo>DZk5PFLjothJjoFQ+!<)'[!;#=Q!<)$[!<2*\!<)$[!<)$[ -!<)$[!;tsZ!;YaW!.j:#k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juXS`(sXSi.rXT&9hXSr2'X8i7%!!)u!!!)VlquH_trW)u"rW)nur;cetquH\s -quD;LS#lYXrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSgACsLgAM$KgA_/AgAV'Ug&M-,!!)uO!!)WEquH`MrW)uPrW)oNr;cfMquH]L -quD<%S(doBrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bk555Xk5>;Wk5PFMk5G>ajo>DD!!)u[!!)WQquH`YrW)u\rW)oZr;cfYquH]X -quD<1S*'bNrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXS/^q!.h5&XQ$>]mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g@j5#!.ijTg>^ids8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k4[p;!.j9`k2PP's8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXS/^q!.h5&XQ$>]mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g@j5#!.ijTg>^ids8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k4[p;!.j9`k2PP's8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXSAmq!<'"o!.h5&XRN=kmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+gA'D#!<(XH!.ijTg@3hrs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k4n*;!<)'T!.j9`k4%O5s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMX8o@#!;rqs!;rqs!;rqs!:m2k!;`eq!:m2k!;NYq!:m2k!;NYq!;!;j!<'"r -!:m5k!;rqt!:m5i!;iks!;iht!;W_q!;rqs!;rqs!5,E5mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g&Tk*!;tRL!;tRL!;tRL!:nhD!;bFJ!:nhD!;P:J!:nhD!;P:J!;"qC!<(XK -!:nkD!;tRM!:nkB!;kLL!;kIM!;Y@J!;tRL!;tRL!5.%cs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:joFQB!;u!X!;u!X!;u!X!:o7P!;bjV!:o7P!;P^V!:o7P!;P^V!;#@O!<)'W -!:o:P!;u!Y!:o:N!;kpX!;kmY!;YdV!;u!X!;u!X!5.Ios8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSW"rXSr4uXSW"qXSr2#X8r7$q>^MsqZ+%*!!)u!!!*#"!!)u!!!*#"!!)u! -!!*#"!!)u!!!)YmrrDqt!!)u!!!)YmrrDkr!W];%o;qrlq5aVtX8qmo!!)u!!!*#"!!)u!!!)Vl -!W];%rN#u!ri?)"oW/#mrN#u!rN#u!q5jSrqQ'YsqQ'YsrN#u!ri?)"rN#u!]r_8%rmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!jp%O5g4=h/gA:mKgAV*NgA:mJgAV'Qg&V-+q>^NLqZ+%X!!)uO!!*#P!!)uO!!*#P!!)uO -!!*#P!!)uO!!)ZFrrDrM!!)uO!!)ZFrrDlK!W^pSo@j3Eq:YlMg&Ud!!!)uO!!*#P!!)uO!!)WE -!W^pSrRq5Orn7>Po\'9FrRq5OrRq5Oq:biKqUtoLqUtoLrRq5Orn7>PrRq5O^"WMdrn@C's8VfH -s+14M#25dNk2s5TJ,~> -!<E0!jp%X3eVf@Jk5,/Wk5GAZk5,/Vk5G>]joGDCq>^NXqZ+%d!!)u[!!*#\!!)u[!!*#\!!)u[ -!!*#\!!)u[!!)ZRrrDrY!!)u[!!)ZRrrDlW!W_?_oB-&Qq;q_YjoG&9!!)u[!!*#\!!)u[!!)WQ -!W_?_rT4([roO1\o]?,RrT4([rT4([q<%\WqW7bXqW7bXrT4([roO1\rT4([^#o@prmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X8i7uX8i7uX8i8!X8i8"X8i8"XT&;!X8i8!X9/I(X8r4#!!'I/!!)u! -!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)\n!W];%qlBbtrN#u!orJ2pX8r't!W];%oW/)oX8r't -!W];%oW/#mrN#u!q5aPro;hunX8r4#!!)u!!!)\n!!)u!!!*#"!!)hr!W];%qlBbtq5aPrrN#u! -ri?)"rN#u!]r_8%rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&M-Ng&M-Ng&M-Og&M-Pg&M-PgA_0Og&M-Og&h?/g&V**!!'I]!!)uO -!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)]G!W^pSqq;#MrRq5Op"BHIg&Us&!W^pSo\'?Hg&Us& -!W^pSo\'9FrRq5Oq:YfKo@a6Gg&V**!!)uO!!)]G!!)uO!!*#P!!)iK!W^pSqq;#Mq:YfKrRq5O -rn7>PrRq5O^"WMdrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[jo>DZjo>DZjo>D[jo>D\jo>D\k5PG[jo>D[joYVGjoGAB!!'Ii!!)u[ -!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)]S!W_?_qrRkYrT4([p#Z;UjoG5>!W_?_o]?2TjoG5> -!W_?_o]?,RrT4([q;qYWoB$)SjoGAB!!)u[!!)]S!!)u[!!*#\!!)iW!W_?_qrRkYq;qYWrT4([ -roO1\rT4([^#o@prmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!<&u!!<&u!!<0&"!<&u!!<&u!!<&u$!3E7%r2]kurN-#! -\?#Z1ri?)"rN#u!ri?)"rN#u!q5aPro;holqlBbtrN#u!o;holqQ'c!XK2EmX8i7sX9/I(X8q^j -!!)ks!!)Vl!s#F(!<&u!!<&u!!:[&i!<0&"!;EPp!;iht!;*>m!;W\r!55K6mf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!<(UO!<(UO!<1[P!<(UO!<(UO!<(UR!8?-,r7V,NrS%8O -\Cpo_rn7>PrRq5Orn7>PrRq5Oq:YfKo@a0Eqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-Lg&h?/g&UTq -!!)lL!!)WE!s%'/!<(UO!<(UO!:\\B!<1[P!;G1I!;kIM!;+tF!;Y=K!57+ds8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!<)$[!<)$[!<2*\!<)$[!<)$[!<)$^!9WDDr8mtZrT=+[ -\E3bkroO1\rT4([roO1\rT4([q;qYWoB$#QqrRkYrT4([oB$#QqW7k[k2l[7jo>DXjoYVGjoFl4 -!!)lX!!)WQ!s%KG!<)$[!<)$[!:]+N!<2*\!;GUU!;kmY!;,CR!;YaW!57Ops8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!<&u!!<&u!!<0&"!;NVt!3E7%rN#u!r2]kurN-#!\Z>c2 -rN#u!rN#u!ri?)"rN#u!qQ'YsnuMfkqlBbtrN#u!o;holqQ'c!XK2EmX8i7sX9/I(X8qak!!)hr -!!)Vl!s#F(!<&u!!<0)"!:d,j!<&u"!3H/"qlBbtqlBeuXSr4qX8i7rX8i75XT._fec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!<(UO!<(UO!<1[P!;P7M!8?-,rRq5Or7V,NrS%8O\_7#` -rRq5OrRq5Orn7>PrRq5OqUtoLo%F'Dqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-Lg&h?/g&UWr!!)iK -!!)WE!s%'/!<(UO!<1^P!:ebC!<(UP!8@DPqq;#Mqq;&NgAV*Jg&M-Kg&M,cgAh3PgAca(s7Y1H -JcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!<)$[!<)$[!<2*\!;P[Y!9WDDrT4([r8mtZrT=+[\`Nkl -rT4([rT4([roO1\rT4([qW7bXo&]oPqrRkYrT4([oB$#QqW7k[k2l[7jo>DXjoYVGjoFo5!!)iW -!!)WQ!s%KG!<)$[!<2-\!:f1O!<)$\!9X7\qrRkYqrRnZk5GAVjo>DWjo>Cok5YJ\ec1:%s7Y"C -KE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8!X8i8"X8i8"X8i8"X8i8"X8i7uXSi.sXSi.tX8i7uX8i7-X8i7uX8i8! -X8i8"X8i8!X8i7tX8i7uXSW"qX8i7tX8i8!X8i8"XSW"qX8i7tX8i8"X8i7kX8i7tX8i8"X8i7j -X8i7qX8i7mX8i8"X8i7uXSr2#X8qgm!!)qurrE&"!!)qu!!)ntrrE&"!!)nt!!)hr!!'X4s6fm: -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-Pg&M-Pg&M-Pg&M-Pg&M-NgAM$LgAM$Mg&M-Ng&M,[g&M-Ng&M-O -g&M-Pg&M-Og&M-Mg&M-NgA:mJg&M-Mg&M-Og&M-PgA:mJg&M-Mg&M-Pg&M-Dg&M-Mg&M-Pg&M-C -g&M-Jg&M-Fg&M-Pg&M-NgAV'Qg&U]t!!)rNrrE&P!!)rN!!)oMrrE&P!!)oM!!)iK!!'Xbs8W)P -s+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D\jo>D\jo>D\jo>D\jo>DZk5>;Xk5>;Yjo>DZjo>Cgjo>DZjo>D[ -jo>D\jo>D[jo>DYjo>DZk5,/Vjo>DYjo>D[jo>D\k5,/Vjo>DYjo>D\jo>DPjo>DYjo>D\jo>DO -jo>DVjo>DRjo>D\jo>DZk5G>]joFu7!!)rZrrE&\!!)rZ!!)oYrrE&\!!)oY!!)iW!!'Xns8W)K -s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juXS`(sXS`(tXSi.nX8i8!X9/I(X8r4#!!)qu!!'F.!!)nt!!)u!!!*#"!!)u! -!!)qu!!)Mi!!)nt!!)u!!!)Vl!!)nt!!*#"!!)Sk!!)nt!!*#"!!)Sk!!)eq!!)Vl!!*#"!!)eq -!!)Vl!!)nt!!)u!!!)qu!!)nt!!)u!!!)qu!!)hr!!'U3s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSgACsLgACsMgAM$Gg&M-Og&h?/g&V**!!)rN!!'F\!!)oM!!)uO!!*#P!!)uO -!!)rN!!)NB!!)oM!!)uO!!)WE!!)oM!!*#P!!)TD!!)oM!!*#P!!)TD!!)fJ!!)WE!!*#P!!)fJ -!!)WE!!)oM!!)uO!!)rN!!)oM!!)uO!!)rN!!)iK!!'Uas8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bk555Xk555Yk5>;Sjo>D[joYVGjoGAB!!)rZ!!'Fh!!)oY!!)u[!!*#\!!)u[ -!!)rZ!!)NN!!)oY!!)u[!!)WQ!!)oY!!*#\!!)TP!!)oY!!*#\!!)TP!!)fV!!)WQ!!*#\!!)fV -!!)WQ!!)oY!!)u[!!)rZ!!)oY!!)u[!!)rZ!!)iW!!'Ums8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7sX8i7uX9/I(X8r7$!!)u!!!)u!!!)u!!!)u!!s#F(!;rnu!4Js/!;`bs -!<&u!!<0&"!<&u!!<&u!!:Quh!;iht!<&u!!;!8l!;ikp!;!8l!;ikp!;*>m!;EPp!;!;h!;W\r -!;*>m!;`bs!<&u!!;rnu!;iht!<&u!!<&u!!;W\r!4f32mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Ng&h?/g&V-+!!)uO!!)uO!!)uO!!)uO!s%'/!;tON!4LS]!;bCL -!<(UO!<1[P!<(UO!<(UO!:SVA!;kIM!<(UO!;"nE!;kLI!;"nE!;kLI!;+tF!;G1I!;"qA!;Y=K -!;+tF!;bCL!<(UO!;tON!;kIM!<(UO!<(UO!;Y=K!4gh`s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>DZjoYVGjoGDC!!)u[!!)u[!!)u[!!)u[!s%KG!;tsZ!4M"i!;bgX -!<)$[!<2*\!<)$[!<)$[!:T%M!;kmY!<)$[!;#=Q!;kpU!;#=Q!;kpU!;,CR!;GUU!;#@M!;YaW -!;,CR!;bgX!<)$[!;tsZ!;kmY!<)$[!<)$[!;YaW!4h7ls8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7sX8i7uX9/I(X8r4#!!*#"rrE&"!!)u!!!)u!!s#F(!<&u!!;rqu!55H6 -!<&u!!<0&"!<&u!!<0&"!<&u!!<0&"!<&u!!;!8l!;iht!<&u!!;!8l!;EPp!:m2k!;EPp!;ikt -!;rnu!<&u!!;iht!;`es!;NVq!;W\r!;ikt!;rnu!<&u!!<&u!!<0&"!;rnu!;`bs!<0&"!<0&" -!<&u!!<0&"!<&u!!55K6mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Ng&h?/g&V**!!*#PrrE&P!!)uO!!)uO!s%'/!<(UO!;tRN!57(d -!<(UO!<1[P!<(UO!<1[P!<(UO!<1[P!<(UO!;"nE!;kIM!<(UO!;"nE!;G1I!:nhD!;G1I!;kLM -!;tON!<(UO!;kIM!;bFL!;P7J!;Y=K!;kLM!;tON!<(UO!<(UO!<1[P!;tON!;bCL!<1[P!<1[P -!<(UO!<1[P!<(UO!57+ds8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>DZjoYVGjoGAB!!*#\rrE&\!!)u[!!)u[!s%KG!<)$[!;u!Z!57Lp -!<)$[!<2*\!<)$[!<2*\!<)$[!<2*\!<)$[!;#=Q!;kmY!<)$[!;#=Q!;GUU!:o7P!;GUU!;kpY -!;tsZ!<)$[!;kmY!;bjX!;P[V!;YaW!;kpY!;tsZ!<)$[!<)$[!<2*\!;tsZ!;bgX!<2*\!<2*\ -!<)$[!<2*\!<)$[!57Ops8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSi.tXSi,!XSMqqX98O)X8o@$!<'"q!!'+t!;ikt!55K2!<'"t!;rqs!<'"r -!;3Gk!;rqs!;*Aj!;`er!;3Gk!;`er!;rqu!;rqq!;iht!;`es!;W_q!<'"u!;`es!;rqq!;rqt -!<'"s!;iks!<'"r!<0(s!55K6mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%O5g4=h/gAM$MgAM!OgA1gJg&qE0g&Tk+!<(XJ!!(aM!;kLM!57+`!<(XM!;tRL!<(XK -!;5(D!;tRL!;,"C!;bFK!;5(D!;bFK!;tRN!;tRJ!;kIM!;bFL!;Y@J!<(XN!;bFL!;tRJ!;tRM -!<(XL!;kLL!<(XK!<1^L!57+ds8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp%X3eVf@Jk5>;Yk5>8[k5#)Vjob\HjoFQC!<)'V!!)0Y!;kpY!57Ol!<)'Y!;u!X!<)'W -!;5LP!;u!X!;,FO!;bjW!;5LP!;bjW!;u!Z!;u!V!;kmY!;bjX!;YdV!<)'Z!;bjX!;u!V!;u!Y -!<)'X!;kpX!<)'W!<2-X!57Ops8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSr2#X8r7$r;churW)u"rW)u"q>gPsq>^MsrW)u"rW)u"q>gMrrVuu#!.h5& -XIZHmmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRgAV'Qg&V-+r;ciNrW)uPrW)uPq>gQLq>^NLrW)uPrW)uPq>gNKrVuuQ!.ijT -g7?sts8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ak5G>]joGDCr;ciZrW)u\rW)u\q>gQXq>^NXrW)u\rW)u\q>gNWrVuu]!.j9` -k+1Z7s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8"XT&;#X8i8!X8i8"XT&;"X8i8"X9J[+X8o?'!<0&"!<&u%!3E7%!<0&" -!<0&+!3E7%XK2E'X8r7$rr@VOJZPEDs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-PgA_0Qg&M-Og&M-PgA_0Pg&M-Pg'.Q2g&Tj\!<1[P!<(US!8?-,!<1[P -!<1[Y!8?-,g=cP\g&V-+rr@W(J_H[Ks8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D\k5PG]jo>D[jo>D\k5PG\jo>D\jothJjoFQ+!<2*\!<)$_!9WDD!<2*\ -!<2*e!9WDDk2l[+joGDCrr@W4J``Ncs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!W];%qlC&'XK2E'!3E7%ri?;(XK2E'X8r7$!!)u!#QUs-!3?1%X8r7$ -#lq'.!3E7%XK2F#X8i7uXT&9OXF[IKXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V')!W^pSqq;;Ug=cP\!8?-,rn7PVg=cP\g&V-+!!)uO#QWT4!87G,g&V-+ -#lr]5!8?-,g=cQ*g&M-NgA_/(g4@tRgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG>A!W_?_qrS.ak2l[+!9WDDroOCbk2l[+joGDC!!)u[#QX#L!9O:DjoGDC -#ls,M!9WDDk2l[Bjo>DZk5PF4k(2Zjk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3?1%X8r.!!!)nt!s#F(!<&u&!3?1%X8r.!!!)qu!!)bp -rr@VOJZPZKs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!87G,g&V$(!!)oM!s%'/!<(UT!87G,g&V$(!!)rN!!)cI -rr@W(J_HpRs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9O:DjoG;@!!)oY!s%KG!<)$`!9O:DjoG;@!!)rZ!!)cU -rr@W4J``cjs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)ntr;cet"TYX*!3?1tX8i7tXSi-MXF[IC -XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oMr;cfM"T[91!87GMg&M-MgAM#&g4@tJ -gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oYr;cfY"T[]I!9O:Yjo>DYk5>:2k(2Zb -k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)nt!s#F(!<&u&!3E7%X8r.!!!)bp!!%SO -JZPEDs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oM!s%'/!<(UT!8?-,g&V$(!!)cI!!%T( -J_H[Ks8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oY!s%KG!<)$`!9WDDjoG;@!!)cU!!%T4 -J``Ncs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r*u!!)nt!s#F(!<0)"!;iht!;iht!<&u$!3E7%riH,"qlBbtr2]kurN#u! -JZOF(SZMkZrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V!'!!)oM!s%'/!<1^P!;kIM!;kIM!<(UR!8?-,rn@APqq;#Mr7V,NrRq5O -J_G\/S_F,Drn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG8?!!)oY!s%KG!<2-\!;kmY!;kmY!<)$^!9WDDroX4\qrRkYr8mtZrT4([ -J`_OGS`]tPrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!*#"rrDqt!!)nt!!)u!!s#F(!<0)"!;iht!;rqu -!<0&"!;rqu!.h5&XJDrtmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!*#PrrDrM!!)oM!!)uO!s%'/!<1^P!;kIM!;tRN -!<1[P!;tRN!.ijTg8*I&s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!*#\rrDrY!!)oY!!)u[!s%KG!<2-\!;kmY!;u!Z -!<2*\!;u!Z!.j9`k+q/>s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSi.tXSi.uXSr5!X8i8!XS`(tXSMnsXSr5!X8i8!XS`(tX8r=&rW)hsrr@VO -JZPZKs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hRgAM$MgAM$NgAV*Og&M-OgACsMgA1dLgAV*Og&M-OgACsMg&V3-rW)iLrr@W( -J_HpRs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@ak5>;Yk5>;Zk5GA[jo>D[k555Yk5#&Xk5GA[jo>D[k555YjoGJErW)iXrr@W4 -J``cjs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSr4qX8i7aX8i7`XSi.+X8i7PX8i6OXI$$gmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hRgAV*Jg&M-:g&M-9gAM#Yg&M-)g&M,(g6^Ons8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@ak5GAVjo>DFjo>DEk5>:ejo>D5jo>C4k*P61s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8jtX8i7qX8i7`X8i7aX8i7)X8i7bX8i7hX8i6OXI-*hmf(c:KE(uFec1:%rs%#L -s5rIW!.Y~> -!<E0!johC3g4=hRg&M-Jg&M-9g&M-:g&M,Wg&M-;g&M-Ag&M,(g6gUos8LaPJcGcDgAca(rs%2N -s5rIT!.Y~> -!<E0!johL1eVf@ajo>DVjo>DEjo>DFjo>Ccjo>DGjo>DMjo>C4k*Y<2s8LRKKE(uFec1:%rs%#L -s5rIW!.Y~> -!<E0!johL1eS8jtX8i7qX8i7FX8i6eX8i7hX8i6OXI-*hmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M-Jg&M,tg&M,>g&M-Ag&M,(g6gUos8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>DVjo>D+jo>CJjo>DMjo>C4k*Y<2s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i7qX8i7tXSi.tXT&;#XT&;!XSr4sXSr2$X8i7oXSW"sXT&;#XT&;!XSi.u -XT&8(X8i7%!!)bprr<A,!!')#!3?/#XSr4sXSr4tXS`(sXSr4sXSi.kXS`(tXT&8(X8i7%!!)u! -!!%SOR&p>Urmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hRg&M-Jg&M-MgAM$MgA_0QgA_0OgAV*LgAV'Rg&M-HgA:mLgA_0QgA_0OgAM$N -gA_-Vg&M-,!!)cIrr<AZ!!(^Q!87DQgAV*LgAV*MgACsLgAV*LgAM$DgACsMgA_-Vg&M-,!!)uO -!!%T(R+hT?rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@ajo>DVjo>DYk5>;Yk5PG]k5PG[k5GAXk5G>^jo>DTk5,/Xk5PG]k5PG[k5>;Z -k5PDbjo>DD!!)cUrr<Af!!)-]!9O7]k5GAXk5GAYk555Xk5GAXk5>;Pk555Yk5PDbjo>DD!!)u[ -!!%T4R-+GKrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8jtX8i7qX8i7uX8i8!X8i8!X9AU*!3E7%r2]kur2]kuriH,"o;holqQ'r&X8o?' -!3E7%rN#u!riH,""KVS'X8qsqrr<>+!!')#XK2C%ri?)"rN#u!ri?)"ri?)"rN#u!qlBbtr2]ku -rN#u!oW/#mqQ0\s"KVS'X8r4#!!%SOR&p>Urmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hRg&M-Jg&M-Ng&M-Og&M-Og'%K1!8?-,r7V,Nr7V,Nrn@APo@a0EqUu2Tg&Tj\ -!8?-,rRq5Orn@AP"PNhUg&Uj#rr<>Y!!(^Qg=cN,rn7>PrRq5Orn7>Prn7>PrRq5Oqq;#Mr7V,N -rRq5Oo\'9FqV(rL"PNhUg&V**!!%T(R+hT?rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@ajo>DVjo>DZjo>D[jo>D[jokbI!9WDDr8mtZr8mtZroX4\oB$#QqW8%`joFQ+ -!9WDDrT4([roX4\"Qf[ajoG,;rr<>e!!)-]k2lXDroO1\rT4([roO1\roO1\rT4([qrRkYr8mtZ -rT4([o]?,RqW@eX"Qf[ajoGAB!!%T4R-+GKrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8jtX8i7rX8i7uX8i7tX8i8"XT&:qX8i8!X8i7uX8i7lX8i7sXT&:uX8i7tX9em. -X8o?'!3E7%p8eQ#XK2E'X8o?'!<&u!!<0&"!;ro#!3E7%p8e5opT+>poW/#mqQ'l$XK2E'X8r1" -!!%SORB6GVrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hRg&M-Kg&M-Ng&M-Mg&M-PgA_0Jg&M-Og&M-Ng&M-Eg&M-LgA_0Ng&M-Mg'Ic5 -g&Tj\!8?-,p=]fQg=cP\g&Tj\!<(UO!<1[P!;tOQ!8?-,p=]KHpY#TIo\'9FqUu,Rg=cP\g&V') -!!%T(RG.]@rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@ajo>DWjo>DZjo>DYjo>D\k5PGVjo>D[jo>DZjo>DQjo>DXk5PGZjo>DYjp;%M -joFQ+!9WDDp>uY]k2l[+joFQ+!<)$[!<2*\!;ts]!9WDDp>u>TpZ;GUo]?,RqW7t^k2l[+joG>A -!!%T4RHFPLrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8jtX8i7qX8i8!X8i7tX8i8"X8i7pX8i8!X8i7uX8i7lX8i7sX8i7tX8i7tX9em. -X8o?'!3E7%p8eQ#XK2E'X8o?'!<&u!!<0(r!<0(u!;`bs!;ikq!;*>m!;`c$!3E7%XK2F#X8i6O -XI-*hmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M-Jg&M-Og&M-Mg&M-Pg&M-Ig&M-Og&M-Ng&M-Eg&M-Lg&M-Mg&M-Mg'Ic5 -g&Tj\!8?-,p=]fQg=cP\g&Tj\!<(UO!<1^K!<1^N!;bCL!;kLJ!;+tF!;bCR!8?-,g=cQ*g&M,( -g6gUos8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>DVjo>D[jo>DYjo>D\jo>DUjo>D[jo>DZjo>DQjo>DXjo>DYjo>DYjp;%M -joFQ+!9WDDp>uY]k2l[+joFQ+!<)$[!<2-W!<2-Z!;bgX!;kpV!;,CR!;bg^!9WDDk2l[Bjo>C4 -k*Y<2s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i7qX8i8!X8i7tX8i8"X8i7pX8i8!X8i7uX8i7lX8i7sX8i7tX8i7tX9em. -X8o?'!3E7%p8eQ#XK2E'X8o?'!<&u!!<0&"!;*>m!;iht!;rnu!<&u!!;*>m!;`c$!3E7%XK2F# -X8i6OXI-*hmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M-Jg&M-Og&M-Mg&M-Pg&M-Ig&M-Og&M-Ng&M-Eg&M-Lg&M-Mg&M-Mg'Ic5 -g&Tj\!8?-,p=]fQg=cP\g&Tj\!<(UO!<1[P!;+tF!;kIM!;tON!<(UO!;+tF!;bCR!8?-,g=cQ* -g&M,(g6gUos8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>DVjo>D[jo>DYjo>D\jo>DUjo>D[jo>DZjo>DQjo>DXjo>DYjo>DYjp;%M -joFQ+!9WDDp>uY]k2l[+joFQ+!<)$[!<2*\!;,CR!;kmY!;tsZ!<)$[!;,CR!;bg^!9WDDk2l[B -jo>C4k*Y<2s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i7qX8i7uX8i8!X8i8!X8i7pX8i7uX8i8"XT&:lX8i7sX8i7sX8i8!X8i8" -X9J[+X8o?'!<'#!!;ro)!3E7%XK2E'X8r4#!!)u!!!)u!!s#F(!<&u!!;iht!;rnu!<0)"!;*>m -!<0&"!<0&(!3E7%XK2F#X8i7rXT&9OXJ2frmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M-Jg&M-Ng&M-Og&M-Og&M-Ig&M-Ng&M-PgA_0Eg&M-Lg&M-Lg&M-Og&M-P -g'.Q2g&Tj\!<(XO!;tOW!8?-,g=cP\g&V**!!)uO!!)uO!s%'/!<(UO!;kIM!;tON!<1^P!;+tF -!<1[P!<1[V!8?-,g=cQ*g&M-KgA_/(g7m=$s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>DVjo>DZjo>D[jo>D[jo>DUjo>DZjo>D\k5PGQjo>DXjo>DXjo>D[jo>D\ -jothJjoFQ+!<)'[!;tsc!9WDDk2l[+joGAB!!)u[!!)u[!s%KG!<)$[!;kmY!;tsZ!<2-\!;,CR -!<2*\!<2*b!9WDDk2l[Bjo>DWk5PF4k+_#<s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i7qX8i7tXSi.tXSi.rXS`(sXSr2#X8qppquH\sr;c_rr;churW!,'!!')# -!<0)"!<'"u!!B;&!3H(us/c2"rN,qtriH"tr2ferrN,tu!iuA%oW8#lriH)!"fq\(X8i8"X8i7r -XT&9OXJ2frmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRg&M-Jg&M-MgAM$MgAM$KgACsLgAV'Qg&Ug"quH]Lr;c`Kr;ciNrW!,U!!(^Q -!<1^P!<(XN!!CpT!8@>Ns4[GPrS%2Mrn@8Mr7_&KrS%5N!nmVSo\09Ern@>O"kiqVg&M-Pg&M-K -gA_/(g7m=$s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ajo>DVjo>DYk5>;Yk5>;Wk555Xk5G>]joG):quH]Xr;c`Wr;ciZrW!,a!!)-] -!<2-\!<)'Z!!D?`!9X1Zs5s:\rT=%YroX+Yr9!nWrT=(Z!p0I_o]H,QroX1["m,dbjo>D\jo>DW -k5PF4k+_#<s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtX8i7qX8i7UX8i7IXT&:!X8i7sXT&9OXJ)`qmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hRg&M-Jg&M-.g&M-"gA_/Og&M-LgA_/(g7d7#s8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@ajo>DVjo>D:jo>D.k5PF[jo>DXk5PF4k+Ur;s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8jtXSr4qX8i7WX8i7HX8i7!X8i7rX8i6OXIuZpmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hRgAV*Jg&M-0g&M-!g&M,Og&M-Kg&M,(g7[1"s8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@ak5GAVjo>D<jo>D-jo>C[jo>DWjo>C4k+Ll:s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8jIXSi.tXS;deXS;dHXFdPRmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=h'gAM$Mg@tZ>g@tZ!g4J&Ys8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@6k5>;Yk4eqJk4eq-k(;aqs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jiX8i7aX8i7%XT&:VX8i6OXF[JNXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hGg&M-:g&M,SgA_0/g&M,(g4@uUgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@Vjo>DFjo>C_k5PG;jo>C4k(2[mk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jjX8i7`X8i7bX8i7=X8i7hXSr4sXSr4rX8i6OXF[JOXT._fec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johC3g4=hHg&M-9g&M-;g&M,kg&M-AgAV*LgAV*Kg&M,(g4@uVgAh3PgAca(s7Y1HJcG`S -g7eQ/k.1PC~> -!<E0!johL1eVf@Wjo>DEjo>DGjo>D"jo>DMk5GAXk5GAWjo>C4k(2[nk5YJ\ec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johL1eS8jjX8i7GX8i7=X8i7fX8i7rX8i7sX8i6OXF[JOXT._fec1:%s7Y"CKE(rUeYN6- -k.LbF~> -!<E0!johC3g4=hHg&M,ug&M,kg&M-?g&M-Kg&M-Lg&M,(g4@uVgAh3PgAca(s7Y1HJcG`Sg7eQ/ -k.1PC~> -!<E0!johL1eVf@Wjo>D,jo>D"jo>DKjo>DWjo>DXjo>C4k(2[nk5YJ\ec1:%s7Y"CKE(rUeYN6- -k.LbF~> -!<E0!johL1eS8jjX8i7tXSi.tXT&;#XT&;!XSr4sXSr2$X8i7oXS`(rXSi.lXT&8)X8i7%!!'," -!<9/"!;3Gk!<0&#!3H/"qlKbsqQ'Ysq5aPrqQ'YsJZOF(rN-%ermh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!johC3g4=hHg&M-MgAM$MgA_0QgA_0OgAV*LgAV'Rg&M-HgACsKgAM$EgA_-Wg&M-,!!(aP -!<:dP!;5(D!<1[Q!8@DPqqD#LqUtoLq:YfKqUtoLJ_G\/rS%;Orn@C's8VfHs+14M#25dNk2s5T -J,~> -!<E0!johL1eVf@Wjo>DYk5>;Yk5PG]k5PG[k5GAXk5G>^jo>DTk555Wk5>;Qk5PDcjo>DD!!)0\ -!<;3\!;5LP!<2*]!9X7\qr[kXqW7bXq;qYWqW7bXJ`_OGrT=.[rmh%$s8VfCs+C@O#1]OLk2s>W -J,~> -!<E0!johL1eS8jjX8i7uX8i8!X8i8!X9AU*!3E7%r2]kur2]kuriH,"oW/#mqQ'YsrN#u!orS/n -#HRn*X8o?'!<&u!!;3Dn!<&u!!<0)"!<0&"!<&u!!<0&"!;iht!;W\r!;`bs!.h5&XSo7#mf(c: -KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hHg&M-Ng&M-Og&M-Og'%K1!8?-,r7V,Nr7V,Nrn@APo\'9FqUtoLrRq5Op"KEG -#MK.Xg&Tj\!<(UO!;5%G!<(UO!<1^P!<1[P!<(UO!<1[P!;kIM!;Y=K!;bCL!.ijTgATb*s8LaP -JcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Wjo>DZjo>D[jo>D[jokbI!9WDDr8mtZr8mtZroX4\o]?,RqW7bXrT4([p#c8S -#Nc!djoFQ+!<)$[!;5IS!<)$[!<2-\!<2*\!<)$[!<2*\!;kmY!;YaW!;bgX!.j9`k5FHBs8LRK -KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jkX8i7uX8i7tX8i8"XT&:qX8i8!X8i7uX8i7mX8i7tX8i7tX8i7oX9em.X8o?' -!3E7%rN#u!orJ,nq5aPrrN#u!ri?)"r2]kur2]kuq5aPrq5aPrJZOF(riH.frmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johC3g4=hIg&M-Ng&M-Mg&M-PgA_0Jg&M-Og&M-Ng&M-Fg&M-Mg&M-Mg&M-Hg'Ic5g&Tj\ -!8?-,rRq5Op"BBGq:YfKrRq5Orn7>Pr7V,Nr7V,Nq:YfKq:YfKJ_G\/rn@DPrn@C's8VfHs+14M -#25dNk2s5TJ,~> -!<E0!johL1eVf@Xjo>DZjo>DYjo>D\k5PGVjo>D[jo>DZjo>DRjo>DYjo>DYjo>DTjp;%MjoFQ+ -!9WDDrT4([p#Z5Sq;qYWrT4([roO1\r8mtZr8mtZq;qYWq;qYWJ`_OGroX7\rmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johL1eS8jjX8i8!X8i7tX8i8"X8i7pX8i8!X8i7uX8i7mX8i7tX8i7tX8i7oX9J[+X8o?' -!<0&%!3E7%o;qljrN#u!rN#u!riGqrr2]kuq5aPrqQ'YsJZOF(rN-%ermh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johC3g4=hHg&M-Og&M-Mg&M-Pg&M-Ig&M-Og&M-Ng&M-Fg&M-Mg&M-Mg&M-Hg'.Q2g&Tj\ -!<1[S!8?-,o@j-CrRq5OrRq5Orn@2Kr7V,Nq:YfKqUtoLJ_G\/rS%;Orn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!johL1eVf@Wjo>D[jo>DYjo>D\jo>DUjo>D[jo>DZjo>DRjo>DYjo>DYjo>DTjothJjoFQ+ -!<2*_!9WDDoB,uOrT4([rT4([roX%Wr8mtZq;qYWqW7bXJ`_OGrT=.[rmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johL1eS8jjX8i8!X8i7tX8i8"X8i7pX8i8!X8i7uX8i7mX8i7tX8i7tX8i7oX9J[+X8o?' -!<0&%!3E7%n#QKhri?)"rN#u!ri?)"p8e5oq5aPrqQ'YsJZOF(rN-%ermh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johC3g4=hHg&M-Og&M-Mg&M-Pg&M-Ig&M-Og&M-Ng&M-Fg&M-Mg&M-Mg&M-Hg'.Q2g&Tj\ -!<1[S!8?-,n(IaArn7>PrRq5Orn7>Pp=]KHq:YfKqUtoLJ_G\/rS%;Orn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!johL1eVf@Wjo>D[jo>DYjo>D\jo>DUjo>D[jo>DZjo>DRjo>DYjo>DYjo>DTjothJjoFQ+ -!<2*_!9WDDn)aTMroO1\rT4([roO1\p>u>Tq;qYWqW7bXJ`_OGrT=.[rmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johL1eS8jjX8i7uX8i8!X8i8!X8i7pX8i7uX8i8"XT&:mX8i8"X8i8"X8i8!X8i7uXT&:u -X9J[+X8o?'!<'#!!;!8l!<&u!!<0&"!<&u!!<&u!!<&u!!;rnu!;W\r!;`bs!;W_r!.h5,XT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hHg&M-Ng&M-Og&M-Og&M-Ig&M-Ng&M-PgA_0Fg&M-Pg&M-Pg&M-Og&M-NgA_0N -g'.Q2g&Tj\!<(XO!;"nE!<(UO!<1[P!<(UO!<(UO!<(UO!;tON!;Y=K!;bCL!;Y@K!.ijZgAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@Wjo>DZjo>D[jo>D[jo>DUjo>DZjo>D\k5PGRjo>D\jo>D\jo>D[jo>DZk5PGZ -jothJjoFQ+!<)'[!;#=Q!<)$[!<2*\!<)$[!<)$[!<)$[!;tsZ!;YaW!;bgX!;YdW!.j9fk5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jjX8i7tXSi.tXSi.rXS`(sXSr2#X8qjnrW)ktr;c_rrrE#!rW!,'!!')#!<&u! -!;!;i!<0)!!<9/"!<'"t!<'"s!<'"s!;rnu!;W_r!.h5,XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hHg&M-MgAM$MgAM$KgACsLgAV'Qg&U`urW)lMr;c`KrrE#OrW!,U!!(^Q!<(UO -!;"qB!<1^O!<:dP!<(XM!<(XL!<(XL!;tON!;Y@K!.ijZgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@Wjo>DYk5>;Yk5>;Wk555Xk5G>]joG#8rW)lYr;c`WrrE#[rW!,a!!)-]!<)$[ -!;#@N!<2-[!<;3\!<)'Y!<)'X!<)'X!;tsZ!;YdW!.j9fk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jjX8i7UX8i7[XT&:iX8i7<X8i7sXT&9OXG3hVmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hHg&M-.g&M-4gA_0Bg&M,jg&M-LgA_/(g4n>]s8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@Wjo>D:jo>D@k5PGNjo>D!jo>DXk5PF4k(`$us8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8jiX8i7WX8i7ZX8i7hX8i7=X8i7rX8i6OXG*bUmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hGg&M-0g&M-3g&M-Ag&M,kg&M-Kg&M,(g4e8\s8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@Vjo>D<jo>D?jo>DMjo>D"jo>DWjo>C4k(Vsts8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8jIXSi.tXS;eNXSi.tXS;dHXF[IsXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=h'gAM$Mg@t['gAM$Mg@tZ!g4@u%gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@6k5>;Yk4er3k5>;Yk4eq-k(2[=k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jiX8i7aX8i6OXJ)]q!8adW!;NYq!:m2k!9^H`!<'"r!;rnu!;W\r!:d,j!;W_q -!:d/jmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hGg&M-:g&M,(g7d4#!8cE0!;P:J!:nhD!9`)9!<(XK!;tON!;Y=K!:ebC!;Y@J -!:eeCs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Vjo>DFjo>C4k+Uo;!8ci<!;P^V!:o7P!9`ME!<)'W!;tsZ!;YaW!:f1O!;YdV -!:f4Os8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jjX8i7`X8i7GX8i7`X8i7`X9/I(X8r7$rW)u"rW(u[!!'p<!!)bp!!(lW!!)bp -!!)Sk!!)5a!W];%rN#u!rN#u!rN-#!qQ0\sqQ'c!XK2F!X8i7qX8i7jXT._fec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johC3g4=hHg&M-9g&M,ug&M-9g&M-9g&h?/g&V-+rW)uPrW)!4!!'pj!!)cI!!(m0!!)cI -!!)TD!!)6:!W^pSrRq5OrRq5OrS%8OqV(rLqUu#Og=cQ(g&M-Jg&M-CgAh3PgAca(s7Y1HJcG`S -g7eQ/k.1PC~> -!<E0!johL1eVf@Wjo>DEjo>D,jo>DEjo>DEjoYVGjoGDCrW)u\rW)!@!!'q!!!)cU!!(m<!!)cU -!!)TP!!)6F!W_?_rT4([rT4([rT=+[qW@eXqW7k[k2l[@jo>DVjo>DOk5YJ\ec1:%s7Y"CKE(rU -eYN6-k.LbF~> -!<E0!johL1eS8jjX8i7,X8i7`X8i7`X9/I(X8r4#rrE&"!!)#[!!'p<!!(*A!!(ZQ!W];%poFGq -ri?/$X8r.!!W];%qQ'c!XK2F!X8i7qX8i7jXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hHg&M,Zg&M-9g&M-9g&h?/g&V**rrE&P!!)$4!!'pj!!(*o!!([*!W^pSpt>]J -rn7DRg&V$(!W^pSqUu#Og=cQ(g&M-Jg&M-CgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@Wjo>Cfjo>DEjo>DEjoYVGjoGABrrE&\!!)$@!!'q!!!(+&!!([6!W_?_puVPV -roO7^joG;@!W_?_qW7k[k2l[@jo>DVjo>DOk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jjX8i7tXSi.tXT&;#XT&;!XSr4sXSr2$X8i7mXSr2#X8r7$r;churr<&#rW)nu -quHVqrW)r!rr<&#rW)nuquHYrquHAj!s#F(!<&u&!3?1%X8r1"rW)r!rW)r!rW)\oquH\srrE)# -rrE#!r;churr<&#rW)ktquH\sr;c_rrW!&%!3E:"!;rqt!;ikr!<0)"!!',"!;!;k!;iks!!0/$ -oW8#lqlK\qoW/,pXK2EtX8i7tX8i7rX8i7sX9/I(X8r.!!!)eq!!)Pjs6fm:s+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johC3g4=hHg&M-MgAM$MgA_0QgA_0OgAV*LgAV'Rg&M-FgAV'Qg&V-+r;ciNrr<&QrW)oN -quHWJrW)rOrr<&QrW)oNquHZKquHBC!s%'/!<(UT!87G,g&V')rW)rOrW)rOrW)]HquH]LrrE)Q -rrE#Or;ciNrr<&QrW)lMquH]Lr;c`KrW!&S!8?0)!;tRM!;kLK!<1^P!!(aP!;"qD!;kLL!!1dR -o\09EqqCrJo\'BIg=cQ&g&M-Mg&M-Kg&M-Lg&h?/g&V$(!!)fJ!!)QCs8W)Ps+14Mp=fOts8N;W -U&X9;\c@6~> -!<E0!johL1eVf@Wjo>DYk5>;Yk5PG]k5PG[k5GAXk5G>^jo>DRk5G>]joGDCr;ciZrr<&]rW)oZ -quHWVrW)r[rr<&]rW)oZquHZWquHBO!s%KG!<)$`!9O:DjoG>ArW)r[rW)r[rW)]TquH]XrrE)] -rrE#[r;ciZrr<&]rW)lYquH]Xr;c`WrW!&_!9WGA!;u!Y!;kpW!<2-\!!)0\!;#@P!;kpX!!23^ -o]H,Qqr[eVo]?5Uk2l[>jo>DYjo>DWjo>DXjoYVGjoG;@!!)fV!!)QOs8W)Ks+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johL1eS8jjX8i7uX8i8!X8i8!X9AU*!3E7%r2]kur2]kuriH,"oW/#mriH,"s/Z2#rN#u! -riH,"ri?)"rN#u!q5aPrri?)"riH,"ri?)"rN#u!qQ'YsrN#u!oW/,pXK2F#X9AU*!3E7%rN#u! -ri?)"ri?)"r2]kuorJ,nq5ai%X8o?'!3E7%rN#u!riH,"ri?)"ri?)"rN#u!ri?)"rN#u!rN#u! -riH,"ri?)"pT+>pr2]kurN#u!riH,"ri?)"nuMfkr2]kuriH,"nuMfkr2]kurN#u!oW/,pXK2Et -X8i7tX8i7rX8i7sX9/I(X8r.!!!)eq!!)Pjs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hHg&M-Ng&M-Og&M-Og'%K1!8?-,r7V,Nr7V,Nrn@APo\'9Frn@APs4RGQrRq5O -rn@APrn7>PrRq5Oq:YfKrn7>Prn@APrn7>PrRq5OqUtoLrRq5Oo\'BIg=cQ*g'%K1!8?-,rRq5O -rn7>Prn7>Pr7V,Np"BBGq:Z)Sg&Tj\!8?-,rRq5Orn@APrn7>Prn7>PrRq5Orn7>PrRq5OrRq5O -rn@APrn7>PpY#TIr7V,NrRq5Orn@APrn7>Po%F'Dr7V,Nrn@APo%F'Dr7V,NrRq5Oo\'BIg=cQ& -g&M-Mg&M-Kg&M-Lg&h?/g&V$(!!)fJ!!)QCs8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@Wjo>DZjo>D[jo>D[jokbI!9WDDr8mtZr8mtZroX4\o]?,RroX4\s5j:]rT4([ -roX4\roO1\rT4([q;qYWroO1\roX4\roO1\rT4([qW7bXrT4([o]?5Uk2l[BjokbI!9WDDrT4([ -roO1\roO1\r8mtZp#Z5Sq;qq_joFQ+!9WDDrT4([roX4\roO1\roO1\rT4([roO1\rT4([rT4([ -roX4\roO1\pZ;GUr8mtZrT4([roX4\roO1\o&]oPr8mtZroX4\o&]oPr8mtZrT4([o]?5Uk2l[> -jo>DYjo>DWjo>DXjoYVGjoG;@!!)fV!!)QOs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8jkX8i7uX8i7tX8i8"XT&:qX8i8!X8i7uX8i7nX8i7uX9&C'!;ii"!3E7%rN#u! -rN#u!qQ'Ysr2]u#XK2F#X8i8!X8i7sX8i7`X9AU*X8o=%ri?)"r2^2)XK2E'X8o?'!;3Dn!;W_r -!;<Jo!<0&"!<&u!!<0&"!;*>m!<0&"!;rnu!<0&"!;EPp!<&u!!;ii"!3E7%rN#u!nuMfkrN#u! -r2]kunuMfkr2]kun>lTiri?)"q5aPrqlBbtq5aPrn#QKhq5aPrnZ;cYrmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johC3g4=hIg&M-Ng&M-Mg&M-PgA_0Jg&M-Og&M-Ng&M-Gg&M-Ng&_9.!;kIP!8?-,rRq5O -rRq5OqUtoLr7V5Qg=cQ*g&M-Og&M-Lg&M-9g'%K1g&Th,rn7>Pr7VGWg=cP\g&Tj\!;5%G!;Y@K -!;>+H!<1[P!<(UO!<1[P!;+tF!<1[P!;tON!<1[P!;G1I!<(UO!;kIP!8?-,rRq5Oo%F'DrRq5O -r7V,No%F'Dr7V,NnCdjBrn7>Pq:YfKqq;#Mq:YfKn(IaAq:YfKn_4$Crn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!johL1eVf@Xjo>DZjo>DYjo>D\k5PGVjo>D[jo>DZjo>DSjo>DZjoPPF!;km\!9WDDrT4([ -rT4([qW7bXr8n(]k2l[Bjo>D[jo>DXjo>DEjokbIjoFNDroO1\r8n:ck2l[+joFQ+!;5IS!;YdW -!;>OT!<2*\!<)$[!<2*\!;,CR!<2*\!;tsZ!<2*\!;GUU!<)$[!;km\!9WDDrT4([o&]oPrT4([ -r8mtZo&]oPr8mtZnE']NroO1\q;qYWqrRkYq;qYWn)aTMq;qYWn`KlOrmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johL1eS8jjX8i8!X8i7tX8i8"X8i7pX8i8!X8i7uX8i7nX8i7sX8i7tX9/I(X8r4#!!)u! -!!)ksq>gPs!!)u!!!)u!!!)hrr;c/b"TYX*!3?2"XSMqsX9J[+X8o?'!;3Dn!;W\r!;W_o!<0&" -!<&u!!<'"t!;rqr!<0&"!;NVq!;EPp!<&u!!;ii"!3E7%rN#u!nuMfkrN#u!r2]kunuMfkqlK_r -oW/#mri?)"qQ'YsqQ'Ysq5aPrn>lTipoFGqnZ;cYrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hHg&M-Og&M-Mg&M-Pg&M-Ig&M-Og&M-Ng&M-Gg&M-Lg&M-Mg&h?/g&V**!!)uO -!!)lLq>gQL!!)uO!!)uO!!)iKr;c0;"T[91!87GPgA1gLg'.Q2g&Tj\!;5%G!;Y=K!;Y@H!<1[P -!<(UO!<(XM!;tRK!<1[P!;P7J!;G1I!<(UO!;kIP!8?-,rRq5Oo%F'DrRq5Or7V,No%F'DqqCuK -o\'9Frn7>PqUtoLqUtoLq:YfKnCdjBpt>]Jn_4$Crn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@Wjo>D[jo>DYjo>D\jo>DUjo>D[jo>DZjo>DSjo>DXjo>DYjoYVGjoGAB!!)u[ -!!)lXq>gQX!!)u[!!)u[!!)iWr;c0G"T[]I!9O:\k5#)XjothJjoFQ+!;5IS!;YaW!;YdT!<2*\ -!<)$[!<)'Y!;u!W!<2*\!;P[V!;GUU!<)$[!;km\!9WDDrT4([o&]oPrT4([r8mtZo&]oPqr[hW -o]?,RroO1\qW7bXqW7bXq;qYWnE']NpuVPVn`KlOrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8jjX8i8!X8i7tX8i8"X8i7pX8i8!X8i7uX8i7nX8i7sX8i7tX9/I(X8r4#!!)u! -!!)ks!!)hr!!)u!!!)u!!!)\n!!)Ae!!*#"rrE&"!!)eq"9>M'X8qmo!!)hr!!)ks!!)u!!!*#" -!!)u!!!)hr!!*#"!!)u!!!*#"!!)eq!!)bp!!)u!!!)nt!s#F(!<&u!!:m2k!<&u!!;rnu!:m2k -!;EPp!;3Gj!;iht!;`bs!;W\r!:[&i!;NVq!:d/jmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hHg&M-Og&M-Mg&M-Pg&M-Ig&M-Og&M-Ng&M-Gg&M-Lg&M-Mg&h?/g&V**!!)uO -!!)lL!!)iK!!)uO!!)uO!!)]G!!)B>!!*#PrrE&P!!)fJ"9@-Ug&Ud!!!)iK!!)lL!!)uO!!*#P -!!)uO!!)iK!!*#P!!)uO!!*#P!!)fJ!!)cI!!)uO!!)oM!s%'/!<(UO!:nhD!<(UO!;tON!:nhD -!;G1I!;5(C!;kIM!;bCL!;Y=K!:\\B!;P7J!:eeCs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Wjo>D[jo>DYjo>D\jo>DUjo>D[jo>DZjo>DSjo>DXjo>DYjoYVGjoGAB!!)u[ -!!)lX!!)iW!!)u[!!)u[!!)]S!!)BJ!!*#\rrE&\!!)fV"9@QajoG&9!!)iW!!)lX!!)u[!!*#\ -!!)u[!!)iW!!*#\!!)u[!!*#\!!)fV!!)cU!!)u[!!)oY!s%KG!<)$[!:o7P!<)$[!;tsZ!:o7P -!;GUU!;5LO!;kmY!;bgX!;YaW!:]+N!;P[V!:f4Os8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jjX8i7uX8i8!X8i8!X8i7pX8i7uX8i8"XT&:mX8i8!X9/I(X8r4#!!*#"!!)u! -!!)u!!!*#"!!)u!!!)u!!s#F(!<&u!!<&u!!<0&"!<0&"!<&u!!;rqu!;!8l!<0)"!<&u!!<&u! -!<0)"!!95%!;*>m!<0&"!<&u!!;`bs!<0)"!<0&"!<&u!!<0&"!<&u!!<0&"!<0)"!<&u!!<&u! -!<0&"!<0&"!;iht!;rnu!<&u!!<0&"!<&u!!:m2k!;rnu!<0)"!:m2k!;rnu!<&u!!:d,j!;`bs -!;`bs!;W\r!:[&i!;NVq!:d/jmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hHg&M-Ng&M-Og&M-Og&M-Ig&M-Ng&M-PgA_0Fg&M-Og&h?/g&V**!!*#P!!)uO -!!)uO!!*#P!!)uO!!)uO!s%'/!<(UO!<(UO!<1[P!<1[P!<(UO!;tRN!;"nE!<1^P!<(UO!<(UO -!<1^P!!:jS!;+tF!<1[P!<(UO!;bCL!<1^P!<1[P!<(UO!<1[P!<(UO!<1[P!<1^P!<(UO!<(UO -!<1[P!<1[P!;kIM!;tON!<(UO!<1[P!<(UO!:nhD!;tON!<1^P!:nhD!;tON!<(UO!:ebC!;bCL -!;bCL!;Y=K!:\\B!;P7J!:eeCs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Wjo>DZjo>D[jo>D[jo>DUjo>DZjo>D\k5PGRjo>D[joYVGjoGAB!!*#\!!)u[ -!!)u[!!*#\!!)u[!!)u[!s%KG!<)$[!<)$[!<2*\!<2*\!<)$[!;u!Z!;#=Q!<2-\!<)$[!<)$[ -!<2-\!!;9_!;,CR!<2*\!<)$[!;bgX!<2-\!<2*\!<)$[!<2*\!<)$[!<2*\!<2-\!<)$[!<)$[ -!<2*\!<2*\!;kmY!;tsZ!<)$[!<2*\!<)$[!:o7P!;tsZ!<2-\!:o7P!;tsZ!<)$[!:f1O!;bgX -!;bgX!;YaW!:]+N!;P[V!:f4Os8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jjX8i7tXSi.tXSi.rXS`(sXSr2#X8qjnr;cetr;churW)u"rW)nurW)hsr;cl! -rW)u"rW)nurW)nuquHVqrrD\mrW)r!!!)qur;cetrr<,%!!)VlrW)nur;c_rrW!&%!!',"!<9/" -!<9.u!;rqt!!95%!<'"t!;rqt!;rqr!<'"t!<0)!!<9/"!;3Gk!<'"u!!95%!;3Gk!<0(t!:d/i -!;iht!;rqr!<'"s!:m2k!;NVq!:d/jmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hHg&M-MgAM$MgAM$KgACsLgAV'Qg&U`ur;cfMr;ciNrW)uPrW)oNrW)iLr;clO -rW)uPrW)oNrW)oNquHWJrrD]FrW)rO!!)rNr;cfMrr<,S!!)WErW)oNr;c`KrW!&S!!(aP!<:dP -!<:dN!;tRM!!:jS!<(XM!;tRM!;tRK!<(XM!<1^O!<:dP!;5(D!<(XN!!:jS!;5(D!<1^M!:eeB -!;kIM!;tRK!<(XL!:nhD!;P7J!:eeCs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Wjo>DYk5>;Yk5>;Wk555Xk5G>]joG#8r;cfYr;ciZrW)u\rW)oZrW)iXr;cl[ -rW)u\rW)oZrW)oZquHWVrrD]RrW)r[!!)rZr;cfYrr<,_!!)WQrW)oZr;c`WrW!&_!!)0\!<;3\ -!<;3Z!;u!Y!!;9_!<)'Y!;u!Y!;u!W!<)'Y!<2-[!<;3\!;5LP!<)'Z!!;9_!;5LP!<2-Y!:f4N -!;kmY!;u!W!<)'X!:o7P!;P[V!:f4Os8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jjX8i7UX8i7%XT&9OXF[JOX8i7qX8i7jXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hHg&M-.g&M,SgA_/(g4@uVg&M-Jg&M-CgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@Wjo>D:jo>C_k5PF4k(2[njo>DVjo>DOk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jiX8i7WX8i7$X8i6OXF[JOX8i7rXSr4iXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hGg&M-0g&M,Rg&M,(g4@uVg&M-KgAV*BgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@Vjo>D<jo>C^jo>C4k(2[njo>DWk5GANk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jIXSi.tXS;dHXF[I=XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=h'gAM$Mg@tZ!g4@tDgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@6k5>;Yk4eq-k(2Z\k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE(uDKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcGcBJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE(uDKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K)krCKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJH5`AJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK)krCKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCZ_Urs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJb$\Xrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCZ_Urs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KCJmFeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJai[Dg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKCJmFeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K)iUWrs=>Xs4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJH3RZrs=8Vs4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK)iUWrs=>Xs4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:K*&ads7k.EK*f6ks4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJHE^gs7k=JJI03ns4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKK*&ads7k.EK*f6ks4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE&Xbs7t4FK*f6ks4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcEUes7tCKJI03ns4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE&Xbs7t4FK*f6ks4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KE&Xbs8(:GKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJcEUes8(ILJcEUers%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKE&Xbs8(:GKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDrRas81@HKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc<Ods81OMJcEUers%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDrRas81@HKE&Xbrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDrRas8:FIKDrRars%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc<Ods8:UNJc<Odrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDrRas8:FIKDrRars%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDiL`s8CLJKDrRars%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc3Ics8C[OJc<Odrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDiL`s8CLJKDrRars%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDiL`s8LRKKDiL`rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc3Ics8LaPJc3Icrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDiL`s8LRKKDiL`rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KD`F_s8UXLKDiL`rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc*Cbs8UgQJc3Icrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKD`F_s8UXLKDiL`rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc*CbrrUo*Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKD`F_rrU`'KD`F_rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=^s8IZK^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:as8ITI_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=^s8IZK^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJc!:cs+,au_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDW=`s+>t$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I(XOaKQmf(c:KDN:]KDW@^rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t/g=G!Xs8LaPJbm7`Jc!=ars%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZGk18\ps8LRKKDN:]KDW@^rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMmXaeWmaU\(ec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+s+13$s4%)JgAca#_>o/`_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:s+13$s4%)Jec19u]`<]]^&S*:eYN6-k.LbF~> -!<E0!jo_F0eS9['JaS*We*d4cs+Bh@#1]OLk2s>WJ,~> -!<E0!jo_=2g4=hTJcC<$e,TF$s+0\>#25dNk2s5TJ,~> -!<E0!jo_F0eVf"YJcC<$e,TEts+Bh@#1]OLk2s>WJ,~> -!<E0!joD3.eUc8%e]lVEKCAgEeYN6-k.LbF~> -!<E0!joD*+g4@t/g<J=OJa`UCg7eQ/k.1PC~> -!<E0!joD3.eUc8%e]lVEKCAgEeYN6-k.LbF~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD*+g4@t/g:>o@U&X9;\c@6~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joD*+g4@t/g:>o@U&X9;\c@6~> -!<E0!joD3.eUc8%e[a36V#TT>]`<Q~> -!<E0!joM:.JV/N+JV2=%ldZ07s5rIW!.Y~> -!<E0!joM10JUrB'JUu1!le2N9s5rIT!.Y~> -!<E0!joM:.JV/N+JV2=%ldZ07s5rIW!.Y~> -!<E0!joM:.JV/N+JV2@&!<;B8"f21\k.LbF~> -!<E0!joM10JUrB'JUu4"!<;B="ektYk.1PC~> -!<E0!joM:.JV/N+JV2@&!<;B8"f21\k.LbF~> -!<E0!jo_F0K7id/!WTias+13$s7H<m^&S-)^&S,ueHMcKk2s>WJ,~> -!<E0!jo_=2JV!F0!WU#fs+13$s7H<m_Z0Z._Z0Z%g'+2Mk2s5TJ,~> -!<E0!jo_F0K7id/!WTias+13$s7H<m^&S-)^&S,ueHMcKk2s>WJ,~> -!<E0!jo_F0K7ij1s8N+P]n-37s+14CrrIbcrVuT)s8VE8"f21\k.LbF~> -!<E0!jo_=2JV!L2s8N+N_L_`<s+14CrrI\frVuT.s8VE="ektYk.1PC~> -!<E0!jo_F0K7ij1s8N+P]n-37s+14CrrIbcrVuT)s8VE8"f21\k.LbF~> -!<Bh3S-%5nKD3(Ys8R]Q^&S+`eUc8%ebI\pK)iU^s7j;-s6J2=S@tG_!!%N~> -!<B_0R0))nJbR%\s8RWO_Z0Xeg4@t/gA'D%JH3Ras7jJ2s6JABRC\fS!!%N~> -!<Bh3S-%5nKD3(Ys8R]Q^&S+`eUc8%ebI\pK)iU^s7j;-s6J2=S@tG_!!%N~> -!!)uB".[noKDE4Zrrpr*K>%<bJ^o>%J^sPGs+:Hfs8UX"rVu`-s8VE8"e<iN]po(Q~> -!!)u?".@koJbd1]rrq,-J\qHeJ_G\/J_KnQs+(<is8Ug,rVu`2s8VE="e!NE\sWPK~> -!!)uB".[noKDE4Zrrpr*K>%<bJ^o>%J^sPGs+:Hfs8UX"rVu`-s8VE8"e<iN]po(Q~> -!<CCD]`XeTK7j'7rVulIs+:Bds8RZ#J^o>%psoCs!knX6rRLlHr4W.1ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!^8rVulNs+(6gs8RZ(J_G\/ptGb!!lG!;rS%5Mr5/L6le2N1b.>0P!.Y~> -!<CCD]`XeTK7j'7rVulIs+:Bds8RZ#J^o>%psoCs!knX6rRLlHr4W.1ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j-9rVufGs+:Bds8RZ#J^o>%psoCs!knX6qpkZFrk8@3ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!d:rVufLs+(6gs8RZ(J_G\/ptGb!!lG!;qqD#Krke^8le2N1b.>0P!.Y~> -!<CCD]`XeTK7j-9rVufGs+:Bds8RZ#J^o>%psoCs!knX6qpkZFrk8@3ldZ0/c+Uf\!.Y~> -!<CCD]`jqVK7gkNrVu`Es+:Bds8RZ#J^o>%psoCs!knX6q:5HD!knX6ldZ0/c+Uf\!.Y~> -!<C:A\cnMUJUt\TrVu`Js+(6gs8RZ(J_G\/ptGb!!lG!;q:bfI!lG!;le2N1b.>0P!.Y~> -!<CCD]`jqVK7gkNrVu`Es+:Bds8RZ#J^o>%psoCs!knX6q:5HD!knX6ldZ0/c+Uf\!.Y~> -!<CCD]`FYRqh+[os+:Bds8RZ#J^o>%psoCs!knX6pso=qs8VE8"e<iN]po(Q~> -!<C:A\cJ5QqgnOrs+(6gs8RZ(J_G\/ptGb!!lG!;ptG[ts8VE="e!NE\sWPK~> -!<CCD]`FYRqh+[os+:Bds8RZ#J^o>%psoCs!knX6pso=qs8VE8"e<iN]po(Q~> -!<CCD]`jqVK7gkNrIasss+:Bds8RZ#J^o>%psoCs!knX6q:5Fr!knX6ldZ0/c+Uf\!.Y~> -!<C:A\cnMUJUt\TrIOh!s+(6gs8RZ(J_G\/ptGb!!lG!;q:bdu!lG!;le2N1b.>0P!.Y~> -!<CCD]`jqVK7gkNrIasss+:Bds8RZ#J^o>%psoCs!knX6q:5Fr!knX6ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j-9rIb$us+:Bds8RZ#J^o>%psoCs!knX6qpkXtrk8@3ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!d:rIOn#s+(6gs8RZ(J_G\/ptGb!!lG!;qqD""rke^8le2N1b.>0P!.Y~> -!<CCD]`XeTK7j-9rIb$us+:Bds8RZ#J^o>%psoCs!knX6qpkXtrk8@3ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j'7rIb+"s+:Bds8RZ#J^o>%psoCs!knX6rRLk!r4W.1ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!^8rIOt%s+(6gs8RZ(J_G\/ptGb!!lG!;rS%4$r5/L6le2N1b.>0P!.Y~> -!<CCD]`XeTK7j'7rIb+"s+:Bds8RZ#J^o>%psoCs!knX6rRLk!r4W.1ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7j!5rIY:(K7gl;s+/^OeUc9Gec17)^&S,_ebt-s^&S,ueHMJf]tKp9J,~> -!<C:A\c\ASJV!X6rIG.+JUt]<s+/mTg4@uQgAc^,_Z0YigAQU!_Z0Z%g'*ne]"4:0J,~> -!<CCD]`XeTK7j!5rIY:(K7gl;s+/^OeUc9Gec17)^&S,_ebt-s^&S,ueHMJf]tKp9J,~> -!<CCD]`XeTK7ip3r.>'as8RZ#J^o>%psoCs!knX6rIamYs8VE8"e<iN]po(Q~> -!<C:A\c\ASJV!R4r.+pds8RZ(J_G\/ptGb!!lG!;rIOa\s8VE="e!NE\sWPK~> -!<CCD]`XeTK7ip3r.>'as8RZ#J^o>%psoCs!knX6rIamYs8VE8"e<iN]po(Q~> -!<CCD]`XeTK7ij1rdt9cs8RY&JV/N+p4EL]s8R_(p:^M+ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!L2rdb-fs8RY$JUrB'p43@`s8RY$p;6k0le2N1b.>0P!.Y~> -!<CCD]`XeTK7ij1rdt9cs8RY&JV/N+p4EL]s8R_(p:^M+ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7id/!e\2dJV/N+JV3WJ!knVdoY(;)ldZ0/c+Uf\!.Y~> -!<C:A\c\ASJV!F0!eJ5gJUrB'JV!KF!lFtgoYUY.le2N1b.>0P!.Y~> -!<CCD]`XeTK7id/!e\2dJV/N+JV3WJ!knVdoY(;)ldZ0/c+Uf\!.Y~> -!<CCD]`XeTK7eaTJcC<$df8X`"e<iN]po(Q~> -!<C:A\c\ASJUrCPJcC<$df8Xe"e!NE\sWPK~> -!<CCD]`XeTK7eaTJcC<$df8X`"e<iN]po(Q~> -!<CCD]`O_SK7X&Rs+13ts6J2=SB\a\S,e'~> -!<C:A\cS;RJV!iPs+13ts6JABREE+PR/ha~> -!<CCD]`O_SK7X&Rs+13ts6J2=SB\a\S,e'~> -!<CCD]`=RReUc8%e[a36SB\a\S,e'~> -!<C:A\cA.Lg4@t/g:>o@REE+PR/ha~> -!<CCD]`=RReUc8%e[a36SB\a\S,e'~> -!<CCC^%%VDUk,=mUtMOD^%.Znc2PBWS,e'~> -!<C:@]()2>Tn/ngU"Q+>](26hb5SsQR/ha~> -!<CCC^%%VDUk,=mUtMOD^%.Znc2PBWS,e'~> -!]^8*rOqgI!53s`JcC<$g<erk/B'!7cT~> -!^m%2rOVUC!4ma]JcC<$g<brji0!!8;r~> -!cn@drOqgI!53s`JcC<$g<erk/B'!7cT~> -!\j]"n%A^kJ`_OGJ`bYJ!6suG!h98@J,~> -!^m%2n%&LeJ`_OGJ`bYJ!6XcA!gs&BJ,~> -!bq_[n%A^kJ`_OGJ`bYJ!6suG!h98@J,~> -s#C,\S=K,_!1\W&J`_OGg#`:Zn\+sm!W^d$J,~> -s$QngR@3TV!1AE#J`_OGg#`:Wn[eag!W^s.J,~> -s)S5AS=K,_!1\W&J`_OGg#`:Zn\+sm!W^d$J,~> -r\=EQn=5'CJ\?WJfY-gFrrE&KJ,~> -r^?bdn<nj=J\$EDfXgU@rrE&PJ,~> -rcA)>n=5'CJ\?WJfY-gFrrE&KJ,~> -r](!63Iq0]!.b-Z!<:RNs4,YM~> -r'Z)9JH16$[fHH^!W^s.J,~> -r,[DhJH16$[fHHY!W^d$J,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/sim_trans_mgr_actors.gif b/lib/et/doc/src/sim_trans_mgr_actors.gif Binary files differdeleted file mode 100644 index b954a45bba..0000000000 --- a/lib/et/doc/src/sim_trans_mgr_actors.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans_mgr_actors.png b/lib/et/doc/src/sim_trans_mgr_actors.png Binary files differnew file mode 100644 index 0000000000..e42e82adad --- /dev/null +++ b/lib/et/doc/src/sim_trans_mgr_actors.png diff --git a/lib/et/doc/src/sim_trans_mgr_actors.ps b/lib/et/doc/src/sim_trans_mgr_actors.ps deleted file mode 100644 index 9bfa4ab544..0000000000 --- a/lib/et/doc/src/sim_trans_mgr_actors.ps +++ /dev/null @@ -1,1705 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/sim_trans_mgr_actors.ps -%%CreationDate: Mon Oct 14 17:07:53 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 443 371 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 356.135581 translate -428.031496 -356.135581 scale -% Image geometry -512 426 8 -% Transformation matrix -[ 512 0 0 426 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 512 string def -/gstr 512 string def -/bstr 512 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 92674 ASCII Bytes -colorimage -r.BP#JH16$MZE\TJ,~> -r.0D!JH16$MZE\TJ,~> -r.BP#JH16$MZE\TJ,~> -rk8=3nc&U&JcC<$JcF@%!56GQquD6~> -rke[8nc&U'JcC<$JcF@%!5?MRquD6~> -rk8=3nc&U&JcC<$JcF@%!56GQquD6~> -s1JI6s8VWG!53s6J^o>%f@9l7a56ja!W`9#J,~> -s2"g;s8VWC!5=$8J_#D'f@Br9a4gR]!W`9#J,~> -s1JI6s8VWG!53s6J^o>%f@9l7a56ja!W`9#J,~> -!keU6n(n&XJ^o>%J^rB&!56A.!lY0>J,~> -!l=s;n(IcUJ_#D'J_&H(!5?G+!l=s;J,~> -!keU6n(n&XJ^o>%J^rB&!56A.!lY0>J,~> -!keU6n(n&X\((JtJ^o>%U=B7W`SL[8!<7Q~> -!l=s;n(IcU\(1T&dXfu#et^dr^;\e-_>sUd~> -!keU6n(n&X\((JtJ^o>%U=B7W`SL[8!<7Q~> -!<E/fh>k7Kec1lieHNpfe\-<VrfmH5!J>`neH)JZJ^oY.!57RPpRLp5s.'&Es.'#D!NZ9O~> -!<E/fg&SkHf)LlgedTEhf"Q]`R?<W_eq&CHecDJYJ_#_0!5@XMpR1^.s-`i>s-`f=!NlEQ~> -!<E/fh>k7Kec1lieHNpfe\-<VrfmH5!J>`neH)JZJ^oY.!57RPpRLp5s.'&Es.'#D!NZ9O~> -!<E/thZ',ChZ',Eh>k7]eH*Y&n^[Z(hUN4WHaM=]Hc=O"Ph"<:He$Zc]tMqs`P(Wg!jm<nJ^o\/ -!57RPpRLs6rLEoErLEiC!NZ9O~> -!<E/tf)M08f)M0:ec<GVdK.4nn^@H"hU3"QJ[X!dIE'QpOj_[/J^Vu`[_:)i_RAgZ!k*NkJ^TJ) -!5@XIpR1a+rL*]:rL*W8!NlEQ~> -!<E/thZ',ChZ',Eh>k7]eH*Y&n^[Z(hUN4WHaM=]Hc=O"Ph"<:He$Zc]tMqs`P(Wg!jm<nJ^o\/ -!57RPpRLs6rLEoErLEiC!NZ9O~> -!<E/uhYiuChYiuDh>k7]eH(;LbgclTPh"<:Hi)=sK6u/!K6t;^!J>abeH(nmJ^o\/!57RPpRLs6 -pRM3=!NZ9O~> -!<E/uf);$8f);$9ec<GVdf4mBdKPJmdaE\tqpPLqs3gpu^!cq3ld>g!M1O*5dK%#Ef(YU+f(YU2 -ecDoRJ,~> -!<E/uhYiuChYiuDh>k7]eH(;LbgclTPh"<:Hi)=sK6u/!K6t;^!J>abeH(nmJ^o\/!57RPpRLs6 -pRM3=!NZ9O~> -!<E/uhY`oDhY`oCh>k7deHX!NH\8]UV#G]@`V\15S9qs"eZ=DRK6u/!`J](q[+27)`RUK*`RUKS -e]!GnK='1ZMi4ZprRD%aHbIt"rd+pqK6u/!K6u.Erd4[a%#]Ib[+3]bMl_ieK7!LGs,.8uK6su4 -K6suUe]!dOHiMXrMZKo;qUH(pP^@b8`RWM?MgKf/c(t>c"i[R$H],!)ec1O9XGbWJMgKf'^"'fC -]n+^meH!;GhY3Q5hYE]>h>s\XJ,~> -!<E/uf)1s9f)1s8ec<G]dK[RNI>+uTU&KH?_Y_b/R=2Zpd\VZGJUu7t_NB8#ZI5b$_U=j#_U=jG -d__,pKsK.TNK'corR(h[ICdjprd>'pJUu7tJUu7CrdFg`%$>slZI70\NMVW_JV!^Hs,@DpKn6D8 -Kn6PXd__.FIK.aqN<,l8qU,knOb%q?^=(H4M1'f/b+\f_"i@F!I>P-+df5:8V2`p?Ob%q7[aMU4 -\q/:gdK%#Ef(YU*f(ka3ecDoRJ,~> -!<E/uhY`oDhY`oCh>k7deHX!NH\8]UV#G]@`V\15S9qs"eZ=DRK6u/!`J](q[+27)`RUK*`RUKS -e]!GnK='1ZMi4ZprRD%aHbIt"rd+pqK6u/!K6u.Erd4[a%#]Ib[+3]bMl_ieK7!LGs,.8uK6su4 -K6suUe]!dOHiMXrMZKo;qUH(pP^@b8`RWM?MgKf/c(t>c"i[R$H],!)ec1O9XGbWJMgKf'^"'fC -]n+^meH!;GhY3Q5hYE]>h>s\XJ,~> -!<E/teb>U4eH!;\bmMFBK>!Lr`Pm1N^&#u$[!S%^c%Dh:K6tk^K7gk%Hc<[FXNcBEXNcC)`IifV -P^CBoK6rNPrQQOVHc=7KH[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^H]+]EMhCoO(P@'mS9oU@S9on5 -c%CYfc%CAfc%CA$V#&=b]r\oSH]-.EH],8<UrC<"HbH5%PeE<.XNf"BH]+]EMgMhE[(X`'H^oZ3 -N6M@9kLBR&q:,J8o[Wi/qpb_K!.Y~> -!<E/tdeB1.dK%#Zc3h^FKt<Ot`l<RX_YVP*[XFRhcAACCJUu+hJVC\#IE&jHWm6<HWm61(b(58X -Q$pZtJUNBOrQZU\IE'RPJUPD\JUu+lJUu+dJUPDTJVC\#IE'Q`I>OfGM2D,T(P.!oTm_?KTm_X? -b(58`c@p\lc@LD#V>AId^952YI>Q7GI>P8<WlE&0IDW"4Q+iN3Wm8n@I>OfGM1)hH[_C&,IA)5; -N6VF;kL'?uq9f82o[<W)qpGMJ!.Y~> -!<E/teb>U4eH!;\bmMFBK>!Lr`Pm1N^&#u$[!S%^c%Dh:K6tk^K7gk%Hc<[FXNcBEXNcC)`IifV -P^CBoK6rNPrQQOVHc=7KH[EHNK6tkfK6tk^H[EHFK7gk%Hc=6^H]+]EMhCoO(P@'mS9oU@S9on5 -c%CYfc%CAfc%CA$V#&=b]r\oSH]-.EH],8<UrC<"HbH5%PeE<.XNf"BH]+]EMgMhE[(X`'H^oZ3 -N6M@9kLBR&q:,J8o[Wi/qpb_K!.Y~> -!<E/sebPa5eH!;\bmCIuSB\-^XNcBEprt(:Hd06N`Qa$^c)c8^c)c8nc$P\oH\7QrHd/X=SB\-^ -XNcBEqoo/+HiD8,K6tkfK6tkfK6tkfK6tkEH^r?^H`YJEHhP]!K6tS^H[E`VH[F#=H^r@*K6tkf -K7!=:#K=B/K?]$q`VdsiK6tjqHc=7KH\9SfK7!UB",hMr^&?1VH^'*+N6M@9kLBR&q:,J8o[Wi/ -qpb_K!.Y~> -!<E/sdeT=/dK%#Zc3^Y%TusNdY0MTLps/nj,Kd`K_Tm^`cE;Shb-$/qc@(ttI>+*+IEJ^@TusNd -Y0MTHb5BNcQ$rYWs+13qs+13qs+13qs+(R'Y'm"dY'mIuJUP]8c5(tZb0GQdb0GQhcE_khcH_,l -cH^uhb4j0d_S1STc@p\`r6G=n'$c>^`m2SPM9aCtIEKj\M1(r3rQYFlQ%@5>c2bTAdK#^2dK#^- -defI0dK-KNJ,~> -!<E/sebPa5eH!;\bmCIuSB\-^XNcBEprt(:Hd06N`Qa$^c)c8^c)c8nc$P\oH\7QrHd/X=SB\-^ -XNcBEqoo/+HiD8,K6tkfK6tkfK6tkfK6tkEH^r?^H`YJEHhP]!K6tS^H[E`VH[F#=H^r@*K6tkf -K7!=:#K=B/K?]$q`VdsiK6tjqHc=7KH\9SfK7!UB",hMr^&?1VH^'*+N6M@9kLBR&q:,J8o[Wi/ -qpb_K!.Y~> -!<E/rebbm6eH!;\blFR;HNU(gK7!C<$ClIES;YY:K6tk=r-JgIc&74UPa$g%Mp8'qHNU(gK7!L? -!L.s1bn#GRc-:lfc-:lfc-:lfc(t8a"/O1oHhP]!K6tkfK6tkfK6tk=H_ep2K6tkfK7!C<#ebkC -MgL*$H[GY7"G;'GH[Gb:s*Odj!J>aubmD@RH[C[ac-:U"J^'.u!58<\!582u!58*V!1`l8!1``4 -q4.B5!NZ9O~> -!<E/rdefI0dK%#Zc2a^=I06=kJV!UA$CuUJSW1q?JUu+Cr-\sLcB3[\OdUp'NR"BuI06=kJV!^D -!L8*4cMrIqcMrIqcMrIqcMrFrcDCGe"/X:oJbIChJcF$qJcF$qJIBc"IA+s3Kmh7lJV!UA#eG_@ -NI?N+I=;"<s+(6sJUROCs*apms+10p$,VsUI>ttdc@(t/cA^$K^AQCZ](q`o](XPPRJG82RJ##( -RJbJ6XoNt~> -!<E/rebbm6eH!;\blFR;HNU(gK7!C<$ClIES;YY:K6tk=r-JgIc&74UPa$g%Mp8'qHNU(gK7!L? -!L.s1bn#GRc-:lfc-:lfc-:lfc(t8a"/O1oHhP]!K6tkfK6tkfK6tk=H_ep2K6tkfK7!C<#ebkC -MgL*$H[GY7"G;'GH[Gb:s*Odj!J>aubmD@RH[C[ac-:U"J^'.u!58<\!582u!58*V!1`l8!1``4 -q4.B5!NZ9O~> -!<E/qebu$7eH!;\blXtnSG^V4K7!C<%)%"GK<3>BK6tkEH^t#Y$`&--Uo\p$Us5ufSG^V4K7!L? -(8Q;rc-:lfc-:lfc-:lfc-:lfc)c8^r657pHhP]!K6tkfK6tkfK6tkEH^r@*H[F#^K7!C<$&a/T -c%CYnK6t<0bmf;Pc%CA^c,G$^c-:lfr65JcUjIa=`I",+c&BmI^&6FTSG(J5SGC\8SG(M-SGgt= -X8mb~> -!<E/qdf#U1dK%#Zc2t.sU&<49Jb[M!\p]QhWm8n@J^1EHU&<1DTm_osWdTl#cE;Shr6G=nqp#tN -IE'RXJUu+lJUu+lJUu+lJUu+LIA-Sas+0mhs+13qs+13qs+(R'Y'l_`b(4udc@LQAc3]J]b0G]p -c@p\\r6G=n$dOTW`m2SPM9aCtJc*du`h@g7cGk:+J^05"!5ABZpR1a'!1EZ2!1EQ/pR2!.!NlEQ~> -!<E/qebu$7eH!;\blXtnSG^V4K7!C<%)%"GK<3>BK6tkEH^t#Y$`&--Uo\p$Us5ufSG^V4K7!L? -(8Q;rc-:lfc-:lfc-:lfc-:lfc)c8^r657pHhP]!K6tkfK6tkfK6tkEH^r@*H[F#^K7!C<$&a/T -c%CYnK6t<0bmf;Pc%CA^c,G$^c-:lfr65JcUjIa=`I",+c&BmI^&6FTSG(J5SGC\8SG(M-SGgt= -X8mb~> -!<E/pec208eH!;[bmB#LUpR51c%CAMprt%9H[E`Vc%CAfc%CA=[&gXZ[!R/5]mG+5c-:lfUpR51 -c%CB?boOKE[*?jJHd0ffHd0ffHd0ffHaLbEH_e$M[*=5MrlkJ%KDWn.K6tkfK6tkfK6tk^H[DQH -H[F#^K7!C<*/f0FXF#<-XF#T$]r]2tK6su$H^)4.H`YK:K7!UB$)FrA[!R_U[!TK;c&BmI^&6FT -SG(J5SGC\8SG(M3SH%.<SGgt=X8mb~> -!<E/pcMs1*c2bTVapZ4CIAOBTZHA#P[`8-c,DCPo`lcGTJ]budIAOBTZHBV(IC?_8IC@;<Kmff+ -Y-Q3$Jc!S1\p^a(b(5,db(5,db(5,db)(PT_M*E7[]ZpYJV!gCs,$Wqs+13ms+13ms+(R#_L6j+ -M1'fpb(5-=arH7dWiCJq^8cU8Y-t@Ib)(PTV1"W?Q$oLOb(5-CapFcI^9W0Db-$0$J]`qo!5ABV -pQbHt!1!B*!1!9'rK[E.rK[?,!NlEQ~> -!<E/pec208eH!;[bmB#LUpR51c%CAMprt%9H[E`Vc%CAfc%CA=[&gXZ[!R/5]mG+5c-:lfUpR51 -c%CB?boOKE[*?jJHd0ffHd0ffHd0ffHaLbEH_e$M[*=5MrlkJ%KDWn.K6tkfK6tkfK6tk^H[DQH -H[F#^K7!C<*/f0FXF#<-XF#T$]r]2tK6su$H^)4.H`YK:K7!UB$)FrA[!R_U[!TK;c&BmI^&6FT -SG(J5SGC\8SG(M3SH%.<SGgt=X8mb~> -!<E/feH!;[bmMFSH[CCHc*W+M^%onSUjJ@*bn5STc-=4lH[CCHc-:T^c-:T^rlk_fP^@b0XNcBE -qT]%us32C5Hd0ffHd0ffHd0gBK6t;NP^@b0XNcBErlkIrHi)&&K6tkfK6tkfK6tkfXFl/4K6tkf -K7!C<(USgAS>:M%c)chMH],kf["E_=XFkkPXT$HFK7!UB#aBsgH^)LoMi3/2Mp278r7(e\q4%Gu -p=8o-p!s)4rRLq<r7(hL!.Y~> -!<E/fc2bTUapQ"NJUN6Tb-HSL](sJMTm`(&b5[%mar/']JUN6Tb/SjXb0#-\`lcH@Q%=@;Y0)<H -qTAhts2t@ms2t@ms2t@ms2kbUJUtDLQ%=@;Y0)<HrlY7lqo\qis2t@ms2t@ms2kYNJVCC`J]c,d -Jb[A([Y9.#Tm`?OWel.PM8%-<JUtD/KmeZTrlY7lrlPM3JUN*7^<2FpJ]`nn!5ABV!4M]g!4MUH -pQbEss-<Q.s-<N-!NlEQ~> -!<E/feH!;[bmMFSH[CCHc*W+M^%onSUjJ@*bn5STc-=4lH[CCHc-:T^c-:T^rlk_fP^@b0XNcBE -qT]%us32C5Hd0ffHd0ffHd0gBK6t;NP^@b0XNcBErlkIrHi)&&K6tkfK6tkfK6tkfXFl/4K6tkf -K7!C<(USgAS>:M%c)chMH],kf["E_=XFkkPXT$HFK7!UB#aBsgH^)LoMi3/2Mp278r7(e\q4%Gu -p=8o-p!s)4rRLq<r7(hL!.Y~> -!<E/feH!;Qc2)be^"(@/`Ik89blN0Dqp"ta!5714!j%$nJ^'+t!56>$!NZ9O~> -!<E/fc2bTKb5-Md]%+q)_L\Q.ao]S2L&9$hI/pk6ao\So_L]jfaoK/oc2k'JJ,~> -!<E/feH!;Qc2)be^"(@/`Ik89blN0Dqp"ta!5714!j%$nJ^'+t!56>$!NZ9O~> -!<E/fblGGi`<!ZJdDZ<sPbbC=H^rC#!MmD[`JVV7]u8.rX8mb~> -!<E/faoK/g`W<fIdDcC!OfGF@IA+s+!MR5Y`eqb9^;S.pXoNt~> -!<E/fblGGi`<!ZJdDZ<sPbbC=H^rC#!MmD[`JVV7]u8.rX8mb~> -!<E/fblGG7`<Er>K6r6HJ]32ZeAVF$`6A=a!.Y~> -!<E/faoK/5`Wa)=JUN6GJ]<8\eA_L&`6&+`!.Y~> -!<E/fblGG7`<Er>K6r6HJ]32ZeAVF$`6A=a!.Y~> -!<E/fblGG.`IZ!Z`Ri'/]u8.rX8mb~> -!<E/faoK/,`du-\`n/31^;S.pXoNt~> -!<E/fblGG.`IZ!Z`Ri'/]u8.rX8mb~> -!!%S&JV/N+K7a.(J,~> -!!%S$JUrB'K7O"&J,~> -!!%S&JV/N+K7a.(J,~> -!<E0!joD3.s+13$s,I$^V#TT>]`<Q~> -!<E0!joD*+s+13$s,I$^U&X9;\c@6~> -!<E0!joD3.s+13$s,I$^V#TT>]`<Q~> -!<E0!joD3.s+13$s,R*`K;AP0k.LbF~> -!<E0!joD*+s+13$s,R*`JYE,+k.1PC~> -!<E0!joD3.s+13$s,R*`K;AP0k.LbF~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:A!!:[N!:A>:!<(IH!7TKs!;Y1F!!:[N!:eV>!9Vi-!!^sR!7fU"!9Vi3!<1OK -!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IF!!:jS!:AM?!<(XM!7T[#!;Y@K!!:jS!:eeC!9W#2!!_-W!8?-,!9W#8!<1^P -!;Y@K!.ijTg?@8jJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:A!!:[N!:A>:!<(IH!7TKs!;Y1F!!:[N!:eV>!9Vi-!!^sR!7fU"!9Vi3!<1OK -!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!;b7G!:A>:!<(IJ!7KEt!<:UL!;b7G!!:[N!:eV>!9Vi3!;b7G!<:UL!9Vi3 -!<1OK!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!;bFL!:AM?!<(XO!7KU$!<:dQ!;bFL!!:jS!:eeC!9W#8!;bFL!<:dQ!9W#8 -!<1^P!;Y@K!.ijTg?@8jJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!;b7G!:A>:!<(IJ!7KEt!<:UL!;b7G!!:[N!:eV>!9Vi3!;b7G!<:UL!9Vi3 -!<1OK!;Y1F!.i[Oe`bQ`K*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<:UL!!LgP!7fWu!<:UL!<:UL!<:UL!<:UJ!<:UL -!!:[N!;+hA!;k=F!<:UL!!LgP!7fWu!<1OI!<:UJ!<:UJ!<:UL!!:[N!;+hA!<(IJ!!CaO!7h#J -s4.&Js4.,L!n@8No[WsArmh#Ks4.&Js4.,L"k<SQeGoT#eUc9=ec17*V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<:dQ!!M!U!8?0*!<:dQ!<:dQ!<:dQ!<:dO!<:dQ -!!:jS!;,"F!;kLK!<:dQ!!M!U!8?0*!<1^N!<:dO!<:dO!<:dQ!!:jS!;,"F!<(XO!!CpT!8@AO -s4[DOs4[JQ!nmVSo\0<Frn@APs4[DOs4[JQ"kiqVg&M,(g4@uGgAc^-U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<:UL!!LgP!7fWu!<:UL!<:UL!<:UL!<:UJ!<:UL -!!:[N!;+hA!;k=F!<:UL!!LgP!7fWu!<1OI!<:UJ!<:UJ!<:UL!!:[N!;+hA!<(IJ!!CaO!7h#J -s4.&Js4.,L!n@8No[WsArmh#Ks4.&Js4.,L"k<SQeGoT#eUc9=ec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@s4.,L*7Y#heGoU"eGoU"!!(R"!!(R"!!(OL -!7fU"!7guIo[WsAr71fIs4.,L+OpGleGoU"!!(R"!!(OL!7fU"!7fU"!7fU"!7fU"!7guIo[WsA -rRLoJ&(LX[e^XX"e^XX"e^XX"ebfF>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(N -k2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Es4[JQ*81Amg&M-,g&M-,!!(a,!!(a,!!(^Q -!8?-,!8@>No\0<Fr7_/Ns4[JQ+PHeqg&M-,!!(a,!!(^Q!8?-,!8?-,!8?-,!8?-,!8@>No\0<F -rS%8O&)%!`g=cN,g=cN,g=cN,gACsCgA_0PgA_-[g&M-,g&M-,!!(aP!!:jS!.ijTg@*bqJH_bI -k2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@s4.,L*7Y#heGoU"eGoU"!!(R"!!(R"!!(OL -!7fU"!7guIo[WsAr71fIs4.,L+OpGleGoU"!!(R"!!(OL!7fU"!7fU"!7fU"!7fU"!7guIo[WsA -rRLoJ&(LX[e^XX"e^XX"e^XX"ebfF>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(N -k2s>WJ,~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ec,XLec,UheGoU"!!(R"!!(R"!!(OL!7_&Le^XX" -e^XX"ec#R>ec,XIec,XLec,U[eGoU"!!(OL!7fU"!7_&Lqpk]Hs4.,Ls4.,L!7h&Ko%!X<'%Hs^ -eGoU"eGoU"eGoU"eGoU"rW)N>q>_)W!!(R"!!(OL!7_&Le^XX"J^o>%n(%Gj"f21\k.LbF~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA_0QgA_-mg&M-,!!(a,!!(a,!!(^Q!87DQg=cN, -g=cN,gAV*CgA_0NgA_0QgA_-`g&M-,!!(^Q!8?-,!87DQqqD&Ms4[JQs4[JQ!8@DPo%O!A'&!<c -g&M-,g&M-,g&M-,g&M-,rW)NCq>_)\!!(a,!!(^Q!87DQg=cN,J_G\/n(Rem"ektYk.1PC~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ec,XLec,UheGoU"!!(R"!!(R"!!(OL!7_&Le^XX" -e^XX"ec#R>ec,XIec,XLec,U[eGoU"!!(OL!7fU"!7_&Lqpk]Hs4.,Ls4.,L!7h&Ko%!X<'%Hs^ -eGoU"eGoU"eGoU"eGoU"rW)N>q>_)W!!(R"!!(OL!7_&Le^XX"J^o>%n(%Gj"f21\k.LbF~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo$n!Ge^XZMeGoU"qZ-ZHrr<;S!!(OL!7fWs!!:[N!:eV> -!;tCI!<:UL!!^sR!7_&Leb]=JeGoUHec,XLec,XLec,UNeGoU>ec,XJec,UTeGoU"eGoU"eb]=J -eGoU>ec,XKec,ULeb]=QeGoU"!!(R"!!%T#J^s5>s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo%F?Lg=cP\g&M-,qZ-ZMrr<;X!!(^Q!8?0(!!:jS!:eeC -!;tRN!<:dQ!!_-W!87DQgA:jOg&M-MgA_0QgA_0QgA_-Sg&M-CgA_0OgA_-Yg&M-,g&M-,gA:jO -g&M-CgA_0PgA_-QgA:jVg&M-,!!(a,!!%T(J_KSHs+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo$n!Ge^XZMeGoU"qZ-ZHrr<;S!!(OL!7fWs!!:[N!:eV> -!;tCI!<:UL!!^sR!7_&Leb]=JeGoUHec,XLec,XLec,UNeGoU>ec,XJec,UTeGoU"eGoU"eb]=J -eGoU>ec,XKec,ULeb]=QeGoU"!!(R"!!%T#J^s5>s+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Lma_79s4.,L!n@8Nqpk]H$.T"UeGoU"eGoUIec,X>ec,XI -ec,XLec,UTeGoU"!!(OL!;tCI!;k=H!<:UL!<:UL!!:[N!:eV>!<(IJ!".6V!7fU"!7fU"!;tCI -!:eV>!<1OK!!:[N!;tCI!!^sR!7fU"!.i[OeaM&gK*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQmb7U>s4[JQ!nmVSqqD&M$/,@Zg&M-,g&M-NgA_0CgA_0N -gA_0QgA_-Yg&M-,!!(^Q!;tRN!;kLM!<:dQ!<:dQ!!:jS!:eeC!<(XO!".E[!8?-,!8?-,!;tRN -!:eeC!<1^P!!:jS!;tRN!!_-W!8?-,!.ijTg@*bqJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Lma_79s4.,L!n@8Nqpk]H$.T"UeGoU"eGoUIec,X>ec,XI -ec,XLec,UTeGoU"!!(OL!;tCI!;k=H!<:UL!<:UL!!:[N!:eV>!<(IJ!".6V!7fU"!7fU"!;tCI -!:eV>!<1OK!!:[N!;tCI!!^sR!7fU"!.i[OeaM&gK*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"n^[X>rmh#K#1W\Re^XX"rmh#Ks4.,Lrmh#Ks4.,L -!n@8NnC@O=s4.&Js4.,L(tATdeGoU"!!(R"!!(OL!7fU"!7fU"!7h&Ks4.,L!n@8Nn^[X>rRLoJ -#LreSe^XX"ec#RKec,UNeGoU>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(Nk2s>W -J,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,n_4!Crn@AP#20%Wg=cN,rn@APs4[JQrn@APs4[JQ -!nmVSnCmmBs4[DOs4[JQ(tnrig&M-,!!(a,!!(^Q!8?-,!8?-,!8@DPs4[JQ!nmVSn_4!CrS%8O -#MK.Xg=cN,gAV*PgA_-Sg&M-CgA_0PgA_-[g&M-,g&M-,!!(aP!!:jS!.ijTg@*bqJH_bIk2s5T -J,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"n^[X>rmh#K#1W\Re^XX"rmh#Ks4.,Lrmh#Ks4.,L -!n@8NnC@O=s4.&Js4.,L(tATdeGoU"!!(R"!!(OL!7fU"!7fU"!7h&Ks4.,L!n@8Nn^[X>rRLoJ -#LreSe^XX"ec#RKec,UNeGoU>ec,XKec,UVeGoU"eGoU"!!(RK!!:[N!.i[OeaM&gK*A(Nk2s>W -J,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:\P=!<1OK!<:UJ!<(IJ!<:UL!<(IH!<:UL!:SJ:!<:UJ -!<:UL!!LgP!7fWu!<1OI!<(IJ!<:UJ!<:UL!:eV>!<(IJ!!:[N!<1OK!<:UJ!<:UL!:eV>!<1OK -!<:UJ!<:UL!!UmQ!7_&LJ^o>%ma_>i"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:\_B!<1^P!<:dO!<(XO!<:dQ!<(XM!<:dQ!:SY?!<:dO -!<:dQ!!M!U!8?0*!<1^N!<(XO!<:dO!<:dQ!:eeC!<(XO!!:jS!<1^P!<:dO!<:dQ!:eeC!<1^P -!<:dO!<:dQ!!V'V!87DQJ_G\/mb7\l"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:\P=!<1OK!<:UJ!<(IJ!<:UL!<(IH!<:UL!:SJ:!<:UJ -!<:UL!!LgP!7fWu!<1OI!<(IJ!<:UJ!<:UL!:eV>!<(IJ!!:[N!<1OK!<:UJ!<:UL!:eV>!<1OK -!<:UJ!<:UL!!UmQ!7_&LJ^o>%ma_>i"f21\k.LbF~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uDgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uDgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/n'gA_/(g4@uDgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/_"ec,W#eUc9:ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@t?gAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc85ec17*V#TT>]`<Q~> -!<E0!joV@Ys+,fRK7SZ9K*A(Nk2s>WJ,~> -!<E0!joV7Vs+,`PJUrB5JH_bIk2s5TJ,~> -!<E0!joV@Ys+,fRK7SZ9K*A(Nk2s>WJ,~> -!<E0!joM:XJV/N+JV/u8"f21\k.LbF~> -!<E0!joM1UJUrB'JUri4"ektYk.1PC~> -!<E0!joM:XJV/N+JV/u8"f21\k.LbF~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.e`#'V!;=tC!;P+E!!:[N!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD*+g>Uc`!;>.H!;P:J!!:jS!;kLM!9`)9!.ijTg@<l#U&X9;\c@6~> -!<E0!joD3.e`#'V!;=tC!;P+E!!:[N!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD3.e`#'Y!<:UL!;G%D!;4nB!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD*+g>Ucc!<:dQ!;G4I!;5(G!;kLM!9`)9!.ijTg@<l#U&X9;\c@6~> -!<E0!joD3.e`#'Y!<:UL!;G%D!;4nB!;k=H!9_o4!.i[Oea_/nV#TT>]`<Q~> -!<E0!joD4Keb9%=eb]?&ec,XKec,XLeboLJeboLJeboLJec,UNeGoUHec,XIeboLJec,XKec,XL -eboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD+Hg@kRBgA:l+gA_0PgA_0QgAM$OgAM$OgAM$OgA_-Sg&M-MgA_0NgAM$OgA_0PgA_0Q -gAM$OgA_/(g4@uJg'+2Mk2s5TJ,~> -!<E0!joD4Keb9%=eb]?&ec,XKec,XLeboLJeboLJeboLJec,UNeGoUHec,XIeboLJec,XKec,XL -eboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD4KebB(DKDF't!//o&!<1OK!#X5d!7fU"!7fU"!7fU"!7fU"!7_&LeGoUHec,XJec,XL -ec,UNeGoUKec,UUeGoU"eGoU"!!%T#J^s;@"f21\k.LbF~> -!<E0!joD+Hg@tUIJbe%"!/0)+!<1^P!#XDi!8?-,!8?-,!8?-,!8?-,!87DQg&M-MgA_0OgA_0Q -gA_-Sg&M-PgA_-Zg&M-,g&M-,!!%T(J_KYJ"ektYk.1PC~> -!<E0!joD4KebB(DKDF't!//o&!<1OK!#X5d!7fU"!7fU"!7fU"!7fU"!7_&LeGoUHec,XJec,XL -ec,UNeGoUKec,UUeGoU"eGoU"!!%T#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJec,UOeGoU"r;ciIr;clJquHcIr;`_FrrE&Krr<DV!!(R"!!(R" -!!)oHrr<5Q!!(OL!;k=H!<(IJ!<:UL!<:UL!"IHY!7fU"!7fU"!7_&LJ^o>%n^Rf=s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA_-Tg&M-,r;ciNr;clOquHcNr;`_KrrE&Prr<D[!!(a,!!(a, -!!)oMrr<5V!!(^Q!;kLM!<(XO!<:dQ!<:dQ!"IW^!8?-,!8?-,!87DQJ_G\/n_+/?s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,UOeGoU"r;ciIr;clJquHcIr;`_FrrE&Krr<DV!!(R"!!(R" -!!)oHrr<5Q!!(OL!;k=H!<(IJ!<:UL!<:UL!"IHY!7fU"!7fU"!7_&LJ^o>%n^Rf=s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJebT:Gec,UReGoU"eGoUJec,UReGoU"eGoTIec,XKec,ULeb]@H -ec,XKebfCNeGoU"!!)oHrrE#JqZ-ZHrr<2P!!(R"qZ$]J!!%T#J^s;@"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0OgA1gLgA_-Wg&M-,g&M-OgA_-Wg&M-,g&M,NgA_0PgA_-QgA:mM -gA_0PgACpSg&M-,!!)oMrrE#OqZ-ZMrr<2U!!(a,qZ$]O!!%T(J_KYJ"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XJebT:Gec,UReGoU"eGoUJec,UReGoU"eGoTIec,XKec,ULeb]@H -ec,XKebfCNeGoU"!!)oHrrE#JqZ-ZHrr<2P!!(R"qZ$]J!!%T#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tebfCIec#RKec,XLec,UReGoU"eGoUKec,XLec,XLec,WIec,XKec,UN -eGoUHec,XLec,XLec,UQeGoU"!!)oHrrE#JrrDoGrW)rJrrDuIrr@W#J^s;@"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gACpNgAV*PgA_0QgA_-Wg&M-,g&M-PgA_0QgA_0QgA_/NgA_0PgA_-S -g&M-MgA_0QgA_0QgA_-Vg&M-,!!)oMrrE#OrrDoLrW)rOrrDuNrr@W(J_KYJ"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tebfCIec#RKec,XLec,UReGoU"eGoUKec,XLec,XLec,WIec,XKec,UN -eGoUHec,XLec,XLec,UQeGoU"!!)oHrrE#JrrDoGrW)rJrrDuIrr@W#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJec,XKeb]=Heb]@GeGoUKeb]?Eec,XLec,XLec,XLec,XLec,UL -ec#RKec,UQeGoU"!!)oHrrE#JrrE)LrrE&KrW)rJrrE)Lrr<,N!!%T#J^s;@"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA:jMgA:mLg&M-PgA:lJgA_0QgA_0QgA_0QgA_0QgA_-Q -gAV*PgA_-Vg&M-,!!)oMrrE#OrrE)QrrE&PrW)rOrrE)Qrr<,S!!%T(J_KYJ"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XJec,XKeb]=Heb]@GeGoUKeb]?Eec,XLec,XLec,XLec,XLec,UL -ec#RKec,UQeGoU"!!)oHrrE#JrrE)LrrE&KrW)rJrrE)Lrr<,N!!%T#J^s;@"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XIec,XHec,XKec,WEebfFGeboLHec,XLec#OKeboIL -eGoUHeb]=HeboLGeGoUIeboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA_0NgA_0MgA_0PgA_/JgACsLgAM$MgA_0QgAV'PgAM!Q -g&M-MgA:jMgAM$Lg&M-NgAM$OgA_/(g4@uJg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XIec,XHec,XKec,WEebfFGeboLHec,XLec#OKeboIL -eGoUHeb]=HeboLGeGoUIeboLJec,W#eUc9@eHMcKk2s>WJ,~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XLec,UUeGoU"eGoU"!!)uJrrE)Lrr@W#J^o>%e("Vt -s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0PgA_0QgA_-Zg&M-,g&M-,!!)uOrrE)Qrr@W(J_G\/e(Ou! -s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XKec,XLec,UUeGoU"eGoU"!!)uJrrE)Lrr@W#J^o>%e("Vt -s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XJec,XJeboLIeboLJebfFIeboK!eUc8%e^DtOV#TT>]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0OgA_0OgAM$NgAM$OgACsNgAM#&g4@t/g="[YU&X9;\c@6~> -!<E0!joD4Kec5[Gec19tec,XJec,XJeboLIeboLJebfFIeboK!eUc8%e^DtOV#TT>]`<Q~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD+HgAh3JJUuO+g4@tTg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XJeboLIeboK!e_em\V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0OgAM$NgAM#&g>CTfU&X9;\c@6~> -!<E0!joD3.eUc8dec,XJeboLIeboK!e_em\V#TT>]`<Q~> -!<E0!joD3.eUc8feboLIec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tpgAM$NgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8feboLIec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD*+g4@tngA_0PgA_0QgA_-Wg&M-,g&M,(g>LZgU&X9;\c@6~> -!<E0!joD3.eUc8dec,XKec,XLec,UReGoU"eGoT#e_ns]V#TT>]`<Q~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAeb]@,ebK2reZ77#!<1OK!<:UL!!^sR!7fU"!.i\Y -eHMcKk2s>WJ,~> -!<E0!joD+Hg@kRBgA_0PgA_-Sg&M-NgA_0FgA:m1gA(`"g8is-!<1^P!<:dQ!!_-W!8?-,!.ik^ -g'+2Mk2s5TJ,~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAeb]@,ebK2reZ77#!<1OK!<:UL!!^sR!7fU"!.i\Y -eHMcKk2s>WJ,~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!8Q-)!.i\!ec,XKec,XLec,UReGoU"eGoT#e_ns] -V#TT>]`<Q~> -!<E0!joD+Hg@tUIJbe%"!<1^P!;Y@K!;,"F!8Q<.!.ik&gA_0PgA_0QgA_-Wg&M-,g&M,(g>LZg -U&X9;\c@6~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!8Q-)!.i\!ec,XKec,XLec,UReGoU"eGoT#e_ns] -V#TT>]`<Q~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#Jrr</O!!(RJ!<:RM!7h&K -!7h&Kp!s'BrRLiHJ^q!TrrE#Jr;ciIr;_E!hphn+s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE#Orr</T!!(aO!<:aR!8@DP -!8@DPp"KEGrS%2MJ_I?^rrE#Or;ciNr;_E&hqA7-s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#Jrr</O!!(RJ!<:RM!7h&K -!7h&Kp!s'BrRLiHJ^q!TrrE#Jr;ciIr;_E!hphn+s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IE!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<(XJ!<:dQ!".E[!8?-, -!8?-,!;>.H!<1^P!<:dQ!.ijTg4@uWg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IE!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=E!!(RK!<:UL!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA1d\g&M-,!!(a,!!(^Q!8?-,!;kLJ!!(aP!<:dQ!<:dQ!"7K\!8?-, -!8?-,!8@;MrS%8Orn@APs4[JQJ_G\/J_L+W"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=E!!(RK!<:UL!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<(IJ!<1OK!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-[g&M-,!!(a,!!(aM!;kLM!<(XO!<1^P!<:dQ!".E[!8?-, -!8?-,!;>.H!<1^P!<:dQ!.ijTg4@uWg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<(IJ!<1OK!<:UL!".6V!7fU" -!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<(IJ!<1OK!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-]g&M-,!!(a,!!(^Q!;G4I!<(XO!<1^P!<:dQ!"7K\!8?-, -!8?-,!8@;MrS%8Orn@APs4[JQJ_G\/J_L+W"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<(IJ!<1OK!<:UL!"7<W!7fU" -!7fU"!7grHrRLoJrmh#Ks4.,LJ^o>%J^sbM"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IJ!<1OK!<:UL!".6V -!7fU"!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<(XO!<1^P!<:dQ!".E[ -!8?-,!8?-,!;>.H!<1^P!<:dQ!.ijTg4@uWg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<(IJ!<1OK!<:UL!".6V -!7fU"!7fU"!;=tC!<1OK!<:UL!.i[OeUc9MeHMcKk2s>WJ,~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#JrrE#Jr;clJrrE)LrrE)L -rrDcCrrE#Jr;bI"JV1dkJ^rr6"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE#OrrE#Or;clOrrE)QrrE)Q -rrDcHrrE#Or;bI'JUtXgJ_K;@"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE#JrrE#Jr;clJrrE)LrrE)L -rrDcCrrE#Jr;bI"JV1dkJ^rr6"f21\k.LbF~> -!<E0!joD4Kec5[EK7VPQeU`@iK)kq&e`YHdV#TT>]`<Q~> -!<E0!joD+HgAh3JJUuMTg4=glJH5_$g?7/nU&X9;\c@6~> -!<E0!joD4Kec5[EK7VPQeU`@iK)kq&e`YHdV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^#B!Be`YHdV#TT>]`<Q~> -!<E0!joD*+g?72iJUt\u_VtNGg?7/nU&X9;\c@6~> -!<E0!joD3.e`YK_K7U_r^#B!Be`YHdV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^#]1pKE(t&e`YHdV#TT>]`<Q~> -!<E0!joD*+g?72iJUt\u_W:^uJcGb$g?7/nU&X9;\c@6~> -!<E0!joD3.e`YK_K7U_r^#]1pKE(t&e`YHdV#TT>]`<Q~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD*+g?72iJUt\u_Z0Z/g&Zd)p"KFss8RZ(kLp*5s5rIT!.Y~> -!<E0!joD3.e`YK_K7U_r^&S-*eH(=&p!s(ps8RZ#kLBa3s5rIW!.Y~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAec,XKec,XFec,WYec18Q^#Qg+s7OnCKE(Vps+C@O -J^rr6"f21\k.LbF~> -!<E0!joD+Hg@kRBgA_0PgA_-Sg&M-NgA_0FgA_0PgA_0KgA_/^gAc_T_W/N5s7P(HJcGDss+14M -J_K;@"ektYk.1PC~> -!<E0!joD4Keb9%=ec,XKec,UNeGoUIec,XAec,XKec,XFec,WYec18Q^#Qg+s7OnCKE(Vps+C@O -J^rr6"f21\k.LbF~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!<1OK!;Y1F!4UMYK7U_r^&S-*eH(=&p!s(ps8RZ# -kLBa3s5rIW!.Y~> -!<E0!joD+Hg@tUIJbe%"!<1^P!;Y@K!;,"F!<1^P!;Y@K!4U\^JUt\u_Z0Z/g&Zd)p"KFss8RZ( -kLp*5s5rIT!.Y~> -!<E0!joD4KebB(DKDF't!<1OK!;Y1F!;+hA!<1OK!;Y1F!4UMYK7U_r^&S-*eH(=&p!s(ps8RZ# -kLBa3s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE&Krr<__!!(OL!7fU"!7fU" -!7_&LeGoUKeboLJec,XLec,XLec,UQeGoU"!!(a's+>m9j1YKmp!j(qs7OqBKE(t&e`YHdV#TT> -]`<Q~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;c]JrrE&Prr<_d!!(^Q!8?-,!8?-, -!87DQg&M-PgAM$OgA_0QgA_0QgA_-Vg&M-,!!(a,s+,a<j21irp"BFts7P+GJcGb$g?7/nU&X9; -\c@6~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;c]ErrE&Krr<__!!(OL!7fU"!7fU" -!7_&LeGoUKeboLJec,XLec,XLec,UQeGoU"!!(a's+>m9j1YKmp!j(qs7OqBKE(t&e`YHdV#TT> -]`<Q~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<1OK!!(RK!".6V!7_&L -eGoU"ec#O`eGoU"!!(R"!!(OL!7fU"!7fU"!7h&K!n@8NgXZ=VJ\C*Ws8V_D!<;YCs8RZ#kLBa3 -s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;kLM!<1^P!!(aP!".E[!87DQ -g&M-,gAV'eg&M-,!!(a,!!(^Q!8?-,!8?-,!8@DP!nmVSgY2[YJ\pHas8V_B!<;YAs8RZ(kLp*5 -s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;k=H!<1OK!!(RK!".6V!7_&L -eGoU"ec#O`eGoU"!!(R"!!(OL!7fU"!7fU"!7h&K!n@8NgXZ=VJ\C*Ws8V_D!<;YCs8RZ#kLBa3 -s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>m9j1PHmjFdL4J^rr6"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA1d\g&M-,!!(a,!!(^Q!8?-,!;kLM!<1^P!!h3X!8?-,!8@AOrn@AP -s4[JQ(tnrig=cN,g=cN,g&M-,!!(a,!!(a,!!(d-s+,a<j2(frjFR@2J_K;@"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tebT7WeGoU"!!(R"!!(OL!7fU"!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>m9j1PHmjFdL4J^rr6"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>n&_uG;<kLBa3s5rIW!.Y~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-[g&M-,!!(a,!!(aM!;kLM!<1^P!!h3X!8?-,!8@AOrn@AP -s4[JQ(tnrig=cN,g=cN,g&M-,!!(a,!!(a,!!(d-s+,b$_uG;AkLp*5s5rIT!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UVeGoU"!!(R"!!(RH!;k=H!<1OK!!h$S!7fU"!7h#Jrmh#K -s4.,L(tATde^XX"e^XX"eGoU"!!(R"!!(R"!!(d(s+>n&_uG;<kLBa3s5rIW!.Y~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<1OK!%l_$!7fU"!7_&LeGoU" -eGoU"eGoU"!!(R"!!(R"!!(OL!7_&Le^XX"e^XX"gXQ:VJcEUeJ^rr6"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-]g&M-,!!(a,!!(^Q!;G4I!<1^P!%ln)!8?-,!87DQg&M-, -g&M-,g&M-,!!(a,!!(a,!!(^Q!87DQg=cN,g=cN,gY)XYJcEUeJ_K;@"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UXeGoU"!!(R"!!(OL!;G%D!<1OK!%l_$!7fU"!7_&LeGoU" -eGoU"eGoU"!!(R"!!(R"!!(OL!7_&Le^XX"e^XX"gXQ:VJcEUeJ^rr6"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;b7G!$B_k!7fU"!7fU"!7_&L -e^XX"eGoU"eGoU"!!(R"!!*#KrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-Wg&M-,!!(aP!!_-W!8?-,!;bFL!$Bnp!8?-,!8?-,!87DQ -g=cN,g&M-,g&M-,!!(a,!!*#PrrE)QrrE&PrrE)Qrr@W(J_G\/"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UReGoU"!!(RK!!^sR!7fU"!;b7G!$B_k!7fU"!7fU"!7_&L -e^XX"eGoU"eGoU"!!(R"!!*#KrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;cZDquHcIrrE)Lrr<,N!!*#Kr;clJ -rrE)Lr;cfHrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD+HgAh3LgAca"gA_0PgA_-\g&M-,g&M-,!!(a,r;cZIquHcNrrE)Qrr<,S!!*#Pr;clO -rrE)Qr;cfMrrE)QrrE&PrrE)Qrr@W(J_G\/"ektYk.1PC~> -!<E0!joD4Kec5[Gec19tec,XKec,UWeGoU"eGoU"!!(R"r;cZDquHcIrrE)Lrr<,N!!*#Kr;clJ -rrE)Lr;cfHrrE)LrrE&KrrE)Lrr@W#J^o>%"f21\k.LbF~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD+HgAh3JJUuO+g4@tTg'+2Mk2s5TJ,~> -!<E0!joD4Kec5[EK7VR(eUc8JeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD3.eUc8%eY^mbKDX1&V#TT>]`<Q~> -!<E0!joD*+g4@t/g8<TlJc".)U&X9;\c@6~> -!<E0!joD3.eUc8%eY^mbKDX1&V#TT>]`<Q~> -!<E0!joD3.eUc8%eY^mcK)krKeHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<TmJH5`Ig'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^mcK)krKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKDN7]KDN:]s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jbm4`Jbm7`s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDN7]KDN:]s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDW=_s+C0]s8VuH"f21\k.LbF~> -!<E0!joD*+g4@t/g8<U(Jc!:bs+1$`s8VuM"ektYk.1PC~> -!<E0!joD3.eUc8%eY^msKDW=_s+C0]s8VuH"f21\k.LbF~> -!<E0!joD3.eUc8%eY^msKDW=`s+>t$^&S-0eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<U(Jc!:cs+,au_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^msKDW=`s+>t$^&S-0eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKD`F_s8R`K^&S-0eHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<U(Jc*Cbs8RZI_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^msKD`F_s8R`K^&S-0eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKD`F_rrU`'KD`F_s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc*CbrrUo*Jc*Cbs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKD`F_rrU`'KD`F_s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDiL`s8UXLKD`F_s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc3Ics8UgQJc*Cbs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDiL`s8UXLKD`F_s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDiL`s8LRKKDiL`s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc3Ics8LaPJc3Ics81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDiL`s8LRKKDiL`s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDrRas8CLJKDiL`s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc<Ods8C[OJc3Ics81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDrRas8CLJKDiL`s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKDrRas8:FIKDrRas81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jc<Ods8:UNJc<Ods81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKDrRas8:FIKDrRas81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE&Xbs81@HKDrRas81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcEUes81OMJc<Ods81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE&Xbs81@HKDrRas81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE&Xbs8(:GKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcEUes8(ILJcEUes81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE&Xbs8(:GKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD3.e`>9\s7OqBs8CLJs0^AWs,,A,s7=e@s0'uQK*&ads7t4FKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD*+g>puf!;5(G!<(XO!4CM\!/fM1!;"qE!3b,VJHE^gs7tCKJcEUes81LRU&X9;\c@6~> -!<E0!joD3.e`>9\!;4nB!<(IJ!4C>W!/f>,!;"b@!3arQK*&ads7t4FKE&Xbs81=MV#TT>]`<Q~> -!<E0!joD4Lec5[Lec#LJeboFOec5["s8UXKs8UXLs8UXLrrCUIrrCUKs-hI<s7FhAs8:CIs0^AW -s,#8+s74\?s0'uQK*&ads7k.EK*&ads81=MV#TT>]`<Q~> -!<E0!joD+IgAe#LgARiJgAIcOg81Y"V5;oFV>o9LV>o9LV#]6IV#]6KV4-*<!;+tF!;tON!4CM\ -!/]D0!:nhD!3b,VJHE^gs7k=JJHE^gs81LRU&X9;\c@6~> -!<E0!joD4Lec,XLeboIJebfCOeGoU"!!(RK!<:UL!<:UL!!(RI!!(RK!1MF<!;+eA!;t@I!4C>W -!/]5+!:nY?!3arQK*&ads7k.EK*&ads81=MV#TT>]`<Q~> -!<E0!joD4KeIMW0ec41Ms4,["e^a]Ms8LOVs4,["e^a]Mec42"rm_5Qe^a]Mec2r*s8NATs4,[" -s4./LpsoBDs4.,KrRLrJr7(fIr7(fI[ak?Vs4%/Mec,RMec5[KeH>j%s8W&Jrr;iFs8N,Ms8CLJ -rrgmPec42!s1Hk^s8CLJs8CLJs8LONs4./LqUPWG!S.5Kec5XPec42"ec,Tlec1:%s7M!G^&S-0 -eHMcKk2s>WJ,~> -!<E0!joD+Hg('t5g83NWV:sY"g=iCWV>f0VV:sY"g=iCWg83N"rn7RQg=iCWg82+/rr<>Y!8?-, -!87DQptG]Is4[GPrS%8Or7V,Nr7V,N[bCZ[s4RJRgAV'Rg&M-Pg&h?/!!)uOrW)fKrr<)R!<(XO -!!M!Ug&Tk+!5."c!<(XO!<(XO!<1[S!87DQqV(rL!SRPPgA_-Ug&Th,gAV)qgAca(s7LpE_Z0Z5 -g'+2Mk2s5TJ,~> -!<E0!joD4KeIDT0eH".M!7fU"e^XZM!<1LV!7fU"e^XZMeH","rm_2Qe^XZMeGuo*rr<>T!7fU" -!7_&Lpso?Ds4.)KrRLoJr7(cIr7(cI[ak<Vs4%,Mec#OMeGoUKeH5g%!!)uJrW)fFrr<)M!<(IJ -!!LgPeH"/!!5-h^!<(IJ!<(IJ!<1LN!7_&LqUPTG!S%2Kec,UPeH","ec#Qlec1:%s7M!G^&S-0 -eHMcKk2s>WJ,~> -!<E0!joD4KeIDQ/ec41Ms8UXLe^a^"rRLrJ'@m-5ec41Ms4./"s4./"ec5["s0C/^s4./"s4,[" -e^a]qeH#XIeHu9+ec41Ms4,["rRCoJr7(fI[FG9Wr7(fIqpb]Hrm_5Qe^a]Mec5Bo$NJZVec41M -s4,["rm_#K\^^][rm_MYe^a]Mec41Ms4,["ec5Hq$NJZVec41Ms4,["rm_#KaOU<C!<;YCs8VuH -"f21\k.LbF~> -!<E0!joD+Hg'sn4g83NWV5;nBg=iC"rS%:J'AB;:g83NWV:qd"V:qd"g81Y"V6\e^!87G,!8?-, -g=cQ&g&M-Ng'Ic5g&Tj\!8?-,rRq5Or7V,N[FtT\r7V,Nqq;#Mrn7PVg=cP\g&Um$$38c[g&Tj\ -!8?-,rn7>P\_7#`rn7h^g=cP\g&Tj\!8?-,g&Us&$38c[g&Tj\!8?-,rn7>PaP-ZF!<;YAs8VuM -"ektYk.1PC~> -!<E0!joD4KeI;N/eH".M!!(OLe^XX"rRLoJ'@d*5eH".M!7_)"!7_)"eGoU"!4(,^!7_)"!7fU" -e^XZqeGoUIeHl6+eH".M!7fU"rRClJr7(cI[FG6Wr7(cIqpbZHrm_2Qe^XZMeH#?o$38TVeH".M -!7fU"rm^uK\^^Z[rm_JYe^XZMeH".M!7fU"eH#Eq$38TVeH".M!7fU"rm^uKaOU<C!<;YCs8VuH -"f21\k.LbF~> -!<E0!joD4KeIMW0ec41Ms4./Le^a]Ms8LO`s4./Le^a]Mec42"ec42"e^a]Ms8TCT$NJZVec41M -s4,["psoEErm_2Pe^a]Mec,UHeH#XIeH#WWeH#XIeH#XJec,UJeH>j%ec5X!s8VoF$NJZVec41M -s4,["rm_#K\^^][rm_5Qe^a]Mec5Qts8VlE$NJZVec41Ms4,["rm_#KaOU<Co"G)'qpbkGs5rIW -!.Y~> -!<E0!joD+Hg('t5g83NWV:qcBg=iCWV>f0`V:qcBg=iCWg83N"g83N"g=iCWV5:KO$38c[g&Tj\ -!8?-,ptG`Jrn7MUg=cP\gAV*Mg&M-Ng&M,\g&M-Ng&M-OgAV*Og&h?/g&V-+rrDlK$38c[g&Tj\ -!8?-,rn7>P\_7#`rn7PVg=cP\g&V')rrDiJ$38c[g&Tj\!8?-,rn7>PaP-ZFo"tG,qq;4Is5rIT -!.Y~> -!<E0!joD4KeIDT0eH".M!7_&Le^XZM!<1L`!7_&Le^XZMeH","eH","e^XZM!!'=T$38TVeH".M -!7fU"psoBErm_/Pe^XZMec#RHeGoUIeGoTWeGoUIeGoUJec#RJeH5g%eH#U!rrDlF$38TVeH".M -!7fU"rm^uK\^^Z[rm_2Qe^XZMeH#NtrrDiE$38TVeH".M!7fU"rm^uKaOU<Co"G)'qpbkGs5rIW -!.Y~> -!<E0!joD4KeKFnBec41Ms4,["e^a]Mec41Ms4,["e^a]Mec41Ms4./KeH>j%ec2r*$NJZVec41M -s4,["p=0TOe^a]Mec41Ms4,["rRCoJr7(fI[FGK]e^a]Mec5X!"96p%s8LONs4,["r7(fIqUGrQ -ec42"e^a]Mec5X!!<9U[!<<&K%fb)0s4,["e^a]Mec42"q:,iPec42"e^a]Mec5X!!<:-js+Bh@ -qpbkGs5rIW!.Y~> -!<E0!joD+Hg*!6Gg83NWV:sY"g=iCWg83NWV:sY"g=iCWg83NWV:qdFg&n2*g82+/$38c[g&Tj\ -!8?-,p=]oTg=cP\g&Tj\!8?-,rRq5Or7V,N[Ftfbg=cP\g&V-+!s%'/!<1[S!8?-,r7V,NqUu8V -g&Th,g=cP\g&V-+!!'R`!!*#P%KP5:!8?-,g=cP\g&Th,q:Z/Ug&Th,g=cP\g&V-+!!(*os+0\> -qq;4Is5rIT!.Y~> -!<E0!joD4KeK=kBeH".M!7fU"e^XZMeH".M!7fU"e^XZMeH".M!7_)KeH5g%eGuo*$38TVeH".M -!7fU"p=0QOe^XZMeH".M!7fU"rRClJr7(cI[FGH]e^XZMeH#U!!s$m%!<1LN!7fU"r7(cIqUGoQ -eH","e^XZMeH#U!!!'R[!!*#K%KP&0!7fU"e^XZMeH","q:,fPeH","e^XZMeH#U!!!(*js+Bh@ -qpbkGs5rIW!.Y~> -!<E0!joD4Jec5[Lec5[LeH,^#rr<#Krr<#K!<<&Ks8W)K$3/QUe^a^"e^a]*eHu9+s4./Le^a^" -psoBDs4.,K#1`bRe^a^"rmgrH!7h#I[akEXs4.)Js4./L!nI>$rr3)Ns8UXKs7t1Ms4./"s8UX" -rr<#KrVsR]r;ZfIs8W&Js8W,Ls8N/Ns8VrG#QN?Sec5["ec,UKec#Njec19nrrRiQs81=MV#TT> -]`<Q~> -!<E0!joD+GgAe#LgAe#Lg&\&(rh]YKrh]YK!2]\Ks/#_K$)Q@Pg=iC"g=iC/g'Ic5!87DQg=cN, -ptG]Is4[GP#20%Wg=cN,rn@8M!8@>N[bC`]s4[DOs4[JQ!nmY.rW!&S!!(aP!;Y=R!87G,!!(a, -rW)uPr;aObquHcNrrE#OrrE)Qrr<,S!!)lL#6<HXg&M-,gAV*PgAM#ogAc`qrrRcOs81LRU&X9; -\c@6~> -!<E0!joD4Jec,XLec,XLeH#[#rW)uKrW)uK!!*#KrrE&K#lrKUe^XX"e^XZ*eHl6+!7_&Le^XX" -pso?Ds4.)K#1W\Re^XX"rmgoH!7guI[akBXs4.&Js4.,L!n@;$rW!&N!!(RK!;Y.M!7_)"!!(R" -rW)uKr;aO]quHcIrrE#JrrE)Lrr<,N!!)lG#6<9SeGoU"ec#RKeboKjec19nrrRiQs81=MV#TT> -]`<Q~> -!<E0!joD3.eb%Als+/_]eH#W2eH#Wfec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD*+g@X)!!.ikbg&M,7g&M,kgAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD3.eb%Al!.i\]eGoT2eGoTfec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD3.eb7Pns8CLFs+/`!ebfCCec,T@ebfCCec,Tdec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD*+g@j8#!<(XK!.il&gA:mHgAV)EgA:mHgAV)igAca(s7Y1HJcGcIg'+2Mk2s5TJ,~> -!<E0!joD3.eb7Pn!<(IF!.i]!eb]@Cec#Q@eb]@Cec#Qdec1:%s7Y"CKE(uKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(JcGcDgAca(s81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKE(uFec1:%s81=MV#TT>]`<Q~> -!<E0!joD3.eUc8%eY^msKE(uDKE(uKeHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<U(JcGcBJcGcIg'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^msKE(uDKE(uKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msK)krCKE(uKeHMcKk2s>WJ,~> -!<E0!joD*+g4@t/g8<U(JH5`AJcGcIg'+2Mk2s5TJ,~> -!<E0!joD3.eUc8%eY^msK)krCKE(uKeHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eY^msKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD*+g4@t/g8<U(Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD3.eUc8%eY^msKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X;eH#X=eH#X7eH#WjeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-@g&M-Bg&M-<g&M,og&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU;eGoU=eGoU7eGoTjeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X;eH#X=eH#X7eH#WjeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-@g&M-Bg&M-<g&M,og&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU;eGoU=eGoU7eGoTjeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec,UKec#OJec5[JeH,^#rr2uKrVuZCs8W,Ls8N5Ps8UX"rVulIs8W)K -!WU^Ls4>d$s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-FgAV*PgAM$OgA_0Og&V3-rVurPr;cWHrrE)Qrr<2U!!(a,r;ciNrrE&P -!<CjQ!8#p)!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUAec#RKeboLJec,XJeH#[#rVurKr;cWCrrE)Lrr<2P!!(R"r;ciIrrE&K -!<C[L!8#a$!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeH#XHeH#XHeH#XJeH#XIeH#XDeHu9+ec41Ms4,["rm_#KrRD#Me^a^! -eH#X!eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Gg&M-Mg&M-Mg&M-Og&M-Ng&M-Ig'Ic5g&Tj\!8?-,rn7>PrRq>Rg=cQ+ -g&M-&g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeGoUHeGoUHeGoUJeGoUIeGoUDeHl6+eH".M!7fU"rm^uKrRCuMe^X[! -eGoU!eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec5[JeH#XJec,UIeH#XIeH#XDeHu9+ec41Ms4,["rm_#KrRLoIrRCoJ -eC=R!MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgA_0Og&M-OgAV*Ng&M-Ng&M-Ig'Ic5g&Tj\!8?-,rn7>PrS%5NrRq5O -eCjm&MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec,XJeGoUJec#RIeGoUIeGoUDeHl6+eH".M!7fU"rm^uKrRLlIrRClJ -eC=O!MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#X?eH#XKeHc-)ec5["ec5Tu!<;uI"96p%s8(7Ps4,["e^a]Mec5X!#liH* -s4./"ec5X!!<:R!!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Dg&M-Pg'7W3g&M-,g&V**!!)rN!s%'/!;bCU!8?-,g=cP\g&V-+#QWT4 -!87G,g&V-+!!(O&!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoU?eGoUKeHZ*)eGoU"eH#Qu!!)rI!s$m%!;b4P!7fU"e^XZMeH#U!#QWE* -!7_)"eH#U!!!(O!!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBec,UHec5[Lec5XOec41MrVuiHs8VlEs8W&Js8N,Ms8LRKs8LRKs8LRI -s45^#s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-GgAV*MgA_0QgA_-Tg&Tj\r;cfMrrDiJrrE#Orr<)R!<1^P!<1^P!<1^N -!7oj(!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBec#RHec,XLec,UOeH".Mr;cfHrrDiErrE#Jrr<)M!<1OK!<1OK!<1OI -!7o[#!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X%ebfBWeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-*gA:l\g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU%eb]?WeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5eboLGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gAM$Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5eboLGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eVO8+s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g5#`dg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eVF3_eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4ec#RHeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gAV*Mg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4ec#RHeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XHeH#XIec5Z`eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-Mg&M-NgA_/eg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUHeGoUIec,W`eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XAeH#W`eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-Fg&M,eg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUAeGoT`eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XCeH>j%s8W&Js8W,L"om-Qec5[Gec#OIec5[Jec,T_eH#W,eH#WHec19m -^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Hg&h?/!!)uOrrE)Q"T[6Vg&M-LgAM$NgA_0OgAV)dg&M,1g&M,MgAc`p -_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUCeH5g%!!)uJrrE)L"T['QeGoUGeboLIec,XJec#Q_eGoT,eGoTHec19m -^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeIV]1ec41Ms4,["ec42"ec5Ep!<;rH!<<&K"96p%s1["`s,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg(+2;g&Tj\!8?-,g&Th,g&Up%!!)oM!!*#P!s%'/[email protected]!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeIMZ1eH".M!7fU"eH","eH#Bp!!)oH!!*#K!s$m%!5?t`!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeHQ!'ec41Mrr<#K"TR$Pec5Ep!<;rH!<<&K"96p%s1["`s,,>,s/+?H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg'%K1g&Tj\rW)uP"9@-Ug&Up%!!)oM!!*#P!s%'/[email protected]!/fJ1!2eKM -Jb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeHGs'eH".MrW)uK"9?sPeH#Bp!!)oH!!*#K!s$m%!5?t`!/f;,!2e<H -KCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeIMW0ec41Ms4,["e^a]Ms7b%Gs4,["rm_#Krm_,Ne^a]6eH#W,eH#WH -ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Gg(",:g&Tj\!8?-,g=cP\!;G1L!8?-,rn7>Prn7GSg=cP@g&M,1g&M,M -gAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeIDT0eH".M!7fU"e^XZM!;G"G!7fU"rm^uKrm_)Ne^XZ6eGoT,eGoTH -ec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XCec,RQec5["ec5[KeH5d$s7Y"Cs8UXIs8UXLrrL[M^XW>aMU__,VUb^! -o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-HgAV'Vg&M-,g&M-Pg&_9.!;>.H!<:dN!<:dQ!!1dR^Y/YfMV8%1VV;'$ -o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUCec#OQeGoU"eGoUKeH,a$!;=tC!<:UI!<:UL!!1UM^XW;aMU_\,VUb^! -o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X1ebfBKeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-6gA:lPg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU1eb]?KeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH5d$eb]?0eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gA:l5g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$eb]?0eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eVO8+s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g5#`dg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eVF3_eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH5d$ebfE0eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gACr5g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$ebfE0eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#X*eH#XJeH#X=ec5[@ec5[2eH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&Rt,g&M-Fg&M-/g&M-Og&M-BgA_0EgA_07g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoT,eGoUAeGoU*eGoUJeGoU=ec,X@ec,X2eGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#W,eH#XAeH#X%eH#X<eH#X?eH#X2eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Fg&M-*g&M-Ag&M-Dg&M-7g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAeGoU%eGoU<eGoU?eGoU2eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBec#OJeH,^#r;QiKs8VrG#liHTec5["s4.,Ks4./LrmguIrmh&Kp=00C -rRLrJrRLrJrm_,Nec5[5eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-GgAM$Og&V3-qu?fP!!)lL#QWQYg&M-,!8@DPs4[JQrn@;Nrn@APp=]KH -rS%8OrS%8Orn7GSg&M-:g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeboLJeH#[#qu?fK!!)lG#QWBTeGoU"!7h&Ks4.,LrmgrIrmh#Kp=0-C -rRLoJrRLoJrm_)NeGoU5eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#XIeH#XJeH>j%ec5Kr"TR$Pec5X!!<;rH!<<#J!<<#J"96p%s7b%D -s8LOYs4,["e^a]Mec41Ms4./4eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Fg&M-Ng&M-Og&h?/g&V!'"9@-Ug&V-+!!)oM!!)uO!!)uO!s%'/!;G1I -!<1[^!8?-,g=cP\g&Tj\!87G9g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAeGoUIeGoUJeH5g%eH#Hr"9?sPeH#U!!!)oH!!)uJ!!)uJ!s$m%!;G"D -!<1LY!7fU"e^XZMeH".M!7_)4eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#XIeH#XJeH>j%ec5Kr"TR$Pec5X!!<;rH!<<#J!<<#Jrr;]B!<<&K -#636(s4,["r71iIk1'J3MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Fg&M-Ng&M-Og&h?/g&V!'"9@-Ug&V-+!!)oM!!)uO!!)uOrW)ZG!!*#P -"p!B2!8?-,r7_/Nk1Te8MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAeGoUIeGoUJeH5g%eH#Hr"9?sPeH#U!!!)oH!!)uJ!!)uJrW)ZB!!*#K -"p!3(!7fU"r71fIk1'G3MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XAeHZ'(ec41Ms8CIMs4,["q:,QHec5Tu!<;rH!<<#J#liH*s4./"ec5Bo -!<<&K%fb)0s4,["e^a]Mec42"kLBS4MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Fg'.Q2g&Tj\!<(UR!8?-,q:YlMg&V**!!)oM!!)uO#QWT4!87G,g&Um$ -!!*#P%KP5:!8?-,g=cP\g&Th,kLon9MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAeHQ$(eH".M!<(FM!7fU"q:,NHeH#Qu!!)oH!!)uJ#QWE*!7_)"eH#?o -!!*#K%KP&0!7fU"e^XZMeH","kLBP4MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#X@ec5[Lec#OIec5[EeH5d$s8LRIs8UXIs8LRKs8LRKs7k.Bs8UXLs8CLJ -s8UXLrrUaNs6.u5s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-EgA_0QgAM$NgA_0Jg&_9.!<1^N!<:dN!<1^P!<1^P!;P:G!<:dQ!<(XO -!<:dQ!!:jS!9i,:!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoU@ec,XLeboLIec,XEeH,a$!<1OI!<:UI!<1OK!<1OK!;P+B!<:UL!<(IJ -!<:UL!!:[N!9hr5!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#X5eH#WFeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-:g&M,Kg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU5eGoTFeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X7ec5[JebfC,ebfBoeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-<gA_0OgA:m1gA:ltg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU7ec,XJeb]@,eb]?oeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5eboLGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gAM$Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5eboLGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eU[^_!!*%rec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g496c!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eU[^^!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4ec#RHeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gAV*Mg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4ec#RHeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XBec5Z`eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-GgA_/eg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUBec,W`eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X)eH#XAeH#W`eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-.g&M-Fg&M,eg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU)eGoUAeGoT`eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec5XPec42"ec,RMec5[KeH>j%s8W)KrVulIs8W&Jrr9^_!<7r,!<8qH -s+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-FgA_-Ug&Th,gAV'Rg&M-Pg&h?/!!*#Pr;ciNrrE#OrW'[d!!%o1!!&nM -s+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAec,UPeH","ec#OMeGoUKeH5g%!!*#Kr;ciIrrE#JrW'[_!!%o,!!&nH -s+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBeH>j%ec5X!!<;rH!<<&K"96p%s8LOKs8CISs4,["e^a]Mec3A6!<7r, -!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg&h?/g&V-+!!)oM!!*#P!s%'/!<1[P!<(UX!8?-,g=cP\g&Sk@!!%o1 -!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeH5g%eH#U!!!)oH!!*#K!s$m%!<1LK!<(FS!7fU"e^XZMeH!>6!!%o, -!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBeH>j%ec5X!!<<#Jrr;uJ"96p%s8LOKs8CLIs8LONs4,["^=<5`MU__, -VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Gg&h?/g&V-+!!)uOrW)rO!s%'/!<1[P!<(XN!<1[S!8?-,^=iPeMV8%1 -VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUBeH5g%eH#U!!!)uJrW)rJ!s$m%!<1LK!<(II!<1LN!7fU"^=<2`MU_\, -VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XBeH>j%ec5X!!<<&K"96p%s8LONs4,["rm_MYe^a]Ms4,["e^a]Mec3A6 -!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg&h?/g&V-+!!*#P!s%'/!<1[S!8?-,rn7h^g=cP\!8?-,g=cP\g&Sk@ -!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeH5g%eH#U!!!*#K!s$m%!<1LN!7fU"rm_JYe^XZM!7fU"e^XZMeH!>6 -!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XAec,UKec#OJec5XNec42!rrUaNs8LRKs8LRKs8CLJrrL[M^XW>aMU__, -VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgAV*PgAM$OgA_-Sg&Tk+!!:jS!<1^P!<1^P!<(XO!!1dR^Y/YfMV8%1 -VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec#RKeboLJec,UNeH"/!!!:[N!<1OK!<1OK!<(IJ!!1UM^XW;aMU_\, -VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#X?eH#W<eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Dg&M,Ag&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU?eGoT<eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBec,T:eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-GgAV)?g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBec#Q:eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH5d$eb]?0eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gA:l5g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$eb]?0eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eU[^_!!*%rec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g496c!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eU[^^!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH5d$ebfE0eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&_9.gACr5g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eH,a$ebfE0eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XJeboK2eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-OgAM#7g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUJeboK2eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XGec,W5eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-LgA_/:g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUGec,W5eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X@ec,X&eGoUJeGoTjeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-EgA_0+g&M-Og&M,og&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU@ec5[&eH#XJeH#WjeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X?eGoU!eGoTjeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Dg&M-&g&M,og&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU?eH#X!eH#WjeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec#RJec,XDec,XJec,XLec,USeH".M!!(OLrRLoJrmgrIb1-LlMU__, -VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgAV*OgA_0IgA_0OgA_0QgA_-Xg&Tj\!!(^QrS%8Orn@;Nb1ZgqMV8%1 -VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec,UJec5[Dec5[Jec5[Lec5XSec41Ms8UXLrRLrJrmguIb1-IlMU_\, -VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XBeHl6+eH".M!7fU"q:-2[e^XZMeH".M!7_)"!7_)"!7_)"!<(FJ!<(FJ -!6E[js,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,q:ZP`g=cP\g&Tj\!87G,!87G,!87G,!<(UO!<(UO -!6Ejo!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeHu9+ec41Ms4,["q:-5[e^a]Mec41Ms4./"s4./"s4./"s8CIJs8CIJ -s2`^j!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeHl6+eH".M!7fU"q:,HFr7);Xe^XZM!7_)"!7_)"!7_)JeGoUJeGoTj -eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,q:YfKr7VY]g=cP\!87G,!87G,!87GOg&M-Og&M,o -g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeHu9+ec41Ms4,["q:,KFr7)>Xe^a]Ms4./"s4./"s4./JeH#XJeH#Wj -eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeHl6+eH".M!7fU"q:-2[e^XZMeH".M!7_)"!7_)"!7_)"!<(FJ!<(FM -!7fU"bLHUmMU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,q:ZP`g=cP\g&Tj\!87G,!87G,!87G,!<(UO!<(UR -!8?-,bLuprMV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUBeHu9+ec41Ms4,["q:-5[e^a]Mec41Ms4./"s4./"s4./"s8CIJs8CIM -s4,["bLHRmMU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XAec,UQeH".M!!)cDrrE#JrrE)L!s$jOec#OPeH","!7guIrmh#Kb1-Ll -MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgA_-Vg&Tj\!!)cIrrE#OrrE)Q!s%$TgAV'Ug&Th,!8@>Nrn@APb1Zgq -MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec5XQec41Ms8ViDs8W&Js8W,L"96pOec,RPec42"s4.&Irmh&Kb1-Il -MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X7eb]?EeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-<gA:lJg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU7ebfBEeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X5ec5[,eH#XHeH#XIec5[#eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-:gA_01g&M-Mg&M-NgA_0(g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU5ec,X,eGoUHeGoUIec,X#eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X4eH#X,eH#XAeH#X#eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-9g&M-1g&M-Fg&M-(g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU4eGoU,eGoUAeGoU#eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeH,^#rr<#Ks8W#I!<<#Js8W)Ks8W#Irr;uJs8VlErVulIs8W&Jrr:R" -!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg&V3-rW)uPrrDuN!!)uOrrE&PrrDuNrW)rOrrDiJr;ciNrrE#OrW(O' -!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeH#[#rW)uKrrDuI!!)uJrrE&KrrDuIrW)rJrrDiEr;ciIrrE#JrW(O" -!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XAeH#XJeH>j%ec5Tu!<<&K"96p%s8CIJs8LOKs8:CLs4,["psfBEqpb]H -rm_,Ne^a]NeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Fg&M-Og&h?/g&V**!!*#P!s%'/!<(UO!<1[P!;tOQ!8?-,pt>]Jqq;#M -rn7GSg=cPXg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAeGoUJeH5g%eH#Qu!!*#K!s$m%!<(FJ!<1LK!;t@L!7fU"psf?EqpbZH -rm_)Ne^XZNeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAeH#XJec,UHeH#XKec,UJec,UIec5[Kec,UCeH#XHeH#XKeH>j%ec44N -!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Fg&M-OgAV*Mg&M-PgAV*OgAV*NgA_0PgAV*Hg&M-Mg&M-Pg&h?/g&T^X -!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAeGoUJec#RHeGoUKec#RJec#RIec,XKec#RCeGoUHeGoUKeH5g%eH"1N -!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XAeH#XJeH>j%ec5Tu!<<&K#liH*s4./"ec5Ns#636(s4,["psfKHe^a^! -eH#XKeH>j%ec44N!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Fg&M-Og&h?/g&V**!!*#P#QWT4!87G,g&V$("p!B2!8?-,pt>fMg=cQ+ -g&M-Pg&h?/g&T^X!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAeGoUJeH5g%eH#Qu!!*#K#QWE*!7_)"eH#Ks"p!3(!7fU"psfHHe^X[! -eGoUKeH5g%eH"1N!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBec#OIec5[KeboIIec5[Kec5XOec41Mrr;rIs8VfCs8W,Lr;ZfIs8N,M -s4>d$s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-GgAM$NgA_0PgACsNgA_0PgA_-Tg&Tj\rW)oNrrDcHrrE)QquHcNrr<)R -!8#p)!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeboLIec,XKebfFIec,XKec,UOeH".MrW)oIrrDcCrrE)LquHcIrr<)M -!8#a$!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#WnebfBceH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,sgA:lhg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoTneb]?ceGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5eboLGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gAM$Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5eboLGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eU[^_!!*%rec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g496c!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eU[^^!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W4eb]@HeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gA:mMg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4eb]@HeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W4ec#RHeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,9gAV*Mg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT4ec#RHeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W5ec,XGeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,:gA_0Lg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT5ec,XGeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X@ec5[Eec5[DeH#X=eH#X%eH#XHeH#X@eH#W,eH#WHec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD+?g&Rt,g&M-EgA_0JgA_0Ig&M-Bg&M-*g&M-Mg&M-Eg&M,1g&M,MgAc`p_Z0Z5g'+2M -k2s5TJ,~> -!<E0!joD4BeGoT,eGoU@ec,XEec,XDeGoU=eGoU%eGoUHeGoU@eGoT,eGoTHec19m^&S-0eHMcK -k2s>WJ,~> -!<E0!joD4BeH#W,eH#X?eH#XDeH#XDeH#X=eH#X%eH#X9eH#W,eH#WHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD+?g&Rt,g&M-Dg&M-Ig&M-Ig&M-Bg&M-*g&M->g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5T -J,~> -!<E0!joD4BeGoT,eGoU?eGoUDeGoUDeGoU=eGoU%eGoU9eGoT,eGoTHec19m^&S-0eHMcKk2s>W -J,~> -!<E0!joD4BeH#W,eH#XAec,UJec5[IeH#XJec5[Kec#OIec5[Eec#OJeH,^#rr3&Ms8W)K"96pO -s8CLIs8UXLs8:FIs8LRIs8LRKs8CLJs8UURs4./Le^a\WeH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-FgAV*OgA_0Ng&M-OgA_0PgAM$NgA_0JgAM$Og&V3-rW!#R!!*#P!s%$T -!<(XN!<:dQ!;tRN!<1^N!<1^P!<(XO!<:aW!87DQg=cOag&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUAec#RJec,XIeGoUJec,XKeboLIec,XEeboLJeH#[#rW!#M!!*#K!s$jO -!<(II!<:UL!;tCI!<1OI!<1OK!<(IJ!<:RR!7_&Le^XYWeGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XBeHu9+ec41Ms4,["rRCoJrm_,Ne^a^!eH#XJeH>j%ec5Ep!<;uI!<;rH -!<<&K#636(s4,["qUGTGrm_,Ne^a^!eH#XHeH#XKeI2E-ec41Ms4,["ec1NW!<8qHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,rRq5Orn7GSg=cQ+g&M-Og&h?/g&Up%!!)rN!!)oM -!!*#P"p!B2!8?-,qUtoLrn7GSg=cQ+g&M-Mg&M-Pg'[o7g&Tj\!8?-,g&R#a!!&nMs+0aXs8VuM -"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeHl6+eH".M!7fU"rRClJrm_)Ne^X[!eGoUJeH5g%eH#Bp!!)rI!!)oH -!!*#K"p!3(!7fU"qUGQGrm_)Ne^X[!eGoUHeGoUKeI)B-eH".M!7fU"eGtKW!!&nHs+BmUs8VuH -"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBeHQ!'ec41Mrr;oH!<<&Krr;rI!<<#Jrr;`C!<;uI!<<#Jrr;uJ"96p% -s8LRKs8LRJs8LOKs81=Hs81=Hs8LOVs4,["e^a]Mec42"MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-Gg'%K1g&Tj\rW)lM!!*#PrW)oN!!)uOrW)]H!!)rN!!)uOrW)rO!s%'/ -!<1^P!<1^O!<1[P!;kIM!;kIM!<1[[!8?-,g=cP\g&Th,MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUBeHGs'eH".MrW)lH!!*#KrW)oI!!)uJrW)]C!!)rI!!)uJrW)rJ!s$m% -!<1OK!<1OJ!<1LK!;k:H!;k:H!<1LV!7fU"e^XZMeH","MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#XBeHu9+ec41Ms4,["rRCoJrm_,Ne^a^!eHl3*ec42"e^a]peHZ'(ec41M -s8LONs4,["rm_,Ne^a]teHQ!'s4,["rm_,Ne^a^!eH>j%ec5X!!<<&K$iec-s4,["e^a]Ms,,>, -s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-Gg'Ic5g&Tj\!8?-,rRq5Orn7GSg=cQ+g'@]4g&Th,g=cQ%g'.Q2g&Tj\ -!<1[S!8?-,rn7GSg=cQ)g'%K1!8?-,rn7GSg=cQ+g&h?/g&V-+!!*#P$NSo7!8?-,g=cP\!/fJ1 -!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBeHl6+eH".M!7fU"rRClJrm_)Ne^X[!eHc0*eH","e^XZpeHQ$(eH".M -!<1LN!7fU"rm_)Ne^XZteHGs'!7fU"rm_)Ne^X[!eH5g%eH#U!!!*#K$NS`-!7fU"e^XZM!/f;, -!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XAec5XQec41Ms8W)Kr;ZfIs8W#Is8W)Ks8VfCs8W,LrVuoJs8N/Ns4.,K -"4dGOec,UJec5XMec5X!s8W#Is8W,Lr;ZfIs8W,Lrr2uKrr7l+!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-FgA_-Vg&Tj\!!*#PquHcNrrDuNrrE&PrrDcHrrE)Qr;clOrr<,S!8@DP -"53_TgAV*OgA_-Rg&V-+rrDuNrrE)QquHcNrrE)QrVurPrW%i0!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUAec,UQeH".M!!*#KquHcIrrDuIrrE&KrrDcCrrE)Lr;clJrr<,N!7h&K -"4[AOec#RJec,UMeH#U!rrDuIrrE)LquHcIrrE)LrVurKrW%i+!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#WtebfB]eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-$gA:lbg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoTteb]?]eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5eboLGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gAM$Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5eboLGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eVO8+s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g5#`dg&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eVF3_eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4eb]@HeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gA:mMg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4eb]@HeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W4ec#RHeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,9gAV*Mg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT4ec#RHeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W5ec,XGeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,:gA_0Lg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT5ec,XGeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X4ec,X9eGoT^eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-9gA_0>g&M,cg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU4ec5[9eH#W^eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X3eGoU9eGoT^eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-8g&M->g&M,cg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU3eH#X9eH#W^eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec,XLeH5g%!!)uJrW)`DrrE)Lrr<2P!!(R"r;ciIrrE&K!<C[L!6`mm -s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-FgA_0Qg&h?/!!)uOrW)`IrrE)Qrr<2U!!(a,r;ciNrrE&P!<CjQ!6a'r -!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUAec5[LeH>j%s8W&Jrr;cDs8W,Ls8N5Ps8UX"rVulIs8W)K!WU^Ls3&pm -!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeIMZ1eH".M!7fU"e^XZMeH#Eq#lrN+!7fU"e^X[!eGoUJeH5g%eH#U! -!!(*j!<7r,!<8qHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD+?g&Rt,g&M-Gg(+2;g&Tj\!8?-,g=cP\g&Us&#lr]5!8?-,g=cQ+g&M-Og&h?/g&V-+ -!!(*o!!%o1!!&nMs+0aXs8VuM"ektYk.1PC~> -!<E0!joD4BeGoT,eGoUBeIV]1ec41Ms4,["e^a]Mec5Hq$3/Q+s4,["e^a^!eH#XJeH>j%ec5X! -!<:-j!!%o,!!&nHs+BmUs8VuH"f21\k.LbF~> -!<E0!joD4BeH#W,eH#XBec#RJeHl6+eH".M!7fU"q:,cOe^XZMeH".M!<1LK!<(II!<(FJ!6E[j -s,,>,s/+?HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M-GgAV*Og'Ic5g&Tj\!8?-,q:Z,Tg=cP\g&Tj\!<1[P!<(XN!<(UO!6Ejo -!/fJ1!2eKMJb$\Xs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoUBec,UJeHu9+ec41Ms4,["q:,fOe^a]Mec41Ms8LOKs8CLIs8CIJs2`^j -!/f;,!2e<HKCZ_Us81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#XBeIMZ1eH".M!7fU"e^XZMeH#Eq#lrN+!7fU"e^X[!eHc0*eH","e^X[! -eGoTjeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-Gg(+2;g&Tj\!8?-,g=cP\g&Us&#lr]5!8?-,g=cQ+g'@]4g&Th,g=cQ+ -g&M,og&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoUBeIV]1ec41Ms4,["e^a]Mec5Hq$3/Q+s4,["e^a^!eHl3*ec42"e^a^! -eH#WjeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#XAec,XLec#OSeGoU"eGoU"!;Y1F!<(IJ!!1UMrmh#Krmh#KrmgrIb1-Ll -MU__,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD+?g&Rt,g&M-FgA_0QgAV'Xg&M-,g&M-,!;Y@K!<(XO!!1dRrn@APrn@APrn@;Nb1Zgq -MV8%1VV;'$o"tG,qq;4Is5rIT!.Y~> -!<E0!joD4BeGoT,eGoUAec5[Lec,RSec5["ec5["s7t4Fs8CLJrrL[Mrmh&Krmh&KrmguIb1-Il -MU_\,VUb^!o"G)'qpbkGs5rIW!.Y~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#X1eb]?KeH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M-6gA:lPg&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoU1ebfBKeGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`p_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19m^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19ks81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`ns81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19ks81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec17%^%D=+KE(uKeHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc^(_Y!j0JcGcIg'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec17%^%D=+KE(uKeHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc^*_Z0Z2gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec17'^&S--ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%^&S-.ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca(_Z0Z3gAc^*_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%^&S-.ec17'^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:%^&S-/ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca(_Z0Z4gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:%^&S-/ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:$^&S-0ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca'_Z0Z5gAca(_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:$^&S-0ec1:%^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:$^&S-1ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca'_Z0Z6gAca'_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:$^&S-1ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:#^&S-2ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca&_Z0Z7gAca'_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:#^&S-2ec1:$^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:#^&S-3ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca&_Z0Z8gAca&_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:#^&S-3ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:"^&S-4ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca%_Z0Z9gAca&_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:"^&S-4ec1:#^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:"^&S*6eUrMP^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca%_Z0W;g4=hQ_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:"^&S*6eUrMP^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:!]`A*3KD`F_s81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca$_>sW8Jc*Cbs81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:!]`A*3KD`F_s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec1:!]`S4dKDW@^s81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca$_?0agJc!=as81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec1:!]`S4dKDW@^s81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19u^&N`^^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca#_Z,2a_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19u^&N`^^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19u]`<]]^&S-0eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAca#_>o/`_Z0Z5g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19u]`<]]^&S-0eHMcKk2s>WJ,~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHec19ks81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,MgAc`ns81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHec19ks81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#WHeGt6js81=MV#TT>]`<Q~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,Mg&Q]ms81LRU&X9;\c@6~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoTHeGt6js81=MV#TT>]`<Q~> -!<E0!joD4BeH#W,eH#W,eH#W,eH#W/eHMcKk2s>WJ,~> -!<E0!joD+?g&Rt,g&M,1g&M,1g&M,4g'+2Mk2s5TJ,~> -!<E0!joD4BeGoT,eGoT,eGoT,eGoT/eHMcKk2s>WJ,~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD*+g4@t/g5XeiU&X9;\c@6~> -!<E0!joD3.eUc8%eW&)_V#TT>]`<Q~> -!<E0!joD4SeU`@(K7SZXKBC\fV#TT>]`<Q~> -!<E0!joD+Pg4=g+JUrBTJ`bYiU&X9;\c@6~> -!<E0!joD4SeU`@(K7SZXKBC\fV#TT>]`<Q~> -!<E0!joD4SeU`@(K7SZYK)kr6eHMcKk2s>WJ,~> -!<E0!joD+Pg4=g+JUrBUJH5`4g'+2Mk2s5TJ,~> -!<E0!joD4SeU`@(K7SZYK)kr6eHMcKk2s>WJ,~> -!<E0!joD4Sec19n]`J/HJcC<$`W(q2s8V`)s8V63"f21\k.LbF~> -!<E0!joD+PgAc`q_?'\RJcC<$`W(q7s8V`.s8V68"ektYk.1PC~> -!<E0!joD4Sec19n]`J/HJcC<$`W(q2s8V`)s8V63"f21\k.LbF~> -!<E0!joD4Sec19p^&S*5K=uj9JcEai!/$9ErVuT)s8V63"f21\k.LbF~> -!<E0!joD+PgAc`s_Z0W:J\m!<JcEai!.g-HrVuT.s8V68"ektYk.1PC~> -!<E0!joD4Sec19p^&S*5K=uj9JcEai!/$9ErVuT)s8V63"f21\k.LbF~> -!<Bh3SGUk:KD3(Ys8R]Q^&S+`eUc8mec18]^&.j)^&S,peHMJVS=BQZJ,~> -!<B_0RJY_<JbR%\s8RWO_Z0Xeg4@u"gAc_`_YaB._Z0Yug'*nUR@+$TJ,~> -!<Bh3SGUk:KD3(Ys8R]Q^&S+`eUc8mec18]^&.j)^&S,peHMJVS=BQZJ,~> -!!)uB!1`r:s+C-\rVm&OK7gl;s+/^Oe]HAAK8mSEs8UXJs8'G/s5qi8SB\a\S,e'~> -!!)u?!1E`<s+1!_rVm&TJUt]<s+/mTg<&(KJW7PHs8UgOs8'V4s5r#=REE+PR/ha~> -!!)uB!1`r:s+C-\rVm&OK7gl;s+/^Oe]HAAK8mSEs8UXJs8'G/s5qi8SB\a\S,e'~> -!<CCD]`=T"ec1:!^&A!1ec17'^&S+`eUc8mec18]^&S-2ec#OG^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca$_YsN6gAc^*_Z0Xeg4@u"gAc_`_Z0Z7gAV'L_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:!^&A!1ec17'^&S+`eUc8mec18]^&S-2ec#OG^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:#^&A!/ec17'^&S+`eUc8mec18]^&S-0ec#OI^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca&_YsN4gAc^*_Z0Xeg4@u"gAc_`_Z0Z5gAV'N_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:#^&A!/ec17'^&S+`eUc8mec18]^&S-0ec#OI^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:%^&A!-ec17'^&S+`eUc8mec18]^&S-.ec#LL^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca(_YsN2gAc^*_Z0Xeg4@u"gAc_`_Z0Z3gAV$Q_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:%^&A!-ec17'^&S+`eUc8mec18]^&S-.ec#LL^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ebb!oec17'^&S+`eUc8mec18]^&S--ebt.#s5qi8SB\a\S,e'~> -!<C:A\cA/qgA?HrgAc^*_Z0Xeg4@u"gAc_`_Z0Z2gAQU&s5r#=REE+PR/ha~> -!<CCD]`=T"ebb!oec17'^&S+`eUc8mec18]^&S--ebt.#s5qi8SB\a\S,e'~> -!<CCD]`=T"ec1:%^&<T[ec17'^&S+`eUc8mec18]^&S-.ebt+%^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca(_Yo&^gAc^*_Z0Xeg4@u"gAc_`_Z0Z3gAQR(_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:%^&<T[ec17'^&S+`eUc8mec18]^&S-.ebt+%^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:#^&<T]ec17'^&S+`eUc8mec18]^&S-0ebt."^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca&_Yo&`gAc^*_Z0Xeg4@u"gAc_`_Z0Z5gAQU%_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:#^&<T]ec17'^&S+`eUc8mec18]^&S-0ebt."^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec1:!^&<T_ec17'^&S+`eUc8mec18]^&S-2ebt-u^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAca$_Yo&bgAc^*_Z0Xeg4@u"gAc_`_Z0Z7gAQU#_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec1:!^&<T_ec17'^&S+`eUc8mec18]^&S-2ebt-u^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec19t^&<QeeUrLfs8RZ#J^qlms+?<Es8W,LrIas[s8V63"e<iN]po(Q~> -!<C:A\cA/qgAca"_Yo#hg4=gls8RZ(J_J6"s+-0Hs8W,QrIOg^s8V68"e!NE\sWPK~> -!<CCD]`=T"ec19t^&<QeeUrLfs8RZ#J^qlms+?<Es8W,LrIas[s8V63"e<iN]po(Q~> -!<CCD]`=T"ec19r^&3Ka^&S+`eUc8mec18]^&S-2KD<.[s5qi8SB\a\S,e'~> -!<C:A\cA/qgAc`u_Yerd_Z0Xeg4@u"gAc_`_Z0Z7Jb[+^s5r#=REE+PR/ha~> -!<CCD]`=T"ec19r^&3Ka^&S+`eUc8mec18]^&S-2KD<.[s5qi8SB\a\S,e'~> -!<CCD]`=T"ec19p^&EWc^&S+`K7SZqK8mSEs8R`F^&S,peHMJf]tKp9J,~> -!<C:A\cA/qgAc`s_Z#)f_Z0XeJUrBmJW7PHs8RZD_Z0Yug'*ne]"4:0J,~> -!<CCD]`=T"ec19p^&EWc^&S+`K7SZqK8mSEs8R`F^&S,peHMJf]tKp9J,~> -!<CCD]`=T"ec19n]`Ni"s+,fRK>rP']`J.coY(;)k1'X*c+Uf\!.Y~> -!<C:A\cA/qgAc`q_?,;*s+,`PJ]<8#_?'[foYUY.k1U!,b.>0P!.Y~> -!<CCD]`=T"ec19n]`Ni"s+,fRK>rP']`J.coY(;)k1'X*c+Uf\!.Y~> -!<CCD]`=T"ec18Qs+13$s02OceHMJf]tKp9J,~> -!<C:A\cA/qgAc_Ts+13$s02Ocg'*ne]"4:0J,~> -!<CCD]`=T"ec18Qs+13$s02OceHMJf]tKp9J,~> -!<CCD]`=T"eGt5Qs+13$s0)IbeHMJf]tKp9J,~> -!<C:A\cA/qg&Q\Ts+13$s0)Ibg'*ne]"4:0J,~> -!<CCD]`=T"eGt5Qs+13$s0)IbeHMJf]tKp9J,~> -!<CCD]`=RReUc8%eW&)_SB\a\S,e'~> -!<C:A\cA.Lg4@t/g5XeiREE+PR/ha~> -!<CCD]`=RReUc8%eW&)_SB\a\S,e'~> -!<CCC^%%VDUk,=mUogEm^%.Znc2PBWS,e'~> -!<C:@]()2>Tn/ngTrk!g](26hb5SsQR/ha~> -!<CCC^%%VDUk,=mUogEm^%.Znc2PBWS,e'~> -rr<&DrOqgI!53s`JcC<$XoIq9rk/B'!<7Q~> -rr<&ArOVUC!4ma]JcC<$XoIq6rji0!!<7Q~> -rr<&DrOqgI!53s`JcC<$XoIq9rk/B'!<7Q~> -rr<&Dn%A^kJ`_OGJ`a)s!6suG!h98jJ,~> -rr<&An%&LeJ`_OGJ`a)s!6XcA!gs&gJ,~> -rr<&Dn%A^kJ`_OGJ`a)s!6suG!h98jJ,~> -"9AH%S=K,_!1\W&J`_OGXl]W.n\+sm!W`9#J,~> -"9AH%R@3TV!1AE#J`_OGXl]W+n[eag!W`9#J,~> -"9AH%S=K,_!1\W&J`_OGXl]W.n\+sm!W`9#J,~> -"9AK%!!)MYJ\?WJJ\A.unXTUZrr7K~> -"9AK%!!)MVJ\$EDJ\%qonX9CWrr7K~> -"9AK%!!)MYJ\?WJJ\A.unXTUZrr7K~> -"TJH%s8RWMJH16$MZE\TJ,~> -"TJH%s8RWMJH16$MZE\TJ,~> -"TJH%s8RWMJH16$MZE\TJ,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/sim_trans_move_actor.gif b/lib/et/doc/src/sim_trans_move_actor.gif Binary files differdeleted file mode 100644 index f7185cada2..0000000000 --- a/lib/et/doc/src/sim_trans_move_actor.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans_move_actor.png b/lib/et/doc/src/sim_trans_move_actor.png Binary files differnew file mode 100644 index 0000000000..c642720a8b --- /dev/null +++ b/lib/et/doc/src/sim_trans_move_actor.png diff --git a/lib/et/doc/src/sim_trans_move_actor.ps b/lib/et/doc/src/sim_trans_move_actor.ps deleted file mode 100644 index b459735a82..0000000000 --- a/lib/et/doc/src/sim_trans_move_actor.ps +++ /dev/null @@ -1,6403 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: (ImageMagick) -%%Title: (sim_trans_move_actor.ps) -%%CreationDate: (Mon Oct 14 16:44:32 2002) -%%BoundingBox: 0 0 512 426 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Orientation: Portrait -%%PageOrder: Ascend -%%Pages: 1 -%%EndComments - -%%BeginDefaults -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-none or 1-RunlengthEncoded. - % hex color packets. - % - gsave - /buffer 512 string def - /byte 1 string def - /color_packet 3 string def - /pixels 768 string def - - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Times-Roman findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore - showpage -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 512 426 -DisplayImage -0 0 -512 426 -12.000000 -512 426 -1 -0 -0 -64 -31446a -394473 -314473 -000000 -ffffff -bdbebd -dedade -d5d6d5 -949194 -ded6de -9c999c -d5d2d5 -c5c2c5 -bdb6bd -838183 -7b817b -8b918b -7b7d7b -838583 -b4b2b4 -a4a1a4 -bdbabd -aca5ac -acaaac -cdcecd -c5cac5 -949594 -c5c6c5 -bdc2bd -b4b6b4 -949994 -838983 -a4a5a4 -acaeac -9ca19c -cdcacd -9c9d9c -8b8d8b -d5ced5 -9c959c -cdc6cd -e6e6e6 -d5dad5 -8b898b -b4aeb4 -c5bec5 -a4aaa4 -eeeeee -ffa500 -ff0000 -0000ff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -ffffff -000102000203030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303010201020101010103030404040404040404040404040404040405040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404050404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040403030101010202030404060606060606060606060606060606 -060507070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070705060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060606060606060606060606060606060606062f2f030001010304060606060606060606 -060606060606060606050707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070506060606060606060606060606060606060606060606060606060606060606 -06060606060606060606060606060606060606060606060606060606060c030002030406 -060606060606060606060606060606060605070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -0707070707070707070707070707070707070707190b0707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707050606060606060606060606060606060606060606060606 -060606060606060606060606060606060606060606060606060606060606060606060606 -060c03010304060606060606060606060606060606060606060507070707070707070707 -070707070707070707070707070707070707070707080807070707070707070707070707 -07070707070707070707070707070707070707070707070c1407050f111e080807070e0f -070707070707070707070707070707070707070707070707070707070707070707070707 -07070707070e0f07070e0f07070707070707070707070707070707070707070707070707 -070707070707071405070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070707070707070707070707070707070707 -070707070707070707070707070707070707070705060606060606060606060606060606 -06060606060606060606060a0a0a0a0a0a0a0a0a0a0606060606060606060606060a0a06 -0606060a0a06060606062103030409090909090a0a0909090909090a0a09090909050b0b -0b0b0b0b0b0b0b0b0b0b0b0c0d0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b08080b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0f1d0b2511 -1b2608080b0b0e0f0b0b0c0d0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0e0f0b0b0e0f0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c -0d0b0b0b0b0b0b0b0b0b0b0b0b0b0b1d112d0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0509090909090909 -090909090909090909090909090909090909090a0a0a0a0a0a0a0a0a0a09090909090909 -090909090a0a0a0a09090a0a0a0a0909090921030304090909090a0a0a0a090909090a0a -0a0a090909050b0b0b0b0b0b0b0b0b0b0b0b0b0e0f0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b2b1a0b0b0e0f0b0b0b0b0b0b0e0f0b0b0e0f0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0e0f0b0b0e0f0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0e0f0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1a2b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0509090909090909090909090909090909090909090909090909090a0a0a0a0a0a0a0a0a -0a09090909090909090909090a0a0a0a0a0a0a0a0a0a0909090921030304090909090a0a -0a0a0a09090a0a0a0a0a090909050b0b0b0b0b0b0c101112130b141111110c0b0b0b0b0b -0b0a11150b0b16120b0e0f0b0b0c101112130b17110c0b0a110c0b0a140b0c101112130b -0b252516250b0b0b0b1511150b0a111111230e0f0b0b0e0f0b141111110c0c101112130b -0b252516250b0e0f0b0b0b0b0b0b212b11112b230b212b112b210b0b0b0e0f0b0b0e0f0b -0b0c101112130b0b212b11112b23141111110c212b112b210b0b0b252516250b0d11150b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0509090909090909090909090909090909090909090909090909090a -0a0a0a0a0a0a0a0a0a0909090909090909090909090a0a0a0a0a0a0a0a09090909092103 -03040b0b0b0b0b0a0a0a0a0a0a0a0a0a0a0b0b0b0b051818181818190e12151a111b1b0f -111c181818181818181d111e18181f20180e0f18190e12151a111b15111718121117180e -1d190e12151a111b180e112b201818181822111b181b0f111c180e0f18180e0f181b0f11 -1c1b0e12151a111b180e112b20182b1f181818181820112b131d2e1b17111a051a111718 -180e0f18180e0f18190e12151a111b20112b131d2e1b1b0f111c2e111a051a111718180e -112b20181b11221818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -18181818181818181818181818181818050b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0a0b0b0b0b0b0b0b0b0a0b0b0b0b0b0b0b0b0b0b0b0b0b0a0a0a0a0a0a -0b0b0b0b0b0b210303040b0b0b0b0b0b0a0a0a0a0a0a0a0a0b0b0b0b0b05181818181821 -112223211121180e0f1818181818181818180e0f2305110c180e0f182111222321112118 -111a1b11121e1c112321112223211121180e112318181818181a111818180e0f18180e0f -18180e0f18180e0f1821112223211121180e112318181818181818181812110c18181818 -1f111b181b111f18180e0f18180e0f182111222321112112110c18181818180e0f181f11 -1b181b111f18180e1123181818111a181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818050b0b0b0b0b0b0b0b0b0b0b -0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a0b0b0b0b0b0b0b0b0a0b0b0b0b0b0b0b0b0b0b0b -0b0b0a0a0a0a0a0a0b0b0b0b0b0b210303040b0b0b0b0b0b0b0a0a0a0a0a0a0b0b0b0b0b -0b05181818181820111111111120180e0f181818181818181818241121242518180e0f18 -2011111111112018100e21081e1217251820111111111120180e0f1818181818181a1118 -18180e0f18180e0f18180e0f18180e0f1820111111111120180e0f181818181818181818 -18111118181818180f11181818111118180e0f18180e0f18201111111111201111181818 -1818180e0f180f11181818111118180e0f18181818111a18181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -1818181818181818181818181818181818181818181818181818181818181818050b0b0b -0b0b150a0a0a0a0a0a0a0a150b0b0b0b0b0b0b0b0b0b0b0a0b0b0b0b0b0b0b0b0a0b0b0b -0b0b0b0b0b0b0b0b0b0a0a0a0a0a0a0a0a0b0b0b0b0b210303040b0b0b0b0b0b0b0b0a0a -0a0a0b0b0b0b0b0b0b05181818181821112218181818180e0f1818181818181818181511 -250e1718180e0f18211122181818181814112520171125141821112218181818180e0f18 -181818181814111b18180e0f18180e0f18180e0f18180e0f1821112218181818180e0f18 -181818181818181818121105181818181f111b181b111f18180e0f18180e0f1821112218 -18181812110518181818180e0f181f111b181b111f18180e0f1818181b11221818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -181818181818181818181818181818181818181818181818181818181818181818181818 -18181818050b0b0b0b0b0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0a0b0b0b0b -0b0b0b0b0a0b0b0b0b0b0b0b0b0b0b0b0a0a0a0a0a0a0a0a0a0a0b0b0b0b210303042626 -2626262626262627272626262626262626052323232323281211201d2113231f111d2823 -232323232323231211111b23230e0f23281211201d2113231d11110d1511111d23281211 -201d2113230e0f23232323232315112c23230e0f23230e0f23230e0f23231f111d0c1211 -201d2113230e0f2323232b1f2323232323171112210d170c17111a151a111623230e0f23 -230e0f23281211201d2113171112210d170c231f111d20111a151a111623230e0f232323 -2c110d232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323052626262626272727272727272727272626262626262626 -262626272626262626262626272626262626262626262626272727272626272727272626 -26262103030426262626262626262626262626262626262626052323232323230c1a0f11 -122123130e0f1523232323232323231411082323230e0f23230c1a0f1112212328111123 -2311112823230c1a0f111221230e0f23232323232323252523230e0f23230e0f23230e0f -2323130e0f150c1a0f111221230e0f2323230e0f232323232323172b11112b2d23161211 -12172323230e0f23230e0f23230c1a0f11122123172b11112b2d23130e0f151612111217 -2323230e0f23232325252323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -23232323232323232323232323232323232323230526262626260d27272727272727270d -262626262626262626262627272727272727272727262626262626262626262626272726 -262626272726262626262103030426262626262626262626262626262626262626052323 -232323232323232323232323232311111111111111152323232323232323232323232323 -2323232323232323232323232323232323232323232323232323232323230c0e16232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323170e0c232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323230526262626262626 -262626262626262626262626262626262626262626262626262626262626262626262626 -262626262626262626262626262626262626210303042323232323232323232323232323 -2323232323051b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b05141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b14051b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -052323232323232323232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232321030304232323232323 -23232323232323232323232323051b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b05232323232323232323232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232103 -030423232323232323232323232323232323232323051b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b0523232323232323232323232323232323232323 -232323232323232323232323232323232323232323232323232323232323232323232323 -2323232323232103030e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e030304292929140404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404140429291503030429292914040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040e14042929150303042929 -291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1404 -2929150303042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1404292915030304292929140404 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e140429291503 -03042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0e14042929150303042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a0303030303 -0303032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a03030303 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a030303032a2a2a2a2a2a2a2a03032a03032a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -03030303030303032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a -2a2a2a03032a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303 -2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a03032a2a2a2a2a2a2a03032a03032a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a03032a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929 -291404042a2a2a2a2a2a2a03032a2a2a2a03032a03032a2a030303032a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a03032a2a03032a03032a2a030303032a2a03032a2a03032a2a03032a2a -030303032a2a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a03030303 -2a2a03032a03032a2a030303032a2a2a030303032a2a030303032a2a030303032a2a0303 -2a03032a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a03032a03032a030303032a2a0303 -03032a2a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a030303032a -2a03032a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1404 -2929150303042929291404042a2a2a2a2a2a2a03032a2a2a2a03032a03032a03032a2a03 -032a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a03032a03032a03032a2a03032a03032a2a -03032a2a03032a03032a2a03032a03030303032a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a -2a2a2a03032a2a03032a03032a03032a03032a2a03032a03032a2a03032a2a03032a2a03 -032a2a03032a03030303032a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a03032a03032a -2a03032a2a03032a2a03032a03030303032a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03 -032a03032a2a03032a03032a0303032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a03030303032a03032a -03032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a03032a03032a03032a -2a03032a2a03032a03032a03032a2a03032a2a03032a0303032a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a03032a2a2a2a2a03032a2a03032a03032a03032a03032a2a03032a03032a2a2a -2a2a2a03032a2a03032a2a03032a0303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03030303 -032a03032a03032a2a03032a2a03032a2a03032a0303032a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a030303030303032a03032a2a03032a03032a03032a2a03032a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a03 -032a2a2a2a03032a03032a0303030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a032a2a03 -2a2a03032a0303030303032a2a03032a03032a03032a2a0303030303032a03032a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a03032a2a03032a03032a03032a03030303 -03032a03032a2a2a2a2a2a03032a2a03032a2a03032a03032a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a03032a2a2a2a03032a03032a2a03032a2a0303030303032a03032a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a0303030303032a03032a03032a2a03032a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1404292915030304292929140404 -2a2a2a2a2a2a2a03032a2a2a2a03032a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a030303032a2a03032a03032a2a2a2a2a2a03032a03032a03032a2a03032a2a2a -2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a03032a2a03032a0303 -2a03032a03032a2a2a2a2a03032a2a2a2a2a2a03032a2a03032a2a03032a03032a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a03032a03032a2a03032a2a03032a2a2a2a2a -03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a2a2a2a03032a -03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e140429291503 -03042929291404042a2a2a2a2a2a2a03032a2a2a2a03032a03032a03032a2a03032a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a03032a2a2a03032a2a0303 -2a2a2a03032a2a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a030303 -032a2a03032a03032a03032a03032a2a03032a03032a2a03032a2a03032a0303032a2a03 -032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a03032a03032a2a03032a -0303032a2a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a0303 -2a2a03032a03032a0303032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0e14042929150303042929291404042a2a2a2a2a2a2a03032a2a2a2a03032a03032a2a -030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a030303032a2a -2a2a03032a2a03032a2a2a2a030303032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a030303032a2a030303032a2a03032a03032a2a030303032a2a2a030303032a2a2a2a -03032a2a030303032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a0303 -2a03032a2a2a03032a2a030303032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303 -2a2a2a03032a2a030303032a2a03032a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929 -291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1404 -2929150303042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e14042929150303042929291404042a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1404292915030304292929140404 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e140429291503 -03042929291404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0e14042929150303042929291404040e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e140429291503030429292914040e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03030303032a2a2a2a2a2a2a2a2a2a2a0303 -2a2a2a2a2a2a2a2a2a03032a03032a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a03032a2a2a2a -2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a03032a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04040404 -040404040404042a2a2a2a2a2a2a2a0303030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303 -2a2a2a03032a2a030303032a2a030303032a2a030303032a2a03032a03032a2a2a2a2a2a -03032a2a2a2a2a030303032a2a03032a2a2a03032a2a030303032a2a03032a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a040404040404040404040e2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a03032a2a2a03032a03032a2a03032a2a03032a2a03032a2a03032a03032a -03032a2a2a2a2a2a03032a2a2a2a03032a2a03032a03032a2a2a03032a03032a2a03032a -03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a -2a03032a03032a030303032a2a2a030303032a2a03030303032a2a030303032a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a03032a2a03032a2a2a2a -2a2a03032a03032a03032a2a2a2a2a2a03032a2a2a2a03032a2a03032a2a03032a03032a -2a03032a2a03032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a -2a2a2a03032a2a2a2a030303030303032a2a03032a03032a2a03032a2a2a2a03032a0303 -2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a030303030303 -2a2a03032a2a2a03030303032a03032a03032a2a2a2a2a2a03032a2a2a2a030303030303 -2a2a03032a03032a2a0303030303032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a -2a0e0e2a2a2a2a2a2a2a2a03030303032a0303032a2a03032a2a03032a03032a2a03032a -2a2a03032a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03 -032a03032a2a2a2a2a2a03032a2a03032a2a03032a03032a03032a2a2a2a2a2a03032a2a -2a2a03032a2a2a2a2a2a2a0303032a2a2a03032a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a2a03032a2a2a030303030303 -2a0303030303032a2a2a032a2a2a0303030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a03032a2a03032a2a03032a2a03032a2a03032a0303032a2a03032a03032a03032a2a -2a2a2a2a03032a2a2a2a03032a2a03032a2a2a0303032a2a2a03032a2a03032a03032a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a2a03032a -2a2a03032a2a2a2a2a03032a2a2a2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a03030303032a2a2a2a030303032a2a2a2a03032a2a0303032a03 -0303032a03032a2a2a2a2a2a0303030303032a030303032a2a2a2a2a032a2a2a2a2a0303 -03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03 -032a2a2a2a03032a2a2a03032a2a03032a03032a2a03032a03032a2a2a2a03032a2a0303 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a -2a2a2a2a2a2a2a03032a2a2a2a03032a2a2a2a030303032a2a2a030303032a2a03030303 -032a2a030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04040e0e -0e0e0e0e0e0e0e2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a030303032a2a2a03030303 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a030303032a2a2a03032a2a -03032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03 -032a2a2a03032a2a03032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a03032a2a2a03032a2a03032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a03032a03032a2a03032a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a03032a03 -032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a04040404040404040404042a2a2a2a2a2a2a2a03032a2a2a -03032a03032a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a0303030303032a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03030303030303032a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a -03032a2a03032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a040404040404040404040e2a2a2a2a2a -2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a03032a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a03032a2a2a03032a2a03032a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a -2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a03032a03032a2a030303032a2a -2a2a2a2a2a03032a2a2a2a03032a03032a030303032a2a032a0303032a0303032a2a2a2a -2a2a2a2a2a2a2a2a03032a2a2a2a030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a030303032a2a2a030303032a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03032a03032a030303 -2a03032a2a03032a2a2a2a2a2a03032a2a2a2a030303030303032a2a03032a03032a2a03 -032a2a03032a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a03032a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a030303030303032a03 -032a03032a2a03032a03032a2a03032a2a2a2a2a2a03030303032a0303032a2a03032a2a -03032a03032a2a03032a2a03032a0303030303032a2a2a2a03032a2a2a03032a2a03032a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03 -032a2a2a03032a03032a03032a2a03032a0303030303032a2a2a2a2a2a03032a2a2a2a03 -032a2a2a03032a2a03032a03032a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a03032a2a -2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a -2a2a2a2a2a2a2a03032a2a2a03032a03032a03032a2a03032a03032a2a2a2a2a2a2a2a2a -2a03032a2a2a2a03032a2a2a03032a2a03032a03032a2a03032a2a03032a030303030303 -2a2a2a2a03032a2a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a -2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03032a03032a0303032a03032a -2a03032a2a2a2a2a2a03032a2a2a2a03032a2a2a03032a2a03032a03032a2a03032a2a03 -032a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a03 -032a03032a2a030303032a2a2a2a2a2a2a03032a2a2a2a03032a2a2a2a030303032a2a03 -032a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a030303032a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a04040e0e0e0e0e0e0e0e0e2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04040404 -040404040404040404040404040404040404040404040404040404042a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c04040404040404040404040404040404040404040404040404040404040e0404 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a -2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e04 -2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a -2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -04042a2a2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a2a2a2a2a -0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a -2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a -2a2a0e042a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a -2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a0404040404040404 -0404042a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a2a2a2a03032a2a2a2a2a2a2a2a -2a2a2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a2a2a2a2a0e0e0404 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -040404040404040404040e2a2a2a2a2a2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a0303 -2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a03032a2a2a2a2a2a2a2a03032a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e042a2a2a2a2a2a2a2a -2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03 -032a2a03032a03032a2a030303032a2a2a2a2a2a2a03032a2a2a03032a03032a03032a2a -03032a2a03032a03032a03032a2a2a030303032a2a03032a2a03032a2a03032a03032a03 -032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a0e04 -2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03 -032a2a2a03032a03032a03032a0303032a03032a2a03032a2a2a2a2a2a03032a2a2a0303 -2a0303032a03032a03032a03032a2a0303032a03032a03032a2a03032a03032a2a03032a -2a03032a0303032a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04040e0e0e0e0e0e -0e0e0e0e0e0e0e040e0e0e0e0e0e0e0e0e0e0e0e0e0e04042a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a -2a2a2a2a2a2a2a030303030303032a03032a03032a2a03032a03032a2a03032a2a2a2a2a -2a03032a2a2a03032a03032a2a03032a030303032a2a2a03032a2a03032a03032a2a0303 -2a2a03032a03032a03032a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -040e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e04042a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a -2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03032a03032a2a03032a030303 -0303032a2a2a2a2a2a03032a2a2a03032a03032a2a03032a030303032a2a2a03032a2a03 -032a03032a2a03032a2a03032a03032a03032a2a03032a2a03032a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a03032a03032a0303 -2a2a03032a03032a2a2a2a2a2a2a2a2a2a03032a2a2a03032a03032a2a03032a03032a03 -032a2a03032a2a03032a03032a2a03032a2a03032a03032a03032a2a03032a2a03032a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -0404040404040404040404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a2a2a2a03032a2a2a -03032a03032a03032a0303032a03032a2a03032a2a2a2a2a2a2a03032a03032a2a03032a -2a03032a03032a2a03032a03032a2a03032a03032a2a03032a2a2a03032a2a03032a2a2a -03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04042a2a2a2a2a2a2a0e0e2a2a2a2a2a -2a2a2a03032a2a2a03032a03032a2a03032a03032a2a030303032a2a2a2a2a2a2a2a0303 -0303032a2a03032a2a03032a03032a2a2a030303032a2a03032a2a030303032a2a2a2a03 -032a2a03032a2a2a03032a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a04040e0e0e0e0e0e -0e0e0e2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c0e1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c040e1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c040e0e1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c04040e0e1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c04042a0e0e1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c04042a2a0e0e1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c04 -042a2a2a0e0e1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c04042a2a2a2a0e0e1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c04042a2a2a2a2a0e0e1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c04042a2a2a2a2a2a0e0e1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c04042a2a2a2a2a -2a2a0e0e1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a31312a2a2a2a31312a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31 -312a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -04042a2a2a2a2a2a2a2a0e0e1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a30302a2a303030302a30303030302a30302a30302a3030302a -2a30302a2a30302a30303030302a3030302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a312a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c04042a2a2a2a2a2a2a2a2a0e0e1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a302a2a302a2a302a2a302a302a -2a2a302a2a302a2a302a2a302a302a2a2a302a2a302a2a302a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a312a -2a31312a31312a2a2a2a2a2a2a2a2a3131312a2a3131312a2a2a2a31312a2a2a2a2a312a -2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a31312a312a2a312a31312a2a2a2a31312a2a2a2a3131312a2a2a31312a -2a2a31312a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a31312a2a2a2a31312a2a2a312a3131 -2a2a2a31312a2a2a312a3131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a312a2a312a31312a2a2a2a31312a -2a2a2a3131312a2a2a31312a2a2a31312a2a2a2a2a2a2a2a2a2a313131312a31312a312a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04040e0e0e0e0e0e0e0e0e0e0e0e1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a302a2a3030 -2a302a2a30302a2a2a2a30302a302a2a302a2a302a302a302a302a2a30302a302a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a312a312a312a2a312a2a312a2a2a2a2a2a2a2a312a2a2a2a2a312a2a312a2a312a -2a312a2a2a2a312a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a312a2a312a2a312a2a312a2a312a2a312a -2a2a2a2a2a2a312a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a312a2a2a312a2a312a2a312a -2a312a2a312a312a2a2a312a2a312a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a312a2a312a -2a312a2a312a2a312a2a312a2a2a2a2a2a2a312a2a2a2a2a312a2a2a2a2a2a2a2a2a2a31 -2a2a2a312a312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e040e0e0e0e0e0e0e0e0e0e0e0e -0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -302a2a302a2a302a30302a2a302a302a2a2a302a30302a2a302a2a302a302a302a302a2a -302a30302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a312a312a312a2a312a2a312a2a2a2a2a2a2a2a2a31312a2a2a -312a2a312a2a3131312a2a2a2a2a312a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a312a2a312a2a312a2a -3131312a2a2a2a31312a2a2a2a2a312a2a2a3131312a2a2a2a2a2a2a2a2a2a2a312a2a2a -312a2a312a2a312a2a2a2a2a31312a2a2a2a3131312a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31 -2a312a312a2a312a2a312a2a3131312a2a2a2a31312a2a2a2a2a312a2a2a3131312a2a2a -2a2a2a2a2a2a2a312a2a2a312a312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a302a2a302a2a302a2a302a2a302a2a302a2a302a2a302a2a302a2a30 -2a2a302a302a2a2a302a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a312a2a312a2a312a2a2a2a2a2a -2a2a2a2a2a312a2a312a2a312a2a312a2a312a2a2a2a312a2a2a2a2a312a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a31 -2a2a312a2a312a2a312a2a312a2a2a2a2a312a2a2a2a312a2a312a2a312a2a2a2a2a2a2a -2a2a2a2a312a2a2a312a2a312a2a312a2a312a2a312a312a2a2a312a2a312a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a312a312a312a2a312a2a312a2a312a2a312a2a2a2a2a312a2a2a2a312a -2a312a2a312a2a2a2a2a2a2a2a2a2a312a2a31312a312a312a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e04040404040404040404040404040404042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a30302a2a30302a2a302a3030302a2a3030302a -2a302a2a2a30302a2a2a302a302a2a30302a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a31312a2a31 -312a2a2a2a2a2a2a2a2a3131312a2a3131312a31312a2a31312a2a2a31313131312a3131 -3131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a312a312a31313131312a31312a2a31312a2a2a3131312a2a2a31313131312a3131 -2a312a2a2a2a2a2a2a2a31313131312a2a31312a2a2a2a31312a2a31312a31312a2a2a31 -312a2a2a313131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a312a31313131312a31312a2a31312a2a2a3131 -312a2a2a31313131312a31312a312a2a2a2a2a2a2a2a2a2a31312a312a312a31312a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e04040404040404040404040404040e04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a31312a2a2a2a3131313131312a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3131313131312a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3131313131 -312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a -2a2a2a2a0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04 -042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a -0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a -2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a -2a2a2a2a0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04 -042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a -0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a -2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04042a2a2a2a2a2a2a2a2a2a2a0e0e0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04040e0e0e0e0e0e0e -0e0e0e0e0e0e04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04 -0e0e0e0e0e0e0e0e0e0e0e0e0e0e04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a312a2a2a2a2a31312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a312a31312a2a2a2a31312a2a312a312a31312a2a2a2a2a2a2a313131312a2a -2a31312a2a2a2a3131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a312a2a312a2a312a2a312a312a312a312a2a2a2a2a2a -2a2a2a312a2a2a2a2a2a312a2a2a312a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a2a312a2a3131312a2a312a31 -2a312a2a2a2a2a2a2a2a2a312a2a2a2a2a2a312a2a2a312a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a2a312a2a -312a2a312a2a312a312a2a2a2a2a2a2a2a2a2a312a2a312a2a2a312a2a2a312a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a3131312a31312a2a31312a2a2a312a312a2a2a2a2a2a2a2a2a2a2a31312a2a31313131 -312a2a31312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31 -31313131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a0303030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -0303030303312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a03030303032a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a313131312a2a -312a31313131312a31312a2a2a2a2a2a2a312a312a31312a312a3131312a2a31312a2a2a -313131312a2a2a31312a2a2a2a2a2a2a2a2a2a2a312a2a2a2a31312a2a2a2a31312a2a2a -312a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a312a2a2a2a2a312a2a2a2a312a2a312a2a2a2a2a2a2a312a312a312a2a2a312a2a -2a2a2a2a312a2a2a2a312a2a2a2a312a2a312a2a2a2a2a2a2a2a2a2a312a2a2a312a2a31 -2a2a312a2a312a2a312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a312a2a2a2a312a2a312a2a2a2a2a2a2a312a31 -2a312a2a2a312a2a2a2a2a2a312a2a2a2a312a2a2a2a3131312a2a2a2a2a2a2a2a2a2a2a -312a2a2a312a2a312a2a312a2a2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a312a2a312a2a312a2a2a2a312a2a312a2a -2a2a2a2a2a2a312a312a2a2a2a312a2a2a2a2a2a312a2a2a2a312a2a312a312a2a312a2a -2a2a2a2a2a2a2a2a312a2a2a312a2a312a2a312a2a312a2a312a312a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a2a31313131 -2a2a2a31312a2a2a2a2a2a2a2a2a312a312a2a2a313131312a2a31313131312a2a2a3131 -2a2a2a31312a2a2a2a2a2a2a2a2a31313131312a2a31312a2a2a2a31312a2a31312a3131 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a2a2a2a3131313131312a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3131313131312a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a030303032a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0303030303032a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a03030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -0303030303030303030303030303030303312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303030303032a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303032a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a -2a2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31 -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a31312a312a312a3131312a31312a2a2a31 -2a31312a2a2a313131312a2a2a31312a2a2a2a3131312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a2a312a2a2a312a2a -2a2a2a2a312a2a2a312a2a312a2a2a312a2a2a2a312a2a312a2a312a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a -2a312a2a2a312a2a2a2a3131312a2a2a312a2a312a2a2a312a2a2a2a3131312a2a2a312a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a312a2a312a2a2a312a2a2a312a2a312a2a2a312a2a312a2a2a312a2a312a -312a2a312a2a312a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a3131312a2a313131312a2a31312a312a3131312a31 -312a2a2a31312a2a2a31312a2a2a2a31312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a3131312a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a0303030303032a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -0303030303312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a03030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a030303032a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a03032a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a32322a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a322a -2a2a2a322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a3232322a2a2a32322a2a2a2a2a2a2a2a2a2a32322a2a2a2a32322a2a32 -322a322a2a32322a322a2a2a2a32322a2a2a323232322a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a322a2a322a2a322a2a322a2a2a2a2a2a2a2a322a2a32 -2a2a322a2a322a322a322a322a322a322a322a2a2a2a322a2a2a2a322a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a322a2a322a2a322a2a322a2a2a2a -2a2a2a2a322a2a2a2a2a322a2a322a322a322a322a322a322a322a2a2a2a322a2a2a2a32 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a322a2a322a2a -322a2a322a2a2a2a2a2a2a2a322a2a322a2a322a2a322a322a322a322a322a322a322a2a -2a2a322a2a2a2a322a2a322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a32322a322a2a32322a2a2a2a2a2a2a2a2a2a32322a2a2a2a32322a2a322a322a32 -32322a322a32322a32323232322a2a2a32322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3232323232322a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31312a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a312a -2a2a2a2a31312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a31 -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a3131312a -2a31312a2a2a2a2a312a2a2a2a31312a2a2a31312a2a2a2a2a3131312a2a2a31312a2a2a -2a2a2a2a2a2a313131312a2a2a31312a2a2a2a3131312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a312a2a2a2a312a2a312a2a2a2a312a2a2a312a2a312a2a2a2a312a2a2a312a2a2a -2a2a312a2a312a2a2a2a2a2a2a2a2a312a2a2a2a2a2a312a2a2a312a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a3131312a2a2a2a2a312a2a2a3131312a2a2a3131 -312a2a2a2a31312a2a2a3131312a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a312a2a2a312a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a312a2a312a2a2a2a312a2a2a -312a2a312a312a2a312a2a2a2a2a2a312a2a312a2a312a2a2a2a2a2a2a2a2a312a2a312a -2a2a312a2a2a312a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a313131312a2a2a31312a -2a2a31313131312a2a31312a2a2a31312a312a2a3131312a2a2a2a31312a2a2a2a2a2a2a -2a2a2a2a31312a2a31313131312a2a31312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a3131313131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a030303032a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0303030303032a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a03030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -0303030303030303030303030303030303312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303030303032a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303032a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a31312a2a2a2a2a2a2a2a2a31312a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a31 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a3131312a2a2a31312a2a2a2a2a312a2a2a -2a31312a2a2a313131312a2a2a31312a2a2a2a2a2a2a2a2a313131312a2a312a3131312a -31312a2a2a312a31312a2a2a2a3131312a2a31312a2a2a2a2a31312a2a2a313131312a2a -2a31312a2a2a2a31312a2a312a31312a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a2a312a2a312a2a31 -2a2a2a2a312a2a2a312a2a312a2a2a312a2a2a2a312a2a312a2a2a2a2a2a2a2a2a312a2a -2a2a2a312a2a2a2a2a2a312a2a2a312a2a312a2a312a2a2a2a2a2a2a312a2a2a312a2a31 -2a2a2a312a2a2a2a2a2a312a2a2a312a2a312a2a312a2a312a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a312a -2a312a2a3131312a2a2a2a2a312a2a2a3131312a2a2a2a312a2a2a2a3131312a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a312a2a2a2a3131312a2a2a312a2a312a2a2a31312a2a2a3131 -312a2a2a312a2a2a2a2a2a312a2a2a2a2a2a312a2a2a312a2a312a2a312a2a312a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a312a2a312a2a312a2a312a2a2a2a312a2a2a312a2a312a2a2a312a2a312a -312a2a312a2a2a2a2a2a2a2a2a312a2a312a2a312a2a2a312a2a312a2a2a312a2a312a2a -2a2a2a312a312a2a312a2a2a312a2a312a2a2a312a2a312a2a2a312a2a2a312a2a312a2a -312a2a312a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a31312a312a2a31312a2a2a31313131312a2a31312a -2a2a2a2a31312a2a2a31312a2a2a2a2a2a2a2a2a2a2a31312a2a313131312a2a31312a31 -2a3131312a31312a3131312a2a2a31312a312a2a2a31312a2a2a2a2a31312a2a31313131 -312a2a31312a2a3131312a3131312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3131313131312a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a030303032a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0303030303032a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -0303030303030303030303030303030303312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303030303032a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0303032a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a03032a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a32322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a322a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a32 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a32322a2a322a32322a2a2a2a3232322a2a2a2a2a2a2a2a2a32322a2a32 -322a32322a2a323232322a2a2a32322a2a2a322a3232322a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a322a2a322a2a322a2a322a2a322a2a322a2a2a2a2a2a -2a2a322a2a322a2a322a2a322a2a2a322a2a2a2a322a2a322a2a2a322a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a3232322a2a2a322a2a322a2a322a -2a322a2a2a2a2a2a2a2a322a2a322a2a322a2a322a2a2a322a2a2a2a3232322a2a2a2a32 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a322a2a322a2a -322a2a322a2a322a2a322a2a2a2a2a2a2a2a322a2a322a2a322a2a322a2a2a322a2a322a -322a2a322a2a2a322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a32322a2a3232322a32322a2a32322a322a2a2a2a2a2a2a2a32322a2a2a2a32322a -322a2a2a32322a2a2a32322a2a2a323232322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a32 -32323232322a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e04040404040404040404040404040404042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c040404040404040404040404040e04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c04042a2a2a2a2a2a2a2a2a0e0e1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c04042a2a2a2a2a -2a2a2a0e0e1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c04042a2a2a2a2a2a2a0e0e1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c04042a2a2a2a2a2a0e0e1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c04042a2a2a2a2a0e0e1c1c1c04042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c04042a2a2a2a0e0e1c -1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c04 -042a2a2a0e0e1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a0e0e1c1c1c1c1c04042a2a0e0e1c1c1c1c04042a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c04042a0e0e1c1c1c1c1c04042a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c040e0e0e1c1c1c1c1c0404 -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c040e0e -1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c -1c1c1c1c1c1c0e0e1c1c1c1c1c1c04042a2a2a2a2a2a1404292915030304292929142a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a0e0e1c1c1c1c1c1c1c0e1c1c1c1c1c1c1c04042a2a2a2a2a2a140429291503 -0304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e04040404040404040404040404040404042a2a2a2a -2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0404040404040404040404040404 -040404042a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a312a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a312a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303042929 -29142a2a2a2a2a2a0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404 -292915030304292929142a2a2a2a2a2a0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c -1c1c1c1c041c040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404041c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04041c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a1404292915030304292929142a2a2a2a2a2a0e0e1c1c -1c1c1c1c1c1c1c1c1c1c04040e1c04040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -04040404040e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c040404041c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a14042929150303150a0a0a0a2a2a -2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c0404040e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404040404041c1c1c1c1c1c1c1c -1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a150a0a0303 -03232323230a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c040404042a0e0e1c04042a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a0404 -04041c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a0a2315150a0303231515150a2a2a2a2a2a2a0e0e1c1c1c1c1c1c040404042a2a2a0e -0e1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04042a2a2a2a040404041c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515150a2a2a2a2a2a2a0e0e1c1c1c1c0404 -04042a2a2a2a2a0e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a040404041c1c1c04042a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515150a2a2a2a2a2a2a -0e0e1c1c040404042a2a2a2a2a2a2a0e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a040404041c04042a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515 -150a2a2a2a2a2a2a0e0e0e0e0e0e2a2a2a2a2a2a2a2a2a0e0e1c04042a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a -2a0e0e0e0e04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a23 -15150a0303231515150a2a2a2a2a2a2a0e0e1c1c0e0e0e0e2a2a2a2a2a2a2a0e0e1c0404 -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c0404 -2a2a2a2a2a2a2a2a0e0e0e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a0a2315150a0303231515150a2a2a2a2a2a2a0e0e1c1c1c1c0e0e0e0e2a2a -2a2a2a0e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c04042a2a2a2a2a2a0e0e0e0e1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515150a2a2a2a2a2a2a0e0e1c1c -1c1c1c1c0e0e0e0e2a2a2a0e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a0e0e0e0e1c1c1c1c1c04042a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515150a2a2a -2a2a2a2a0e0e1c1c1c1c1c1c1c1c0e0e0e0e2a0e0e1c04042a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a0e0e0e0e1c1c1c1c1c1c -1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a03 -03231515150a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c0e0e0e0e0e1c04042a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c04040e0e0e0e -1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a0a2315150a0303231515150a2a2a2a2a2a2a0e0e1c1c1c1c1c1c1c1c1c1c1c1c0e0e -0e1c04040e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c04040e0e1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515150a2a2a2a2a2a2a0e0e1c1c1c1c1c1c -1c1c1c1c1c1c1c1c0e1c040e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -0e0e1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -1c1c1c1c1c1c1c1c1c1c040e1c1c1c1c1c1c1c1c1c1c1c1c1c04042a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515150a2a2a2a2a2a2a -0e0e04040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -04040404040404040404040404040404040404040404040404040404040404040404042a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a2315150a0303231515 -150a2a2a2a2a2a2a0e040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404042a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a23 -15150a0303231515150a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -2a2a2a2a2a2a0a2315150a030323151515150a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a1414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -141414141414141414141414141414141414141414141414141414141414141414141414 -14141414141414141414141414141414141414141414141414141414141414141414150a -0a0a0a0a0a0a0a0a0a0a0a0a0a0a231515150a0302032315151515232323232323232323 -232323232315040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404040404040404 -040404040404232323232323232323232323232323231515150a03040103231515151515 -151515151515151515151515150a29292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -2929292929292929292929292929231515151515151515151515151515151515150a0304 -0101030a0a151515151515151515151515151515150a2929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292929292929292929292929292929 -292929292929292929292929292929292929292929292315151515151515151515151515 -1515150a0a03040402010103030a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515151515151515 -151515151515151515151515151515151515151515151515151515151515150a0a0a0a0a -0a0a0a0a0a0a0a0a0a0a0a03030303040001020001030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303040403 -%%PageTrailer -%%Trailer -%%EOF diff --git a/lib/et/doc/src/sim_trans_write_lock.gif b/lib/et/doc/src/sim_trans_write_lock.gif Binary files differdeleted file mode 100644 index d62505fe35..0000000000 --- a/lib/et/doc/src/sim_trans_write_lock.gif +++ /dev/null diff --git a/lib/et/doc/src/sim_trans_write_lock.png b/lib/et/doc/src/sim_trans_write_lock.png Binary files differnew file mode 100644 index 0000000000..1ce15a33c5 --- /dev/null +++ b/lib/et/doc/src/sim_trans_write_lock.png diff --git a/lib/et/doc/src/sim_trans_write_lock.ps b/lib/et/doc/src/sim_trans_write_lock.ps deleted file mode 100644 index 80e03852dc..0000000000 --- a/lib/et/doc/src/sim_trans_write_lock.ps +++ /dev/null @@ -1,1287 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner -%%Title: /home/hakan/picts/sim_trans_write_lock.ps -%%CreationDate: Mon Oct 14 17:06:30 2002 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 359 199 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228 14.173228 translate -% Translate to begin of first scanline -0.000000 184.755782 translate -344.431594 -184.755782 scale -% Image geometry -412 221 8 -% Transformation matrix -[ 412 0 0 221 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 412 string def -/gstr 412 string def -/bstr 412 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 74154 ASCII Bytes -colorimage -!AQV60nB=U!.b.=!<5%\0f_7E~> -r'Z)9JH16$mf<8RJ,~> -"DW"!C3+q+JH16$mf<B/!budtJ,~> -r]0uYnc&S<J[C!8]<hPemJd0^mJd0^nc/Uh!]_tqJ,~> -r^?bdnc&SGS\BZdT=P"ZmJd0[mJd0[nc/Uhr^;8~> -rcA)>nc&SuJaS*W]C#Z.mJd0^mJd0^nc/Uhrc<S~> -s"OQTs8W)KqVM,3!%EJWb_q%)n:Lcks3:GkqVM/4!i5k@qpkQ"r8n'Vs3:GkqVDD<s8N'Z3Ih~> -s$Qngs8W)LrS%8-ro3q>!&U[?JWZ.Y!]9r&rmLesrS%8-ro3t?!hoY>rmLesrS%8-ro3t?!hoY> -rmLesrS%8-"lfR^!(95*~> -s)S5As8W)KqVM,3!+LN9J_n#q!b22SqpkQ"r8n'Vs3:GkqVM/4!i5k@qpkQ""m5jb!-<43~> -!]^8\rRLc$qW7c,JTJMG!.4]d!.4]d!.4]d!/(8l!/(8l!/(8l!/(8l!/pht@uG\TF,PBdF,PBd -F-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-M#m -F-M#mF-M#mF-M#mF-M#mF-M#mF-M#mF-L_ps81@ChYZF9V#U>BqVM,3!Mobmeb\/$joWd-3Ih~> -"%3.hdf.hrgA]t.ir/!>1kC(kI/nitI/nitI/o!#I/o!#I<UO!I=6s'I=7*+I=76/I=76/I=7B3 -I=7B3I=7B3I=7N7I=7N7I=7N7I=7N7I=7N7I=7Z;I=7Z;I=7Z;I=7Z;I=7Z?I=7Z?I=7Z?I=7Z? -I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z?I=7Z72#mR'rmq&%rndY6roO6Ts8LIGf)=>% -hYuO6joM1UrmLesrS%8-ro+%Bc2^7_~> -!cnAArRLc$qW7ceJ^(mQ!7h(n!7h(n!7h(n!7h(n!7h(n!7h(n!7h(ns4..os4..os4..o>MdoT -c/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/.!q -c/.!qc/.!qc/.!qc/.!qc/.!qc/.!qc/-]Ss81@ChYZF9V#U>BqVM,3!Mobmeb\/$joWd-F+=~> -!\j]Trmgl%qrRtJjsbjrr+Z:SK6,%I!-A-S!-A-S!.4][!.4][!.4][E.`4HC4gSBC4gSBC5[.J -C5[.JC5[.JC5[.JC6WdSC6WdSC6WdSC6WdSC6WdSC6WdSC6WdSC6WdSC7K?[C7K?[C7K?[C7K?[ -C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[C7K?[.KB=rqVM,3!q)lar71Z#qrRtJV#UAC -qVM/4!mL^"J,~> -!^m%grmq&%rndY6roO:IjtqX7r-8?lNIf5t!.Fil!.Fil!.k,pIYE2qH%gZlH&6rpH&[5tH'*N# -H'*N#H'Nf'H'Nf'H's5/H's5/H's5/H's5/H(BM3H(BM3H(BM3H(BM3H(fe7H(fe7H(fe7H(fe7 -H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe7H(fe72#l"Prmq&%rndY6roO@K -U&WQhrmq&%rndY6roO@KU&WQhrmq&%rndY6s5jC.!(;>~> -!cnAArmgl%qrRtJk$in\r5JZ[`l.r&rl"l^rl"l^rl"l^rl+o^s2G#_s2Ag)c,IZPc,IZPc,IZP -c,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZP -c,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,IZPc,F/lr71Z#qrRtJV#UACqVM,3!q)lar71Z# -r8n(*!-<Y~> -!<E0!eb\/"k5XiMjsd0Bs5)RH%#`)>PlLd.hVN!^pA`c["nqt2CA.]*C&i>SC&i>SC&iV[C&iV[ -C3>/MC2/BBC2/BBC;m8qC2/ZJC2/uSC2/uSC2/uSC2/uSC2/uSC208[C208[C208[C208[C208[ -C208[C208[C20PkC20PkC20PkC20PkC20PkC20PkC20PkC20PkC20PkC20PkC20PkC20PkC2,3t -rRLc$qr[qH!Moboeb;B/k5XiMV#UDD!o?4/rSIQ?rT41L]`<Q~> -!<E0!f)=>%hYuO6k5X]IjtrrXs5)RS%$ehTSbiB7hVNBtpA3Ea#PS":FnYZSH2_pdH2_r9I<fsX -JU)B\Km@f`M0X5dNHoYhNHoZdZ@-k<Q$mdtR=04#R=04#R=04#SUGX'SUGX'SUGX'Tm_'+Tm_'+ -Tn.?/Tn.?/V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3V1Ec3 -V1Ec3!]9c%rmq&%rndY6roX7G!hoJ=rmpp2r^?bJs69ZZqU5Ao"56"*gA]t/6ic6GjoXhZ!.Y~> -!<E0!eb\/"k5XiMk$k4,s7Y9f%+Xdbec5[;p@cJEs8U`js8W,<s8N,=c2PZ^c2PZ^c2PZ^c2P]^ -c2Yc_c2Yc_c2Yb"e]l)$k0:lae]l(Pe]l(Pe]l(Pe]l(Pe]l(Pe]l(Pe]l(PhTa$YhTa$YhTa$Y -hTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$YhTa$Y -@fQDWqVM,3s6]o`s8CLB62p$HmK'-`rRCu+5sbJ+s$?VG!q*`%J,~> -!s&AOec+G*63#g?k5RaHmK)H!oO7iRPi6'PK9Yk7!J?X%@KP*)3T"9XKE%0%k5S=Fc-87Xp@^4M -K9Y/#s7QRM@eTLMraGkBraGkBraGkKraL#7S75rSC1:Y!C1:Y)C1:YZs*J45C1:Y1C1:Y1C1:Y: -C1:Y:C1:Y:F(/UCF(/UCF(/UCF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF(/UK -F(/UKF(/UKF(/UKF(/UKF(/UKF(/UKF8fVL.KBCtqVM,3rpBf_s8LOKhY0>9k5OcLV#UGE!8dZ? -s5*]?s5s@L!PJJ`~> -!s&APf)FD'5l]^?iWA717/lHPi\^:E!KEZ/D#oWen8/2cSa(%ng<rOLD%VX$R8E&G=\-id88\(o -4Dg(Kghm)b"?^Ppp,r=k!-S9XI<BOHD0^,<D4-r3D1Q\DD1utHD2ECPD79IqD38sXD3]6\D3]B` -D3]B`D4,ZdD4,ZdD4,ZdD4PrhD4PrhD4PrhD4u5lD4u5lD4u5lD5DMpD5DMpD5DMpD5DMpD5DMp -D5DMpD5DMpD5DMpD5DMpD5DMpD5DMpD5DOWD#lKirmq&%rndY6roX4F!MTAhec=G$5lF+Nk5OWH -U&+c>!8@B:s5*]Bs5s@H!P/8]~> -!s&AOec+G*63#g?k5RaHmK)HZoXt:Me`"1Bc.2<s!R90[]`RWaKAX?Sc2Z%QpA^%tk2q<0s8R/R -c.1U_s8N4C^&S+Rrk/<Nrk/<Nrk/<Nrk8?^s1SHOs1N9o`P&t0`P&tIs2D[r`P&t0`P&t8`P&t8 -`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8 -`P&t8`P&t8`P&t8`P&t8`P&t8`P&t8`W!OO@fQGXqVM,3rpBf_s8LOKhY0>9k5OcLV#UGE!8dZ? -s5*]?s5s@L!PJJ`~> -!W`8NrndT>rT=,Gs%<=Z!Tkj'=p"Et9&a"UpA[bT=p"Et9'TU[3T"!Qk05VQp@^4=;E6a@p@^4E -pA[b@>6":$0j=;E0j7air`T;2r`T;:r`X_bpA[a+@TlrV@Tlr^@Tlr^@a4%V@TlrfC0Ff!C0Ff! -C0Ff!C0Ff!C0Ff*C0Ff*C0Ff*C0Ff*C0Ff*C0Ff*C0Ff2C0Ff2C0Ff2C0Ff2C0Ff2C0Ff2C0Ff2 -C0Ff2C0Ff2C0Ff2C0Ff2C0Ff2C0Ff2C0Ff2=t0L%eb\/"k5F]OV#SuqhVRum!9X7J"f21Ke_]0W -5lg'HmK(!$J,~> -!W`8Orn@<9ro*q?rBpbQmc$(qB`e#)=lO,spA.q^B`e#)=mB]%84;?L''@V)=n_\S@:_ttC%h6_ -C%hC+h.co_#<Z_op,m&'D>n7!EG]E(F_ti,H1q);I;N\4JT5C<KlLg@M/gu'H$*h8O`bAPQ$$eT -Q$$eTQ$$eTR<<4XR<`L\R<`L\SU"p`SU"p`SU"p`Tm:?dTm:?dTm:?dTm:?dTm:?dTm:?dTm:?d -Tm:?dTm:?dTm:?dTm:?dTm:?dTm:?dTm:?d"efWeqUX6rgA]t.ir8*>l3?[MqUX6OgAF566icBK -l3?[MqUX6OgAF566icBKl2eHrJ,~> -!W`8NrndT>rT=,Gs%<=Z!Tmk`[/^.+UuJc]rrAkb[/^.+V!>>eKAX$Kp?$Fds8R/A["F"<s8R/I -s8SnN[/^.2F0tuIF0r<frj2[=rj2[=rj7*es8Sn.]sP/c]sP/c]sP/c^#nai]sP/k]sP/k]sP/k -]sP/k]sP/k]sP/k]sP/k]sP/k]sP/k]sP/k]sP/s]sP/s]sP/s]sP/s]sP/s]sP/s]sP/s]sP/s -]sP/s]sP/s]sP/s]sP/s]sP/s]sP/s]sP/sZss'ceb\/"k5F]OV#SuqhVRum!9X7J"f21Ke_]0W -5lg'HmK(!$J,~> -!<E/uhY]\>k5RaH9)n;[jsg1*#'8Z$mZ^VVrr2t>qGI]kk5YJLC/USis6cEV;ZGSWKC8c0;RHH' -s)SY+s6c+L;Vp8_mf/eT[/U(0F*ldDs6bgA;CBH`K2PUKmS`cY;GqSms6c+LV#PL6`W(9_`P#/j -hZ*#.;GuB.XPWnR"G?_q3Q;!t#\s)5;H!5^0spr[s)SV*s6c+L;Vp93hGX(Iqbdflk5YJLC/USi -s6cEV;ZHG(0iI`=0iEATs6cCT;OlnLs6as8rr74iSF6FFS5OE3hVPs.;N(Qr;Gr-V;Gr-V;Gr-V -;GrE^;GrE^;GrE^;GrEf;GrEf;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o -;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;Gr`o;CV=iqVM,3r9aW^p=90!pHe`F!i5P?rSI?9!9X7J -!PJJ`~> -!<E/ugAXA;6il<0r'^SQ!TGs5AHmkFqX1%g^Ae-4L&,[email protected],h"d/6LTk1t; -s8Rc^hYQZ6AS'l\Om`(>A\S0Ds+LU4qZ#uKqIM&"s-7/,[dI`#qIO5lhYQZ6A[;>iA]k%,A^8/( -L#2[oTk.fpijRkFAH\:uI7VZ_rs3oDqIO73p,p(gs8Rc]hYQZ6AS'l\[c1llqYOh3Woj0Xl?Qs@ -lMp.Lral-''0Kk"p,loChYQZ:Bk==,qZ#i7^Ae.WM5ok@m]'iLET5utk%0hXI:ZuLF_,-HF_,-L -F_,-LF_,-LF_,-PH"CQTH"CQTH"CQXH"CQXH"CQXH"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\ -H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"CQ\H"Ai+f)=>%hYuO6k5OZGmK0*Uf)FD%5l3tKlMp8R -U%[(9gAXA86icBKl2pCb!.Y~> -!<E/uhY]\>k5RaH9)n;[k$n4p#0$$1p=6P,rr2u;qQpX\pAb0d]sQ>`s7Y"B[/]h'c1_1f[,1f^ -s2>H8s7Y!M[.a4<pA`[MhZ!QT`<>W/s7X_6ZmY#9c*Xk7p9al"['[g?s7Y!MhZ(R%k5WE-k2s%i -mf3"2[']Q#hY-oT"O6tBKBE15#eg9<[']l5F5Hors2>E7s7Y!M[.a4Mp9al"qm6a]pAb0d]sQ>` -s7Y"B[/^.>F0tuIF0s3[s7Y!M[+4mMs7XForr75feb9%:e[3</p@dYB[*AWH['\)k['\)k['\)k -['\)k['\)k['\)k['\)k['\)k['\)k['\As['\As['\As['\B&['\B&['\B&['\B&['\B&['\B& -['\B&['\B&['\B&['\B&['\B&['\B&['\B&ZsraZqVM,3r9aW^p=90!pHe`F!i5P?rSI?9!9X7J -!PJJ`~> -!<E/thYKP;9)e5ZhC8A#$tAquC;p3V@eTh"3D03I25L9/HYSd2SH$Q3^&O<p;YL.I[/]P[@eTh" -9(q[f`W'+>pAa!Vs6`0^pA\#Nk5TL+F';35;CIJ']h22jUbVT:0k0kEC;p3VHiK!rmf/2;p3TF* -mV9`@>#P(ohP;n*;BrRK5tYV[s&(TFp+]J=p+^%Ms&)J_mV9`@>#P(ohP;mgjtZg4I\d##HYSd2 -SH$Q3^&O<p;YKf=;YKf=@eT5)`W',;s5&*;PX/LHs&,*]c!%g\S6Ahas5'P+MuTkNHX]lNK47_V -K47_VMdfR^MdfR^MeZ-fMeZ-fMeZ-fP\O)oP\O)oP\O)oP\O)oP\O)oP\O)oP\O)oP\O)oP\O)o -+d?_>;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;Ntoo;CV>9hYZI4mK'[email protected]!)!1W!MoGd -hYTS=k5=WJ]`<Q~> -!<E0!gAg"05kmbHmK)0$r*9_Fp?le7s(Q?DqHZ?dr*;1_s5JTPPuXOXb%\`mSR#Ops5LKel:c'g -qHZqkmVTi@BjLH4ijSmP9PsM">sRQPH!tu0;#=NHOoN-l?0\FTp@^U_p?le7s(R2eO]CiLO]Ct' -=n_9#_Z+=UpAa!L5lP%6])PT'EVB675kan6?2!tSD>*g3;"j<o_Z+=UpAa!L5j%&grEXlTs5JTP -PuXOXb%\`mSR#Opp,lXSp,[email protected][5XC%hC/RK(QH_Z-HH?2"<XW^)^HY#'sl?!WG, -?!WG,?!WG0?!WS4?!WS4?!W_8?!W_8?!W_8?!Wk@?!Wk@?!Wk@?!X"D?!X"D?!X"D?!X"D?!X"D -?!SVEF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^8:DF^890pAN_EhYuO6k5OZFmK'$TrRq<<hVS7k -roO8MlK\B:!MT5cgAg"05l="Mk5OZGmK'm!J,~> -!<E/thYKP;9)e5ZhI?Da%(-'.Ut,L@[/^/aH_gS@2:_`pXIQYUc2ZXbec3UiXT/=gec5'%[/^/a -KE(Y@ec2GHs8VN;s6c,Ys8S"(pA^qHUm.DHX=2'feXW`7c$TKjF0tu@Ut,L@`W*<@pA_Lqs/_Ib -p8$7=UoaUrm`g+XX<ZU%K:K=Ks,1sus)Y:As)YRIs,2O0p8$7=UoaUrm`g+PmW8?.Ib"JdXIQYU -c2ZXbec3UiXT/<AXT/<A^&Rf%ec2Gqs6ctY[#;$cs,48ak*4Erc*XSPs6e-Yc2YbQ`O)_J`O)_J -`O)_J`O)_J`O)_Jc*XRRc+U3[c+U3[c+U3[c+U3[c+U3[c+U3[c+U3[c+U3[c+U3[c+U3[c+U3[ -+jI^%XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XNeG[XCCo"hYZI4mK'[email protected]!)!1W!MoGd -hYTS=k5=WJ]`<Q~> -!<E/uhZ)a:62aFUmf2t]hC8@p$^C[e3K*oi62(",62O80mf-0>5s[Nns%5:Ts5l=6pA[E5p@^45 -p@^5*s.hZ5s+<W2s$8C5p+]25p+\kqs/]]/62F2$pA[F"s&(lNp+_g3UcFA5K1c0W;ZH0u>5pmQ -s.hZ5s+<W2s$8A"r^nE[s"Qf3p@^4,p@^45p@^45p@^5*s.hZ5s+<W2s$8A"8hi(!8q6:/;DCI' -3Tg?63ElIF3D0#=0hV050pM^63K*oimf-0>8kM*0p@^6's%5:Ts5l=6pA[E5;Hj+>;Hc[bHWj$6 -K3Cl>K47GFK47GFK47GFK47GFMdf:NMdf:NMdf:NMdf:NMdf:NP[[6WP[[6WP[[6WP[[6WP[[6W -P[aYb)3eT&8sEdW8sEdW8sEdW8sEdW8sEdW8sEfa8c^C7r8.>5qsOLX!MoGfh>fk=k5XiL9)e8Y -p&Uu_r8%G9r':<Tr9aX[]`<Q~> -!W`8Srnd\7qEtNYmdBZ:hDG.5$_@<t8<s43<VH,K<VooVmf-QX9MeFFs&DHus5m!XpA[fOp@^UO -p@^V:s/JVTs+sbLs%G]Op,lLOp,l@;s/p?A:f[Bq-scE?:jr@P8G;a>Sc>]\Q2c\Ds2&@DlFq-8 -8=BLX8<s43<VH8[5Y1lW,L6<O<E]%h4B;+K4B_CO4B_CO4IQ5L8<s43<VH8[5Y,$C5lFi8mf-QX -9MeFFs&DHus5m!Xp@^UOp@^V>s/Jb\s,$1D>sMOm9NCf[4QcZD6tQD\9Nh)c83g<ps2J2U=]pSu -=]pSu=]p`$=]p`$=]p`$=]pl(=]pl,=]q#0=]q#0=]q#0=]q/4=]q/4=]q/4=]q/4=]q/4=]q/4 -=]q/4s&g5-EEQG4EEQG4EEQG4EEQG4EEQG4EEQG4EW0)C2"oYWrndY6roX4FrpKgW#,1bEg>:[O -ro3q>s69SPrpKgW"/5GBgA]q/iql.DlMg2Qo""gO~> -!<E/uhZ)a:62aFUmf2t]hI?DY$dJ^jK>mklSH&V1SGT*>pA^%tPa%+"s+>s*s6bf@s8R^us8RGA -s8R/Zs2BW0s/_ajs+>[us*LRAs)X_(s2D(0PaqTGs8OC'^&O=Ts8R/bs2BW0s/_ajeXZ[5c)gql -`W*o0`W*$0s8RFmMuKLsk5TLuV#UI9SH&V1V#UI9V#UI9`W*o0`W*$0s8RFmMkk]HrM4r:s,25g -P`,88K7g9*mYdn@s)Y"9s)ZHb`Il/0XS2[PH^pUaV#UI9pA]btXT.^HV#UIAH^(W3eWd/2UqNk* -UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:UrB^:Us69BUs69BUs69BUs69BUs69B -Us6:HU`%FaUnl8BUnl8BUnl8BUnl8BUnl8BUnl8BrhKR(pAEeEk54THp&Uu_rS@N?qr[qH!)!7Y -s7QJhpAEbIk57LF9)S)Yp:UHV~> -!<E0!hYlU:62aFUmf)n\hC8@p!3H+u"IqdOp+cD9s8N*S62jLVrt7%P9)noG9(qs59(qs59(qs5 -XSi)3S3clB0hV050hV050hPoos8UVjq+;"$s+@]80gYO,0s(<Q$_0N5p5@2/k*4^WXSi)$S3clB -1&OWX`W%Yb9(qs59(qs59(qs59(qs5XSi)$S3clB1&+B@rrFi?r_!4j%P^7As8OfGp@^45p@^5B -r;V8:s8OfO;G'Pjp@^6@s"QfSs8Ofgp@^4U>"\h63D)nj>"VD>@S07F@S07F@S07F@S07F@S07N -@S07N@S07N@S07N@S07N@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W@S07W -@S07W@S07W@S05pPY*CurS@OMr'C<S!i58Prq6AgpANhJ62]mEmK-#Kmf)n\V"XcD!9X2Fr_!1X -s7QK,!.Y~> -!<E0!hYuL7k57UK8FGpFnc@H$r)j$&r;Qnj9_S0BqH<ju!C0Za=VU`44B5Pas$0`\p,l@Kp,lLO -p,oMUrtCqsp@^UKp@^UOp@^UOEQ8%Yg3rd"$GQOs]&#PLp@^VOr;R.q9\T&sf"U:7i]OCArrnre -p@^UKrE0i[s$0^ip@^UOp@^UOp@^UOp@^VOr;Qqk9_S0B<V]etrrGAbr`Kg/s#a:as8P>ep@^UO -p@^VOr;V8;s8P>m@9H`Mp@^WFs#a;(s8P?0p@^UoBjLbY86K)LD-:"uD-:#$D-:#$D-:#$D-:#( -D-:#(EEQG0EEQG0EEQG0EEQG0EEQG4EEQG4F]hk8F]hk8F]hk8F]hk8F]hk8F]hk8F]hk8F]hk8 -F]hk8F]hk8F]hk8F]hiMR9;B;gA]q/SbYYTV=*dNncGNUgA]q17,m5*k5OWI8FGpFncGNUgA]q/ -iqZ"Amf2hY\c@6~> -!<E0!hYlU:62aFUmf)n\hI?DY!7h#I"ML'"s)\%4s8N+@SGo>art9CCV#UIAV#UI9V#UI9V#UI9 -eboF\]p/QsF/8j9F/8j9F/61ns8VN#q4nASs/b)FF.E:1F4L3g$b_emp9`u,m_/%0eboFM]p/Qs -F8VgJk5TLuV#UI9V#UI9V#UI9V#UI9eboFM]p/QsF82R2rrI22rhTSo%We/9s8RGAs8R/9s8R/j -r;V8[s8R/9XJDZ!s8R0?s)X^;s8RGQs8R/RXJGmHK;><VXJDZ2[%sM:[%sM:[%sM:[%sM:[%sM: -[%sM:[%sM:[%sM:[%sM:[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB[%sMB -[%sMB[%sMB[%sK"c(nhBrS@OMr'C<S!i58Prq6AgpANhJ62]mEmK-#Kmf)n\V"XcD!9X2Fr_!1X -s7QK,!.Y~> -!s&AXhYZI69)n>Xp&X#!r(7$Ts.oTJ"$-)K1&=KDmf-Jh8f$Rh8kNRmjtTL%p+]25p+]25p+_g3 -V#<"]3VN/$9(qs59(qs58kMBAV#TjKqFV0;s4-h$0hV050pM^6r@n^@XT..QPlK:00pM^6r@nC7 -p@^6=8cc$nr_!4a%l$]Mp+]25p+]25p+_g3V#<"M3VN/$pdtVUs'#@n''B3d8n.h_0hV050hV05 -0pM^6r@r`_s&r;m8m5-dp+b_08nr,@jtU'5p+]`C@fN5a8pa`68qUSF8qUSF8qUSF8qUSF8qUSF -8rI.N8rI.N8rI.N8rI.N8rI.N8sEdW8sEdW8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_8sF'_ -8sF'_8sF'_8sF'_8d(An8h'K5h>l^962X=Tmeuh[V"XfE!Tl]Hk5F]K9()ZO!MoGgh>l^962X=T -mf)n\]`<Q~> -!s&AXhYuO6k5IaM8FGpFncJO=2#L>TRK'Gg49J.Jp,r1O!p]esrDaWqs&E'5s5lFDp@^UKp@^UK -p@^V:s/u;_'1hij4B;+K4B;+K4B5BX=f)/`;#40#IK.adPsA@Cp,ncCY5LHk8?W!HV3V)7Y!AET -Y5LHb8G;a>r)Ed's8H$up('8cp@^UKp@^UKp@^V:s/u;_"%`.Z4SVnXlMkGo<>+Ho<E3c5jucZ; -p,l@Kp,ncCY5LJ2lMkEu<E3a=p@^W6s&F&]s5lFPp@^U[<GDK55ZNAL<E4li<E4li<E4li<E5#q -<E5#q<E5#q<E5/u<E5/u<E5<$<E5<$<E5<(<E5H,<E5H,<E5H,<E5H,<E5H,<E5H,<E5H,<E5H, -<E5H,<E5H,<E5H,<E5H,<E00iEE+jdrn[Y7q*b6R!:KjW!qr>Yrn[_97,n4.rosRQ8FHKJ!qr>Y -rn[Y7q*b6R!:KjW!P/8]~> -!s&AXhYZI69)n>Xp&X#Zr1!i-s2FqX",$XRF8DC.pA^BUS/1huK:K%CmW4ous)X_1s)X_1s)Z0Z -`VjikKE(smSH&V1SH&V1S=Gh.`W,XrqO@u$s5s$gH^t-9F2e0urGrC"ec4dN[/]:5Hc?$(rGr'n -s8R0<S/0ZTK:JJ3s)X_1s)X_1s)X_1s)Z0Z`Vji[KE(smpm_EZs-3JP'))?XS?2bYF.E:1F.E:1 -F2e0urGr&6s-3MQs.o\pG]WTYK<2H[mW53(s)Y!+XT-7dS@#)^S@u"oS@u"oS@u"oS@u"oS@u"o -S@u"oS@u"oS@u"oSAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS" -SAhS"SAhS"SAhS"SAhS"@eTfX!9X2Fr(6tWrUp8fpAWnLk!At.rU'\Ymeuh[V"XfE!9X2Fr(6tW -rq6B+!.Y~> -!W`8Wqr[qHs%<=Zr:U0J.JudG;XXRTH^'.Tk5T0oqar`9s5o5dP[^0_]kYOdM_Ritp+]25p+]2% -s(Z$2s."G#K1bk20hV050hUU.C/V-cC4lQC1&4Eemf3;Q3D0#=0iIH>S9pKQ8pgU<@UfB;C,o2[ -s."G#K1bk21&OWfF8pSQ9(qs59(qs59(qs59'6.g@da8dH^'.Tp@^459'5:68q*<1k)4SN@\!J3 -C;p420hV050hV050j=#FS:d&YSH%`0H^nhCk5T1ls1NKms,/U(p@^458u2Jr3I=q%8pb#>8qUSF -8qUSF8qUSF8qUSF8qUSF8rI.N8rI.N8rI.N8rI.N8rI.N8sEdW8sF'_8sF'_8sF'_8sF'_8gT^: -8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kP=_8kLQ+hVRDWrB^<Qr:U>jp>4Zgk!B"/r9aPWr:U;i -p>4Zgk5@UGmeocVp&Vi,J,~> -!W`8Wro3q>s69\S8FGpFo)JCag,/_-$XrK"SV<>c<Ta=(@Ja%^U&X8;JXL5Cs2&p$s-5]Hp@^UK -p@^[email protected]&/N7p,l@Kp,l@;s)hbUM04[ThE:U6,jPF09Lr1Wp,ldOqON>*M,f90s)E&Y -s*7"@meWK.Q&/N7p,r7Q,(9KB:f[5_4B;+K4B;+K4B:PDF`$RCSV<>c<VH,K<E82Dr)J3>s5oGp -R;&5l_KF$$Prr(?p,l@Kp,lpSqONV6M4st3Ob'?K<Ta=(Y5c@eb5[_l<VH,K<E64%D+&qh<E4`e -<E4li<E4li<E5#q<E5#q<E5#q<E5/u<E5/u<E5/u<E5<(<E5<(<E5H,<E5H,<E5H,<E5H,<E5H, -<E1?5EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-#,EE-!qo%r6_iqc(B8H/2[p'.5]hVR8O7/l?J -lMp8P8H/2[p'%/\hVR8OrC$\N!(?fWrpg-a\c@6~> -!W`8Wqr[qHs%<=Zr:U0J@f2`(V"Xi-]u@[TpA^YYqj]Ogs6dS-`N7&YeZ@p5[!S>Cs)X_1s)X_( -s.$1as2D[j]q#-&F.E:1F.Dt(S>=]KXM+YrHhj0WpAb/FMk'hIF/8O0`P'7(SA"t&S>?2bUk>K: -s2D[j]q#-&F8VOP[/ZqdSH&V1SH&V1SH&V1SG)uQXS2\5]u@[Ts8R/1SF6+KS:8`_m_-!HXMt4i -XQKPiH^t-9F.E:1F/8O0`P'7(c2[4F[*>tJpA^Z-s4+L=s0R-Cs8R/1SCRY(K=%GES@u"oS@u"o -S@u"oS@u"oS@u"oS@u"oS@u"oS@u"oSAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"SAhS"S0c.U -S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=IR"S=F'^hVRDWrB^<Qr:U>jp>4Zgk!B"/r9aPWr:U;i -p>4Zgk5@UGmeocVp&Vi,J,~> -!<E/sk54TDp&X#!qaq3)^%VKoMa<9ps(_C&1lL5js5mcVPii#.PVG0jp@^45p@^45Mt[0c>.sY0 -mYaC)p+]25p+]0tpA\mPpAaj*;DIu>,cq$b0gSG*p+]0K^%VKoMa:8@s#ECFs#EA;@_ML8mYaC) -p+cG:s4&5X9(qs59(qs59(qs58rNECC0J=Es6be2p@^459(qs5r(;ErhZ*W<@R67@s5oP#3D0#= -0hV050hPogpAaQ=8sJ34s5mcVSG)ttSEBk6S2!#rp@^45F5GG%C0F5%HX]T>K47GFK47GFK47GF -K47GFK47GFMdf:NMdf:NMdf:NMdf:NMdf:NP[[6WP\Nf_P\Nf_P\Nf_P\Nf_P\U4j)3el.8sF'_ -8sF'_8sF'_8sF'_8sF'_8sF)i8cgI0hYuX=Ud7<D8cYsjp&_&XhYu[:62F4Op&_&XhYlU:62g6O -9)SA`]`<Q~> -!<E0!ir8*>lMg5No)A=`g,/\'$YdKOs6>S7NUlpc9`%XCQ/;Q;iakfOk5X_34@E$>p,l1Fp,l02 -o(m??_Y4#pNC`d:4AbbF4A_%.qJj[Ks7XT<5l"5%Y5cL(9MkHV4A]b/pAaE;86Puh6qmIW6qC-g -_Y4#pNC`d:4SqtTef[L[p@^UFp@^UFp@^UFNUlpcBu9TDlA\@.p,l/Jp@^WH:k"\ds8(_d9UY&C -lBOJ";"jTF;"jTF:hdf?s6>S?Q/;Q;iakfOo(m@"k5X_;4@E$>p,l/shUXf+APc3SAPc3WAPc3W -Bi%W_Bi%W_Bi%WcBi%WcBi%WcBi%WgD,=&kD,=&kD,=&oD,=&oD,=&oD,=&oD,=&oD,=&oD?!EM -Q#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#6Ls!]9?%ro*pOr'^NT!ikh^rq6Demb[s&qaCBRs760_ -!ho&=ro+"A6q%%>!q&TMrpp*_!P/8]~> -!<E/sk54TDp&X#ZqihG`eb9%:[#;Wks.oLU1pl]Ns6c,0^$bpoZu^kas8R/)s8R/)^%VK%Ut,2= -p9]bXs)XG)s)XF<pA^rNpAb0LMgP8a,gHA>F-Mphs)XF#eb9%:[#:ISs*K\(s*KZgUt,2=p9]bX -s)\(%s5kG^PlLc)PlLc)PlLc)PeHejUnlQ7s7WgXs8R/)PlLc)r02Z;mf3=TP`*6Cs7Wg@K9ZE9 -F-Q_)F-NKNpAainMmVpPs6c,0`V0>-`U<d"]lSgjs8R/)XR>4lS>;C6[%rqN[%rqN[%rqN[%rqN -[%rqN]qgmW]qgmW]qgmW]qgmW]qgmW]qgmW]qgmW]qgmW]qgmW]qgmW]qgmW]qk[m)82i1PeElW -PeElWPeElWPeElWPeElWPeEmlPQG=^hYuX=Ud7<D8cYsjp&_&XhYu[:62F4Op&_&XhYlU:62g6O -9)SA`]`<Q~> -!<E/tk54TDp&b9E.JcX;5rnp!"$oOF1&CnOF%SIk0`jX53W:`53W;YN1&jlG1&jiL5qt)[5rnp!% -RE]A0hP%m0hP&(0eksSr\4C5qYp_?8kM)u3W;YN1&jiH5rnp!#XM'T0el9m0erZ"!C8aF0`s^60 -erPt(1Q]r8kLfm8kLfm8kLfm8kMB(0gS)cr\4L@8hi("9)gXC8cUmM0`jX53W:`53W;YN1&jlG1 -&acF3W:`85tX-tr\4U\;F*#l8icl*EB-X+=tqaQV"RDH>"VD6>"VD>@S07F@S07F@S07F@S07F@ -S07N@S07N@S07N@S07N@S07N@S07W@S07WC._*_C._*_C._*_C._*_C._*_C._*_C._*_C._*_C -._*_C._*_C._*_C._*_8h'3*k54TDp&b8imec/Dmec\Zs.o)[k54TDp&Vi,J,~> -!s&A\ir8*>lMg5No)A=aqURM":]X6Tr]C9R:e3_FrrRIB8GtXP9Me.V49.eK;#`ZX;#`ZX:^'BP -4A8F6r]CZ]:cpj::cpj::e3]29L/S>!'pD\"aNp@6p*a6;#`ZX:]X6Tr]CHW:f'8::f'8:r_NVh -5lNkJ85ME2qbS&BnsN<N4?QG:4?QG:4?QG:83B".9L/S>"%Z6N4T81W4SqqT8GtXP9Me.V49.eK -;#`ZX;#`ZX:^C&h4?Pl":e3kN4F:@:83B"76p*Rs6r8#34?Rnhnm+dp:f)^S:f)jW:f)j[:f*!_ -:f*!_:f*!_:f*-c:f*-c:f*9g:f*9k:f*9k:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo -:f*Eo:f*Eo:f*Eo:f*Eo:f*Eo:f*ER2"(A&roX4FrpKdVrq6EiU$hp>roX4FrpKdVrq6EiU$hp> -roX4FrpKdVrq6B(!.Y~> -!<E/tk54TDp&b9E@eko^HiA'gK8YA'qYpVmMhD"M"+,raKDoolKDpf/F8q0uF8q.%K6)*dMgPGE% -YK[\F,PrtF,Ps/F)ut\rc8'dqYp_pMi2q'HiAs'F8h'tHiA'lK8YY/F,PrtF8_!sHiA'gK8Xelq -hl5[p:ZBBF*!7tF*!7tF*!7tK6)*dMgPGE"+uMQF8h*tF8LjqKDoooH]*f7rc8'lrepets,6nur -egc'rc8O$Mh?@tF*j.9K6)*lKDoq3K8ZOiF*".rp5=QnMi4[,Mi4[,Mi4[,Mi4s4Mi4s4Mi4s4M -i4s4Mi4s4Mi4s4Mi4s4Mi4s4Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=Mi59=M -i59=Mi59=Mi59=Mi59,@da-UqsO@T!ro(aqr[eDqt:*kV!e-BqsO@T!PJJ`~> -!<E/uk54TDpAb-neLBuRqCqt1bsD1\!'/Rq!b.Z[`^'Ssr]pNVr]tm/8jPa@8jPaH8jPaP8jPaP -;F*T`;OgW>8jPaa;F*Tq>!YH$>!YH$>!YH$>!YH,>!YH,>!YH,>!YH,>!YH4>!YH4@R3;<@R3;< -@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R39_Mdet$mel5Emec_X -rrJq`r9!nEqtC'i!Mo/]k54TDp&b9-!.Y~> -!W`8[roX4FrpKdVrq?Bg!S0*t:]OMl49/(#:]OMl49/(*:]b@%8B+L+<W>mF>ua]t@9HE'AQ_i+ -Bj"8/D-]t7EEuC;F^_+T5Zpo[JRqYSKk4(WKk4(WM.od_M.od_M.od_NG23cNG23cNG23cO_mok -O_mokQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>oQ#0>o#*j%% -2"'A_roX4FrpKdVrq?Bg"/5/Bir8*>lMg5No)A@_q?*GZio9t"rp'LNrpp'^!rBJ.J,~> -!<E/uk54TDpAb-neRJ$+qJuXhc&;F>!/&g[!h?rV`esh]regc@repf@s,28pP`(HiP`(HiP`(Hq -P`(HqPf8l6P`(I$S;W<,S;W<,S;W<4S;W<4S;W<4S;W<4S;W<4S;W<4S;W<4S;W<4S;W<=S;W<= -S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;W<=S;UkEr9!nEqtC'i -!Mo/]k54TDpAb-nV!e0CqsO@T!roq6J,~> -!<E0!k54TDpAY'meL?&8r]pNEa$B\tr]pNVr]u$38jPa@8jPaH8jPaP8jPaP;F*T`;F*T@8jPaa -;F*Tq>!YH$>!YH$>!YH$>!YH,>!YH,>!YH,>!YH,>!YH,>!YH4@R3;<@R3;<@R3;<@R3;<@R3;< -@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R3;<@R39\.IR/sqsO@Trr3"pmeu;Fmec_W -rrJq`rT="FqtC'i!PJJ`~> -!<E0!k5OZFmf)eVpAXmhehhqOs%EGa7)qt$;#X.<<DZ@_>u43g@9#upAQ;DtBj",'D-9P+EEu73 -=]nElI:[email protected]@SM.K@SNG2'[NG2'[NG2'[O_IK_O_IK_Q"`oc -Q"`ocQ"`ocQ"`ocQ"`ocQ"`ocQ"`ocQ"`ocQ"`ocQ"`ocQ"`oc#*imr9Jl1sroX4FrpKdVrq??f -!ho&AroX4FrpKdVrq??f!ho&AroX4FrpKdVrq?Bg!P/8]~> -!<E0!k54TDpAY'meRF)^rdt2ta+FAMrdt3/re(6/s+>`aMh?YHMh?YPMh?YPMh?YPMh?Y?Mh?YX -P_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4UiP_4UqP_4UqP_4UqP_4UqS:cI$S:cI$S:cI$S:cI$ -S:cI$S:cI$S:cI$S:cI$S:cI$S:cI$S:cI$S:cI$S:cI$S:cH'meu;Fmec_WrrJq`rT="FqtC$h -!Mo/^k54TDpAb-n]`<Q~> -!W`8_qsO@Tr;QfJ.=k*B9"R[t.IQ?\qsO@Tr;QkpmcN[/mec_Urr](bk2uR/qtC!g!PJJ`~> -!W`8_rp'LNrpp'^rqcZp!R`fU=f5Df<<G)Ck2u[.rpKdVrq??fs8N1plK77.lMg5No)A@^qZ$Qt -U$Ce&rp'LNrpp'^rqZ]r\c@6~> -!W`8_qsO@Tr;QfJ@Y(>+Uq<E)@d`C@qsO@Tr;QkpmcN[/mec_Urr](bk2uR/qtC!g!PJJ`~> -!!)DN!%EI)JI&jn!%I<"!2T"H!2T"H!!%N~> -!!)DK!&T64JI&jn!&X)*!28eB!28eB!!%N~> -!!)DN!+LKbJI&jn!+P>[!2T"H!2T"H!!%N~> -!<E0!joD3.s+13$s7-*mV#TT>]`<Q~> -!<E0!joD*+s+13$s7-*mU&X9;\c@6~> -!<E0!joD3.s+13$s7-*mV#TT>]`<Q~> -!<E0!joD3.s+13$s760oK;AP0k.LbF~> -!<E0!joD*+s+13$s760oJYE,+k.1PC~> -!<E0!joD3.s+13$s760oK;AP0k.LbF~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[Uec17* -V#TT>]`<Q~> -!<E0!joV7Vs8(IF!!:jS!:8G>!<1^P!!:jS!;tRN!:/A:!9Mr7!:SY;!!_-W!8?-,!.ijZgAc^- -U&X9;\c@6~> -!<E0!joV@Ys8(:A!!:[N!:889!<1OK!!:[N!;tCI!:/25!9Mc2!:SJ6!!^sR!7fU"!.i[Uec17* -V#TT>]`<Q~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[Uec17* -V#TT>]`<Q~> -!<E0!joV7Vs8(IL!;bFL!:8G>!<1^P!;Y@K!:8G>!<1^P!9W#8!:SYA!;bFL!<:dQ!.ijZgAc^- -U&X9;\c@6~> -!<E0!joV@Ys8(:G!;b7G!:889!<1OK!;Y1F!:889!<1OK!9Vi3!:SJ<!;b7G!<:UL!.i[Uec17* -V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[hec17* -V#TT>]`<Q~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*o%O*Drn@APs4[DO -rn@;Ns4[JQ"53_TgAM$OgA_-Sg&M-DgA_0OgA_-Tg&M-,r;clOr;clOrr</T!!(aO!.ijmgAc^- -U&X9;\c@6~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTuo%!a?rmh#Ks4.&J -rmgrIs4.,L"4[AOeboLJec,UNeGoU?ec,XJec,UOeGoU"r;clJr;clJrr</O!!(RJ!.i[hec17* -V#TT>]`<Q~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^p7?s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)TDrW)oN -rrE)Qrr<;X!!(a,!!(aL!<:dQ!!(aP!!:jS!;"qE!<(XO!"[c`!8?-,!8?-,!8?-,!8@8Ls4[JQ -J_HUIs+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)T?rW)oI -rrE)Lrr<;S!!(R"!!(RG!<:UL!!(RK!!:[N!;"b@!<(IJ!"[T[!7fU"!7fU"!7fU"!7goGs4.,L -J^p7?s+:KNs5rIW!.Y~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eX4neK*A(N -k2s>WJ,~> -!<E0!joV7Vs8(II!"@Q]!87DQg&M-,g&M-EgA1d\g&M-,!!(a,!!(^Q!8?-,!:\_A!<:dQ!<:dQ -!;tRN!!(aP!<:dQ!;tRN!<:dQ!;"qB!#!uc!87DQg=cN,g=cN,g=cN,gAV*PgAV)'g6gUoJH_bI -k2s5TJ,~> -!<E0!joV@Ys8(:D!"@BX!7_&LeGoU"eGoU@ebT7WeGoU"!!(R"!!(OL!7fU"!:\P<!<:UL!<:UL -!;tCI!!(RK!<:UL!;tCI!<:UL!;"b=!#!f^!7_&Le^XX"e^XX"e^XX"ec#RKec#Q"eX4neK*A(N -k2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"RaqFj"f21\k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!CpT!8@;Mo@j3Ern@AP$JGI[g&M-,g&M-,qZ-*=rVurPqZ-ZMqu?fP -!!*#PrrDuNrrE)QrrDZErrE#Orr<>Y!!(a,!!(a,qZ$]O!!)rNrW%N'RbIdm"ektYk.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!CaO!7grHo@<j@rmh#K$Io+VeGoU"eGoU"qZ-*8rVurKqZ-ZHqu?fK -!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<>T!!(R"!!(R"qZ$]J!!)rIrW%N"RaqFj"f21\k.LbF~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"S(7Ok"f21\ -k.LbF~> -!<E0!joV7Vs8(IL!<(XO!!V'V!87DQn(RdArn@AP%,([]g&M-,g&M-,!!)KArrE&Prr<,S!!)rN -rrE)Qrr<,S!!*#PrrDuNrrE)QrrDZErrE#Orr<D[!!(a,!!(a,!!)rNrrDrMrW%N'S(dmn"ektY -k.1PC~> -!<E0!joV@Ys8(:G!<(IJ!!UmQ!7_&Ln(%F<rmh#K%+P=XeGoU"eGoU"!!)K<rrE&Krr<,N!!)rI -rrE)Lrr<,N!!*#KrrDuIrrE)LrrDZ@rrE#Jrr<DV!!(R"!!(R"!!)rIrrDrHrW%N"S(7Ok"f21\ -k.LbF~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eXP+hK*A(Nk2s>WJ,~> -!<E0!joV7Vs8(IL!<(XO!"%?Z!87DQg=cN,o@j3Ern@AP#20%Wg&M-,rW!/V!!(a,!!)WErrE&P -rr<Va!!(a,!!(^Q!8?-,!87DQrn@APs4[JQ#20%Wg=cN,o@j3ErS%8O#MK.Xg=cN,gAV*PgA_-S -g&M-PgA_0QgA_/(g7-grJH_bIk2s5TJ,~> -!<E0!joV@Ys8(:G!<(IJ!"%0U!7_&Le^XX"o@<j@rmh#K#1W\ReGoU"rW!/Q!!(R"!!)W@rrE&K -rr<V\!!(R"!!(OL!7fU"!7_&Lrmh#Ks4.,L#1W\Re^XX"o@<j@rRLoJ#LreSe^XX"ec#RKec,UN -eGoUKec,XLec,W#eXP+hK*A(Nk2s>WJ,~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^p4>s+:KNs5rIW!.Y~> -!<E0!joV7Vs8(IL!<(XO!!M!U!8?0*!:nkD!<1^P!"7K\!8?-,!87DQg=lK*n_3m@rn@;Nrn@>O -!8@AOrS%2Ms4[JQs4[JQo@j3ErS%8O!nmVSrn@APs4[DOs4[JQrS%2MJ_HRHs+(?Is5rIT!.Y~> -!<E0!joV@Ys8(:G!<(IJ!!LgP!7fWu!:n\?!<1OK!"7<W!7fU"!7_&Le^aTun^[O;rmgrIrmguJ -!7h#JrRLiHs4.,Ls4.,Lo@<j@rRLoJ!n@8Nrmh#Ks4.&Js4.,LrRLiHJ^p4>s+:KNs5rIW!.Y~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joV7Vs+/mTg4@uNgAc^-U&X9;\c@6~> -!<E0!joV@Ys+/^OeUc9Dec17*V#TT>]`<Q~> -!<E0!joD3.eUc8%ea_/nV#TT>]`<Q~> -!<E0!joD*+g4@t/g@<l#U&X9;\c@6~> -!<E0!joD3.eUc8%ea_/nV#TT>]`<Q~> -!<E0!joD3.eUc8)eaA%oeYN6-k.LbF~> -!<E0!joD*+g4@t3g?sLrg7eQ/k.1PC~> -!<E0!joD3.eUc8)eaA%oeYN6-k.LbF~> -!<E0!joV@/eU_IdC5Qd*eaJ+qs4*qFk2s>WJ,~> -!<E0!joV71g4=g+JVo$Xg@'Rts4X1Hk2s5TJ,~> -!<E0!joV@/eU`X0Mi*GleaJ+qs4*qFk2s>WJ,~> -!<E0!joV@/eU_IdC5Zg,mf(c:KDN7]KDN:]rs%#Ls5rIW!.Y~> -!<E0!joV71g4=g+JW#'Zs8LaPJbm4`Jbm7`rs%2Ns5rIT!.Y~> -!<E0!joV@/eU`X0Mi3Jns8LRKKDN7]KDN:]rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec1:!]`J.cqRuq/#1]OLk2s>WJ,~> -!<E0!johC3g4=g+g4@t<gAh3PgAca$_?'[fqSN:4#25dNk2s5TJ,~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:!]`J.cqRuq/#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[I5XT._fec1:!]`S4dKDW@^rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAca$_?0agJc!=ars%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:!]`S4dKDW@^rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec1:"^&S-4KDW@^rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAca%_Z0Z9Jc!=ars%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:"^&S-4KDW@^rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMX8o@#!;rqs!.h5AXT._fec1:"^&S*6eUrMP^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g&Tk*!;tRL!.ijogAh3PgAca%_Z0W;g4=hQ_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:joFQB!;u!X!.j:&k5YJ\ec1:"^&S*6eUrMP^&S*:eYN6-k.LbF~> -!<E0!joqR2eS8j#qZ-Srq>gPsq>gMrrW)hsquHbuquHAjquHYrq>^MsrW)r!rVur"q>^MsquH#` -!!)u!!!*#"!!)u!!!%SOSZMkZrmh%$rOr72s4..%r4W.1#1]OLk2s>WJ,~> -!<E0!joqI4g4=h/qZ-TKq>gQLq>gNKrW)iLquHcNquHBCquHZKq>^NLrW)rOrVurPq>^NLquH$9 -!!)uO!!*#P!!)uO!!%T(S_F,Drn@C'rPJU7s4[L(r5/L6#25dNk2s5TJ,~> -!<E0!joqR2eVf@JqZ-TWq>gQXq>gNWrW)iXquHcZquHBOquHZWq>^NXrW)r[rVur\q>^NXquH$E -!!)u[!!*#\!!)u[!!%T4S`]tPrmh%$rOr72s4..%r4W.1#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!#lq'.!3E7%XK2F"X8i7rX8i7tX8i7iX8i7rX8i8!X9/I( -X8r1"!!*#"!!)u!!!*#"!!)5a!!)u!!!*#"!!)u!!!%SOSZMkZrmh%$rOr72rmh%$rOr72#1]OL -k2s>WJ,~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO#lr]5!8?-,g=cQ)g&M-Kg&M-Mg&M-Bg&M-Kg&M-Og&h?/ -g&V')!!*#P!!)uO!!*#P!!)6:!!)uO!!*#P!!)uO!!%T(S_F,Drn@C'rPJU7rn@C'rPJU7#25dN -k2s5TJ,~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[#ls,M!9WDDk2l[Ajo>DWjo>DYjo>DNjo>DWjo>D[joYVG -joG>A!!*#\!!)u[!!*#\!!)6F!!)u[!!*#\!!)u[!!%T4S`]tPrmh%$rOr72rmh%$rOr72#1]OL -k2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!#lq'.!3E7%XK2F#X9&C'!;`bs!;iht!:[&i!;W\r!<&u$ -!3E7%r2]kuri?)"rN#u!ri?)"poOJqm]6Bgri?)"rN#u!JZPEDs6fm:s+C<as8W&Js+C9`s8N;R -V#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO#lr]5!8?-,g=cQ*g&_9.!;bCL!;kIM!:\\B!;Y=K!<(UR -!8?-,r7V,Nrn7>PrRq5Orn7>PptG`Jmb.X@rn7>PrRq5OJ_H[Ks8W)Ps+10ds8W&Os+1-cs8N;W -U&X9;\c@6~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[#ls,M!9WDDk2l[BjoPPF!;bgX!;kmY!:]+N!;YaW!<)$^ -!9WDDr8mtZroO1\rT4([roO1\pu_SVmcFKLroO1\rT4([J``Ncs8W)Ks+C<as8W&Js+C9`s8N;R -V#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;`bu!3?1sX8i7tX8i7iX8i7rX9/I(X8r1"!!*#" -!!)u!!s#F(!;rnu!;NYq!:Quh!<&u!!<&u!!.h5BXT._fec1:$^&S-1ec1:$^&S*:eYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;bCN!87GLg&M-Mg&M-Bg&M-Kg&h?/g&V')!!*#P -!!)uO!s%'/!;tON!;P:J!:SVA!<(UO!<(UO!.ijpgAh3PgAca'_Z0Z6gAca'_Z0W?g7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;bgZ!9O:Xjo>DYjo>DNjo>DWjoYVGjoG>A!!*#\ -!!)u[!s%KG!;tsZ!;P^V!:T%M!<)$[!<)$[!.j:'k5YJ\ec1:$^&S-1ec1:$^&S*:eYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r1"!!*#"r;c\q!!)nt!!*#"!!)nt!!)nt!!)Mi!!)hrr;cbs!!*#"!!)u! -r;cbs!!),^!!)qu!!)u!!!%SOSZMkZrmh%$s1SI4qpk_!rk8@3#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!!*#Pr;c]J!!)oM!!*#P!!)oM!!)oM!!)NB!!)iKr;ccL!!*#P!!)uO -r;ccL!!)-7!!)rN!!)uO!!%T(S_F,Drn@C's2+g9qqD($rke^8#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!!*#\r;c]V!!)oY!!*#\!!)oY!!)oY!!)NN!!)iWr;ccX!!*#\!!)u[ -r;ccX!!)-C!!)rZ!!)u[!!%T4S`]tPrmh%$s1SI4qpk_!rk8@3#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"!s#F(!;`bs!;ikq!;iht!;iht!<&u!!;3Dn!<&u!!<0&%!3E7% -qlBi!X8r1"!s#F(!;rnu!<&u!!:-]d!;iht!<&u!!.h5BXT._fec1:%^&S-/ec1:%^&S*:eYN6- -k.LbF~> -!<E0!jp.U6g4=h/g&V')!!*#P!s%'/!;bCL!;kLJ!;kIM!;kIM!<(UO!;5%G!<(UO!<1[S!8?-, -qq;)Og&V')!s%'/!;tON!<(UO!:/>=!;kIM!<(UO!.ijpgAh3PgAca(_Z0Z4gAca(_Z0W?g7eQ/ -k.1PC~> -!<E0!jp.^4eVf@JjoG>A!!*#\!s%KG!;bgX!;kpV!;kmY!;kmY!<)$[!;5IS!<)$[!<2*_!9WDD -qrRq[joG>A!s%KG!;tsZ!<)$[!:/bI!;kmY!<)$[!.j:'k5YJ\ec1:%^&S-/ec1:%^&S*:eYN6- -k.LbF~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)u!!W];%r2]kurN#u!ri?)"rN#u!m&U0eqQ'YsrN#u!JZPEDs6fm:s+:Bds8VoFs+C?b -s8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)uO!W^pSr7V,NrRq5Orn7>PrRq5Om+MF>qUtoLrRq5OJ_H[Ks8W)Ps+(6gs8VoKs+13e -s8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)u[!W_?_r8mtZrT4([roO1\rT4([m,e9JqW7bXrT4([J``Ncs8W)Ks+:Bds8VoFs+C?b -s8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r4#!!)u!!!)u!!!)qu!!)qu!!)qu!!)qu!!)nt!!)u!!!)\n!!)u!!!*#" -!!)u!!!)qu!!)nt!!)u!!!*#"!!)u!!!)u!rrDYl!!)u!!!*#"!!)u!!!%SOSZMkZrmh%$!knX6 -psoCs$,-B=eYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V**!!)uO!!)uO!!)rN!!)rN!!)rN!!)rN!!)oM!!)uO!!)]G!!)uO!!*#P -!!)uO!!)rN!!)oM!!)uO!!*#P!!)uO!!)uOrrDZE!!)uO!!*#P!!)uO!!%T(S_F,Drn@C'!lG!; -ptGb!$,Z`Bg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoGAB!!)u[!!)u[!!)rZ!!)rZ!!)rZ!!)rZ!!)oY!!)u[!!)]S!!)u[!!*#\ -!!)u[!!)rZ!!)oY!!)u[!!*#\!!)u[!!)u[rrDZQ!!)u[!!*#\!!)u[!!%T4S`]tPrmh%$!knX6 -psoCs$,-B=eYN6-k.LbF~> -!<E0!joqR2eS8j#qZ-Srq>gMrquHbur;Zi!r;cl!quHbuq#L/jq#LGrq>gGp!!)quq>^Msq#LAp -rrDYlqZ-Srr;_DMS?2bYrmh%$s8VbE$,-B=eYN6-k.LbF~> -!<E0!joqI4g4=h/qZ-TKq>gNKquHcNr;ZiOr;clOquHcNq#L0Cq#LHKq>gHI!!)rNq>^NLq#LBI -rrDZEqZ-TKr;_E&SD+#Crn@C's8VbC$,Z`Bg7eQ/k.1PC~> -!<E0!joqR2eVf@JqZ-TWq>gNWquHcZr;Zi[r;cl[quHcZq#L0Oq#LHWq>gHU!!)rZq>^NXq#LBU -rrDZQqZ-TWr;_E2SEBkOrmh%$s8VbE$,-B=eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec17%s7:mCrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAc^(s7:gArs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec17%s7:mCrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec19m^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAc`p_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec19m^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec19krs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAc`nrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec19krs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec19nrs=>Xs4*qFk2s>WJ,~> -!<E0!johC3g4=g+g4@t<gAh3PgAc`qrs=8Vs4X1Hk2s5TJ,~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec19nrs=>Xs4*qFk2s>WJ,~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXN7IC!.h5mXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g;qtJ!.ikFgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k/cZb!.j:Rk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!joqR2eS8j#quHVqrW)ktqZ-Vsq>^MsquEau!!(0C!!)nt!!)2`rW)5brr@bSs6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!joqI4g4=h/quHWJrW)lMqZ-WLq>^NLquEbN!!(0q!!)oM!!)39rW)6;rr@c,s8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!joqR2eVf@JquHWVrW)lYqZ-WXq>^NXquEbZ!!(1(!!)oY!!)3ErW)6Grr@c8s8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7pX8i7tX8i8!X8i8"X8i8!X8i8"X8i7!X8i7<X8i7^X8i7bX8i6SXT._f -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Ig&M-Mg&M-Og&M-Pg&M-Og&M-Pg&M,Og&M,jg&M-7g&M-;g&M,,gAh3P -gAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>DUjo>DYjo>D[jo>D\jo>D[jo>D\jo>C[jo>D!jo>DCjo>DGjo>C8k5YJ\ -ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&"!<&u!!<0&"!;NYq!48j*!<'#!!<9/#!<9/" -!<9/"!;ESo!<0)!!!]M)!3E7%!<'"u!;rqr!;iks!:d,j!;ikr!;iks!!0/$ri?/$XK;C$MQHjG -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[P!<(UO!<1[P!;P:J!4:JX!<(XO!<:dQ!<:dP -!<:dP!;G4H!<1^O!!_-W!8?-,!<(XN!;tRK!;kLL!:ebC!;kLK!;kLL!!1dRrn7DRg=lN+MVA+1 -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*\!<)$[!<2*\!;P^V!4:nd!<)'[!<;3]!<;3\ -!<;3\!;GXT!<2-[!!_Qc!9WDD!<)'Z!;u!W!;kpX!:f1O!;kpW!;kpX!!23^roO7^k2uXCMWXs= -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7qX9&C'!;rnu!<&u!!<0&%!3E7%r2]kupoOJqZ`F-,q5ai%X8o?'!3E7% -rN#u!orJ,nr2]kuri?8'X8o?'!;rnu!;iht!;W\r!<0&"!:m2k!;rnu!<&u!!<&u!!<0)"!<0&% -!3E7%LogXErmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Jg&_9.!;tON!<(UO!<1[S!8?-,r7V,NptG`JZe>BZq:Z)Sg&Tj\!8?-, -rRq5Op"BBGr7V,Nrn7MUg&Tj\!;tON!;kIM!;Y=K!<1[P!:nhD!;tON!<(UO!<(UO!<1^P!<1[S -!8?-,Lt_n/rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>DVjoPPF!;tsZ!<)$[!<2*_!9WDDr8mtZpu_SVZfV5fq;qq_joFQ+!9WDD -rT4([p#Z5Sr8mtZroO@ajoFQ+!;tsZ!;kmY!;YaW!<2*\!:o7P!;tsZ!<)$[!<)$[!<2-\!<2*_ -!9WDDM!"a;rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i7rX8i8"X8i8!XS`(sXSi.sX8i7!X8i7rXT&:tX8i8!X8i7nX9J[+X8o?' -!<0)"!;NVq!;iht!;`bs!;rnu!;!8l!<&u!!;ii"!3E7%r2]kuri?/$X8n$Ws6fm:s+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Kg&M-Pg&M-OgACsLgAM$Lg&M,Og&M-KgA_0Mg&M-Og&M-Gg'.Q2g&Tj\ -!<1^P!;P7J!;kIM!;bCL!;tON!;"nE!<(UO!;kIP!8?-,r7V,Nrn7DRg&Qo^s8W)Ps+14Mp=fOt -s8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>DWjo>D\jo>D[k555Xk5>;Xjo>C[jo>DWk5PGYjo>D[jo>DSjothJjoFQ+ -!<2-\!;P[V!;kmY!;bgX!;tsZ!;#=Q!<)$[!;km\!9WDDr8mtZroO7^joC2!s8W)Ks+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i8"XS`(sX8i8!X8i8"X9/I(X8r1"!!)u!!!'.&!!)hr!!)hr!s#F( -!;*>s!3E7%XK2F$X8i7pX8i7tX8i7sXSMqgX8i8!X8i7tX9/I(X8r$srr@eTs6fm:s+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-PgACsLg&M-Og&M-Pg&h?/g&V')!!)uO!!'.T!!)iK!!)iK!s%'/ -!;+tL!8?-,g=cQ+g&M-Ig&M-Mg&M-LgA1g@g&M-Og&M-Mg&h?/g&Up%rr@f-s8W)Ps+14Mp=fOt -s8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D\k555Xjo>D[jo>D\joYVGjoG>A!!)u[!!'.`!!)iW!!)iW!s%KG -!;,CX!9WDDk2l[Cjo>DUjo>DYjo>DXk5#)Ljo>D[jo>DYjoYVGjoG2=rr@f9s8W)Ks+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!'.&!!)hr!!)hr -!s#F(!;!8p!3?1%!<&u!!;EPp!;iht!;`bs!:?if!<&u!!;ii"!3E7%poFMsX8n$Ws6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!'.T!!)iK!!)iK -!s%'/!;"nI!87G,!<(UO!;G1I!;kIM!;bCL!:AJ?!<(UO!;kIP!8?-,pt>cLg&Qo^s8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!'.`!!)iW!!)iW -!s%KG!;#=U!9O:D!<)$[!;GUU!;kmY!;bgX!:AnK!<)$[!;km\!9WDDpuVVXjoC2!s8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X9/I(X8r1"!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)u!rrBC,!!*#" -!!)u!!!)eqrrDVkrr<,%!!)u!!!)bp!!)nt!!*#"!!)u!!!)u!!!)Vl!!)qu!!)u!!!)u!!!)u! -!!*#"!s#F(!/R`Vmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V')!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)uOrrBCZ!!*#P -!!)uO!!)fJrrDWDrr<,S!!)uO!!)cI!!)oM!!*#P!!)uO!!)uO!!)WE!!)rN!!)uO!!)uO!!)uO -!!*#P!s%'/!/TA/s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoG>A!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)u[rrBCf!!*#\ -!!)u[!!)fVrrDWPrr<,_!!)u[!!)cU!!)oY!!*#\!!)u[!!)u[!!)WQ!!)rZ!!)u[!!)u[!!)u[ -!!*#\!s%KG!/Te;s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#q#CDrr;Zi!r;Zi!qZ-Vsq>^Msq#LAprrB@+rW)nur;cYp!!)Skrr<,%!!*#" -r;c_rquHYrrW)hsr;cJkquH\sr;c_rr;churrE)#rW%hWs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!joqI4g4=h/q#CEKr;ZiOr;ZiOqZ-WLq>^NLq#LBIrrB@YrW)oNr;cZI!!)TDrr<,S!!*#P -r;c`KquHZKrW)iLr;cKDquH]Lr;c`Kr;ciNrrE)QrW%i0s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!joqR2eVf@Jq#CEWr;Zi[r;Zi[qZ-WXq>^NXq#LBUrrB@erW)oZr;cZU!!)TPrr<,_!!*#\ -r;c`WquHZWrW)iXr;cKPquH]Xr;c`Wr;ciZrrE)]rW%i<s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXR3(h!.h5HXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g?mSo!.ik!gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k3_:2!.j:-k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXR3(h!.h5HXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g?mSo!.ik!gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k3_:2!.j:-k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXRE7h!<'"o!7\+F!.h67XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g@*bo!<(XH!7]`t!.ikegAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k3qI2!<)'T!7^0+!.j:qk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXPU&Y!.h5XXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g>:Q`!.ik1gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k2,8#!.j:=k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSMnsXSW"qXSi.uXSr5!XSr3OX8i7hXSr4sXSr3NXO4-Lmf(c:KE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!jp%O5g4=h/gA1dLgA:mJgAM$NgAV*OgAV)(g&M-AgAV*LgAV)'g<nXSs8LaPJcGcDgAca( -rs%2Ns5rIT!.Y~> -!<E0!jp%X3eVf@Jk5#&Xk5,/Vk5>;Zk5GA[k5G@4jo>DMk5GAXk5G@3k0`>ks8LRKKE(uFec1:% -rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!)u!!!*#"rrE&"rr@VO!!)Df!!)hr!!%SOdB*B9 -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!)uO!!*#PrrE&Prr@W(!!)E?!!)iK!!%T(dG"X# -rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!)u[!!*#\rrE&\rr@W4!!)EK!!)iW!!%T4dH:K/ -rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!s#F(!;ii%!3E7%X8o@$!<'#!!3E:%!!]M)!3?/#XSr5" -XSr4mXS`(tX8r=&rW)hsrW)er!!)hr!!%SOdB*B9rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!s%'/!;kIS!8?-,g&Tk+!<(XO!3FoS!!_-W!87DQgAV*P -gAV*FgACsMg&V3-rW)iLrW)fK!!)iK!!%T(dG"X#rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!s%KG!;km_!9WDDjoFQC!<)'[!3G>_!!_Qc!9O7]k5GA\ -k5GARk555YjoGJErW)iXrW)fW!!)iW!!%T4dH:K/rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX9/I(X8r4#!!)u!!s#F(!;ii(!3E7%X8o=%X8r4#rrB+$rr<;*!!')#XK2F# -X8i7nX8i8!X8i8"XT&;"X8i8!X8i8"X8i7tX8i7rX8i6OXO4-Lmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=hSg&h?/g&V**!!)uO!s%'/!;kIV!8?-,g&Th,g&V**rrB+Rrr<;X!!(^Qg=cQ* -g&M-Gg&M-Og&M-PgA_0Pg&M-Og&M-Pg&M-Mg&M-Kg&M,(g<nXSs8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@bjoYVGjoGAB!!)u[!s%KG!;kmb!9WDDjoFNDjoGABrrB+^rr<;d!!)-]k2l[B -jo>DSjo>D[jo>D\k5PG\jo>D[jo>D\jo>DYjo>DWjo>C4k0`>ks8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8juXSi.tX8i8"X8i8"X8i7tX9em.X8o?'!3E7%V5st'XK2E'X8o?'!<&u!!;3Dn -!;W\r!<&u!!<0&"!;rnu!;rnu!;W\r!.h6!XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSgAM$Mg&M-Pg&M-Pg&M-Mg'Ic5g&Tj\!8?-,V:l4Ug=cP\g&Tj\!<(UO!;5%G -!;Y=K!<(UO!<1[P!;tON!;tON!;Y=K!.ikOgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bk5>;Yjo>D\jo>D\jo>DYjp;%MjoFQ+!9WDDV</'ak2l[+joFQ+!<)$[!;5IS -!;YaW!<)$[!<2*\!;tsZ!;tsZ!;YaW!.j:[k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX9/I(X8r4#r;cet!!)nt#lq'.!3E7%XK2DuX9J[+X8o?'!<0&%!3E7%o;qlj -rN#u!rN#u!riGqrr2]kuq5aPrJZR8#s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&h?/g&V**r;cfM!!)oM#lr]5!8?-,g=cP'g'.Q2g&Tj\!<1[S!8?-,o@j-C -rRq5OrRq5Orn@2Kr7V,Nq:YfKJ_JN*s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjoYVGjoGABr;cfY!!)oY#ls,M!9WDDk2lZ?jothJjoFQ+!<2*_!9WDDoB,uO -rT4([rT4([roX%Wr8mtZq;qYWJ`bABs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i7sX8i8"X8i8"X8i7tX9/I(X8r1"!!&js"ota+!3E7%ri?2%XK2EjX8i8" -X8i8!X8i8"X8i7oX8i7rX8i6OXO4-Lmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Pg&M-Pg&M-Mg&h?/g&V')!!&kL"p!B2!8?-,rn7GSg=cPqg&M-P -g&M-Og&M-Pg&M-Hg&M-Kg&M,(g<nXSs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>D\jo>D\jo>DYjoYVGjoG>A!!&kX"p!fJ!9WDDroO:_k2l[4jo>D\ -jo>D[jo>D\jo>DTjo>DWjo>C4k0`>ks8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7sX8i8!X8i8"X8i8!X8i8"X8i7uX8i8!XT&:$X9J[+X8o?'!<'#!!;!8l -!<&u!!<0&"!<&u!!<&u!!<&u!!;rnu!;W\r!.h6!XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSg&M-Lg&M-Og&M-Pg&M-Og&M-Pg&M-Ng&M-OgA_/Rg'.Q2g&Tj\!<(XO!;"nE -!<(UO!<1[P!<(UO!<(UO!<(UO!;tON!;Y=K!.ikOgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bjo>DXjo>D[jo>D\jo>D[jo>D\jo>DZjo>D[k5PF^jothJjoFQ+!<)'[!;#=Q -!<)$[!<2*\!<)$[!<)$[!<)$[!;tsZ!;YaW!.j:[k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSi.tXSr4uX8i8"XSi.uXSr5!XSr5!XT&:%XSr2'X8i7%!!)u!!!)VlquH_t -rW)u"rW)nur;cetquH\squD;Le#`T;rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp%O5g4=h/gAM$MgAV*Ng&M-PgAM$NgAV*OgAV*OgA_/SgAV'Ug&M-,!!)uO!!)WEquH`M -rW)uPrW)oNr;cfMquH]LquD<%e(Xj%rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp%X3eVf@Jk5>;Yk5GAZjo>D\k5>;Zk5GA[k5GA[k5PF_k5G>ajo>DD!!)u[!!)WQquH`Y -rW)u\rW)oZr;cfYquH]XquD<1e)p]1rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXS/^q!.h5?XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g@j5#!.ijmgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k4[p;!.j:$k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXS/^q!.h5?XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g@j5#!.ijmgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k4[p;!.j:$k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXSAmq!<'"o!.h5MXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+gA'D#!<(XH!.ik&gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k4n*;!<)'T!.j:2k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXP0`U!.h5[XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g=k6\!.ik4gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k1\qt!.j:@k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%X3eS8j#XSMqrXSi-MXQlke!9pTa!:$Zc!.h6:XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp%O5g4=h/gA1gKgAM#&g?RAl!9r5:!:&;<!.ikhgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp%X3eVf@Jk5#)Wk5>:2k3D(/!9rYF!:&_H!.j:tk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jq+?=eS8j#X8o?'!3E7%XK2F#X8i6OXO+$K!9pQb!.h6:XT._fec1:%s7Y"CKE(rUeYN6- -k.LbF~> -!<E0!jq+6?g4=h/g&Tj\!8?-,g=cQ*g&M,(g<eOR!9r2;!.ikhgAh3PgAca(s7Y1HJcG`Sg7eQ/ -k.1PC~> -!<E0!jq+?=eVf@JjoFQ+!9WDDk2l[Bjo>C4k0W5j!9rVG!.j:tk5YJ\ec1:%s7Y"CKE(rUeYN6- -k.LbF~> -!<E0!jq"9<eS8j#X8o?'!3E7%X8r.!!!)u!rrALhrr<A,!!')#!3?/#XSr4sXSr4tXS`(sXSr4s -XSi.hX8i7tXSi.rXSr2#X8r7$!W]='rW)nurW)nurrE)#rr@VO!j(hXrmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!jq"0>g4=h/g&Tj\!8?-,g&V$(!!)uOrrAMArr<AZ!!(^Q!87DQgAV*LgAV*MgACsLgAV*L -gAM$Ag&M-MgAM$KgAV'Qg&V-+!W^s.rW)oNrW)oNrrE)Qrr@W(!o!\Srn@C's8VfHs+14M#25dN -k2s5TJ,~> -!<E0!jq"9<eVf@JjoFQ+!9WDDjoG;@!!)u[rrAMMrr<Af!!)-]!9O7]k5GAXk5GAYk555Xk5GAX -k5>;Mjo>DYk5>;Wk5G>]joGDC!W_BFrW)oZrW)oZrrE)]rr@W4!p9O_rmh%$s8VfCs+C@O#1]OL -k2s>WJ,~> -!<E0!johL1eS8jsX8i8!X8i7tX8i8!XT&9gXT&8+X8i7%!3E7%!<0&"!<&u!!<0&"!<0&"!<&u! -!;iht!;rnu!<&u!!:m2k!;rnu!<&u!!<&u!!<0)"!<0&%!3E7%r2]kuri?)"rN$/&X8o?'!.h6O -mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M-OgA_/@gA_-Yg&M-,!8?-,!<1[P!<(UO!<1[P!<1[P!<(UO -!;kIM!;tON!<(UO!:nhD!;tON!<(UO!<(UO!<1^P!<1[S!8?-,r7V,Nrn7>PrRqDTg&Tj\!.il( -s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@`jo>D[jo>DYjo>D[k5PFLk5PDejo>DD!9WDD!<2*\!<)$[!<2*\!<2*\!<)$[ -!;kmY!;tsZ!<)$[!:o7P!;tsZ!<)$[!<)$[!<2-\!<2*_!9WDDr8mtZroO1\rT47`joFQ+!.j;4 -s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9em.X8o?'!3E7%rN#u!ri?)"r2]u#XK2EqX8i7pX8i7k -X8i8!X8i7tX9/I(X8r1"!!*#"!W];%r2]kur2]kuriH,"JZSgOs6fm:s+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'Ic5g&Tj\!8?-,rRq5Orn7>Pr7V5Qg=cQ#g&M-Ig&M-D -g&M-Og&M-Mg&h?/g&V')!!*#P!W^pSr7V,Nr7V,Nrn@APJ_L(Vs8W)Ps+14Mp=fOts8N;WU&X9; -\c@6~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjp;%MjoFQ+!9WDDrT4([roO1\r8n(]k2l[;jo>DUjo>DP -jo>D[jo>DYjoYVGjoG>A!!*#\!W_?_r8mtZr8mtZroX4\J`cpns8W)Ks+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9em.X8o?'!3E7%rN#u!riGqrriH%uqQ'YsqlK\qnuMfk -rN#u!qlBl"XK2EsXT&:tXSMqrX8i6OXSf1"mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'Ic5g&Tj\!8?-,rRq5Orn@2Krn@;NqUtoLqqCrJo%F'D -rRq5Oqq;,Pg=cQ%gA_0MgA1gKg&M,(gAK\)s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjp;%MjoFQ+!9WDDrT4([roX%WroX.ZqW7bXqr[eVo&]oP -rT4([qrRt\k2l[=k5PGYk5#)Wjo>C4k5=BAs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jsX8i8!X8i7tX8i6aX9em.X8o?'!3E7%rN#u!ri?)"oW/#mqlBbtr2]kurN#u! -nuMfkrN#u!qlBl"XK2EsX9&C'!;rnu!;NVq!.h6LXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hQg&M-Og&M-Mg&M,:g'Ic5g&Tj\!8?-,rRq5Orn7>Po\'9Fqq;#Mr7V,NrRq5O -o%F'DrRq5Oqq;,Pg=cQ%g&_9.!;tON!;P7J!.il%gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@`jo>D[jo>DYjo>CFjp;%MjoFQ+!9WDDrT4([roO1\o]?,RqrRkYr8mtZrT4([ -o&]oPrT4([qrRt\k2l[=joPPF!;tsZ!;P[V!.j;1k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jsX8i7uX8i8!X8i7uXT&9gX9em.X8o?'!3E7%rN#u!rN#u!rN$)$XK2F#X8i7t -X8i7uX8i8"XT&:kX8i7uX8i8!X8i8!X8i8!X8i8"X9/I(X8r1"!!)u!!!*#"!!%SOr2fqdrmh%$ -s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hQg&M-Ng&M-Og&M-NgA_/@g'Ic5g&Tj\!8?-,rRq5OrRq5OrRq>Rg=cQ*g&M-M -g&M-Ng&M-PgA_0Dg&M-Ng&M-Og&M-Og&M-Og&M-Pg&h?/g&V')!!)uO!!*#P!!%T(r7_2Nrn@C' -s8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@`jo>DZjo>D[jo>DZk5PFLjp;%MjoFQ+!9WDDrT4([rT4([rT41^k2l[Bjo>DY -jo>DZjo>D\k5PGPjo>DZjo>D[jo>D[jo>D[jo>D\joYVGjoG>A!!)u[!!*#\!!%T4r9"%Zrmh%$ -s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juXS`(sXSi.rXT&9hXSr2%X8i7%quHburW)nur;chuquHYrquH\srW!#$!!)\n -quH\sr;c_rr;churrE)#rW)nur;chur;_DMriH.frmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSgACsLgAM$KgA_/AgAV'Sg&M-,quHcNrW)oNr;ciNquHZKquH]LrW!#R!!)]G -quH]Lr;c`Kr;ciNrrE)QrW)oNr;ciNr;_E&rn@DPrn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bk555Xk5>;Wk5PFMk5G>_jo>DDquHcZrW)oZr;ciZquHZWquH]XrW!#^!!)]S -quH]Xr;c`Wr;ciZrrE)]rW)oZr;ciZr;_E2roX7\rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXN[d@!.h5qXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g<A:G!.ikJgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k02u_!.j:Vk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMX8o@#!;rqs!;rqs!;rqs!:m2k!;`eq!:m2k!;NYq!:m2k!;NYq!;!;j!<'"r -!:m5k!;rqt!:m5i!;iks!;iht!;W_q!;`es!;iht!:m5kmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g&Tk*!;tRL!;tRL!;tRL!:nhD!;bFJ!:nhD!;P:J!:nhD!;P:J!;"qC!<(XK -!:nkD!;tRM!:nkB!;kLL!;kIM!;Y@J!;bFL!;kIM!:nkDs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:joFQB!;u!X!;u!X!;u!X!:o7P!;bjV!:o7P!;P^V!:o7P!;P^V!;#@O!<)'W -!:o:P!;u!Y!:o:N!;kpX!;kmY!;YdV!;bjX!;kmY!:o:Ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSW"rXSr4uXSW"qXSr2#X8r7$q>^MsqZ+%*!!)u!!!*#"!!)u!!!*#"!!)u! -!!*#"!!)u!!!)YmrrDqt!!)u!!!)YmrrDkr!W];%o;qrlq5aVtX8qmo!!)u!!!*#"!!)u!!!)Vl -!W];%rN#u!ri?)"oW/#mrN#u!rN#u!q5jSrqQ'YspoFMsX8r1"rrDVks6fm:s+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!jp%O5g4=h/gA:mKgAV*NgA:mJgAV'Qg&V-+q>^NLqZ+%X!!)uO!!*#P!!)uO!!*#P!!)uO -!!*#P!!)uO!!)ZFrrDrM!!)uO!!)ZFrrDlK!W^pSo@j3Eq:YlMg&Ud!!!)uO!!*#P!!)uO!!)WE -!W^pSrRq5Orn7>Po\'9FrRq5OrRq5Oq:biKqUtoLpt>cLg&V')rrDWDs8W)Ps+14Mp=fOts8N;W -U&X9;\c@6~> -!<E0!jp%X3eVf@Jk5,/Wk5GAZk5,/Vk5G>]joGDCq>^NXqZ+%d!!)u[!!*#\!!)u[!!*#\!!)u[ -!!*#\!!)u[!!)ZRrrDrY!!)u[!!)ZRrrDlW!W_?_oB-&Qq;q_YjoG&9!!)u[!!*#\!!)u[!!)WQ -!W_?_rT4([roO1\o]?,RrT4([rT4([q<%\WqW7bXpuVVXjoG>ArrDWPs8W)Ks+C@Op=91qs8N;R -V#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i7uX8i7uX8i8!X8i8"X8i8"XT&;!X8i8!X9/I(X8r4#!!'I/!!)u! -!!*#"!!)u!!!*#"!!)u!!!*#"!!)u!!!)\n!W];%qlBbtrN#u!orJ2pX8r't!W];%oW/)oX8r't -!W];%oW/#mrN#u!q5aPro;hunX8r4#!!)u!!!)\n!!)u!!!*#"!!)hr!W];%qlBbtpT+DrX8r4# -!W];%nuVlZrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&M-Ng&M-Ng&M-Og&M-Pg&M-PgA_0Og&M-Og&h?/g&V**!!'I]!!)uO -!!*#P!!)uO!!*#P!!)uO!!*#P!!)uO!!)]G!W^pSqq;#MrRq5Op"BHIg&Us&!W^pSo\'?Hg&Us& -!W^pSo\'9FrRq5Oq:YfKo@a6Gg&V**!!)uO!!)]G!!)uO!!*#P!!)iK!W^pSqq;#MpY#ZKg&V** -!W^pSo%O-Drn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[jo>DZjo>DZjo>D[jo>D\jo>D\k5PG[jo>D[joYVGjoGAB!!'Ii!!)u[ -!!*#\!!)u[!!*#\!!)u[!!*#\!!)u[!!)]S!W_?_qrRkYrT4([p#Z;UjoG5>!W_?_o]?2TjoG5> -!W_?_o]?,RrT4([q;qYWoB$)SjoGAB!!)u[!!)]S!!)u[!!*#\!!)iW!W_?_qrRkYpZ;MWjoGAB -!W_?_o&fuPrmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!<&u!!<&u!!<0&"!<&u!!<&u!!<&u$!3E7%r2]kurN-#! -\?#Z1ri?)"rN#u!ri?)"rN#u!q5aPro;holqlBbtrN#u!o;holqQ'c!XK2EmX8i7sX9/I(X8q^j -!!)ks!!)Vl!s#F(!<&u!!<&u!!:[&i!<0&"!;EPp!;iht!;NVt!3E7%qlBbtnuVlZrmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!<(UO!<(UO!<1[P!<(UO!<(UO!<(UR!8?-,r7V,NrS%8O -\Cpo_rn7>PrRq5Orn7>PrRq5Oq:YfKo@a0Eqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-Lg&h?/g&UTq -!!)lL!!)WE!s%'/!<(UO!<(UO!:\\B!<1[P!;G1I!;kIM!;P7M!8?-,qq;#Mo%O-Drn@C's8VfH -s+14M#25dNk2s5TJ,~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!<)$[!<)$[!<2*\!<)$[!<)$[!<)$^!9WDDr8mtZrT=+[ -\E3bkroO1\rT4([roO1\rT4([q;qYWoB$#QqrRkYrT4([oB$#QqW7k[k2l[7jo>DXjoYVGjoFl4 -!!)lX!!)WQ!s%KG!<)$[!<)$[!:]+N!<2*\!;GUU!;kmY!;P[Y!9WDDqrRkYo&fuPrmh%$s8VfC -s+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X8i8!X9&C'!<&u!!<&u!!<0&"!;NVt!3E7%rN#u!r2]kurN-#!\Z>c2 -rN#u!rN#u!ri?)"rN#u!qQ'YsnuMfkqlBbtrN#u!o;holqQ'c!XK2EmX8i7sX9/I(X8qak!!)hr -!!)Vl!s#F(!<&u!!<0)"!:d,j!<&u"!3H/"qlBbtqlBeuXSr4tX9/I(X8r.!!!)Sks6fm:s+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-Og&_9.!<(UO!<(UO!<1[P!;P7M!8?-,rRq5Or7V,NrS%8O\_7#` -rRq5OrRq5Orn7>PrRq5OqUtoLo%F'Dqq;#MrRq5Oo@a0EqUu#Og=cPtg&M-Lg&h?/g&UWr!!)iK -!!)WE!s%'/!<(UO!<1^P!:ebC!<(UP!8@DPqq;#Mqq;&NgAV*Mg&h?/g&V$(!!)TDs8W)Ps+14M -p=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D[joPPF!<)$[!<)$[!<2*\!;P[Y!9WDDrT4([r8mtZrT=+[\`Nkl -rT4([rT4([roO1\rT4([qW7bXo&]oPqrRkYrT4([oB$#QqW7k[k2l[7jo>DXjoYVGjoFo5!!)iW -!!)WQ!s%KG!<)$[!<2-\!:f1O!<)$\!9X7\qrRkYqrRnZk5GAYjoYVGjoG;@!!)TPs8W)Ks+C@O -p=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juX8i8!X8i8"X8i8"X8i8"X8i8"X8i7uXSi.sXSi.tX8i7uX8i7-X8i7uX8i8! -X8i8"X8i8!X8i7tX8i7uXSW"qX8i7tX8i8!X8i8"XSW"qX8i7tX8i8"X8i7kX8i7tX8i8"X8i7j -X8i7qX8i7mX8i8"X8i7uXSr2#X8qgm!!)qurrE&"!!)qu!!)ntrrE&"!!*#"!!*#"!!)nt!!)Sk -s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Og&M-Pg&M-Pg&M-Pg&M-Pg&M-NgAM$LgAM$Mg&M-Ng&M,[g&M-Ng&M-O -g&M-Pg&M-Og&M-Mg&M-NgA:mJg&M-Mg&M-Og&M-PgA:mJg&M-Mg&M-Pg&M-Dg&M-Mg&M-Pg&M-C -g&M-Jg&M-Fg&M-Pg&M-NgAV'Qg&U]t!!)rNrrE&P!!)rN!!)oMrrE&P!!*#P!!*#P!!)oM!!)TD -s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D[jo>D\jo>D\jo>D\jo>D\jo>DZk5>;Xk5>;Yjo>DZjo>Cgjo>DZjo>D[ -jo>D\jo>D[jo>DYjo>DZk5,/Vjo>DYjo>D[jo>D\k5,/Vjo>DYjo>D\jo>DPjo>DYjo>D\jo>DO -jo>DVjo>DRjo>D\jo>DZk5G>]joFu7!!)rZrrE&\!!)rZ!!)oYrrE&\!!*#\!!*#\!!)oY!!)TP -s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juXS`(sXS`(tXSi.nX8i8!X9/I(X8r4#!!)qu!!'F.!!)nt!!)u!!!*#"!!)u! -!!)qu!!)Mi!!)nt!!)u!!!)Vl!!)nt!!*#"!!)Sk!!)nt!!*#"!!)Sk!!)eq!!)Vl!!*#"!!)eq -!!)Vl!!)nt!!)u!!!)qu!!)nt!!)u!!!*#"!!*#"!!)nt!!)Sks6fm:s+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!johC3g4=hSgACsLgACsMgAM$Gg&M-Og&h?/g&V**!!)rN!!'F\!!)oM!!)uO!!*#P!!)uO -!!)rN!!)NB!!)oM!!)uO!!)WE!!)oM!!*#P!!)TD!!)oM!!*#P!!)TD!!)fJ!!)WE!!*#P!!)fJ -!!)WE!!)oM!!)uO!!)rN!!)oM!!)uO!!*#P!!*#P!!)oM!!)TDs8W)Ps+14Mp=fOts8N;WU&X9; -\c@6~> -!<E0!johL1eVf@bk555Xk555Yk5>;Sjo>D[joYVGjoGAB!!)rZ!!'Fh!!)oY!!)u[!!*#\!!)u[ -!!)rZ!!)NN!!)oY!!)u[!!)WQ!!)oY!!*#\!!)TP!!)oY!!*#\!!)TP!!)fV!!)WQ!!*#\!!)fV -!!)WQ!!)oY!!)u[!!)rZ!!)oY!!)u[!!*#\!!*#\!!)oY!!)TPs8W)Ks+C@Op=91qs8N;RV#TT> -]`<Q~> -!<E0!johL1eS8juX8i7sX8i7uX9/I(X8r7$!!)u!!!)u!!!)u!!!)u!!s#F(!;rnu!4Js/!;`bs -!<&u!!<0&"!<&u!!<&u!!:Quh!;iht!<&u!!;!8l!;ikp!;!8l!;ikp!;*>m!;EPp!;!;h!;W\r -!;*>m!;`bs!<&u!!;rnu!;iht!<&u!!<0(s!;rnu!:m5kmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Ng&h?/g&V-+!!)uO!!)uO!!)uO!!)uO!s%'/!;tON!4LS]!;bCL -!<(UO!<1[P!<(UO!<(UO!:SVA!;kIM!<(UO!;"nE!;kLI!;"nE!;kLI!;+tF!;G1I!;"qA!;Y=K -!;+tF!;bCL!<(UO!;tON!;kIM!<(UO!<1^L!;tON!:nkDs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>DZjoYVGjoGDC!!)u[!!)u[!!)u[!!)u[!s%KG!;tsZ!4M"i!;bgX -!<)$[!<2*\!<)$[!<)$[!:T%M!;kmY!<)$[!;#=Q!;kpU!;#=Q!;kpU!;,CR!;GUU!;#@M!;YaW -!;,CR!;bgX!<)$[!;tsZ!;kmY!<)$[!<2-X!;tsZ!:o:Ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i7sX8i7uX9/I(X8r4#!!*#"rrE&"!!)u!!!)u!!s#F(!<&u!!;rqu!55H6 -!<&u!!<0&"!<&u!!<0&"!<&u!!<0&"!<&u!!;!8l!;iht!<&u!!;!8l!;EPp!:m2k!;EPp!;ikt -!;rnu!<&u!!;iht!;`es!;NVq!;W\r!;ikt!;rnu!<&u!!<&u!!<0&"!;rnu!;`bs!<0&"!;`bs -!;iht!:m5kmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Lg&M-Ng&h?/g&V**!!*#PrrE&P!!)uO!!)uO!s%'/!<(UO!;tRN!57(d -!<(UO!<1[P!<(UO!<1[P!<(UO!<1[P!<(UO!;"nE!;kIM!<(UO!;"nE!;G1I!:nhD!;G1I!;kLM -!;tON!<(UO!;kIM!;bFL!;P7J!;Y=K!;kLM!;tON!<(UO!<(UO!<1[P!;tON!;bCL!<1[P!;bCL -!;kIM!:nkDs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>DXjo>DZjoYVGjoGAB!!*#\rrE&\!!)u[!!)u[!s%KG!<)$[!;u!Z!57Lp -!<)$[!<2*\!<)$[!<2*\!<)$[!<2*\!<)$[!;#=Q!;kmY!<)$[!;#=Q!;GUU!:o7P!;GUU!;kpY -!;tsZ!<)$[!;kmY!;bjX!;P[V!;YaW!;kpY!;tsZ!<)$[!<)$[!<2*\!;tsZ!;bgX!<2*\!;bgX -!;kmY!:o:Ps8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%X3eS8j#XSi.tXSi,!XSMqqX98O)X8o@$!<'"q!!'+t!;ikt!55K2!<'"t!;rqs!<'"r -!;3Gk!;rqs!;*Aj!;`er!;3Gk!;`er!;rqu!;rqq!;iht!;`es!;W_q!<'"u!;`es!;rqq!;rqt -!<'"s!;iks!;`er!<0(t!;*Ammf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp%O5g4=h/gAM$MgAM!OgA1gJg&qE0g&Tk+!<(XJ!!(aM!;kLM!57+`!<(XM!;tRL!<(XK -!;5(D!;tRL!;,"C!;bFK!;5(D!;bFK!;tRN!;tRJ!;kIM!;bFL!;Y@J!<(XN!;bFL!;tRJ!;tRM -!<(XL!;kLL!;bFK!<1^M!;,"Fs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp%X3eVf@Jk5>;Yk5>8[k5#)Vjob\HjoFQC!<)'V!!)0Y!;kpY!57Ol!<)'Y!;u!X!<)'W -!;5LP!;u!X!;,FO!;bjW!;5LP!;bjW!;u!Z!;u!V!;kmY!;bjX!;YdV!<)'Z!;bjX!;u!V!;u!Y -!<)'X!;kpX!;bjW!<2-Y!;,FRs8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jtXSr2#X8r7$r;churW)u"rW)u"q>gPsq>^MsrW)u"rW)u"q>gMrrVuu#!.h5& -XOXEPmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hRgAV'Qg&V-+r;ciNrW)uPrW)uPq>gQLq>^NLrW)uPrW)uPq>gNKrVuuQ!.ijT -g==pWs8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@ak5G>]joGDCr;ciZrW)u\rW)u\q>gQXq>^NXrW)u\rW)u\q>gNWrVuu]!.j9` -k1/Vos8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8juX8i8"XT&;#X8i8!X8i8"XT&;"X8i8"X9J[+X8o?'!<0&"!<&u%!3E7%!<0&" -!<0&+!3E7%XK2E'X8r7$rr@VOJZRD's6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-PgA_0Qg&M-Og&M-PgA_0Pg&M-Pg'.Q2g&Tj\!<1[P!<(US!8?-,!<1[P -!<1[Y!8?-,g=cP\g&V-+rr@W(J_JZ.s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D\k5PG]jo>D[jo>D\k5PG\jo>D\jothJjoFQ+!<2*\!<)$_!9WDD!<2*\ -!<2*e!9WDDk2l[+joGDCrr@W4J`bMFs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r1"!W];%qlC&'XK2E'!3E7%ri?;(XK2E'X8r7$!!)u!#QUs-!3?1%X8r7$ -#lq'.!3E7%XK2F#X8i7uXT&9OXF[J.XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V')!W^pSqq;;Ug=cP\!8?-,rn7PVg=cP\g&V-+!!)uO#QWT4!87G,g&V-+ -#lr]5!8?-,g=cQ*g&M-NgA_/(g4@u5gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG>A!W_?_qrS.ak2l[+!9WDDroOCbk2l[+joGDC!!)u[#QX#L!9O:DjoGDC -#ls,M!9WDDk2l[Bjo>DZk5PF4k(2[Mk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3?1%X8r.!!!)nt!s#F(!<&u&!3?1%X8r.!!!)qu!!)bp [email protected]:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!87G,g&V$(!!)oM!s%'/!<(UT!87G,g&V$(!!)rN!!)cI -rr@W(J_Jo5s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9O:DjoG;@!!)oY!s%KG!<)$`!9O:DjoG;@!!)rZ!!)cU -rr@W4J`bbMs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)ntr;cet"TYX*!3?1tX8i7tXSi-MXF[J& -XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oMr;cfM"T[91!87GMg&M-MgAM#&g4@u- -gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oYr;cfY"T[]I!9O:Yjo>DYk5>:2k(2[E -k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!jp.^4eS8j#X8r*u!!)nt#QUs-!3E7%X8r.!!!)nt!s#F(!<&u&!3E7%X8r.!!!)bp!!%SO -JZRD's6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.U6g4=h/g&V!'!!)oM#QWT4!8?-,g&V$(!!)oM!s%'/!<(UT!8?-,g&V$(!!)cI!!%T( -J_JZ.s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!jp.^4eVf@JjoG8?!!)oY#QX#L!9WDDjoG;@!!)oY!s%KG!<)$`!9WDDjoG;@!!)cU!!%T4 -J`bMFs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!jp.^4eS8j#X8r*u!!)nt!s#F(!<0)"!;iht!;iht!<&u$!3E7%riH,"qlBbtr2]kurN#u! -JZOF(eZAf=rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V!'!!)oM!s%'/!<1^P!;kIM!;kIM!<(UR!8?-,rn@APqq;#Mr7V,NrRq5O -J_G\/e_:''rn@C's8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG8?!!)oY!s%KG!<2-\!;kmY!;kmY!<)$^!9WDDroX4\qrRkYr8mtZrT4([ -J`_OGe`Qo3rmh%$s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!johL1eS8juX8i8!X9/I(X8r4#!!*#"!!*#"rrDqt!!)nt!!)u!!s#F(!<0)"!;iht!;rqu -!<0&"!;rqu!.h5&XPBoWmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=hSg&M-Og&h?/g&V**!!*#P!!*#PrrDrM!!)oM!!)uO!s%'/!<1^P!;kIM!;tRN -!<1[P!;tRN!.ijTg>(E^s8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@bjo>D[joYVGjoGAB!!*#\!!*#\rrDrY!!)oY!!)u[!s%KG!<2-\!;kmY!;u!Z -!<2*\!;u!Z!.j9`k1o,!s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8jtXSi.tXSi.uXSr5!X8i8!XS`(tXSMnsXSr5!X8i8!XS`(tX8r=&rW)hsrr@VO -JZRY.s6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hRgAM$MgAM$NgAV*Og&M-OgACsMgA1dLgAV*Og&M-OgACsMg&V3-rW)iLrr@W( -J_Jo5s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@ak5>;Yk5>;Zk5GA[jo>D[k555Yk5#&Xk5GA[jo>D[k555YjoGJErW)iXrr@W4 -J`bbMs8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jOX8i7EX8i7*XSi.WX8i7JXT&:DX8i7FXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=h-g&M,sg&M,XgAM$0g&M-#gA_/rg&M,tgAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@<jo>D*jo>Cdk5>;<jo>D/k5PG)jo>D+k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juXSr4VX8i7EX8i7tX8i7`XSr4bXT&:hX8i7VX8i7YX8i7jX8i7`XT&:_X8i7G -XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hSgAV*/g&M,sg&M-Mg&M-9gAV*;gA_0Ag&M-/g&M-2g&M-Cg&M-9gA_08g&M,u -gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@bk5GA;jo>D*jo>DYjo>DEk5GAGk5PGMjo>D;jo>D>jo>DOjo>DEk5PGDjo>D, -k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jsX8i6oX8i7^X8i7bX8i7hX8i7VX8i7YX8i7jX8i7_X8i7_X8i7GXT._fec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hQg&M,Hg&M-7g&M-;g&M-Ag&M-/g&M-2g&M-Cg&M-8g&M-8g&M,ugAh3PgAca( -s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@`jo>CTjo>DCjo>DGjo>DMjo>D;jo>D>jo>DOjo>DDjo>DDjo>D,k5YJ\ec1:% -s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jtX9&C'!;iks!!0/$riH)!"fq\(X8i8"XT&;!XSr4tXT&;#XT&:uXSr4mXSr5! -XSr2(X8i7%X8i8!XSr4tXS`(qXSr4iX8i7tXSi.rXSr2#X8r7$!W]='rW)YnqZ-Srr;cetrrE)# -rrDVk!!)u!rr<8)!!')#!3H/"s/c2"p8n/lr2fhsrN$#"XSr4bX9&C'XSr4uXSr5!XSr5"XSr4u -X8i7GXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hRg&_9.!;kLL!!1dRrn@>O"kiqVg&M-PgA_0OgAV*MgA_0QgA_0NgAV*FgAV*O -gAV'Vg&M-,g&M-OgAV*MgACsJgAV*Bg&M-MgAM$KgAV'Qg&V-+!W^s.rW)ZGqZ-TKr;cfMrrE)Q -rrDWD!!)uOrr<8W!!(^Q!8@DPs4[GPp=fEEr7_)LrRq8PgAV*;g&_9.gAV*NgAV*OgAV*PgAV*N -g&M,ugAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@ajoPPF!;kpX!!23^roX1["m,dbjo>D\k5PG[k5GAYk5PG]k5PGZk5GARk5GA[ -k5G>bjo>DDjo>D[k5GAYk555Vk5GANjo>DYk5>;Wk5G>]joGDC!W_BFrW)ZSqZ-TWr;cfYrrE)] -rrDWP!!)u[rr<8c!!)-]!9X7\s5s:\p?)8Qr9!qXrT4+\k5GAGjoPPFk5GAZk5GA[k5GA\k5GAZ -jo>D,k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8jtX9&C'!;rnu!<0)"!<9,#!<0)"!<0&"!<&u!!;iht!;ii$!3?1%X8r7$!!*#" -!!)\n!!)qu!!*#""TYV(XK2F"X8i7tX8i7rX8i8"X8i7kX8i7uX8i8!X8i8!X8i8"XT&;"X9/I( -X8qgm!!)nt!!)u!!!)u!"TYV(XK2EnX8i7uXT&8*X8i7%!3E7%rN#u!oW/#mqQ'YsrN#u!riH," -ri?)"l`:0gXK2F"X8i8"X8i8"X8i8!X8i7uX8i7GXT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=hRg&_9.!;tON!<1^P!<:aQ!<1^P!<1[P!<(UO!;kIM!;kIR!87G,g&V-+!!*#P -!!)]G!!)rN!!*#P"T[6Vg=cQ)g&M-Mg&M-Kg&M-Pg&M-Dg&M-Ng&M-Og&M-Og&M-PgA_0Pg&h?/ -g&U]t!!)oM!!)uO!!)uO"T[6Vg=cPug&M-NgA_-Xg&M-,!8?-,rRq5Oo\'9FqUtoLrRq5Orn@AP -rn7>Ple2F@g=cQ)g&M-Pg&M-Pg&M-Og&M-Ng&M,ugAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf@ajoPPF!;tsZ!<2-\!<;0]!<2-\!<2*\!<)$[!;kmY!;km^!9O:DjoGDC!!*#\ -!!)]S!!)rZ!!*#\"T[Zbk2l[Ajo>DYjo>DWjo>D\jo>DPjo>DZjo>D[jo>D[jo>D\k5PG\joYVG -joFu7!!)oY!!)u[!!)u["T[Zbk2l[8jo>DZk5PDdjo>DD!9WDDrT4([o]?,RqW7bXrT4([roX4\ -roO1\lfJ9Lk2l[Ajo>D\jo>D\jo>D[jo>DZjo>D,k5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8juX8i8"X8i8"X8i7uX9&C'!;rnu!<0&"!<&u!!;iht!;ikt!;iht!;rnu!;<Ju -!3E7%XK2F$XT&:qX8i7tX8i7sX8i7uX8i7lX8i8!X8i7tX9/I(X8r1"!!*#"!W];%nZ2]jr2]ku -qlBbtriH,"n>lTiqlC)(XK2E'X8o?'!<&u!!;*>m!;3Dn!<0&"!;rnu!:6cg!3?1uX8i7uX9/I( -X8r4#!!)nt!!(?Hs6fm:s+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johC3g4=hSg&M-Pg&M-Pg&M-Ng&_9.!;tON!<1[P!<(UO!;kIM!;kLM!;kIM!;tON!;>+N -!8?-,g=cQ+gA_0Jg&M-Mg&M-Lg&M-Ng&M-Eg&M-Og&M-Mg&h?/g&V')!!*#P!W^pSn_*sCr7V,N -qq;#Mrn@APnCdjBqq;>Vg=cP\g&Tj\!<(UO!;+tF!;5%G!<1[P!;tON!:8D@!87GNg&M-Ng&h?/ -g&V**!!)oM!!(@!s8W)Ps+14Mp=fOts8N;WU&X9;\c@6~> -!<E0!johL1eVf@bjo>D\jo>D\jo>DZjoPPF!;tsZ!<2*\!<)$[!;kmY!;kpY!;kmY!;tsZ!;>OZ -!9WDDk2l[Ck5PGVjo>DYjo>DXjo>DZjo>DQjo>D[jo>DYjoYVGjoG>A!!*#\!W_?_n`BfOr8mtZ -qrRkYroX4\nE']NqrS1bk2l[+joFQ+!<)$[!;,CR!;5IS!<2*\!;tsZ!:8hL!9O:Zjo>DZjoYVG -joGAB!!)oY!!(@-s8W)Ks+C@Op=91qs8N;RV#TT>]`<Q~> -!<E0!johL1eS8juXS`(tX8i7sX8i7uX8i8"X8i8!X8i7tX8i7tX8i7sXSMqjX9J[+X8o?'!<0&" -!;EPp!;iht!;`en!;!8l!<&u!!;ii"!3E7%poOJqn>lTir2]kuqlBbtri?)"m]6Bgr2^)&XK2E' -X8r7$!s#F(!;!8l!;W_o!<0&"!;rnu!:6fe!;iko!<0&%!3E7%qlBbtcE.'6rmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!johC3g4=hSgACsMg&M-Lg&M-Ng&M-Pg&M-Og&M-Mg&M-Mg&M-LgA1gCg'.Q2g&Tj\!<1[P -!;G1I!;kIM!;bFG!;"nE!<(UO!;kIP!8?-,ptG`JnCdjBr7V,Nqq;#Mrn7>Pmb.X@r7V>Tg=cP\ -g&V-+!s%'/!;"nE!;Y@H!<1[P!;tON!:8G>!;kLH!<1[S!8?-,qq;#McJ&<urn@C's8VfHs+14M -#25dNk2s5TJ,~> -!<E0!johL1eVf@bk555Yjo>DXjo>DZjo>D\jo>D[jo>DYjo>DYjo>DXk5#)OjothJjoFQ+!<2*\ -!;GUU!;kmY!;bjS!;#=Q!<)$[!;km\!9WDDpu_SVnE']Nr8mtZqrRkYroO1\mcFKLr8n1`k2l[+ -joGDC!s%KG!;#=Q!;YdT!<2*\!;tsZ!:8kJ!;kpT!<2*_!9WDDqrRkYcK>0,rmh%$s8VfCs+C@O -#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!s#F(!;`bs!;rnu!<0&"!<&u!!;iht!;iht!;`bs!:Qul!3?1%!<&u! -!;EPp!;iht!;`bs!:?if!<&u!!;ii"!3E7%poFMsX8qdl!!)qu!!)nt!!*#"!!)Gg!!)qu"ota+ -!3E7%ri?2%XK2EnX8i7sX8i8!X8i8"X8i7uX8i7eX9&C'!;rnu!;NVt!3E7%qlBbtcE.'6rmh%$ -s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.U6g4=h/g&V')!s%'/!;bCL!;tON!<1[P!<(UO!;kIM!;kIM!;bCL!:SVE!87G,!<(UO -!;G1I!;kIM!;bCL!:AJ?!<(UO!;kIP!8?-,pt>cLg&UZs!!)rN!!)oM!!*#P!!)H@!!)rN"p!B2 -!8?-,rn7GSg=cPug&M-Lg&M-Og&M-Pg&M-Ng&M->g&_9.!;tON!;P7M!8?-,qq;#McJ&<urn@C' -s8VfHs+14M#25dNk2s5TJ,~> -!<E0!jp.^4eVf@JjoG>A!s%KG!;bgX!;tsZ!<2*\!<)$[!;kmY!;kmY!;bgX!:T%Q!9O:D!<)$[ -!;GUU!;kmY!;bgX!:AnK!<)$[!;km\!9WDDpuVVXjoFr6!!)rZ!!)oY!!*#\!!)HL!!)rZ"p!fJ -!9WDDroO:_k2l[8jo>DXjo>D[jo>D\jo>DZjo>DJjoPPF!;tsZ!;P[Y!9WDDqrRkYcK>0,rmh%$ -s8VfCs+C@O#1]OLk2s>WJ,~> -!<E0!jp.^4eS8j#X8r1"!!*#"!!)u!!s#F(!<0)"!<0&"!<0)"!;iht!;iht!;W\r!<&u!!;3Gn -!!95%!<&u!!;EPp!;iht!<0&"!<&u!!<&u!!;!8l!;rnu!<&u!!<&u!!<&u!!<0&%!3E7%nuMfk -qlBbtrN#u!rN#u!m]6Bgr2^)&XK2E'X8r4#rrDVk!!*#"!!*#"!!*#"rrE&"rrE&"!!)qurrDVk -!s#F(!;rnu!<&u!!<'#!!;`bs!7%\Gmf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!jp.U6g4=h/g&V')!!*#P!!)uO!s%'/!<1^P!<1[P!<1^P!;kIM!;kIM!;Y=K!<(UO!;5(G -!!:jS!<(UO!;G1I!;kIM!<1[P!<(UO!<(UO!;"nE!;tON!<(UO!<(UO!<(UO!<1[S!8?-,o%F'D -qq;#MrRq5OrRq5Omb.X@r7V>Tg=cP\g&V**rrDWD!!*#P!!*#P!!*#PrrE&PrrE&P!!)rNrrDWD -!s%'/!;tON!<(UO!<(XO!;bCL!7'<us8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!jp.^4eVf@JjoG>A!!*#\!!)u[!s%KG!<2-\!<2*\!<2-\!;kmY!;kmY!;YaW!<)$[!;5LS -!!;9_!<)$[!;GUU!;kmY!<2*\!<)$[!<)$[!;#=Q!;tsZ!<)$[!<)$[!<)$[!<2*_!9WDDo&]oP -qrRkYrT4([rT4([mcFKLr8n1`k2l[+joGABrrDWP!!*#\!!*#\!!*#\rrE&\rrE&\!!)rZrrDWP -!s%KG!;tsZ!<)$[!<)'[!;bgX!7'a,s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!joqR2eS8j#r;Zi!r;chur;cetrVuu#!<'"u!!95%!<0(t!<0(u!;`eq!;*Am!!95%!<0(u -!;ikq!;rqt!;ikr!;*Aj!<'"t!;ikr!<0)"!<9/"!;<Ml!;rqs!<'"t!:[&i!<'"u!!TG(!3?/# -rN#u!nZ;]ir2fkt#-7e)X8i7%rW)hsrrDYlrrE)#rW)nur;c_r!!)ks!!(<Gs6fm:s+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!joqI4g4=h/r;ZiOr;ciNr;cfMrVuuQ!<(XN!!:jS!<1^M!<1^N!;bFJ!;,"F!!:jS!<1^N -!;kLJ!;tRM!;kLK!;,"C!<(XM!;kLK!<1^P!<:dP!;>.E!;tRL!<(XM!:\\B!<(XN!!V'V!87DQ -rRq5On_3sBr7_,M#20%Wg&M-,rW)iLrrDZErrE)QrW)oNr;c`K!!)lL!!(<us8W)Ps+14Mp=fOt -s8N;WU&X9;\c@6~> -!<E0!joqR2eVf@Jr;Zi[r;ciZr;cfYrVuu]!<)'Z!!;9_!<2-Y!<2-Z!;bjV!;,FR!!;9_!<2-Z -!;kpV!;u!Y!;kpW!;,FO!<)'Y!;kpW!<2-\!<;3\!;>RQ!;u!X!<)'Y!:]+N!<)'Z!!VKb!9O7] -rT4([n`KfNr9!tY#3Gmcjo>DDrW)iXrrDZQrrE)]rW)oZr;c`W!!)lX!!(=,s8W)Ks+C@Op=91q -s8N;RV#TT>]`<Q~> -!<E0!johL1eS8j_X8i6OXN.CB!:d,j!7n7O!8adW!;W\r!7%\Gmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=h=g&M,(g;hnI!:ebC!7om(!8cE0!;Y=K!7'<us8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@Ljo>C4k/ZTa!:f1O!7p<4!8ci<!;YaW!7'a,s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8j_X8i6OXN%=A!:m2k!7n4O!8X^V!;`bs!6qVFmf(c:KE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johC3g4=h=g&M,(g;_hH!:nhD!7oj(!8Z?/!;bCL!6s6ts8LaPJcGcDgAca(rs%2Ns5rIT -!.Y~> -!<E0!johL1eVf@Ljo>C4k/QN`!:o7P!7p94!8Zc;!;bgX!6s[+s8LRKKE(uFec1:%rs%#Ls5rIW -!.Y~> -!<E0!johL1eS8jaXSi-MXLYG2!<'"o!5Yc8!62,?mf(c:KE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johC3g4=h?gAM#&g:>r9!<(XH!5[Cf!63ams8LaPJcGcDgAca(rs%2Ns5rIT!.Y~> -!<E0!johL1eVf@Nk5>:2k.0XQ!<)'T!5[gr!641$s8LRKKE(uFec1:%rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7Y1HJcG`Sg7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7Y"CKE(rUeYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:%s7CsDrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(s7CmBrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%s7CsDrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec17%s7:mCrs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAc^(s7:gArs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec17%s7:mCrs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec19m^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAc`p_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec19m^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec19krs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAc`nrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec19krs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec17%^%D=2KE(u%V#TT>]`<Q~> -!<E0!johC3g4=g+g4@t<gAh3PgAc^(_Y!j7JcGc(U&X9;\c@6~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec17%^%D=2KE(u%V#TT>]`<Q~> -!<E0!johL1eS8iMXF[I5XT._fec17'^&S--ec17.^&S,_V#TT>]`<Q~> -!<E0!johC3g4=g+g4@t<gAh3PgAc^*_Z0Z2gAc^1_Z0YiU&X9;\c@6~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec17'^&S--ec17.^&S,_V#TT>]`<Q~> -!<E0!johL1eS8iMXF[I5XT._fec1:%^&S-.ec17.^&S,_V#TT>]`<Q~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(_Z0Z3gAc^1_Z0YiU&X9;\c@6~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%^&S-.ec17.^&S,_V#TT>]`<Q~> -!<E0!johL1eS8iMXF[I5XT._fec1:%^&S-/ec1:%^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca(_Z0Z4gAca(_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:%^&S-/ec1:%^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:$^&S-0ec1:%^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca'_Z0Z5gAca(_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:$^&S-0ec1:%^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:$^&S-1ec1:$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca'_Z0Z6gAca'_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:$^&S-1ec1:$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:#^&S-2ec1:$^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca&_Z0Z7gAca'_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:#^&S-2ec1:$^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:#^&S-3ec1:#^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca&_Z0Z8gAca&_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:#^&S-3ec1:#^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:"^&S-4ec1:#^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca%_Z0Z9gAca&_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:"^&S-4ec1:#^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:"^&S*6eUrMP^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca%_Z0W;g4=hQ_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:"^&S*6eUrMP^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMXF[I5XT._fec1:!]`A*3KD`F_rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAca$_>sW8Jc*Cbrs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:!]`A*3KD`F_rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec1:!]`S4dKDW@^rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+g4@t<gAh3PgAca$_?0agJc!=ars%2Ns5rIT!.Y~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec1:!]`S4dKDW@^rs%#Ls5rIW!.Y~> -!<E0!johL1eS8iMXF[I5XT._fec19u^&N`^^&S*:eYN6-k.LbF~> -!<E0!johC3g4=g+g4@t<gAh3PgAca#_Z,2a_Z0W?g7eQ/k.1PC~> -!<E0!johL1eVf?:k(2ZTk5YJ\ec19u^&N`^^&S*:eYN6-k.LbF~> -!<E0!johL1eS8iMmXaebmf(c:KDN7]KDN:]rs%#Ls5rIW!.Y~> -!<E0!johC3g4=g+s+13/s8LaPJbm4`Jbm7`rs%2Ns5rIT!.Y~> -!<E0!johL1eVf?:s+13/s8LRKKDN7]KDN:]rs%#Ls5rIW!.Y~> -!<E0!jo_F0eS9['JaSHarmh%$nG`^CV#TT>]`<Q~> -!<E0!jo_=2g4=hTJcCZ.rn@C'nG`^HU&X9;\c@6~> -!<E0!jo_F0eVf"YJcCZ.rmh%$nG`^CV#TT>]`<Q~> -!<E0!joD3.eUc8)eGt6jrs%#Ls5rIW!.Y~> -!<E0!joD*+g4@t3g&Q]mrs%2Ns5rIT!.Y~> -!<E0!joD3.eUc8)eGt6jrs%#Ls5rIW!.Y~> -!<E0!joD3.eUc8%ea_/nV#TT>]`<Q~> -!<E0!joD*+g4@t/g@<l#U&X9;\c@6~> -!<E0!joD3.eUc8%ea_/nV#TT>]`<Q~> -!<E0!joD3.eUc8%ea_/nV#TT>]`<Q~> -!<E0!joD*+g4@t/g@<l#U&X9;\c@6~> -!<E0!joD3.eUc8%ea_/nV#TT>]`<Q~> -!<E0!joM:.JV/N+LkG$D"f21\k.LbF~> -!<E0!joM10JUrB'Lk4mG"ektYk.1PC~> -!<E0!joM:.JV/N+LkG$D"f21\k.LbF~> -!<E0!joM:.JV/N+M1Yg.ldZ07s5rIW!.Y~> -!<E0!joM10JUrB'M1G[,le2N9s5rIT!.Y~> -!<E0!joM:.JV/N+M1Yg.ldZ07s5rIW!.Y~> -!<E0!jo_F0K7id/!WTias+13OrrTn6s7F#)s6J2=V#TT>]`<Q~> -!<E0!jo_=2JV!F0!WU#fs+13OrrU(;s7F2.s6JABU&X9;\c@6~> -!<E0!jo_F0K7id/!WTias+13OrrTn6s7F#)s6J2=V#TT>]`<Q~> -!<E0!jo_F0K7ij1s8N+P]n-37s/l;%K>%6`p:^M+ldZ07s5rIW!.Y~> -!<E0!jo_=2JV!L2s8N+N_L_`<s/l;%J\qBcp;6k0le2N9s5rIT!.Y~> -!<E0!jo_F0K7ij1s8N+P]n-37s/l;%K>%6`p:^M+ldZ07s5rIW!.Y~> -!<?U-5m#ShKD3(Ys8R]Q^&S+`eUc8Tec17%^&.j)^&S,ueHJ6J5sYJNJ,~> -!<@-<9ENq!JbR%\s8RWO_Z0Xeg4@t^gAc^(_YaB._Z0Z%g'(/i9M>EdJ,~> -!<BM*PQKBfKD3(Ys8R]Q^&S+`eUc8Tec17%^&.j)^&S,ueHM2EP`u.JJ,~> -!!)tU"$tIiKDE4Zrrpr*K>%<bJ^o>%Ygrc+"MOj8e^aWuqRuq/ldZ/)Mdg-]!.Y~> -!!)t_"&.F"Jbd1]rrq,-J\qHeJ_G\/YhK,."N(3=g=lN*qSN:4le2M9Q#Ue;!.Y~> -!!)u:"-h>gKDE4Zrrpr*K>%<bJ^o>%Ygrc+"MOj8e^aWuqRuq/ldZ0'`O*":!.Y~> -!<A&W@KSpHK7j'7rVulIs+:Bds8RZ#J^q!Ts+:Bds8W&JrVuf/s8VE8"[S&U@R1!E~> -!<ADaE<AngJV!^8rVulNs+(6gs8RZ(J_I?^s+(6gs8W&OrVuf4s8VE="\b2$ED-@_~> -!<C+<ZicQCK7j'7rVulIs+:Bds8RZ#J^q!Ts+:Bds8W&JrVuf/s8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7j-9rVufGs+:Bds8RZ#J^q!Ts+:Bds8VuHrVul1s8VE8"[S&U@R1!E~> -!<ADaE<AngJV!d:rVufLs+(6gs8RZ(J_I?^s+(6gs8VuMrVul6s8VE="\b2$ED-@_~> -!<C+<ZicQCK7j-9rVufGs+:Bds8RZ#J^q!Ts+:Bds8VuHrVul1s8VE8"dI!5[$1Q@~> -!<A&W@Kf'JK7gkNrVu`Es+:Bds8RZ#J^q!Ts+:Bds8VoFrVlr4s8VE8"[S&U@R1!E~> -!<ADaE<T%iJUt\TrVu`Js+(6gs8RZ(J_I?^s+(6gs8VoKrVlr9s8VE="\b2$ED-@_~> -!<C+<Ziu]EK7gkNrVu`Es+:Bds8RZ#J^q!Ts+:Bds8VoFrVlr4s8VE8"dI!5[$1Q@~> -!<A&W@KAdFqh+[os+:Bds8RZ#J^q!Ts+:Bds8VlErIb.MldZ/)Mdg-]!.Y~> -!<ADaE</beqgnOrs+(6gs8RZ(J_I?^s+(6gs8VlJrIP"Kle2M9Q#Ue;!.Y~> -!<C+<ZiQEAqh+[os+:Bds8RZ#J^q!Ts+:Bds8VlErIb.MldZ0'`O*":!.Y~> -!<A&W@Kf'JK7gkNrIasss+:Bds8RZ#J^q!Ts+:Bds8VoFrIY0bs8VE8"[S&U@R1!E~> -!<ADaE<T%iJUt\TrIOh!s+(6gs8RZ(J_I?^s+(6gs8VoKrIG$es8VE="\b2$ED-@_~> -!<C+<Ziu]EK7gkNrIasss+:Bds8RZ#J^q!Ts+:Bds8VoFrIY0bs8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7j-9rIb$us+:Bds8RZ#J^q!Ts+:Bds8VuHrIb*_s8VE8"[S&U@R1!E~> -!<ADaE<AngJV!d:rIOn#s+(6gs8RZ(J_I?^s+(6gs8VuMrIOsbs8VE="\b2$ED-@_~> -!<C+<ZicQCK7j-9rIb$us+:Bds8RZ#J^q!Ts+:Bds8VuHrIb*_s8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7j'7rIb+"s+:Bds8RZ#J^q!Ts+:Bds8W&JrIb$]s8VE8"[S&U@R1!E~> -!<ADaE<AngJV!^8rIOt%s+(6gs8RZ(J_I?^s+(6gs8W&OrIOm`s8VE="\b2$ED-@_~> -!<C+<ZicQCK7j'7rIb+"s+:Bds8RZ#J^q!Ts+:Bds8W&JrIb$]s8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7j!5rIY:(K7gl;s+/^OeZdU(K*8mfs4,ZuKDN:]s6J2=6&T2]5lcE~> -!<ADaE<AngJV!X6rIG.+JUt]<s+/mTg9B<2JHWjis4Z3*Jbm7`s6JAB9U0U;9E9S~> -!<C+<ZicQCK7j!5rIY:(K7gl;s+/^OeZdU(K*8mfs4,ZuKDN:]s6J2=Pf:#:PQ64~> -!<A&W@KSpHK7ip3r.>'as8RZ#J^q!Ts+:Bds8W%Mpq?_-ldZ/)Mdg-]!.Y~> -!<ADaE<AngJV!R4r.+pds8RZ(J_I?^s+(6gs8W%Kpqm(2le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7ip3r.>'as8RZ#J^q!Ts+:Bds8W%Mpq?_-ldZ0'`O*":!.Y~> -!<A&W@KSpHK7ij1rdt9cs8RY&JV1+X"MOj8K7im2s8VE8"[S&U@R1!E~> -!<ADaE<AngJV!L2rdb-fs8RY$JUstT"N(3=JV!O3s8VE="\b2$ED-@_~> -!<C+<ZicQCK7ij1rdt9cs8RY&JV1+X"MOj8K7im2s8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7id/!e\2dJV/N+Xb-\gs+BsWs8VE8"[S&U@R1!E~> -!<ADaE<AngJV!F0!eJ5gJUrB'XapPjs+0gZs8VE="\b2$ED-@_~> -!<C+<ZicQCK7id/!e\2dJV/N+Xb-\gs+BsWs8VE8"dI!5[$1Q@~> -!<A&W@KSpHK7eaTJcCW-ldZ/)Mdg-]!.Y~> -!<ADaE<AngJUrCPJcCW-le2M9Q#Ue;!.Y~> -!<C+<ZicQCK7eaTJcCW-ldZ0'`O*":!.Y~> -!<A&W@KJjGK7X&Rs,$dAeHJ6s@U_V'J,~> -!<ADaE<8hfJV!iPs,$dAg'(08EH+YPJ,~> -!<C+<ZiZKBK7X&Rs,$dAeHM2V['Z%tJ,~> -!<A&W@K8]FeUc8%ea_/n6&T2]5lcE~> -!<ADaE<&[`g4@t/g@<l#9U0U;9E9S~> -!<C+<ZiH>AeUc8%ea_/nPf:#:PQ64~> -!<A&V@dua8Uk,>(U]=lp5lciB@KAapJ,~> -!<AD`EUc_RTn/o"T`B*'9E:@WE</`5J,~> -!<C+;[.0B3Uk,>(U]@dmPQ8]%ZiQBkJ,~> -!\j\5rF5AV!+LNZJcCl4nVdBU!^Qh:J,~> -!^m$RrGhFo!-*SiJcCl4nWj)n!_`UJJ,~> -!cn@\rNu18!47=WJcCl4n\tL7!gE]8J,~> -!]^7=mpZ8_J`_OGOlcY%mpZ>a!7cT~> -!^m$Rmr8>$J`_OGOlcY/mr8D&!8;r~> -!cn@\n$E(ZJ`_OGOlcY_n$E.\!7cT~> -">Mn:5sb$M!'u1uJ``*W!/pAVs$6\de^]0~> -s$Qng9MFtr!).t+J``*W!1!(os%EIog=h&~> -s)S5APa(^F!0i&sJ``*W!6+K8s-*Qbe^]0~> -r]0uYn3MW=J\@2Z!+PIarrE&KJ,~> -r^?bdn4\DEJ\$uT!-.O&rrE&PJ,~> -rcA)>n<AL;J\@2Z!4;9\rrE&KJ,~> -">Mnk3B;WjJH16$mf3C=s8LQ!~> -r'Z)9JH16$mf3CB!<1]&~> -"DW!mF)um4JH16$mf3C=!<1N!~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/lib/et/doc/src/user_guide.gif b/lib/et/doc/src/user_guide.gif Binary files differdeleted file mode 100644 index e6275a803d..0000000000 --- a/lib/et/doc/src/user_guide.gif +++ /dev/null diff --git a/lib/et/doc/src/warning.gif b/lib/et/doc/src/warning.gif Binary files differdeleted file mode 100644 index 96af52360e..0000000000 --- a/lib/et/doc/src/warning.gif +++ /dev/null diff --git a/lib/et/examples/Makefile b/lib/et/examples/Makefile index 553fe55f3b..67a6536fdf 100644 --- a/lib/et/examples/Makefile +++ b/lib/et/examples/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 2002-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2002-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -38,7 +38,9 @@ RELSYSDIR = $(RELEASE_PATH)/lib/et-$(VSN) MODULES = \ - et_demo + et_demo \ + et_display_demo \ + et_trace_demo ERL_FILES= $(MODULES:=.erl) diff --git a/lib/et/examples/et_demo.erl b/lib/et/examples/et_demo.erl index 57e7e77246..e439e6882c 100644 --- a/lib/et/examples/et_demo.erl +++ b/lib/et/examples/et_demo.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- @@ -23,24 +23,29 @@ -module(et_demo). -export([ - sim_trans/0, + sim_trans/0, sim_trans/1, + live_trans/0, live_trans/1, mgr_actors/1, - live_trans/0, - start/0, - start/1, + start/0, start/1, filters/0, trace_mnesia/0 ]). +%% Test +-export([s/0, t/0, t/1, init/0, gen/3]). + -include_lib("et/include/et.hrl"). %%---------------------------------------------------------------------- %sim_trans sim_trans() -> + sim_trans([]). + +sim_trans(ExtraOptions) -> Options = [{dict_insert, {filter, mgr_actors}, fun mgr_actors/1}], - {ok, Viewer} = et_viewer:start_link(Options), - Collector = et_viewer:get_collector_pid(Viewer), + {ok, Viewer} = et_viewer:start_link(Options ++ ExtraOptions), + Collector = et_viewer:get_collector_pid(Viewer), et_collector:report_event(Collector, 60, my_shell, mnesia_tm, start_outer, "Start outer transaction"), et_collector:report_event(Collector, 40, mnesia_tm, my_shell, new_tid, @@ -56,11 +61,13 @@ sim_trans() -> et_collector:report_event(Collector, 60, my_shell, mnesia_tm, delete_transaction, "End of outer transaction"), et_collector:report_event(Collector, 20, my_shell, end_outer, - "Transaction returned {atomic, ok}"). + "Transaction returned {atomic, ok}"), + {collector, Collector}. + %sim_trans %mgr_actors -mgr_actors(E) when record(E, event) -> +mgr_actors(E) when is_record(E, event) -> Actor = fun(A) -> case A of mnesia_tm -> trans_mgr; @@ -94,9 +101,13 @@ start(ExtraOptions) -> %live_trans live_trans() -> - et_demo:start([{title, "Mnesia tracer"}, - {hide_actions, true}, - {active_filter, named_process_info_nolink}]), + live_trans([]). + +live_trans(ExtraOptions) -> + Options = [{title, "Mnesia tracer"}, + {hide_actions, true}, + {active_filter, named_process_info_nolink}], + et_demo:start(Options ++ ExtraOptions), mnesia:start(), mnesia:create_table(my_tab, [{ram_copies, [node()]}]), et_demo:trace_mnesia(), @@ -146,7 +157,7 @@ filters() -> %filters %module_as_actor -module_as_actor(E) when record(E, event) -> +module_as_actor(E) when is_record(E, event) -> case lists:keysearch(mfa, 1, E#event.contents) of {value, {mfa, {M, F, _A}}} -> case lists:keysearch(pam_result, 1, E#event.contents) of @@ -163,7 +174,7 @@ module_as_actor(E) when record(E, event) -> %%---------------------------------------------------------------------- %plain_process_info -plain_process_info(E) when record(E, event) -> +plain_process_info(E) when is_record(E, event) -> case E#event.label of send -> true; send_to_non_existing_process -> true; @@ -182,7 +193,7 @@ plain_process_info(E) when record(E, event) -> %plain_process_info %plain_process_info_nolink -plain_process_info_nolink(E) when record(E, event) -> +plain_process_info_nolink(E) when is_record(E, event) -> (E#event.label /= link) and (E#event.label /= unlink) and (E#event.label /= getting_linked) and @@ -191,7 +202,7 @@ plain_process_info_nolink(E) when record(E, event) -> %%---------------------------------------------------------------------- -named_process_info(E) when record(E, event) -> +named_process_info(E) when is_record(E, event) -> case plain_process_info(E) of true -> {true, E#event{to = pid_to_name(E#event.to), @@ -201,7 +212,7 @@ named_process_info(E) when record(E, event) -> false end. -named_process_info_nolink(E) when record(E, event) -> +named_process_info_nolink(E) when is_record(E, event) -> case plain_process_info_nolink(E) of true -> {true, E#event{to = pid_to_name(E#event.to), @@ -211,7 +222,7 @@ named_process_info_nolink(E) when record(E, event) -> false end. -pid_to_name(Pid) when pid(Pid) -> +pid_to_name(Pid) when is_pid(Pid) -> case process_info(Pid, registered_name) of {registered_name, Name} -> Name; @@ -225,7 +236,7 @@ pid_to_name(Other) -> %%---------------------------------------------------------------------- -node_process_info(E) when record(E, event) -> +node_process_info(E) when is_record(E, event) -> case plain_process_info(E) of true -> {true, E#event{to = pid_to_node(E#event.to), @@ -234,7 +245,7 @@ node_process_info(E) when record(E, event) -> false -> false end. -node_process_info_nolink(E) when record(E, event) -> +node_process_info_nolink(E) when is_record(E, event) -> case plain_process_info_nolink(E) of true -> {true, E#event{to = pid_to_node(E#event.to), @@ -244,21 +255,21 @@ node_process_info_nolink(E) when record(E, event) -> false end. -pid_to_node(Pid) when pid(Pid) -> +pid_to_node(Pid) when is_pid(Pid) -> node(Pid); -pid_to_node(Name) when atom(Name) -> +pid_to_node(Name) when is_atom(Name) -> node(); -pid_to_node({_Name, Node}) when atom(Node) -> +pid_to_node({_Name, Node}) when is_atom(Node) -> Node. %%---------------------------------------------------------------------- -application_as_actor(E) when record(E, event) -> +application_as_actor(E) when is_record(E, event) -> {true, E#event{to = pid_to_application(E#event.to), from = pid_to_application(E#event.from), label = msg_to_label(E)}}. -pid_to_application(Pid) when pid(Pid) -> +pid_to_application(Pid) when is_pid(Pid) -> case application:get_application(Pid) of {ok, Name} -> Name; @@ -268,7 +279,7 @@ pid_to_application(Pid) when pid(Pid) -> %%---------------------------------------------------------------------- -msg_to_label(E) when record(E, event) -> +msg_to_label(E) when is_record(E, event) -> case lists:keysearch(msg, 1, E#event.contents) of {value, {msg, Msg}} -> mnesia_msg_to_label(Msg, E#event.label); @@ -349,3 +360,35 @@ mnesia_msg_to_label(Msg, Label) -> _ -> Label end. +%%---------------------------------------------------------------------- + +s() -> + spawn(fun() -> t(), timer:sleep(infinity) end). + +t() -> + t(500). + +t(N) -> + Collector = init(), + gen(Collector, 1, N), + Collector. + +init() -> + EvenFilter = + fun(#event{label = Label}) -> + case catch (list_to_integer(Label) div 10) rem 2 of + 0 -> + false; + _ -> + true + end + end, + OddFilter = fun(E) -> not EvenFilter(E) end, + {ok, Viewer} = et_viewer:start_link([{dict_insert, {filter, odd_tens}, EvenFilter}, + {dict_insert, {filter, even_tens}, OddFilter}, + {active_filter, odd_tens}]), + et_viewer:get_collector_pid(Viewer). + +gen(Collector, From, To) -> + [et_collector:report_event(Collector, 20, from, to, integer_to_list(I), [I]) || I <- lists:seq(From, To)], + ok. diff --git a/lib/et/examples/et_display_demo.erl b/lib/et/examples/et_display_demo.erl new file mode 100644 index 0000000000..ebcbc2e816 --- /dev/null +++ b/lib/et/examples/et_display_demo.erl @@ -0,0 +1,32 @@ +%% +%% %CopyrightBegin% +%% %CopyrightEnd% +%% + +%module +-module(et_display_demo). + +-export([test/0]). + +test() -> + {ok, Viewer} = et_viewer:start([{title,"Coffee Order"}, {max_actors,10}]), + Drink = {drink,iced_chai_latte}, + Size = {size,grande}, + Milk = {milk,whole}, + Flavor = {flavor,vanilla}, + C = et_viewer:get_collector_pid(Viewer), + et_collector:report_event(C,99,customer,barrista1,place_order,[Drink,Size,Milk,Flavor]), + et_collector:report_event(C,80,barrista1,register,enter_order,[Drink,Size,Flavor]), + et_collector:report_event(C,80,register,barrista1,give_total,"$5"), + et_collector:report_event(C,80,barrista1,barrista1,get_cup,[Drink,Size]), + et_collector:report_event(C,80,barrista1,barrista2,give_cup,[]), + et_collector:report_event(C,90,barrista1,customer,request_money,"$5"), + et_collector:report_event(C,90,customer,barrista1,pay_money,"$5"), + et_collector:report_event(C,80,barrista2,barrista2,get_chai_mix,[]), + et_collector:report_event(C,80,barrista2,barrista2,add_flavor,[Flavor]), + et_collector:report_event(C,80,barrista2,barrista2,add_milk,[Milk]), + et_collector:report_event(C,80,barrista2,barrista2,add_ice,[]), + et_collector:report_event(C,80,barrista2,barrista2,swirl,[]), + et_collector:report_event(C,80,barrista2,customer,give_tasty_beverage,[Drink,Size]), + ok. +%module diff --git a/lib/et/examples/et_trace_demo.erl b/lib/et/examples/et_trace_demo.erl new file mode 100644 index 0000000000..5c16d4b77c --- /dev/null +++ b/lib/et/examples/et_trace_demo.erl @@ -0,0 +1,38 @@ +%% +%% %CopyrightBegin% +%% %CopyrightEnd% +%% + +%module +-module(et_trace_demo). + +-export([test/0]). + +test() -> + et_viewer:start([ + {title,"Coffee Order"}, + {trace_global,true}, + {trace_pattern,{et,max}}, + {max_actors,10} + ]), + %% dbg:p(all,call), + %% dbg:tpl(et, trace_me, 5, []), + Drink = {drink,iced_chai_latte}, + Size = {size,grande}, + Milk = {milk,whole}, + Flavor = {flavor,vanilla}, + et:trace_me(99,customer,barrista1,place_order,[Drink,Size,Milk,Flavor]), + et:trace_me(80,barrista1,register,enter_order,[Drink,Size,Flavor]), + et:trace_me(80,register,barrista1,give_total,"$5"), + et:trace_me(80,barrista1,barrista1,get_cup,[Drink,Size]), + et:trace_me(80,barrista1,barrista2,give_cup,[]), + et:trace_me(90,barrista1,customer,request_money,"$5"), + et:trace_me(90,customer,barrista1,pay_money,"$5"), + et:trace_me(80,barrista2,barrista2,get_chai_mix,[]), + et:trace_me(80,barrista2,barrista2,add_flavor,[Flavor]), + et:trace_me(80,barrista2,barrista2,add_milk,[Milk]), + et:trace_me(80,barrista2,barrista2,add_ice,[]), + et:trace_me(80,barrista2,barrista2,swirl,[]), + et:trace_me(80,barrista2,customer,give_tasty_beverage,[Drink,Size]), + ok. +%module diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile index c590852625..bb6632ee91 100644 --- a/lib/et/src/Makefile +++ b/lib/et/src/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 2000-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2000-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -127,9 +127,16 @@ $(EBIN)/et_selector.$(EMULATOR): et_selector.erl ../include/et.hrl $(EBIN)/et_contents_viewer.$(EMULATOR): et_contents_viewer.erl ../include/et.hrl et_internal.hrl +$(EBIN)/et_gs_contents_viewer.$(EMULATOR): et_gs_contents_viewer.erl ../include/et.hrl et_internal.hrl +$(EBIN)/et_wx_contents_viewer.$(EMULATOR): et_wx_contents_viewer.erl ../include/et.hrl et_internal.hrl + $(EBIN)/et_collector.$(EMULATOR): et_collector.erl ../include/et.hrl et_internal.hrl $(EBIN)/et_viewer.$(EMULATOR): et_viewer.erl ../include/et.hrl et_internal.hrl +$(EBIN)/et_gs_viewer.$(EMULATOR): et_gs_viewer.erl ../include/et.hrl et_internal.hrl + +$(EBIN)/et_wx_viewer.$(EMULATOR): et_wx_viewer.erl ../include/et.hrl et_internal.hrl + diff --git a/lib/et/src/et.app.src b/lib/et/src/et.app.src index 0c7bef7c3d..dc22ce4223 100644 --- a/lib/et/src/et.app.src +++ b/lib/et/src/et.app.src @@ -1,20 +1,20 @@ %% This is an -*- erlang -*- file. %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% {application, et, @@ -25,8 +25,13 @@ et, et_collector, et_contents_viewer, + et_gs_contents_viewer, + et_gs_viewer, et_selector, - et_viewer + et_viewer, + et_viewer, + et_wx_contents_viewer, + et_wx_viewer ]}, {registered, [et_collector]}, {applications, [stdlib, kernel]}, diff --git a/lib/et/src/et.erl b/lib/et/src/et.erl index 9c0a7f8f49..e2cd8564c3 100644 --- a/lib/et/src/et.erl +++ b/lib/et/src/et.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2000-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- @@ -84,13 +84,15 @@ -module(et). -export([ - phone_home/4, report_event/4, - phone_home/5, report_event/5 + trace_me/4, phone_home/4, report_event/4, + trace_me/5, phone_home/5, report_event/5 ]). %%---------------------------------------------------------------------- %% Reports an event, such as a message %% +%% trace_me(DetailLevel, FromTo, Label, Contents) -> hopefully_traced +%% trace_me(DetailLevel, From, To, Label, Contents) -> hopefully_traced %% report_event(DetailLevel, FromTo, Label, Contents) -> hopefully_traced %% report_event(DetailLevel, From, To, Label, Contents) -> hopefully_traced %% phone_home(DetailLevel, FromTo, Label, Contents) -> hopefully_traced @@ -123,18 +125,28 @@ %% Other events (termed actions) may be undirected and only have one actor. %%---------------------------------------------------------------------- +trace_me(DetailLevel, FromTo, Label, Contents) + when is_integer(DetailLevel) -> + ?MODULE:trace_me(DetailLevel, FromTo, FromTo, Label, Contents). + +trace_me(DetailLevel, _From, _To, _Label, _Contents) + when is_integer(DetailLevel) -> + hopefully_traced. + phone_home(DetailLevel, FromTo, Label, Contents) -> %% N.B External call - ?MODULE:report_event(DetailLevel, FromTo, FromTo, Label, Contents). + ?MODULE:trace_me(DetailLevel, FromTo, FromTo, Label, Contents). phone_home(DetailLevel, From, To, Label, Contents) -> %% N.B External call - ?MODULE:report_event(DetailLevel, From, To, Label, Contents). + ?MODULE:trace_me(DetailLevel, From, To, Label, Contents). report_event(DetailLevel, FromTo, Label, Contents) -> %% N.B External call - ?MODULE:report_event(DetailLevel, FromTo, FromTo, Label, Contents). + ?MODULE:trace_me(DetailLevel, FromTo, FromTo, Label, Contents). + +report_event(DetailLevel, From, To, Label, Contents) + when is_integer(DetailLevel) -> + %% N.B External call + ?MODULE:trace_me(DetailLevel, From, To, Label, Contents). -report_event(DetailLevel, _From, _To, _Label, _Contents) - when integer(DetailLevel) -> - hopefully_traced. diff --git a/lib/et/src/et_collector.erl b/lib/et/src/et_collector.erl index ea23c188f7..a63d15fb4c 100644 --- a/lib/et/src/et_collector.erl +++ b/lib/et/src/et_collector.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2000-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- @@ -36,6 +36,7 @@ iterate/3, iterate/5, + lookup/2, start_trace_client/3, start_trace_port/1, @@ -45,6 +46,7 @@ get_global_pid/0, %% get_table_handle/1, + get_table_size/1, change_pattern/2, make_key/2, @@ -55,13 +57,19 @@ multicast/2 ]). +%% Internal export +-export([monitor_trace_port/2]). + %% gen_server callbacks -export([init/1,terminate/2, code_change/3, handle_call/3, handle_cast/2, handle_info/2]). +-include("et_internal.hrl"). -include("../include/et.hrl"). -record(state, {parent_pid, + auto_shutdown, % Optionally shutdown when the last subscriber dies + event_tab_size, event_tab, dict_tab, event_order, @@ -102,7 +110,7 @@ %% stored by the collector. By replacing the default collector filter %% with a customized dito it is possible to allow any trace data as %% input. The collector filter is a dictionary entry with the -%% predefined key {filter, collector} and the value is a fun of +%% predefined key {filter, all} and the value is a fun of %% arity 1. See et_selector:parse_event/2 for interface details, %% such as which erlang:trace/1 tuples that are accepted. %% @@ -126,7 +134,7 @@ %% option() = %% {parent_pid, pid()} | %% {event_order, event_order()} | -%% {dict_insert, {filter, collector}, collector_fun()} | +%% {dict_insert, {filter, all}, collector_fun()} | %% {dict_insert, {filter, event_filter_name()}, event_filter_fun()} | %% {dict_insert, {subscriber, pid()}, dict_val()} | %% {dict_insert, dict_key(), dict_val()} | @@ -139,7 +147,7 @@ %% %% event_order() = trace_ts | event_ts %% trace_pattern() = detail_level() | dbg_match_spec() -%% detail_level() = min | max | integer(X) when X =< 0, X >= 100 +%% detail_level() = min | max | integer(X) when X >= 0, X =< 100 %% trace_client() = %% {event_file, file_name()} | %% {dbg_trace_type(), dbg_trace_parameters()} @@ -159,19 +167,16 @@ start_link(Options) -> case parse_opt(Options, default_state(), [], []) of - {ok, S, Dict2, Clients} when S#state.trace_global == false -> - case gen_server:start_link(?MODULE, [S, Dict2], []) of - {ok, Pid} when S#state.parent_pid /= self() -> - unlink(Pid), - start_clients(Pid, Clients); - {ok,Pid} -> - start_clients(Pid, Clients); - {error, Reason} -> - {error, Reason} - end; - {ok, S, Dict2, Clients} when S#state.trace_global == true -> - case gen_server:start_link({global, ?MODULE}, ?MODULE, [S, Dict2], []) of - {ok, Pid} when S#state.parent_pid /= self() -> + {ok, S, Dict2, Clients} -> + Res = + case S#state.trace_global of + false -> + gen_server:start_link(?MODULE, [S, Dict2], []); + true -> + gen_server:start_link({global, ?MODULE}, ?MODULE, [S, Dict2], []) + end, + case Res of + {ok, Pid} when S#state.parent_pid =/= self() -> unlink(Pid), start_clients(Pid, Clients); {ok,Pid} -> @@ -185,6 +190,7 @@ start_link(Options) -> default_state() -> #state{parent_pid = self(), + auto_shutdown = false, event_order = trace_ts, subscribers = [], trace_global = false, @@ -196,28 +202,30 @@ default_state() -> parse_opt([], S, Dict, Clients) -> {Mod, Pattern} = et_selector:make_pattern(S#state.trace_pattern), Fun = fun(E) -> et_selector:parse_event(Mod, E) end, - Default = {dict_insert, {filter, collector}, Fun}, + Default = {dict_insert, {filter, ?DEFAULT_FILTER_NAME}, Fun}, {ok, S#state{trace_pattern = {Mod, Pattern}}, [Default | Dict], Clients}; parse_opt([H | T], S, Dict, Clients) -> case H of - {parent_pid, Parent} when Parent == undefined -> + {parent_pid, Parent} when Parent =:= undefined -> parse_opt(T, S#state{parent_pid = Parent}, Dict, Clients); - {parent_pid, Parent} when pid(Parent) -> + {parent_pid, Parent} when is_pid(Parent) -> parse_opt(T, S#state{parent_pid = Parent}, Dict, Clients); - {event_order, Order} when Order == trace_ts -> + {auto_shutdown, Bool} when Bool =:= true; Bool =:= false -> + parse_opt(T, S#state{auto_shutdown = Bool}, Dict, Clients); + {event_order, Order} when Order =:= trace_ts -> parse_opt(T, S#state{event_order = Order}, Dict, Clients); - {event_order, Order} when Order == event_ts -> + {event_order, Order} when Order =:= event_ts -> parse_opt(T, S#state{event_order = Order}, Dict, Clients); {dict_insert, {filter, Name}, Fun} -> if - atom(Name), function(Fun) -> + is_atom(Name), is_function(Fun) -> parse_opt(T, S, Dict ++ [H], Clients); true -> {error, {bad_option, H}} end; {dict_insert, {subscriber, Pid}, _Val} -> if - pid(Pid) -> + is_pid(Pid) -> parse_opt(T, S, Dict ++ [H], Clients); true -> {error, {bad_option, H}} @@ -228,17 +236,17 @@ parse_opt([H | T], S, Dict, Clients) -> parse_opt(T, S, Dict ++ [H], Clients); {trace_client, Client = {_, _}} -> parse_opt(T, S, Dict, Clients ++ [Client]); - {trace_global, Bool} when Bool == false -> + {trace_global, Bool} when Bool =:= false -> parse_opt(T, S#state{trace_global = Bool}, Dict, Clients); - {trace_global, Bool} when Bool == true -> + {trace_global, Bool} when Bool =:= true -> parse_opt(T, S#state{trace_global = Bool}, Dict, Clients); - {trace_pattern, {Mod, _} = Pattern} when atom(Mod) -> + {trace_pattern, {Mod, _} = Pattern} when is_atom(Mod) -> parse_opt(T, S#state{trace_pattern = Pattern}, Dict, Clients); {trace_pattern, undefined = Pattern} -> parse_opt(T, S#state{trace_pattern = Pattern}, Dict, Clients); - {trace_port, Port} when integer(Port) -> + {trace_port, Port} when is_integer(Port) -> parse_opt(T, S#state{trace_port = Port}, Dict, Clients); - {trace_max_queue, MaxQueue} when integer(MaxQueue) -> + {trace_max_queue, MaxQueue} when is_integer(MaxQueue) -> parse_opt(T, S#state{trace_port = MaxQueue}, Dict, Clients); Bad -> {error, {bad_option, Bad}} @@ -352,19 +360,19 @@ do_load_event_file(Fun, Fd, Cont, Acc, FileName, BadBytes) -> %% Returns: {ok, Continuation} | exit(Reason) %%---------------------------------------------------------------------- -report(CollectorPid, TraceOrEvent) when pid(CollectorPid) -> +report(CollectorPid, TraceOrEvent) when is_pid(CollectorPid) -> case get_table_handle(CollectorPid) of - {ok, TH} when record(TH, table_handle) -> + {ok, TH} when is_record(TH, table_handle) -> report(TH, TraceOrEvent); {error, Reason} -> exit(Reason) end; -report(TH, TraceOrEvent) when record(TH, table_handle) -> +report(TH, TraceOrEvent) when is_record(TH, table_handle) -> Fun = TH#table_handle.filter, case Fun(TraceOrEvent) of false -> {ok, TH}; - true when record(TraceOrEvent, event) -> + true when is_record(TraceOrEvent, event) -> Key = make_key(TH, TraceOrEvent), case catch ets:insert(TH#table_handle.event_tab, {Key, TraceOrEvent}) of true -> @@ -373,7 +381,7 @@ report(TH, TraceOrEvent) when record(TH, table_handle) -> %% Refresh the report handle and try again report(TH#table_handle.collector_pid, TraceOrEvent) end; - {true, Event} when record(Event, event) -> + {true, Event} when is_record(Event, event) -> Key = make_key(TH, Event), case catch ets:insert(TH#table_handle.event_tab, {Key, Event}) of true -> @@ -401,7 +409,7 @@ report(TH, TraceOrEvent) when record(TH, table_handle) -> report(TH#table_handle.collector_pid, TraceOrEvent) end end; -report(TH, end_of_trace) when record(TH, table_handle) -> +report(TH, end_of_trace) when is_record(TH, table_handle) -> {ok, TH}; report(_, Bad) -> exit({bad_event, Bad}). @@ -410,7 +418,9 @@ report_event(CollectorPid, DetailLevel, FromTo, Label, Contents) -> report_event(CollectorPid, DetailLevel, FromTo, FromTo, Label, Contents). report_event(CollectorPid, DetailLevel, From, To, Label, Contents) - when integer(DetailLevel), DetailLevel >= 0, DetailLevel =< 100, list(Contents) -> + when is_integer(DetailLevel), + DetailLevel >= ?detail_level_min, + DetailLevel =< ?detail_level_max -> TS= erlang:now(), E = #event{detail_level = DetailLevel, trace_ts = TS, @@ -431,32 +441,38 @@ report_event(CollectorPid, DetailLevel, From, To, Label, Contents) %% Key = record(event_ts) | record(trace_ts) %%---------------------------------------------------------------------- -make_key(TH, Stuff) when record(TH, table_handle) -> +make_key(TH, Stuff) when is_record(TH, table_handle) -> make_key(TH#table_handle.event_order, Stuff); make_key(trace_ts, Stuff) -> if - record(Stuff, event) -> + is_record(Stuff, event) -> #event{trace_ts = R, event_ts = P} = Stuff, #trace_ts{trace_ts = R, event_ts = P}; - record(Stuff, trace_ts) -> + is_record(Stuff, trace_ts) -> Stuff; - record(Stuff, event_ts) -> + is_record(Stuff, event_ts) -> #event_ts{trace_ts = R, event_ts = P} = Stuff, #trace_ts{trace_ts = R, event_ts = P} end; make_key(event_ts, Stuff) -> if - record(Stuff, event) -> + is_record(Stuff, event) -> #event{trace_ts = R, event_ts = P} = Stuff, #event_ts{trace_ts = R, event_ts = P}; - record(Stuff, event_ts) -> + is_record(Stuff, event_ts) -> Stuff; - record(Stuff, trace_ts) -> + is_record(Stuff, trace_ts) -> #trace_ts{trace_ts = R, event_ts = P} = Stuff, #event_ts{trace_ts = R, event_ts = P} end. %%---------------------------------------------------------------------- +%%---------------------------------------------------------------------- + +get_table_size(CollectorPid) when is_pid(CollectorPid) -> + call(CollectorPid, get_table_size). + +%%---------------------------------------------------------------------- %% get_table_handle(CollectorPid) -> Handle %% %% Return a table handle @@ -465,7 +481,7 @@ make_key(event_ts, Stuff) -> %% Handle = record(table_handle) %%---------------------------------------------------------------------- -get_table_handle(CollectorPid) when pid(CollectorPid) -> +get_table_handle(CollectorPid) when is_pid(CollectorPid) -> call(CollectorPid, get_table_handle). %%---------------------------------------------------------------------- @@ -480,7 +496,7 @@ get_table_handle(CollectorPid) when pid(CollectorPid) -> get_global_pid() -> case global:whereis_name(?MODULE) of - CollectorPid when pid(CollectorPid) -> + CollectorPid when is_pid(CollectorPid) -> CollectorPid; undefined -> exit(global_collector_not_started) @@ -505,7 +521,7 @@ change_pattern(CollectorPid, RawPattern) -> call(CollectorPid, {change_pattern, Pattern}). %%---------------------------------------------------------------------- -%% dict_insert(CollectorPid, {filter, collector}, FilterFun) -> ok +%% dict_insert(CollectorPid, {filter, all}, FilterFun) -> ok %% dict_insert(CollectorPid, {subscriber, SubscriberPid}, Void) -> ok %% dict_insert(CollectorPid, Key, Val) -> ok %% @@ -532,14 +548,14 @@ change_pattern(CollectorPid, RawPattern) -> dict_insert(CollectorPid, Key = {filter, Name}, Fun) -> if - atom(Name), function(Fun) -> + is_atom(Name), is_function(Fun) -> call(CollectorPid, {dict_insert, Key, Fun}); true -> exit({badarg, Key}) end; dict_insert(CollectorPid, Key = {subscriber, Pid}, Val) -> if - pid(Pid) -> + is_pid(Pid) -> call(CollectorPid, {dict_insert, Key, Val}); true -> exit({badarg, Key}) @@ -626,9 +642,9 @@ multicast(CollectorPid, Msg) -> %% Pid = dbg_trace_client_pid() %%---------------------------------------------------------------------- -start_trace_client(CollectorPid, Type, FileName) when Type == event_file -> +start_trace_client(CollectorPid, Type, FileName) when Type =:= event_file -> load_event_file(CollectorPid, FileName); -start_trace_client(CollectorPid, Type, FileName) when Type == file -> +start_trace_client(CollectorPid, Type, FileName) when Type =:= file -> WaitFor = {make_ref(), end_of_trace}, EventFun = fun(E, {ReplyTo, {ok, TH}}) -> {ReplyTo, report(TH, E)} end, EndFun = fun({ReplyTo, {ok, _TH}}) -> ReplyTo ! WaitFor, ReplyTo end, @@ -658,9 +674,9 @@ start_trace_client(CollectorPid, Type, Parameters) -> {trace_client_pid, Pid}. trace_spec_wrapper(EventFun, EndFun, EventInitialAcc) - when function(EventFun), function(EndFun) -> + when is_function(EventFun), is_function(EndFun) -> {fun(Trace, Acc) -> - case Trace == end_of_trace of + case Trace =:= end_of_trace of true -> EndFun(Acc); false -> EventFun(Trace, Acc) end @@ -670,6 +686,17 @@ trace_spec_wrapper(EventFun, EndFun, EventInitialAcc) start_trace_port(Parameters) -> dbg:tracer(port, dbg:trace_port(ip, Parameters)). +monitor_trace_port(CollectorPid, Parameters) -> + Res = start_trace_port(Parameters), + spawn(fun() -> + MonitorRef = erlang:monitor(process, CollectorPid), + receive + {'DOWN', MonitorRef, _, _, _} -> + dbg:stop_clear() + end + end), + Res. + %%---------------------------------------------------------------------- %% iterate(Handle, Prev, Limit) -> %% iterate(Handle, Prev, Limit, undefined, Prev) @@ -702,24 +729,24 @@ iterate(Handle, Prev, Limit) -> %% Acc = NewAcc = term() %%---------------------------------------------------------------------- -iterate(_, _, Limit, _, Acc) when Limit == 0 -> +iterate(_, _, Limit, _, Acc) when Limit =:= 0 -> Acc; -iterate(CollectorPid, Prev, Limit, Fun, Acc) when pid(CollectorPid) -> +iterate(CollectorPid, Prev, Limit, Fun, Acc) when is_pid(CollectorPid) -> case get_table_handle(CollectorPid) of - {ok, TH} when record(TH, table_handle) -> + {ok, TH} when is_record(TH, table_handle) -> iterate(TH, Prev, Limit, Fun, Acc); {error, Reason} -> exit(Reason) end; -iterate(TH, Prev, Limit, Fun, Acc) when record(TH, table_handle) -> +iterate(TH, Prev, Limit, Fun, Acc) when is_record(TH, table_handle) -> if - Limit == infinity -> + Limit =:= infinity -> next_iterate(TH, Prev, Limit, Fun, Acc); - integer(Limit), Limit > 0 -> + is_integer(Limit), Limit > 0 -> next_iterate(TH, Prev, Limit, Fun, Acc); - Limit == '-infinity' -> + Limit =:= '-infinity' -> prev_iterate(TH, Prev, Limit, Fun, Acc); - integer(Limit), Limit < 0 -> + is_integer(Limit), Limit < 0 -> prev_iterate(TH, Prev, Limit, Fun, Acc) end. @@ -793,7 +820,7 @@ prev_iterate(TH, Prev, Limit, Fun, Acc) -> lookup_and_apply(TH, Prev, Next, Limit, 1, Fun, Acc) end. -lookup_and_apply(TH, _Prev, Next, Limit, Incr, Fun, _Acc) when Fun == undefined -> +lookup_and_apply(TH, _Prev, Next, Limit, Incr, Fun, _Acc) when Fun =:= undefined -> Limit2 = incr(Limit, Incr), iterate(TH, Next, Limit2, Fun, Next); lookup_and_apply(TH, Prev, Next, Limit, Incr, Fun, Acc) -> @@ -801,17 +828,33 @@ lookup_and_apply(TH, Prev, Next, Limit, Incr, Fun, Acc) -> case catch ets:lookup_element(Tab, Next, 2) of {'EXIT', _} -> iterate(TH#table_handle.collector_pid, Prev, Limit, Fun, Acc); - E when record(E, event) -> + E when is_record(E, event) -> Acc2 = Fun(E, Acc), Limit2 = incr(Limit, Incr), iterate(TH, Next, Limit2, Fun, Acc2) end. +lookup(CollectorPid, Key) when is_pid(CollectorPid) -> + case get_table_handle(CollectorPid) of + {ok, TH} when is_record(TH, table_handle) -> + lookup(TH, Key); + {error, Reason} -> + {error, Reason} + end; +lookup(TH, Key) when is_record(TH, table_handle) -> + Tab = TH#table_handle.event_tab, + case catch ets:lookup_element(Tab, Key, 2) of + {'EXIT', _} -> + {error, enoent}; + E when is_record(E, event) -> + {ok, E} + end. + incr(Val, Incr) -> if - Val == infinity -> Val; - Val == '-infinity' -> Val; - integer(Val) -> Val + Incr + Val =:= infinity -> Val; + Val =:= '-infinity' -> Val; + is_integer(Val) -> Val + Incr end. %%---------------------------------------------------------------------- @@ -824,13 +867,18 @@ incr(Val, Incr) -> %% table_handle() = record(table_handle) %%---------------------------------------------------------------------- -clear_table(CollectorPid) when pid(CollectorPid) -> +clear_table(CollectorPid) when is_pid(CollectorPid) -> call(CollectorPid, clear_table); -clear_table(TH) when record(TH, table_handle) -> +clear_table(TH) when is_record(TH, table_handle) -> clear_table(TH#table_handle.collector_pid). call(CollectorPid, Request) -> - gen_server:call(CollectorPid, Request, infinity). + try + gen_server:call(CollectorPid, Request, infinity) + catch + exit:{noproc,_} -> + {error, no_collector} + end. %%%---------------------------------------------------------------------- %%% Callback functions from gen_server @@ -849,7 +897,7 @@ init([InitialS, Dict]) -> case InitialS#state.parent_pid of undefined -> ignore; - Pid when pid(Pid) -> + Pid when is_pid(Pid) -> link(Pid) end, Funs = [fun init_tables/1, @@ -860,7 +908,7 @@ init([InitialS, Dict]) -> init_tables(S) -> EventTab = ets:new(et_events, [ordered_set, {keypos, 1}, public]), DictTab = ets:new(et_dict, [ordered_set, {keypos, 1}, public]), - S#state{event_tab = EventTab, dict_tab = DictTab}. + S#state{event_tab = EventTab, dict_tab = DictTab, event_tab_size = 0}. init_global(S) -> case S#state.trace_global of @@ -889,44 +937,53 @@ init_global(S) -> handle_call({multicast, Msg}, _From, S) -> do_multicast(S#state.subscribers, Msg), - {reply, ok, S}; + reply(ok, S); handle_call(Msg = {dict_insert, _Key, _Val}, _From, S) -> S2 = do_dict_insert(Msg, S), - {reply, ok, S2}; + reply(ok, S2); handle_call(Msg = {dict_delete, _Key}, _From, S) -> - S2 = do_dict_delete(Msg, S), - {reply, ok, S2}; - + try + S2 = do_dict_delete(Msg, S), + reply(ok, S2) + catch + throw:{stop, R} -> + opt_unlink(S#state.parent_pid), + {stop, R, S} + end; handle_call({dict_lookup, Key}, _From, S) -> Reply = ets:lookup(S#state.dict_tab, Key), - {reply, Reply, S}; + reply(Reply, S); handle_call({dict_match, Pattern}, _From, S) -> case catch ets:match_object(S#state.dict_tab, Pattern) of {'EXIT', _Reason} -> - {reply, [], S}; + reply([], S); Matching -> - {reply, Matching, S} + reply(Matching, S) end; handle_call(get_table_handle, _From, S) -> - [{_, TableFilter}] = ets:lookup(S#state.dict_tab, {filter, collector}), + [{_, TableFilter}] = ets:lookup(S#state.dict_tab, {filter, ?DEFAULT_FILTER_NAME}), TH = #table_handle{collector_pid = self(), event_tab = S#state.event_tab, event_order = S#state.event_order, filter = TableFilter}, - {reply, {ok, TH}, S}; + reply({ok, TH}, S); + +handle_call(get_table_size, _From, S) -> + Size = ets:info(S#state.event_tab, size), + reply({ok, Size}, S); handle_call(close, _From, S) -> case S#state.file of undefined -> - {reply, {error, file_not_open}, S}; + reply({error, file_not_open}, S); F -> Reply = disk_log:close(F#file.desc), S2 = S#state{file = undefined}, - {reply, Reply, S2} + reply(Reply, S2) end; handle_call({save_event_file, FileName, Options}, _From, S) -> Default = #file{name = FileName, @@ -934,7 +991,7 @@ handle_call({save_event_file, FileName, Options}, _From, S) -> file_opt = write, table_opt = keep}, case parse_file_options(Default, Options) of - {ok, F} when record(F, file) -> + {ok, F} when is_record(F, file) -> case file_open(F) of {ok, Fd} -> F2 = F#file{desc = Fd}, @@ -966,16 +1023,16 @@ handle_call({save_event_file, FileName, Options}, _From, S) -> end, case F2#file.table_opt of keep -> - {reply, Reply2, S3}; + reply(Reply2, S3); clear -> S4 = do_clear_table(S3), - {reply, Reply2, S4} + reply(Reply2, S4) end; {error, Reason} -> - {reply, {error, {file_open, Reason}}, S} + reply({error, {file_open, Reason}}, S) end; {error, Reason} -> - {reply, {error, Reason}, S} + reply({error, Reason}, S) end; handle_call({change_pattern, Pattern}, _From, S) -> @@ -983,23 +1040,23 @@ handle_call({change_pattern, Pattern}, _From, S) -> rpc:multicall(Ns, et_selector, change_pattern, [Pattern]), Reply = {old_pattern, S#state.trace_pattern}, S2 = S#state{trace_pattern = Pattern}, - {reply, Reply, S2}; + reply(Reply, S2); handle_call(clear_table, _From, S) -> S2 = do_clear_table(S), - {reply, ok, S2}; + reply(ok, S2); handle_call(stop, _From, S) -> do_multicast(S#state.subscribers, close), case S#state.trace_global of - true -> rpc:multicall(S#state.trace_nodes, dbg, stop, []); + true -> rpc:multicall(S#state.trace_nodes, dbg, stop_clear, []); false -> ignore end, {stop, shutdown, ok, S}; handle_call(Request, From, S) -> ok = error_logger:format("~p(~p): handle_call(~p, ~p, ~p)~n", [?MODULE, self(), Request, From, S]), - {reply, {error, {bad_request, Request}}, S}. + reply({error, {bad_request, Request}}, S). %%---------------------------------------------------------------------- %% Func: handle_cast/2 @@ -1011,7 +1068,7 @@ handle_call(Request, From, S) -> handle_cast(Msg, S) -> ok = error_logger:format("~p(~p): handle_cast(~p, ~p)~n", [?MODULE, self(), Msg, S]), - {noreply, S}. + noreply(S). %%---------------------------------------------------------------------- %% Func: handle_info/2 @@ -1020,54 +1077,67 @@ handle_cast(Msg, S) -> %% {stop, Reason, State} (terminate/2 is called) %%---------------------------------------------------------------------- +handle_info(timeout, S) -> + S2 = check_size(S), + noreply(S2); handle_info({nodeup, Node}, S) -> Port = S#state.trace_port, MaxQueue = S#state.trace_max_queue, - case rpc:call(Node, ?MODULE, start_trace_port, [{Port, MaxQueue}]) of + case rpc:call(Node, ?MODULE, monitor_trace_port, [self(), {Port, MaxQueue}]) of {ok, _} -> - listen_on_trace_port(Node, Port, S); - {error, Reason} when Reason == already_started-> + S2 = listen_on_trace_port(Node, Port, S), + noreply(S2); + {error, Reason} when Reason =:= already_started-> ok = error_logger:format("~p(~p): producer ignored(~p:~p):~n ~p~n", [?MODULE, self(), Node, Port, Reason]), S2 = S#state{trace_port = Port + 1}, - {noreply, S2}; + noreply(S2); {badrpc, Reason} -> ok = error_logger:format("~p(~p): producer ignored(~p:~p):~n ~p~n", [?MODULE, self(), Node, Port, Reason]), S2 = S#state{trace_port = Port + 1}, - {noreply, S2}; + noreply(S2); {error, Reason} -> self() ! {nodeup, Node}, ok = error_logger:format("~p(~p): producer retry(~p:~p):~n ~p~n", [?MODULE, self(), Node, Port, Reason]), S2 = S#state{trace_port = Port + 1}, - {noreply, S2} + noreply(S2) end; handle_info({nodedown, Node}, S) -> - {noreply, S#state{trace_nodes = S#state.trace_nodes -- [Node]}}; + noreply(S#state{trace_nodes = S#state.trace_nodes -- [Node]}); handle_info({register_trace_client, Pid}, S) -> link(Pid), - {noreply, S}; + noreply(S); -handle_info({'EXIT', Pid, Reason}, S) when Pid == S#state.parent_pid -> +handle_info({'EXIT', Pid, Reason}, S) when Pid =:= S#state.parent_pid -> {stop, Reason, S}; -handle_info(Info = {'EXIT', Pid, _Reason}, S) -> - OldSubscribers = S#state.subscribers, +handle_info(Info = {'EXIT', Pid, Reason}, S) -> + OldSubscribers = S#state.subscribers, case lists:member(Pid, OldSubscribers) of - true -> - S2 = do_dict_delete({dict_delete, {subscriber, Pid}}, S), - {noreply, S2}; + true when Reason =:= shutdown -> + try + S2 = do_dict_delete({dict_delete, {subscriber, Pid}}, S), + noreply(S2) + catch + throw:{stop, R} -> + opt_unlink(S#state.parent_pid), + {stop, R, S} + end; + true -> + opt_unlink(S#state.parent_pid), + {stop, Reason, S}; false -> ok = error_logger:format("~p(~p): handle_info(~p, ~p)~n", [?MODULE, self(), Info, S]), - {noreply, S} + noreply(S) end; handle_info(Info, S) -> ok = error_logger:format("~p(~p): handle_info(~p, ~p)~n", [?MODULE, self(), Info, S]), - {noreply, S}. + noreply(S). listen_on_trace_port(Node, Port, S) -> [_Name, Host] = string:tokens(atom_to_list(Node), [$@]), @@ -1075,20 +1145,17 @@ listen_on_trace_port(Node, Port, S) -> {trace_client_pid, RemotePid} -> rpc:call(Node, et_selector, change_pattern, [S#state.trace_pattern]), link(RemotePid), - S2 = S#state{trace_nodes = [Node | S#state.trace_nodes], - trace_port = Port + 1}, - {noreply, S2}; - {'EXIT', Reason} when Reason == already_started-> + S#state{trace_nodes = [Node | S#state.trace_nodes], + trace_port = Port + 1}; + {'EXIT', Reason} when Reason =:= already_started-> ok = error_logger:format("~p(~p): consumer ignored(~p:~p): ~p~n", [?MODULE, self(), Node, Port, Reason]), - S2 = S#state{trace_port = Port + 1}, - {noreply, S2}; + S#state{trace_port = Port + 1}; {'EXIT', Reason} -> self() ! {nodeup, Node}, ok = error_logger:format("~p(~p): consumer retry(~p:~p):~n ~p~n", [?MODULE, self(), Node, Port, Reason]), - S2 = S#state{trace_port = Port + 1}, - {noreply, S2} + S#state{trace_port = Port + 1} end. %%---------------------------------------------------------------------- @@ -1120,7 +1187,7 @@ do_clear_table(S) -> NewTab = ets:new(et_events, [ordered_set, {keypos, 1}, public]), S#state{event_tab = NewTab}. -do_dict_insert(Msg = {dict_insert, Key = {subscriber, Pid}, Val}, S) when pid(Pid) -> +do_dict_insert(Msg = {dict_insert, Key = {subscriber, Pid}, Val}, S) when is_pid(Pid) -> OldSubscribers = S#state.subscribers, NewSubscribers = case lists:member(Pid, OldSubscribers) of @@ -1133,6 +1200,8 @@ do_dict_insert(Msg = {dict_insert, Key = {subscriber, Pid}, Val}, S) when pid(Pi [Pid | OldSubscribers] end, do_multicast(NewSubscribers, Msg), + Size = ets:info(S#state.event_tab, size), + do_multicast(NewSubscribers, {more_events, Size}), ets:insert(S#state.dict_tab, {Key, Val}), S#state{subscribers = NewSubscribers}; do_dict_insert(Msg = {dict_insert, Key, Val}, S) -> @@ -1147,11 +1216,18 @@ do_dict_delete(Msg = {dict_delete, Key = {subscriber, Pid}}, S) -> case lists:member(Pid, OldSubscribers) of true -> unlink(Pid), - S#state{subscribers = OldSubscribers -- [Pid]}; + S2 = S#state{subscribers = OldSubscribers -- [Pid]}, + if + S2#state.auto_shutdown, + S2#state.subscribers =:= [] -> + throw({stop, shutdown}); + true -> + S2 + end; false -> S end; -do_dict_delete({dict_delete, {filter, collector}}, S) -> +do_dict_delete({dict_delete, {filter, ?DEFAULT_FILTER_NAME}}, S) -> S; do_dict_delete(Msg = {dict_delete, Key}, S) -> do_multicast(S#state.subscribers, Msg), @@ -1202,3 +1278,33 @@ do_multicast([Pid | Pids], Msg) -> do_multicast(Pids, Msg); do_multicast([], _Msg) -> ok. + +opt_unlink(Pid) -> + if + Pid =:= undefined -> + ignore; + true -> + unlink(Pid) + end. + +reply(Reply, #state{subscribers = []} = S) -> + {reply, Reply, S}; +reply(Reply, S) -> + {reply, Reply, S, 500}. + +noreply(#state{subscribers = []} = S) -> + {noreply, S}; +noreply(S) -> + {noreply, S, 500}. + +check_size(S) -> + Size = ets:info(S#state.event_tab, size), + if + Size =:= S#state.event_tab_size -> + S; + true -> + %% Tell the subscribers that more events are available + Msg = {more_events, Size}, + do_multicast(S#state.subscribers, Msg), + S#state{event_tab_size = Size} + end. diff --git a/lib/et/src/et_contents_viewer.erl b/lib/et/src/et_gs_contents_viewer.erl index 29ca93ca64..f6a87bd608 100644 --- a/lib/et/src/et_contents_viewer.erl +++ b/lib/et/src/et_gs_contents_viewer.erl @@ -1,26 +1,26 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2000-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- %% Purpose: Displays details of a trace event %%---------------------------------------------------------------------- --module(et_contents_viewer). +-module(et_gs_contents_viewer). -behaviour(gen_server). @@ -75,7 +75,7 @@ start_link(Options) -> case parse_opt(Options, default_state()) of {ok, S} -> case gen_server:start_link(?MODULE, [S], []) of - {ok, ContentsPid} when S#state.parent_pid /= self() -> + {ok, ContentsPid} when S#state.parent_pid =/= self() -> unlink(ContentsPid), {ok, ContentsPid}; Other -> @@ -88,8 +88,8 @@ start_link(Options) -> default_state() -> #state{parent_pid = self(), viewer_pid = undefined, - active_filter = collector, - filters = [#filter{name = collector, function = fun(E) -> E end}], + active_filter = ?DEFAULT_FILTER_NAME, + filters = [?DEFAULT_FILTER], width = 600, height = 300}. @@ -97,11 +97,11 @@ parse_opt([], S) -> Name = S#state.active_filter, Filters = S#state.filters, if - S#state.event == undefined -> + S#state.event =:= undefined -> {error, {badarg, no_event}}; - atom(Name) -> + is_atom(Name) -> case lists:keysearch(Name, #filter.name, Filters) of - {value, F} when record(F, filter) -> + {value, F} when is_record(F, filter) -> {ok, S#state{active_filter = Name}}; false -> {error, {badarg, {no_such_filter, Name, Filters}}} @@ -109,27 +109,27 @@ parse_opt([], S) -> end; parse_opt([H | T], S) -> case H of - {parent_pid, ParentPid} when pid(ParentPid) -> + {parent_pid, ParentPid} when is_pid(ParentPid) -> parse_opt(T, S#state{parent_pid = ParentPid}); - {viewer_pid, ViewerPid} when pid(ViewerPid) -> + {viewer_pid, ViewerPid} when is_pid(ViewerPid) -> parse_opt(T, S#state{viewer_pid = ViewerPid}); {event_order, trace_ts} -> parse_opt(T, S#state{event_order = trace_ts}); {event_order, event_ts} -> parse_opt(T, S#state{event_order = event_ts}); - {event, Event} when record(Event, event) -> + {event, Event} when is_record(Event, event) -> parse_opt(T, S#state{event = Event}); - {active_filter, Name} when atom(Name) -> + {active_filter, Name} when is_atom(Name) -> parse_opt(T, S#state{active_filter = Name}); - F when record(F, filter), - atom(F#filter.name), - function(F#filter.function) -> + F when is_record(F, filter), + is_atom(F#filter.name), + is_function(F#filter.function) -> Filters = lists:keydelete(F#filter.name, #filter.name, S#state.filters), Filters2 = lists:keysort(#filter.name, [F | Filters]), parse_opt(T, S#state{filters = Filters2}); - {width, Width} when integer(Width), Width > 0 -> + {width, Width} when is_integer(Width), Width > 0 -> parse_opt(T, S#state{width = Width}); - {height, Height} when integer(Height), Height > 0 -> + {height, Height} when is_integer(Height), Height > 0 -> parse_opt(T, S#state{height = Height}); Bad -> {error, {bad_option, Bad}} @@ -164,7 +164,7 @@ call(ContentsPid, Request) -> %% {stop, Reason} %%---------------------------------------------------------------------- -init([S]) when record(S, state) -> +init([S]) when is_record(S, state) -> process_flag(trap_exit, true), S2 = create_window(S), {ok, S2}. @@ -223,11 +223,11 @@ handle_info({gs, Button, click, Data, _Other}, S) -> FileName = ["et_contents_viewer_", now_to_string(TimeStamp), ".save"], file:write_file(lists:flatten(FileName), Bin), {noreply, S}; - _PopupMenuItem when record(Data, filter) -> + _PopupMenuItem when is_record(Data, filter) -> F = Data, ChildState= S#state{active_filter = F#filter.name}, case gen_server:start_link(?MODULE, [ChildState], []) of - {ok, Pid} when S#state.parent_pid /= self() -> + {ok, Pid} when S#state.parent_pid =/= self() -> unlink(Pid), {noreply, S}; _ -> @@ -312,11 +312,11 @@ handle_info({gs, _Obj, keypress, _, [KeySym, _Keycode, _Shift, _Control | _]}, S {noreply, S}; 0 -> - case lists:keysearch(collector, #filter.name, S#state.filters) of - {value, F} when record(F, filter) -> + case lists:keysearch(?DEFAULT_FILTER_NAME, #filter.name, S#state.filters) of + {value, F} when is_record(F, filter) -> ChildState= S#state{active_filter = F#filter.name}, case gen_server:start_link(?MODULE, [ChildState], []) of - {ok, Pid} when S#state.parent_pid /= self() -> + {ok, Pid} when S#state.parent_pid =/= self() -> unlink(Pid); _ -> ignore @@ -325,12 +325,12 @@ handle_info({gs, _Obj, keypress, _, [KeySym, _Keycode, _Shift, _Control | _]}, S ignore end, {noreply, S}; - Int when integer(Int), Int > 0, Int =< 9 -> + Int when is_integer(Int), Int > 0, Int =< 9 -> case catch lists:nth(Int, S#state.filters) of - F when record(F, filter) -> + F when is_record(F, filter) -> ChildState= S#state{active_filter = F#filter.name}, case gen_server:start_link(?MODULE, [ChildState], []) of - {ok, Pid} when S#state.parent_pid /= self() -> + {ok, Pid} when S#state.parent_pid =/= self() -> unlink(Pid); _ -> ignore @@ -356,7 +356,7 @@ handle_info({gs, _Obj, configure, [], [W, H | _]}, S) -> {noreply, S2}; handle_info({'EXIT', Pid, Reason}, S) -> if - Pid == S#state.parent_pid -> + Pid =:= S#state.parent_pid -> unlink(Pid), {stop, Reason, S}; true -> @@ -428,7 +428,7 @@ create_filter_menu(Bar, Filters) -> Menu = gs:menu(Button, []), gs:menuitem(Menu, [{label, {text, "Select Filter"}}, {bg, lightblue}, {enable, false}]), gs:menuitem(Menu, [{itemtype, separator}]), - Item = fun(F, N) when F#filter.name == collector-> + Item = fun(F, N) when F#filter.name =:= ?DEFAULT_FILTER_NAME-> Label = lists:concat([pad_string(F#filter.name, 20), "(0)"]), gs:menuitem(Menu, [{label, {text, Label}}, {data, F}]), N + 1; @@ -449,9 +449,9 @@ create_hide_menu(Bar, S) -> From = E#event.from, To = E#event.to, if - S#state.viewer_pid == undefined -> + S#state.viewer_pid =:= undefined -> ignore; - From == To -> + From =:= To -> gs:menuitem(Menu, [{label, {text, "Hide actor in Viewer "}}, {bg, lightblue}, {enable, false}]), gs:menuitem(Menu, [{itemtype, separator}]), gs:menuitem({hide, [From]}, Menu, [{label, {text,"From=To (f|t|b)"}}]), @@ -483,9 +483,9 @@ create_search_menu(Bar, S) -> {bg, lightblue}, {enable, false}]), gs:menuitem(Menu, [{itemtype, separator}]), if - S#state.viewer_pid == undefined -> + S#state.viewer_pid =:= undefined -> S; - From == To -> + From =:= To -> Key = et_collector:make_key(S#state.event_order, E), ModeS = {search_actors, forward, Key, [From]}, ModeR = {search_actors, reverse, Key, [From]}, @@ -508,7 +508,7 @@ config_editor(Editor, S) -> case catch FilterFun(Event) of true -> do_config_editor(Editor, Event, lightblue, S#state.event_order); - {true, Event2} when record(Event2, event) -> + {true, Event2} when is_record(Event2, event) -> do_config_editor(Editor, Event2, lightblue, S#state.event_order); false -> do_config_editor(Editor, Event, red, S#state.event_order); @@ -536,7 +536,7 @@ term_to_string(Term) -> end. now_to_string({Mega, Sec, Micro} = Now) - when integer(Mega), integer(Sec), integer(Micro) -> + when is_integer(Mega), is_integer(Sec), is_integer(Micro) -> {{Y, Mo, D}, {H, Mi, S}} = calendar:now_to_universal_time(Now), lists:concat([Y, "-", Mo, "-", D, " ", H, ".", Mi, ".", S, ".", Micro]); now_to_string(Other) -> @@ -548,14 +548,14 @@ event_to_string(Event, TsKey) -> Deep = ["DETAIL LEVEL: ", term_to_string(Event#event.detail_level), "\nLABEL: ", term_to_string(Event#event.label), - case Event#event.from == Event#event.to of + case Event#event.from =:= Event#event.to of true -> ["\nACTOR: ", term_to_string(Event#event.from)]; false -> ["\nFROM: ", term_to_string(Event#event.from), "\nTO: ", term_to_string(Event#event.to)] end, - case ReportedTs == ParsedTs of + case ReportedTs =:= ParsedTs of true -> ["\nPARSED: ", now_to_string(ParsedTs)]; false -> @@ -571,9 +571,9 @@ event_to_string(Event, TsKey) -> "\nCONTENTS:\n\n", term_to_string(Event#event.contents)], lists:flatten(Deep). -pad_string(Atom, MinLen) when atom(Atom) -> +pad_string(Atom, MinLen) when is_atom(Atom) -> pad_string(atom_to_list(Atom), MinLen); -pad_string(String, MinLen) when integer(MinLen), MinLen >= 0 -> +pad_string(String, MinLen) when is_integer(MinLen), MinLen >= 0 -> Len = length(String), case Len >= MinLen of true -> @@ -584,7 +584,7 @@ pad_string(String, MinLen) when integer(MinLen), MinLen >= 0 -> send_viewer_event(S, Event) -> case S#state.viewer_pid of - ViewerPid when pid(ViewerPid) -> + ViewerPid when is_pid(ViewerPid) -> ViewerPid ! {et, Event}; undefined -> ignore diff --git a/lib/et/src/et_gs_viewer.erl b/lib/et/src/et_gs_viewer.erl new file mode 100644 index 0000000000..0af7814d15 --- /dev/null +++ b/lib/et/src/et_gs_viewer.erl @@ -0,0 +1,1481 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009-2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%%---------------------------------------------------------------------- +%% Purpose: Displays a sequence chart for trace events (messages/actions) +%%---------------------------------------------------------------------- + +-module(et_gs_viewer). + +-behaviour(gen_server). + +%% External exports +-export([start_link/1]). + +%% gen_server callbacks +-export([init/1, terminate/2, code_change/3, + handle_call/3, handle_cast/2, handle_info/2]). + +-include("../include/et.hrl"). +-include("et_internal.hrl"). + +-define(unknown, "UNKNOWN"). + +-record(state, + {parent_pid, % Pid of parent process + collector_pid, % Pid of collector process + event_order, % Field to be used as primary key + trace_pattern, % Collector trace pattern + active_filter, % Name of the active filter + filters, % List of possible filters + selected_actor, % Actor selected by user + first_event, % Key of first event (regardless of visibility) + last_event, % Key of last event (regardless of visibility) + max_events, % Maximum number of shown events + events, % Queue containg all event keys (regardless of visibility) + max_actors, % Maximum number of shown actors + actors, % List of known actors + refresh_needed, % Refresh is needed in order to show all actors + display_mode, % Display all or only matching actors + detail_level, % Show only events with lesser detail level + hide_actions, % Hide/show events where to == from actor (bool) + hide_unknown, % Hide/show events with unknown actor (bool) + is_suspended, % Suspend viewer updates (bool) + title, % GUI: Window title + win, % GUI: Window object + menubar, % GUI: Menu bar object + packer, % GUI: Packer object + width, % GUI: Window width + height, % GUI: Window height + scale, % GUI: Scaling factor on canvas + font, % GUI: Font to be used on text labels + canvas_width, % GUI: Canvas width + canvas_height, % GUI: Canvas height + canvas, % GUI: Canvas object + y_pos}). % GUI: Current y position on canvas + +-record(actor, {name, string}). + +-define(initial_x, 10). +-define(incr_x, 60). +-define(initial_y, 15). +-define(incr_y, 15). + +%%%---------------------------------------------------------------------- +%%% Client side +%%%---------------------------------------------------------------------- + +start_link(Options) -> + case parse_opt(Options, default_state(), []) of + {ok, S, CollectorOpt} -> + case S#state.collector_pid of + CollectorPid when is_pid(CollectorPid) -> + case gen_server:start_link(?MODULE, [S], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid), + {ok, Pid}; + Other -> + Other + end; + undefined -> + case et_collector:start_link(CollectorOpt) of + {ok, CollectorPid} -> + S2 = S#state{collector_pid = CollectorPid}, + case gen_server:start_link(?MODULE, [S2], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid), + {ok, Pid}; + Other -> + Other + end; + {error, Reason} -> + {error, {et_collector, Reason}} + end + end; + {error, Reason} -> + {error, Reason} + end. + +default_state() -> + #state{parent_pid = self(), + collector_pid = undefined, + detail_level = ?detail_level_max, + active_filter = ?DEFAULT_FILTER_NAME, + filters = [?DEFAULT_FILTER], + event_order = trace_ts, + is_suspended = false, + max_events = 100, + first_event = first, + last_event = first, + events = queue_new(), + max_actors = 5, + actors = [create_actor(?unknown)], + selected_actor = ?unknown, + hide_actions = false, + hide_unknown = false, + refresh_needed = false, + display_mode = all, + scale = 2, + canvas_height = 0, + canvas_width = 0, + width = 800, + height = 600}. + +parse_opt([], S, CollectorOpt) -> + {ok, S, [{parent_pid, S#state.parent_pid} | CollectorOpt]}; +parse_opt([H | T], S, CollectorOpt) -> + case H of + {parent_pid, Parent} when Parent =:= undefined -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{parent_pid = Parent}, CollectorOpt2); + {parent_pid, Parent} when is_pid(Parent) -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{parent_pid = Parent}, CollectorOpt2); + {title, Title} -> + parse_opt(T, S#state{title = name_to_string(Title)}, CollectorOpt); + {detail_level, Level} when is_integer(Level), + Level >= ?detail_level_min, + Level =< ?detail_level_max -> + parse_opt(T, S#state{detail_level = Level}, CollectorOpt); + {detail_level, max} -> + parse_opt(T, S#state{detail_level = ?detail_level_max}, CollectorOpt); + {detail_level, min} -> + parse_opt(T, S#state{detail_level = ?detail_level_min}, CollectorOpt); + {is_suspended, true} -> + parse_opt(T, S#state{is_suspended = true}, CollectorOpt); + {is_suspended, false} -> + parse_opt(T, S#state{is_suspended = false}, CollectorOpt); + {scale, Scale} when is_integer(Scale), Scale > 0 -> + parse_opt(T, S#state{scale = Scale}, CollectorOpt); + {width, W} when is_integer(W), W > 0 -> + parse_opt(T, S#state{width = W, canvas_width = W}, CollectorOpt); + {height, WH} when is_integer(WH), WH > 0 -> + parse_opt(T, S#state{height = WH, canvas_height = WH}, CollectorOpt); + {collector_pid, Pid} when is_pid(Pid) -> + parse_opt(T, S#state{collector_pid = Pid}, CollectorOpt); + {collector_pid, undefined} -> + parse_opt(T, S#state{collector_pid = undefined}, CollectorOpt); + {active_filter, Name} when is_atom(Name) -> + parse_opt(T, S#state{active_filter = Name}, CollectorOpt); + {event_order, trace_ts} -> %% BUGBUG: Verify event_order with collector + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{event_order = trace_ts}, CollectorOpt2); + {event_order, event_ts} -> %% BUGBUG: Verify event_order with collector + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{event_order = event_ts}, CollectorOpt2); + {trace_port, _Port} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_max_queue, _Queue} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_pattern, _Pattern} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_global, _Boolean} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_client, _Client} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {dict_insert, {filter, Name}, Fun} -> + if + is_atom(Name), is_function(Fun) -> + F = #filter{name = Name, function = Fun}, + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{filters = Filters ++ [F]}, CollectorOpt2); + true -> + {error, {bad_option, H}} + end; + {dict_insert, {subscriber, Pid}, _Val} -> + if + is_pid(Pid) -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + true -> + {error, {bad_option, H}} + end; + {dict_insert, _Key, _Val} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {dict_delete, {filter, Name}} -> + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{filters = Filters}, CollectorOpt2); + {dict_delete, _Key} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {max_events, Max} when is_integer(Max), Max > 0-> + parse_opt(T, S#state{max_events = Max}, CollectorOpt); + {max_events, Max} when Max =:= infinity -> + parse_opt(T, S#state{max_events = Max}, CollectorOpt); + {max_actors, Max} when is_integer(Max), Max >= 0-> + parse_opt(T, S#state{max_actors = Max}, CollectorOpt); + {max_actors, Max} when Max =:= infinity -> + parse_opt(T, S#state{max_actors = Max}, CollectorOpt); + {actors, ActorNames} when is_list(ActorNames) -> + ActorNames2 = + case lists:member(?unknown, ActorNames) of + false -> [?unknown | ActorNames]; + true -> ActorNames + end, + Actors = [create_actor(Name) || Name <- ActorNames2], + parse_opt(T, S#state{actors = Actors}, CollectorOpt); + {first_event, First} -> + parse_opt(T, S#state{first_event = First}, CollectorOpt); + {hide_unknown, Bool} when Bool =:= false -> + parse_opt(T, S#state{hide_unknown = Bool}, CollectorOpt); + {hide_unknown, Bool} when Bool =:= true -> + parse_opt(T, S#state{hide_unknown = Bool}, CollectorOpt); + {hide_actions, Bool} when Bool =:= false -> + parse_opt(T, S#state{hide_actions = Bool}, CollectorOpt); + {hide_actions, Bool} when Bool =:= true -> + parse_opt(T, S#state{hide_actions = Bool}, CollectorOpt); + {display_mode, Mode = all} -> + parse_opt(T, S#state{display_mode = Mode}, CollectorOpt); + {display_mode, Mode = {search_actors, Dir, _Key, Actors}} when is_list(Actors), Dir =:= forward -> + parse_opt(T, S#state{display_mode = Mode}, CollectorOpt); + {display_mode, Mode = {search_actors, Dir, _Key, Actors}} when is_list(Actors), Dir =:= reverse -> + parse_opt(T, S#state{display_mode = Mode}, CollectorOpt); + + Bad -> + {error, {bad_option, Bad}} + end; +parse_opt(BadList, _S, _CollectorOpt) -> + {error, {bad_option_list, BadList}}. + +do_dict_insert({filter, Name}, Fun, S) when is_atom(Name), is_function(Fun) -> + F = #filter{name = Name, function = Fun}, + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + Filters2 = lists:keysort(#filter.name, [F | Filters]), + gs:destroy(filter_menu), + create_filter_menu(S#state.active_filter, Filters2), + S#state{filters = Filters2}; +do_dict_insert(_Key, _Val, S) -> + %% ok = error_logger:format("~p(~p): handle_info({et, {dict_insert, ~p, ~p}})~n", + %% [?MODULE, self(), Key, Val]), + S. + +do_dict_delete({filter, Name}, S) when is_atom(Name), Name =/= S#state.active_filter -> + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + gs:destroy(filter_menu), + create_filter_menu(S#state.active_filter, Filters), + S#state{filters = Filters}; +do_dict_delete(_Key, S) -> + %% ok = error_logger:format("~p(~p): handle_info({et, {dict_delete, ~p}})~n", + %% [?MODULE, self(), Key]), + S. + +%%%---------------------------------------------------------------------- +%%% Callback functions from gen_server +%%%---------------------------------------------------------------------- + +%%---------------------------------------------------------------------- +%% Func: init/1 +%% Returns: {ok, State} | +%% {ok, State, Timeout} | +%% ignore | +%% {stop, Reason} +%%---------------------------------------------------------------------- + +init([S]) when is_record(S, state) -> + process_flag(trap_exit, true), + InitialTimeout = 0, + case S#state.parent_pid of + undefined -> + ignore; + Pid when is_pid(Pid) -> + link(Pid) + end, + et_collector:dict_insert(S#state.collector_pid, + {subscriber, self()}, + ?MODULE), + {ok, create_main_window(S), InitialTimeout}. + +%%---------------------------------------------------------------------- +%% Func: handle_call/3 +%% Returns: {reply, Reply, State} | +%% {reply, Reply, State, Timeout} | +%% {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, Reply, State} | (terminate/2 is called) +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_call(get_collector_pid, _From, S) -> + Reply = S#state.collector_pid, + reply(Reply, S); +handle_call(stop, _From, S) -> + gs:destroy(S#state.win), + {stop, shutdown, ok, S}; +handle_call(Request, From, S) -> + ok = error_logger:format("~p(~p): handle_call(~p, ~p, ~p)~n", + [?MODULE, self(), Request, From, S]), + Reply = {error, {bad_request, Request}}, + reply(Reply, S). + +%%---------------------------------------------------------------------- +%% Func: handle_cast/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_cast(Msg, S) -> + ok = error_logger:format("~p(~p): handle_cast(~p, ~p)~n", + [?MODULE, self(), Msg, S]), + noreply(S). + +%%---------------------------------------------------------------------- +%% Func: handle_info/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_info({et, {more_events, _Size}}, S) -> + noreply(S); +handle_info({et, {insert_actors, ActorNames}}, S) when is_list(ActorNames) -> + Fun = fun(N, Actors) -> + case lists:keymember(N, #actor.name, Actors) of + true -> Actors; + false -> Actors ++ [create_actor(N)] + end + end, + Actors = lists:foldl(Fun, S#state.actors, ActorNames), + S2 = refresh_main_window(S#state{actors = Actors}), + noreply(S2); +handle_info({et, {delete_actors, ActorNames}}, S) when is_list(ActorNames)-> + Fun = fun(N, Actors) when N =:= ?unknown -> + Actors; + (N, Actors) -> + lists:keydelete(N, #actor.name, Actors) + end, + New = lists:foldl(Fun, S#state.actors, ActorNames), + S2 = refresh_main_window(S#state{actors = New}), + noreply(S2); +handle_info({et, {dict_insert, Key, Val}}, S) -> + S2 = do_dict_insert(Key, Val, S), + noreply(S2); +handle_info({et, {dict_delete, Key}}, S) -> + S2 = do_dict_delete(Key, S), + noreply(S2); +handle_info({et, first}, S) -> + S2 = scroll_first(S), + noreply(S2); +handle_info({et, prev}, S) -> + S2 = scroll_prev(S), + noreply(S2); +handle_info({et, next}, S) -> + S2 = scroll_next(S), + noreply(S2); +handle_info({et, last}, S) -> + S2 = scroll_last(S), + noreply(S2); +handle_info({et, refresh}, S) -> + S2 = refresh_main_window(S), + noreply(S2); +handle_info({et, {display_mode, Mode}}, S) -> + S2 = change_display_mode(Mode, S), + noreply(S2); +handle_info({et, close}, S) -> + gs:destroy(S#state.win), + {stop, shutdown, S}; +handle_info({gs, Button, click, Data, Other} = Click, S) -> + CollectorPid = S#state.collector_pid, + case Button of + close -> + gs:destroy(S#state.win), + {stop, shutdown, S}; + suspended -> + case Other of + [_Text, _Group, Bool | _] when Bool =:= true -> + S2 = do_suspend(S), + noreply(S2); + [_Text, _Group, Bool | _] when Bool =:= false -> + S2 = do_resume(S), + noreply(S2); + _ -> + click_error(Click, S), + noreply(S) + end; + hide_actions -> + case Other of + [_Text, _Group, Bool | _] when Bool =:= true -> + S2 = refresh_main_window(S#state{hide_actions = Bool}), + noreply(S2); + [_Text, _Group, Bool | _] when Bool =:= false -> + S2 = refresh_main_window(S#state{hide_actions = Bool}), + noreply(S2); + _ -> + click_error(Click, S), + noreply(S) + end; + hide_unknown -> + case Other of + [_Text, _Group, Bool | _] when Bool =:= true -> + S2 = refresh_main_window(S#state{hide_unknown = Bool}), + noreply(S2); + [_Text, _Group, Bool | _] when Bool =:= false -> + S2 = refresh_main_window(S#state{hide_unknown = Bool}), + noreply(S2); + _ -> + click_error(Click, S), + noreply(S) + end; + up -> + S2 = scroll_up(S), + noreply(S2); + down -> + S2 = scroll_down(S), + noreply(S2); + first -> + S2 = scroll_first(S), + noreply(S2); + prev -> + S2 = scroll_prev(S), + noreply(S2); + next -> + S2 = scroll_next(S), + noreply(S2); + last -> + S2 = scroll_last(S), + noreply(S2); + refresh -> + S2 = refresh_main_window(S), + noreply(S2); + {display_mode, Mode} -> + S2 = change_display_mode(Mode, S), + noreply(S2); + close_all -> + close_all(S); + close_all_others -> + close_all_others(S); + first_all -> + et_collector:multicast(CollectorPid, first), + noreply(S); + prev_all -> + et_collector:multicast(CollectorPid, prev), + noreply(S); + next_all -> + et_collector:multicast(CollectorPid, next), + noreply(S); + last_all -> + et_collector:multicast(CollectorPid, last), + noreply(S); + refresh_all -> + et_collector:multicast(CollectorPid, refresh), + noreply(S); + clear_all -> + et_collector:clear_table(CollectorPid), + et_collector:multicast(CollectorPid, refresh), + noreply(S); + load_all -> + et_collector:start_trace_client(CollectorPid, event_file, "et_viewer.log"), + noreply(S); + save_all -> + et_collector:save_event_file(CollectorPid, + "et_viewer.log", + [existing, write, keep]), + noreply(S); + {open_viewer, Scale} -> + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale, S#state.active_filter, Actors, S), + noreply(S); + _Level when Data =:= detail_level, is_integer(hd(Other)), + hd(Other) >= ?detail_level_min, + hd(Other) =< ?detail_level_max -> + S2 = S#state{detail_level = hd(Other)}, + noreply(S2); + _PopupMenuItem when is_record(Data, filter) -> + open_viewer(S#state.scale, Data#filter.name, [?unknown], S), + noreply(S); + _ -> + click_error(Click, S), + noreply(S) + end; +handle_info({gs, _Obj, destroy,_, _}, S) -> + gs:destroy(S#state.win), + {stop, shutdown, S}; +handle_info({gs, _Obj, buttonpress, _, [_Button, X, Y | _]}, S) -> + S3 = + case y_to_n(Y, S) of + actor -> + %% Actor click + case S#state.actors of + [] -> + S; + _ -> + N = x_to_n(X, S), + A = lists:nth(N, S#state.actors), + S#state{selected_actor = A} + end; + {event, N} -> + %% Event click + List = queue_to_list(S#state.events), + S2 = S#state{events = list_to_queue(List)}, + + Key = lists:nth(N, List), + Pid = S#state.collector_pid, + Fun = fun create_contents_window/2, + case et_collector:iterate(Pid, Key, -1) of + Prev when Prev =:= Key -> + et_collector:iterate(Pid, first, 1, Fun, S2); + Prev -> + et_collector:iterate(Pid, Prev, 1, Fun, S2) + end + end, + noreply(S3); +handle_info({gs, _Obj, buttonrelease, _, [_Button, X, Y | _]}, S) -> + S2 = + case y_to_n(Y, S) of + actor -> + %% Actor click + case S#state.actors of + [] -> + S; + Actors -> + N = x_to_n(X, S), + New = lists:nth(N, S#state.actors), + Old = S#state.selected_actor, + case New#actor.name =:= Old#actor.name of + true -> + A = S#state.selected_actor, + toggle_search_for_actor(A#actor.name, S); + false -> + move_actor(Old, New, Actors, S) + end + end; + {event, _N} -> + %% Event click ignored + S + end, + noreply(S2); +handle_info({gs, _Obj, keypress, _, [KeySym, _Keycode, _Shift, _Control | _]} = Key, S) -> + case KeySym of + 'c' -> + close_all_others(S); + 'C' -> + close_all(S); + 'Up' -> + S2 = scroll_up(S), + noreply(S2); + 'Down' -> + S2 = scroll_down(S), + noreply(S2); + 'f' -> + S2 = scroll_first(S), + noreply(S2); + 'p' -> + S2 = scroll_prev(S), + noreply(S2); + 'Prior' -> + S2 = scroll_prev(S), + noreply(S2); + 'n' -> + S2 = scroll_next(S), + noreply(S2); + 'Next' -> + S2 = scroll_next(S), + noreply(S2); + 'l' -> + S2 = scroll_last(S), + noreply(S2); + 'r' -> + S2 = refresh_main_window(S), + noreply(S2); + 'F' -> + et_collector:multicast(S#state.collector_pid, first), + noreply(S); + 'P' -> + et_collector:multicast(S#state.collector_pid, prev), + noreply(S); + 'N' -> + et_collector:multicast(S#state.collector_pid, next), + noreply(S); + 'L' -> + et_collector:multicast(S#state.collector_pid, last), + noreply(S); + 'R' -> + et_collector:multicast(S#state.collector_pid, refresh), + noreply(S); + + 'a' -> + S2 = S#state{display_mode = all}, + S3 = refresh_main_window(S2), + noreply(S3); + + 'equal' -> + Scale = S#state.scale, + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale, S#state.active_filter, Actors, S), + noreply(S); + 'plus' -> + Scale = S#state.scale + 1, + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale, S#state.active_filter, Actors, S), + noreply(S); + 'minus' -> + case S#state.scale of + 1 -> + gs:config(S#state.canvas, beep); + Scale -> + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale - 1, S#state.active_filter, Actors, S) + end, + noreply(S); + 0 -> + case lists:keysearch(?DEFAULT_FILTER_NAME, #filter.name, S#state.filters) of + {value, F} when is_record(F, filter) -> + open_viewer(S#state.scale, F#filter.name, [?unknown], S); + false -> + gs:config(S#state.canvas, beep) + end, + noreply(S); + Int when is_integer(Int), Int > 0, Int =< 9 -> + case catch lists:nth(Int, S#state.filters) of + F when is_record(F, filter) -> + open_viewer(S#state.scale, F#filter.name, [?unknown], S); + {'EXIT', _} -> + gs:config(S#state.canvas, beep) + end, + noreply(S); + + 'Shift_L' -> + noreply(S); + 'Shift_R' -> + noreply(S); + 'Caps_Lock' -> + noreply(S); + + _ -> + click_error(Key, S), + noreply(S) + end; +handle_info({gs, _Obj,configure, [], [W, H | _]}, S) -> + gs:config(S#state.packer, [{width, W}, {height, H}]), + S2 = S#state{width = W, height = H}, + noreply(S2); +handle_info(timeout, S) -> + Try = + case S#state.display_mode of + {search_actors, reverse, _, _} -> + -10; + _ -> + 10 + end, + if + S#state.is_suspended =:= true -> + {noreply, S, infinity}; + S#state.max_events =:= infinity -> + display_more_events(Try, S); + true -> + Needed = S#state.max_events - queue_length(S#state.events), + if + Needed =< 0 -> {noreply, S, infinity}; + Needed > 10 -> display_more_events(Try, S); + Needed =< 10 -> display_more_events(Needed, S) + end + end; + +handle_info({'EXIT', Pid, Reason}, S) -> + if + Pid =:= S#state.collector_pid -> + unlink(Pid), + gs:destroy(S#state.win), + {stop, Reason, S}; + Pid =:= S#state.parent_pid -> + unlink(Pid), + gs:destroy(S#state.win), + {stop, Reason, S}; + true -> + noreply(S) + end; +handle_info(Info, S) -> + ok = error_logger:format("~p(~p): handle_info(~p, ~p)~n", + [?MODULE, self(), Info, S]), + noreply(S). + +%%---------------------------------------------------------------------- +%% Func: terminate/2 +%% Purpose: Shutdown the server +%% Returns: any (ignored by gen_server) +%%---------------------------------------------------------------------- + +terminate(_Reason, _S) -> + ignore. + +%%---------------------------------------------------------------------- +%% Func: code_change/3 +%% Purpose: Convert process state when code is changed +%% Returns: {ok, NewState} +%%---------------------------------------------------------------------- + +code_change(_OldVsn, S, _Extra) -> + {ok, S}. + +%%%---------------------------------------------------------------------- +%%% Handle suspend/resume +%%%---------------------------------------------------------------------- + +reply(Reply, S) -> + case queue_length(S#state.events) of + _ when S#state.is_suspended =:= true -> + {reply, Reply, S, infinity}; + _ when S#state.max_events =:= infinity -> + {reply, Reply, S, 500}; + N when N >= S#state.max_events -> + {reply, Reply, S, infinity}; + _ -> + {reply, Reply, S, 0} + end. + +noreply(S) -> + case queue_length(S#state.events) of + _ when S#state.is_suspended =:= true -> + {noreply, S, infinity}; + _ when S#state.max_events =:= infinity -> + {noreply, S, 500}; + N when N >= S#state.max_events -> + {noreply, S, infinity}; + _ -> + {noreply, S, 0} + end. + +do_suspend(S) -> + config_suspend(S#state{is_suspended = true}). + +do_resume(S) -> + config_suspend(S#state{is_suspended = false}). + +config_suspend(S) -> + Suspended = S#state.is_suspended, + gs:config(refresh, [{enable, not Suspended}]), + gs:config(refresh_all, [{enable, not Suspended}]), + gs:config(clear_all, [{enable, not Suspended}]), + S. + +refresh_main_window(S) -> + Pid = S#state.collector_pid, + Key = S#state.first_event, + case et_collector:iterate(Pid, Key, -1) of + Prev when Prev =:= Key -> + scroll_first(S); + _Prev -> + S2 = S#state{last_event = S#state.first_event}, + clear_canvas(S2) + end. + +scroll_first(S) -> + S2 = S#state{first_event = first, last_event = first}, + clear_canvas(S2). + +scroll_prev(S) -> + Try = + case S#state.max_events of + infinity -> -10; + Max -> -Max + end, + Key = et_collector:iterate(S#state.collector_pid, S#state.first_event, Try), + S2 = S#state{first_event = Key, last_event = Key}, + clear_canvas(S2). + +scroll_next(S) -> + S2 = S#state{first_event = S#state.last_event}, + clear_canvas(S2). + +scroll_up(S) -> + Key = et_collector:iterate(S#state.collector_pid, S#state.first_event, -5), + S2 = S#state{first_event = Key, last_event = Key}, + clear_canvas(S2). + +scroll_down(S) -> + Key = et_collector:iterate(S#state.collector_pid, S#state.first_event, 5), + S2 = S#state{first_event = Key, last_event = Key}, + clear_canvas(S2). + +scroll_last(S) -> + S2 = S#state{first_event = last, last_event = last}, + clear_canvas(S2). + +change_display_mode(Mode, S) -> + case Mode of + all -> + S2 = S#state{display_mode = Mode}, + refresh_main_window(S2); + {search_actors, _Dir, _Key, []} -> + S2 = S#state{display_mode = all}, + refresh_main_window(S2); + {search_actors, _Dir, Key, Actors} when is_list(Actors) -> + Pid = S#state.collector_pid, + Prev = et_collector:iterate(Pid, Key, -1), + S2 = S#state{first_event = Prev, + last_event = Prev, + display_mode = Mode}, + clear_canvas(S2) + end. + +close_all(S) -> + et_collector:multicast(S#state.collector_pid, close), + timer:sleep(timer:seconds(1)), + spawn(et_collector, stop, [S#state.collector_pid]), + gs:destroy(S#state.win), + {stop, shutdown, S}. + +close_all_others(S) -> + Fun = + fun({{subscriber, Pid}, _}) -> + if + Pid =:= self() -> + ignore; + true -> + unlink(Pid), + Pid ! {et, close} + end + end, + All = et_collector:dict_match(S#state.collector_pid, + {{subscriber, '_'}, '_'}), + lists:foreach(Fun, All), + noreply(S). + +click_error(Click, S) -> + gs:config(S#state.canvas, beep), + io:format("~p: ignored: ~p~n", [?MODULE, Click]). + +%%%---------------------------------------------------------------------- +%%% Clone viewer +%%%---------------------------------------------------------------------- + +open_viewer(Scale, FilterName, Actors, S) -> + Filters = [{dict_insert, {filter, F#filter.name}, F#filter.function} + || F <- S#state.filters], + Options = + [{parent_pid, S#state.parent_pid}, + {title, S#state.title}, + {collector_pid, S#state.collector_pid}, + {is_suspended, S#state.is_suspended}, + {detail_level, S#state.detail_level}, + {active_filter, FilterName}, + {event_order, S#state.event_order}, + {first_event, S#state.first_event}, + {max_events, S#state.max_events}, + {max_actors, S#state.max_actors}, + {hide_actions, S#state.hide_actions}, + {hide_unknown, S#state.hide_unknown}, + {is_suspended, S#state.is_suspended}, + {actors, Actors}, + {scale, Scale}, + {width, S#state.width}, + {height, S#state.height} | Filters], + case start_link(Options) of + {ok, ViewerPid} -> + unlink(ViewerPid), + ok; + {error, Reason} -> + ok = error_logger:format("~p: Failed to start a new window: ~p~n", + [?MODULE, Reason]) + end. + +%%%---------------------------------------------------------------------- +%%% Handle graphics +%%%---------------------------------------------------------------------- + +create_main_window(S) -> + Font = select_font(S#state.scale), + GS = gs:start(), + Name = name_to_string(S#state.active_filter), + Title = case S#state.title of + undefined -> atom_to_list(?MODULE); + Explicit -> name_to_string(Explicit) + end, + WinOpt = [{title, Title ++ " (filter: " ++ Name ++ ")"}, + {configure, true}, + {width, S#state.width}, + {height, S#state.height}], + Win = gs:window(GS, WinOpt), + Bar = gs:menubar(Win, []), + + create_file_menu(Bar), + create_viewer_menu(Bar), + create_collector_menu(Bar), + gs:menubutton(filter_button, Bar, [{label, {text, "Filter"}}]), + create_filter_menu(S#state.active_filter, S#state.filters), + create_help_menu(Bar), + + config_suspend(S), + + PackerOpt = [{packer_x, [{fixed, 5}, {fixed, 40}, {fixed, 40}, + {stretch, 1}, {fixed, 5}]}, + {packer_y, [{fixed, 30}, {fixed, 30}, + {stretch, 1}, {fixed, 30}]}, + {x, 0}, {y, 30}], + Packer = gs:frame(Win, PackerOpt), + gs:checkbutton(suspended, Packer, [{label,{text,"Freeze"}}, + {x, 10}, {y, 0}, + {width, 120}, {align, w}, + {select, S#state.is_suspended}]), + gs:checkbutton(hide_actions, Packer, [{label,{text,"Hide From=To"}}, + {x, 10}, {y, 20}, + {width, 120}, {align, w}, + {select, S#state.hide_actions}]), + gs:checkbutton(hide_unknown, Packer, [{label,{text,"Hide Unknown"}}, + {x, 10}, {y, 40}, + {width, 120}, {align, w}, + {select, S#state.hide_unknown}]), + gs:scale(Packer, [{text,"Detail Level"}, + {range, {?detail_level_min, ?detail_level_max}}, + {orient, horizontal}, + {x, 150}, {y, 0}, {height, 65}, {width, 200}, + {pos, S#state.detail_level}, {data, detail_level}]), + CanvasW = calc_canvas_width(S), + CanvasH = calc_canvas_height(S), + CanOpt = [{pack_xy, {{2, 4}, 3}}, {vscroll, right}, {hscroll, bottom}, + {scrollregion, {2, 2, CanvasW, CanvasH}}], + Canvas = gs:canvas(Packer, CanOpt), + gs:config(Canvas, [{buttonpress, true}, {buttonrelease, true}]), + gs:config(Packer, [{width, S#state.width}, {height, S#state.height}]), + gs:config(Win, [{map, true}, {keypress, true}]), + S2 = S#state{title = Title, + win = Win, font = Font, packer = Packer, + canvas_width = CanvasW, canvas_height = CanvasH, + canvas = Canvas, + y_pos = ?initial_y * S#state.scale}, + draw_all_actors(S2). + +select_font(Scale) when is_integer(Scale) -> + case Scale of + 1 -> {courier, 7}; + 2 -> {courier, 10}; + 3 -> {courier, 12}; + 4 -> {courier, 14}; + S -> {courier, S * 4} + end. + +create_file_menu(Bar) -> + Button = gs:menubutton(Bar, [{label, {text, "File"}}]), + Menu = gs:menu(Button, []), + gs:menuitem(close_all, Menu, [{label, {text, "Close Collector and all Viewers (C) "}}]), + gs:menuitem(close_all_others, Menu, [{label, {text, "Close other Viewers, but keep Collector (c)"}}]), + gs:menuitem(close, Menu, [{label, {text, "Close this Viewer, but keep Collector"}}]), + gs:menuitem(Menu, [{itemtype, separator}]), + + gs:menuitem(clear_all, Menu, [{label, {text, "Clear Collector"}}]), + gs:menuitem(load_all, Menu, [{label, {text, "Load Collector from the file \"et_viewer.log\""}}]), + gs:menuitem(save_all, Menu, [{label, {text, "Save Collector to the file \"et_viewer.log\""}}]). + +create_viewer_menu(Bar) -> + Button = gs:menubutton(Bar, [{label, {text, "Viewer"}}]), + Menu = gs:menu(Button, []), + gs:menuitem(Menu, [{label, {text, "Scroll this Viewer"}}, {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(first, Menu, [{label, {text, "First (f)"}}]), + gs:menuitem(prev, Menu, [{label, {text, "Prev (p)"}}]), + gs:menuitem(next, Menu, [{label, {text, "Next (n)"}}]), + gs:menuitem(last, Menu, [{label, {text, "Last (l)"}}]), + gs:menuitem(refresh, Menu, [{label, {text, "Refresh (r)"}}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(up, Menu, [{label, {text, "Up 5 (Up)"}}]), + gs:menuitem(down, Menu, [{label, {text, "Down 5 (Down)"}}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(Menu, [{label, {text, "Search in this Viewer"}}, {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem({mode, all}, Menu, [{label, {text, "Abort search. Display all (a)"}}]). + +create_collector_menu(Bar) -> + Button = gs:menubutton(Bar, [{label, {text, "Collector"}}]), + Menu = gs:menu(Button, []), + gs:menuitem(Menu, [{label, {text, "Scroll all Viewers"}}, {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(first_all, Menu, [{label, {text, "First (F)"}}]), + gs:menuitem(prev_all, Menu, [{label, {text, "Prev (P)"}}]), + gs:menuitem(next_all, Menu, [{label, {text, "Next (N)"}}]), + gs:menuitem(last_all, Menu, [{label, {text, "Last (L)"}}]), + gs:menuitem(refresh_all, Menu, [{label, {text, "Refresh (R)"}}]). + +create_filter_menu(ActiveFilterName, Filters) -> + Menu = gs:menu(filter_menu, filter_button, []), + Item = fun(F, N) when F#filter.name =:= collector -> + Label = lists:concat([pad_string(F#filter.name, 20), "(0)"]), + gs:menuitem(Menu, [{label, {text, Label}}, {data, F}]), + N + 1; + (F, N) -> + Label = lists:concat([pad_string(F#filter.name, 20), "(", N, ")"]), + gs:menuitem(Menu, [{label, {text, Label}}, {data, F}]), + N + 1 + end, + gs:menuitem(Menu, [{label, {text, "Same Filter New Scale"}}, {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + {value, Filter} = lists:keysearch(ActiveFilterName, #filter.name, Filters), + Same = lists:concat([pad_string(ActiveFilterName, 20), "(=)"]), + Larger = lists:concat([pad_string(ActiveFilterName, 20), "(+)"]), + Smaller = lists:concat([pad_string(ActiveFilterName, 20), "(-)"]), + gs:menuitem(Menu, [{label, {text, Same}}, {data, Filter}]), + gs:menuitem(Menu, [{label, {text, Smaller}}, {data, Filter}]), + gs:menuitem(Menu, [{label, {text, Larger}}, {data, Filter}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(Menu, [{label, {text, "New Filter Same Scale"}}, {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + lists:foldl(Item, 1, Filters). + +create_help_menu(Bar) -> + Button = gs:menubutton(Bar, [{label, {text, "Help"}}]), + Menu = gs:menu(Button, []), + gs:menuitem(Menu, [{label, {text, "Display details of an event"}}, + {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{label, {text, " Single click on the name tag or the arrow (Mouse-1)"}}, + {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(Menu, [{label, {text, "Toggle actor search"}}, + {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{label, {text, " Single click on the name tag (Mouse-1)"}}, + {enable,false}]), + gs:menuitem(Menu, [{itemtype, separator}]), + gs:menuitem(Menu, [{label, {text, "Move actor"}}, + {bg, lightblue}, {enable,false}]), + gs:menuitem(Menu, [{label, {text, " se drag and drop on name tag (Mouse-1)"}}, + {enable,false}]). + +clear_canvas(S) -> + gs:destroy(S#state.canvas), + CanvasW = calc_canvas_width(S), + CanvasH = calc_canvas_height(S), + CanOpt = [{pack_xy, {{2, 4}, 3}}, {vscroll, right}, {hscroll, bottom}, + {scrollregion, {2, 2, CanvasW, CanvasH}}], + Canvas = gs:canvas(S#state.packer, CanOpt), + gs:config(S#state.packer, [{width, S#state.width}, {height, S#state.height}]), + gs:config(Canvas, [{buttonpress, true}, {buttonrelease, true}]), + S2 = S#state{refresh_needed = false, + y_pos = ?initial_y * S#state.scale, + canvas = Canvas, + canvas_width = CanvasW, + canvas_height = CanvasH, + events = queue_new()}, + draw_all_actors(S2). + +calc_canvas_width(S) -> + Min = calc_min_actors(S), + CanvasW = ((2 * ?initial_x) + (Min * ?incr_x)) * S#state.scale, + lists:max([CanvasW, S#state.width - (15 * S#state.scale), S#state.canvas_width]). + +calc_canvas_height(S) -> + Min = calc_min_events(S), + CanvasH = ((2 * ?initial_y) + (Min * ?incr_y)) * S#state.scale, + lists:max([CanvasH, S#state.height - (4 * 30), S#state.canvas_height]). + +calc_min_actors(S) -> + Max = S#state.max_actors, + N = length(S#state.actors), + if + Max =:= infinity -> + N * 2; + Max < N -> + N; + true -> + Max + end. + +calc_min_events(S) -> + Max = S#state.max_events, + N = queue_length(S#state.events), + if + Max =:= infinity -> + N * 2; + Max < N -> + N; + true -> + Max + end. + +display_more_events(Try, S) -> + Name = S#state.active_filter, + {value, F} = lists:keysearch(Name, #filter.name, S#state.filters), + FilterFun = F#filter.function, + Fun = fun(Event, State) -> + case catch FilterFun(Event) of + true -> + State2 = ensure_key(Event, State), + opt_display_event(Event, State2); + {true, Event2} -> + State2 = ensure_key(Event2, State), + opt_display_event(Event2, State2); + false -> + ensure_key(Event, State); + Bad -> + Contents = {bad_filter, Name, Bad, Event}, + Event2 = Event#event{contents = Contents, + from = bad_filter, + to = bad_filter}, + State2 = ensure_key(Event2, State), + opt_display_event(Event2, State2) + end + end, + Pid = S#state.collector_pid, + S2 = et_collector:iterate(Pid, S#state.last_event, Try, Fun, S), + case queue_length(S2#state.events) - queue_length(S#state.events) of + Diff when Diff =:= Try -> + %% Got as much as requested, look for more + %% io:format("Done: ~p~n", [{Try, Diff}]), + {noreply, S2, 0}; + _Diff when S2#state.first_event =:= S#state.first_event, + S2#state.last_event =:= S#state.last_event -> + %% Got lesser than requested, wait a while before looking for more + %% io:format("More: ~p~n", [{Try, Diff}]), + {noreply, S2, 500}; + _Diff -> + %% Got lesser than requested, look for more + %% io:format("More2: ~p~n", [{Try, Diff}]), + {noreply, S2, 0} + end. + +ensure_key(E, S) when is_record(E, event), is_record(S, state) -> + Key = et_collector:make_key(S#state.event_order, E), + case S#state.first_event of + first -> + S#state{first_event = Key, last_event = Key}; + last -> + S#state{first_event = Key, last_event = Key}; + _ -> + S#state{last_event = Key} + end. + +opt_display_event(E, S) -> + case S#state.display_mode of + all -> + display_event(E, S); + {search_actors, _Dir, _FirstKey, Actors} -> + %% Key = S#state.last_event, + From = select_actor_name(E#event.from, S), + case lists:member(From, Actors) of + true -> + display_event(E, S); + false -> + To = select_actor_name(E#event.to, S), + case lists:member(To, Actors) of + true -> + display_event(E, S); + false -> + S + end + end + end. + +select_actor_name(Name, S) -> + case lists:keymember(Name, #actor.name, S#state.actors) of + true -> Name; + false -> ?unknown + end. + +display_event(E, S) when E#event.detail_level < S#state.detail_level -> + {FromRefresh, From} = ensure_actor(E#event.from, S), + {FromName, FromPos, S2} = From, + {ToRefresh, To} = ensure_actor(E#event.to, S2), + {ToName, ToPos, S3} = To, + if + FromRefresh =/= false, ToRefresh =/= false -> + Key = S#state.last_event, + refresh_beep(S), + S3#state{refresh_needed = true, + events = queue_in(Key, S3#state.events)}; + FromName =:= ToName -> + case S#state.hide_actions of + true -> + S3; + false -> + Label = name_to_string(E#event.label), + draw_named_arrow(Label, FromName, FromPos, ToName, ToPos, S3) + end; + true -> + Label = name_to_string(E#event.label), + draw_named_arrow(Label, FromName, FromPos, ToName, ToPos, S3) + end; +display_event(_, S) -> + S. + +draw_named_arrow(Label, FromName, FromPos, ToName, ToPos, S) -> + Key = S#state.last_event, + case S#state.y_pos + (?incr_y * S#state.scale) of + _ when S#state.hide_unknown =:= true, FromName =:= ?unknown -> + S; + _ when S#state.hide_unknown =:= true, ToName =:= ?unknown -> + S; + Y when Y > S#state.canvas_height -> + refresh_beep(S), + S#state{refresh_needed = true, + events = queue_in(Key, S#state.events)}; + Y -> + S2 = S#state{y_pos = Y, events = queue_in(Key, S#state.events)}, + S3 = draw_arrow(FromPos, ToPos, S2), + draw_label(Label, FromName, ToName, FromPos, ToPos, S3) + end. + +refresh_beep(S) -> + case S#state.refresh_needed of + false -> + gs:config(S#state.canvas, beep), + gs:config(S#state.canvas, beep), + gs:config(S#state.canvas, beep); + true -> + ignore + end. + +draw_arrow(Pos, Pos, S) -> + S; +draw_arrow(FromPos, ToPos, S) -> + Y = S#state.y_pos, + CanOpts = [{coords, [{FromPos , Y}, {ToPos, Y}]}, + {arrow, last},{width, 1}, {fg, black}], + gs:line(S#state.canvas, CanOpts), + S. + +draw_label(Label, FromName, ToName, FromPos, ToPos, S) -> + Colour = + if + FromName =:= ?unknown, + ToName =:= ?unknown -> blue; %turquoise; + FromName =:= ?unknown -> orange; + ToName =:= ?unknown -> orange; + FromPos =:= ToPos -> blue; + true -> red + end, + Scale = S#state.scale, + X = lists:min([FromPos, ToPos]) + (6 * Scale), + Y = S#state.y_pos, + write_text(Label, X, Y, Colour, S), + S. + +draw_all_actors(State) -> + Scale = State#state.scale, + Fun = fun(A, X) -> + draw_actor(A, X, State), + X + (?incr_x * Scale) + end, + lists:foldl(Fun, ?initial_x * Scale, State#state.actors), + State. + +%% Returns: {NeedsRefreshBool, {ActorPos, NewsS, NewActors}} +ensure_actor(Name, S) -> + do_ensure_actor(Name, S, S#state.actors, 0). + +do_ensure_actor(Name, S, [H | _], N) when H#actor.name =:= Name -> + Pos = (?initial_x + (N * ?incr_x)) * S#state.scale, + {false, {Name, Pos, S}}; +do_ensure_actor(Name, S, [_ | T], N) -> + do_ensure_actor(Name, S, T, N + 1); +do_ensure_actor(Name, S, [], N) -> + %% A brand new actor, let's see if it does fit + Pos = (?initial_x + (N * ?incr_x)) * S#state.scale, + MaxActors = S#state.max_actors, + if + is_integer(MaxActors), N > MaxActors -> + %% Failed on max_actors limit, put into unknown + %% Assume that unknown always is in actor list + ensure_actor(?unknown, S); + Pos > (S#state.canvas_width - ((?initial_x - 15) * S#state.scale)) -> + %% New actor does not fit in canvas, refresh needed + A = create_actor(Name), + draw_actor(A, Pos, S), + {true, {Name, Pos, S#state{actors = S#state.actors ++ [A]}}}; + true -> + %% New actor fits in canvas. Draw the new actor. + A = create_actor(Name), + draw_actor(A, Pos, S), + {false, {Name, Pos, S#state{actors = S#state.actors ++ [A]}}} + end. + +draw_actor(A, LineX, S) -> + Scale = S#state.scale, + TextX = LineX - (5 * Scale), + TextY = ?initial_y * Scale, + LineTopY = TextY + ((?incr_y / 2) * Scale), + LineBotY = S#state.canvas_height - ((?incr_y / 2) * Scale), + Colour = case A#actor.name of + ?unknown -> orange; + _ -> red + end, + write_text(A#actor.string, TextX, TextY, Colour, S), + LineOpt = [{coords, [{LineX, LineTopY}, {LineX, LineBotY}]}, + {width, 1}, {fg, Colour}], + gs:line(S#state.canvas, LineOpt). + +toggle_search_for_actor(ActorName,S) -> + case S#state.display_mode of + all -> + io:format("~p: search for: ~p ++ ~p~n", [?MODULE, [], [ActorName]]), + %% Search for this actor + Key = S#state.first_event, + Actors = [ActorName], + Mode = {search_actors, forward, Key, Actors}, + change_display_mode(Mode, S); + {search_actors, Dir, Key, Actors}-> + Actors2 = + case lists:member(ActorName, Actors) of + true -> + io:format("~p: search for: ~p -- ~p~n", [?MODULE, Actors, [ActorName]]), + %% Remove actor from search list + Actors -- [ActorName]; + false -> + io:format("~p: search for: ~p ++ ~p~n", [?MODULE, Actors, [ActorName]]), + %% Add actor from search list + [ActorName | Actors] + end, + Mode2 = {search_actors, Dir, Key, Actors2}, + change_display_mode(Mode2, S) + end. + +move_actor(From, To, Actors, S) -> + Pos = #actor.name, + ToName = To#actor.name, + FromName = From#actor.name, + ToIx = actor_index(ToName, Pos, Actors), + FromIx = actor_index(FromName, Pos, Actors), + if + FromIx =/= 0, ToIx =/= 0, ToIx > FromIx -> + Actors2 = lists:keydelete(FromName, Pos, Actors), + Actors3 = insert_actor_after(From, To, Actors2), + S2 = S#state{actors = Actors3}, + refresh_main_window(S2); + FromIx =/= 0, ToIx =/= 0 -> + Actors2 = lists:keydelete(FromName, Pos, Actors), + Actors3 = insert_actor_before(From, To, Actors2), + S2 = S#state{actors = Actors3}, + refresh_main_window(S2); + true -> + %% Ignore + S + end. + +insert_actor_after(From, To, [H | T]) -> + case To#actor.name =:= H#actor.name of + true -> [H, From | T]; + false -> [H | insert_actor_after(From, To, T)] + end; +insert_actor_after(_From, _To, []) -> + []. + +insert_actor_before(From, To, [H | T]) -> + case To#actor.name =:= H#actor.name of + true -> [From, H | T]; + false -> [H | insert_actor_before(From, To, T)] + end; +insert_actor_before(_From, _To, []) -> + []. + +actor_index(_Key, _Pos, []) -> + 0; +actor_index(Key, Pos, [H | T]) -> + case Key =:= element(Pos, H) of + false -> actor_index(Key, Pos, T) + 1; + true -> 1 + end. + +y_to_n(Y, S) -> + Y2 = ((Y / S#state.scale) - ?initial_y + (?incr_y / 2)), + N = round(Y2 / ?incr_y - 0.2), + MaxN = queue_length(S#state.events), + if + N =< 0 -> actor; + N > MaxN -> actor; + true -> {event, N} + end. + +x_to_n(X, S) -> + Scale = S#state.scale, + Len = length(S#state.actors), + X2 = X - (?initial_x * Scale), + N = X2 / (?incr_x * Scale), + N2 = trunc(N + 1.5), + if + N2 > Len -> Len; + N2 < 1 -> 1; + true -> N2 + end. + +write_text(Text, X, Y, Colour, S) -> + Opt = [{coords, [{X, Y - (?incr_y * S#state.scale / 2)}]}, + {font, S#state.font}, {fg, Colour}, {text, Text}], + gs:text(S#state.canvas, Opt). + +create_contents_window(Event, S) -> + Options = [{viewer_pid, self()}, + {event, Event}, + {event_order, S#state.event_order}, + {active_filter, S#state.active_filter} + | S#state.filters], + case et_gs_contents_viewer:start_link(Options) of + {ok, _Pid} -> + S; + {error, Reason} -> + ok = error_logger:format("~p(~p): create_contents_window(~p) ->~n ~p~n", + [?MODULE, self(), Options, Reason]), + S + end. + +%%%---------------------------------------------------------------------- +%%% String padding of actors +%%%---------------------------------------------------------------------- + +create_actor(Name) -> + String = name_to_string(Name), + PaddedString = pad_string(String, 8), + #actor{name = Name, string = PaddedString}. + +name_to_string(Name) -> + case catch io_lib:format("~s", [Name]) of + {'EXIT', _} -> lists:flatten(io_lib:format("~w", [Name])); + GoodString -> lists:flatten(GoodString) + end. + +pad_string(Atom, MinLen) when is_atom(Atom) -> + pad_string(atom_to_list(Atom), MinLen); +pad_string(String, MinLen) when is_integer(MinLen), MinLen >= 0 -> + Len = length(String), + case Len >= MinLen of + true -> + String; + false -> + String ++ lists:duplicate(MinLen - Len, $ ) + end. + +%%%---------------------------------------------------------------------- +%%% Queue management +%%%---------------------------------------------------------------------- + +queue_new() -> + {0, [], []}. + +queue_in(X, {Size, In, Out}) -> + {Size + 1, [X | In], Out}. + +%% queue_out(Q) -> +%% case Q of +%% {Size, In, [H | Out]} -> {{value, H}, {Size - 1, In, Out}}; +%% {Size, [], []} -> {empty, {Size, [], []}}; +%% {Size, In, _} -> queue_out({Size, [], lists:reverse(In)}) +%% end. + +queue_to_list({_Size, [], Out}) -> + Out; +queue_to_list({_Size, In, Out}) -> + Out ++ lists:reverse(In). + +queue_length({Size, _In, _Out}) -> + Size. + +list_to_queue(List) when is_list(List) -> + {length(List), [], List}. diff --git a/lib/et/src/et_internal.hrl b/lib/et/src/et_internal.hrl index b6f84f5b4b..419d35afcd 100644 --- a/lib/et/src/et_internal.hrl +++ b/lib/et/src/et_internal.hrl @@ -1,23 +1,29 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- %% Purpose: Definition of internal data structures %%---------------------------------------------------------------------- +-define(detail_level_min, 0). +-define(detail_level_max, 100). + -record(filter, {name, function}). + +-define(DEFAULT_FILTER_NAME, all). +-define(DEFAULT_FILTER, #filter{name = ?DEFAULT_FILTER_NAME, function = fun(E) -> E end}). diff --git a/lib/et/src/et_selector.erl b/lib/et/src/et_selector.erl index 845359622d..f39f21aa70 100644 --- a/lib/et/src/et_selector.erl +++ b/lib/et/src/et_selector.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- @@ -39,16 +39,16 @@ %% RawPattern = detail_level() %% TracePattern = erlang_trace_pattern_match_spec() %% -%% detail_level() = min | max | integer(X) when X =< 0, X >= 100 +%% detail_level() = min | max | integer(X) when X >= 0, X =< 100 %% -%% min - minimum level of tracing (ignore calls to report_event/4,5) -%% max - maximum level of tracing (all calls to report_event/4,5) +%% min - minimum level of tracing (ignore calls to trace_me/4,5) +%% max - maximum level of tracing (all calls to trace_me/4,5) %% integer() - explicit detail level of tracing %%---------------------------------------------------------------------- make_pattern(undefined) -> {undefined, undefined}; -make_pattern({Mod, Pattern}) when atom(Mod) -> +make_pattern({Mod, Pattern}) when is_atom(Mod) -> case Pattern of min -> {Mod, []}; @@ -57,7 +57,7 @@ make_pattern({Mod, Pattern}) when atom(Mod) -> Body = [], Cond = [], {Mod, [{Head, Cond, Body}]}; - DetailLevel when integer(DetailLevel) -> + DetailLevel when is_integer(DetailLevel) -> Head = ['$1', '_', '_', '_', '_'], Body = [], Cond = [{ '<', '$1', DetailLevel}], @@ -80,28 +80,31 @@ make_pattern({Mod, Pattern}) when atom(Mod) -> %% detail_level() = min | max | integer(X) when X =<0, X >= 100 %% empty_match_spec() = [] %% -%% Min detail level deactivates tracing of calls to report_event/4,5 +%% Min detail level deactivates tracing of calls to trace_me/4,5 %% -%% Max detail level activates tracing of all calls to report_event/4,5 +%% Max detail level activates tracing of all calls to trace_me/4,5 %% %% integer(X) detail level activates tracing of all calls to -%% report_event/4,5 whose detail level argument is lesser than X. +%% trace_me/4,5 whose detail level argument is lesser than X. %% -%% An empty match spec deactivates tracing of calls to report_event/4,5 +%% An empty match spec deactivates tracing of calls to trace_me/4,5 %% -%% Other match specs activates tracing of calls to report_event/4,5 +%% Other match specs activates tracing of calls to trace_me/4,5 %% accordlingly with erlang:trace_pattern/2. %%---------------------------------------------------------------------- -change_pattern({Mod, Pattern}) when atom(Mod) -> - MFA = {Mod, report_event, 5}, +change_pattern({Mod, Pattern}) when is_atom(Mod) -> + MFA = {Mod, trace_me, 5}, case Pattern of undefined -> ignore; [] -> + error_to_exit(old_ctp(MFA)), error_to_exit(dbg:ctp(MFA)), error_to_exit(dbg:p(all, clear)); - List when list(List) -> + List when is_list(List) -> + error_to_exit(old_ctp(MFA)), + error_to_exit(old_tp(MFA, Pattern)), error_to_exit(dbg:ctp(MFA)), error_to_exit(dbg:tp(MFA, Pattern)), error_to_exit(dbg:p(all, [call, timestamp])); @@ -110,6 +113,18 @@ change_pattern({Mod, Pattern}) when atom(Mod) -> end, ok. +old_ctp({Mod, _Fun, Args}) -> + case Mod of + et -> ignore; + _ -> dbg:ctp({Mod, report_event, Args}) + end. + +old_tp({Mod, _Fun, Args}, Pattern) -> + case Mod of + et -> ignore; + _ -> dbg:tp({Mod, report_event, Args}, Pattern) + end. + error_to_exit({error, Reason}) -> exit(Reason); error_to_exit({ok, Res}) -> @@ -148,7 +163,7 @@ error_to_exit({ok, Res}) -> %% label - Label intended to provide a brief event summary. %% contents - All nitty gritty details of the event. %% -%% See et:report_event/4 and et:report_event/5 for details. +%% See et:trace_me/4 and et:trace_me/5 for details. %% %% Returns: %% @@ -161,7 +176,7 @@ error_to_exit({ok, Res}) -> %% should be dropped %%---------------------------------------------------------------------- -parse_event(_Mod, E) when record(E, event) -> +parse_event(_Mod, E) when is_record(E, event) -> true; parse_event(Mod, Trace) -> ParsedTS = erlang:now(), @@ -293,6 +308,14 @@ parse_event(Mod, Trace, ParsedTS, ReportedTS, From, Label, Contents) -> {msg, Msg}]}}; call -> case Contents of + [{M, trace_me, [UserDetailLevel, UserFrom, UserTo, UserLabel, UserContents]}] when M == Mod, Mod /= undefined -> + {true, #event{detail_level = UserDetailLevel, + trace_ts = ReportedTS, + event_ts = ParsedTS, + from = UserFrom, + to = UserTo, + label = UserLabel, + contents = UserContents}}; % Term [{M, report_event, [UserDetailLevel, UserFrom, UserTo, UserLabel, UserContents]}] when M == Mod, Mod /= undefined -> {true, #event{detail_level = UserDetailLevel, trace_ts = ReportedTS, @@ -358,6 +381,21 @@ parse_event(Mod, Trace, ParsedTS, ReportedTS, From, Label, Contents) -> {to, From}, {mfa, MFA}, {return, ReturnValue}]}}; + exception_from -> + DetailLevel = 54, + [MFA, Exception] = Contents, + {true, #event{detail_level = DetailLevel, + trace_ts = ReportedTS, + event_ts = ParsedTS, + from = From, + to = From, + label = Label, + contents = [{label, Label}, + {detail_level, DetailLevel}, + {from, From}, + {to, From}, + {mfa, MFA}, + {exception, Exception}]}}; spawn -> DetailLevel = 25, [NewPid, MFA] = Contents, diff --git a/lib/et/src/et_viewer.erl b/lib/et/src/et_viewer.erl index ede2c401eb..d9bd01f8d0 100644 --- a/lib/et/src/et_viewer.erl +++ b/lib/et/src/et_viewer.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2000-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%---------------------------------------------------------------------- @@ -22,66 +22,23 @@ -module(et_viewer). --behaviour(gen_server). %% External exports -export([file/1, start/0, start/1, + start/2, start_link/1, + start_link/2, + open_event/2, stop/1, get_collector_pid/1]). -%% gen_server callbacks --export([init/1, terminate/2, code_change/3, - handle_call/3, handle_cast/2, handle_info/2]). - -include("../include/et.hrl"). -include("et_internal.hrl"). -define(unknown, "UNKNOWN"). --record(state, - {parent_pid, % Pid of parent process - collector_pid, % Pid of collector process - event_order, % Field to be used as primary key - trace_pattern, % Collector trace pattern - active_filter, % Name of the active filter - filters, % List of possible filters - selected_actor, % Actor selected by user - first_event, % Key of first event (regardless of visibility) - last_event, % Key of last event (regardless of visibility) - max_events, % Maximum number of shown events - events, % Queue containg all event keys (regardless of visibility) - max_actors, % Maximum number of shown actors - actors, % List of known actors - refresh_needed, % Refresh is needed in order to show all actors - display_mode, % Display all or only matching actors - detail_level, % Show only events with lesser detail level - hide_actions, % Hide/show events where to == from actor (bool) - hide_unknown, % Hide/show events with unknown actor (bool) - is_suspended, % Suspend viewer updates (bool) - title, % GUI: Window title - win, % GUI: Window object - menubar, % GUI: Menu bar object - packer, % GUI: Packer object - width, % GUI: Window width - height, % GUI: Window height - scale, % GUI: Scaling factor on canvas - font, % GUI: Font to be used on text labels - canvas_width, % GUI: Canvas width - canvas_height, % GUI: Canvas height - canvas, % GUI: Canvas object - y_pos}). % GUI: Current y position on canvas - --record(actor, {name, string}). - --define(initial_x, 10). --define(incr_x, 60). --define(initial_y, 15). --define(incr_y, 15). --define(detail_level_min, 0). --define(detail_level_max, 100). %%%---------------------------------------------------------------------- %%% Client side @@ -99,7 +56,7 @@ %%---------------------------------------------------------------------- file(FileName) -> - start_link([{trace_client, {file, FileName}}]). + start_link([{trace_client, {file, FileName}}], default). %%---------------------------------------------------------------------- %% start() -> ok @@ -113,14 +70,19 @@ file(FileName) -> %%---------------------------------------------------------------------- start() -> - start([{trace_global, true}]). + start([{trace_global, true}], default). %%---------------------------------------------------------------------- %% start(Options) -> {ok, ViewerPid} | {error, Reason} %%---------------------------------------------------------------------- +start(GUI) when GUI =:= wx; GUI =:= gs; GUI =:= default -> + start_link([{trace_global, true}], GUI); start(Options) -> - start_link([{parent_pid, undefined} | Options]). + start_link([{parent_pid, undefined} | Options], default). + +start(Options, GUI) -> + start_link([{parent_pid, undefined} | Options], GUI). %%---------------------------------------------------------------------- %% start_link(Options) -> {ok, ViewerPid} | {error, Reason} @@ -177,216 +139,31 @@ start(Options) -> %% and returns false | true | {true, NewEvent}. %%---------------------------------------------------------------------- -start_link(Options) -> - case parse_opt(Options, default_state(), []) of - {ok, S, CollectorOpt} -> - case S#state.collector_pid of - CollectorPid when pid(CollectorPid) -> - case gen_server:start_link(?MODULE, [S], []) of - {ok, Pid} when S#state.parent_pid /= self() -> - unlink(Pid), - {ok, Pid}; - Other -> - Other - end; - undefined -> - case et_collector:start_link(CollectorOpt) of - {ok, CollectorPid} -> - S2 = S#state{collector_pid = CollectorPid}, - case gen_server:start_link(?MODULE, [S2], []) of - {ok, Pid} when S#state.parent_pid /= self() -> - unlink(Pid), - {ok, Pid}; - Other -> - Other - end; - {error, Reason} -> - {error, {et_collector, Reason}} - end - end; - {error, Reason} -> - {error, Reason} - end. - -default_state() -> - #state{parent_pid = self(), - collector_pid = undefined, - detail_level = ?detail_level_max, - active_filter = collector, - filters = [#filter{name = collector, function = fun(E) -> E end}], - event_order = trace_ts, - is_suspended = false, - max_events = 100, - first_event = first, - last_event = first, - events = queue_new(), - max_actors = 5, - actors = [create_actor(?unknown)], - selected_actor = ?unknown, - hide_actions = false, - hide_unknown = false, - refresh_needed = false, - display_mode = all, - scale = 2, - canvas_height = 0, - canvas_width = 0, - width = 800, - height = 600}. - -parse_opt([], S, CollectorOpt) -> - {ok, S, [{parent_pid, S#state.parent_pid} | CollectorOpt]}; -parse_opt([H | T], S, CollectorOpt) -> - case H of - {parent_pid, Parent} when Parent == undefined -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S#state{parent_pid = Parent}, CollectorOpt2); - {parent_pid, Parent} when pid(Parent) -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S#state{parent_pid = Parent}, CollectorOpt2); - {title, Title} -> - parse_opt(T, S#state{title = name_to_string(Title)}, CollectorOpt); - {detail_level, Level} when integer(Level), - Level >= ?detail_level_min, - Level =< ?detail_level_max -> - parse_opt(T, S#state{detail_level = Level}, CollectorOpt); - {detail_level, max} -> - parse_opt(T, S#state{detail_level = ?detail_level_max}, CollectorOpt); - {detail_level, min} -> - parse_opt(T, S#state{detail_level = ?detail_level_min}, CollectorOpt); - {is_suspended, true} -> - parse_opt(T, S#state{is_suspended = true}, CollectorOpt); - {is_suspended, false} -> - parse_opt(T, S#state{is_suspended = false}, CollectorOpt); - {scale, Scale} when integer(Scale), Scale > 0 -> - parse_opt(T, S#state{scale = Scale}, CollectorOpt); - {width, W} when integer(W), W > 0 -> - parse_opt(T, S#state{width = W, canvas_width = W}, CollectorOpt); - {height, WH} when integer(WH), WH > 0 -> - parse_opt(T, S#state{height = WH, canvas_height = WH}, CollectorOpt); - {collector_pid, Pid} when pid(Pid) -> - parse_opt(T, S#state{collector_pid = Pid}, CollectorOpt); - {collector_pid, undefined} -> - parse_opt(T, S#state{collector_pid = undefined}, CollectorOpt); - {active_filter, Name} when atom(Name) -> - parse_opt(T, S#state{active_filter = Name}, CollectorOpt); - {event_order, trace_ts} -> %% BUGBUG: Verify event_order with collector - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S#state{event_order = trace_ts}, CollectorOpt2); - {event_order, event_ts} -> %% BUGBUG: Verify event_order with collector - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S#state{event_order = event_ts}, CollectorOpt2); - {trace_port, _Port} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {trace_max_queue, _Queue} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {trace_pattern, _Pattern} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {trace_global, _Boolean} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {trace_client, _Client} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {dict_insert, {filter, Name}, Fun} -> - if - atom(Name), function(Fun) -> - F = #filter{name = Name, function = Fun}, - Filters = lists:keydelete(Name, #filter.name, S#state.filters), - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S#state{filters = Filters ++ [F]}, CollectorOpt2); - true -> - {error, {bad_option, H}} - end; - {dict_insert, {subscriber, Pid}, _Val} -> - if - pid(Pid) -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - true -> - {error, {bad_option, H}} - end; - {dict_insert, _Key, _Val} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {dict_delete, {filter, Name}} -> - Filters = lists:keydelete(Name, #filter.name, S#state.filters), - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S#state{filters = Filters}, CollectorOpt2); - {dict_delete, _Key} -> - CollectorOpt2 = [H | CollectorOpt], - parse_opt(T, S, CollectorOpt2); - {max_events, Max} when integer(Max), Max > 0-> - parse_opt(T, S#state{max_events = Max}, CollectorOpt); - {max_events, Max} when Max == infinity -> - parse_opt(T, S#state{max_events = Max}, CollectorOpt); - {max_actors, Max} when integer(Max), Max >= 0-> - parse_opt(T, S#state{max_actors = Max}, CollectorOpt); - {max_actors, Max} when Max == infinity -> - parse_opt(T, S#state{max_actors = Max}, CollectorOpt); - {actors, ActorNames} when list(ActorNames) -> - ActorNames2 = - case lists:member(?unknown, ActorNames) of - false -> [?unknown | ActorNames]; - true -> ActorNames - end, - Actors = [create_actor(Name) || Name <- ActorNames2], - parse_opt(T, S#state{actors = Actors}, CollectorOpt); - {first_event, First} -> - parse_opt(T, S#state{first_event = First}, CollectorOpt); - {hide_unknown, Bool} when Bool == false -> - parse_opt(T, S#state{hide_unknown = Bool}, CollectorOpt); - {hide_unknown, Bool} when Bool == true -> - parse_opt(T, S#state{hide_unknown = Bool}, CollectorOpt); - {hide_actions, Bool} when Bool == false -> - parse_opt(T, S#state{hide_actions = Bool}, CollectorOpt); - {hide_actions, Bool} when Bool == true -> - parse_opt(T, S#state{hide_actions = Bool}, CollectorOpt); - {display_mode, Mode = all} -> - parse_opt(T, S#state{display_mode = Mode}, CollectorOpt); - {display_mode, Mode = {search_actors, Dir, _Key, Actors}} when list(Actors), Dir == forward -> - parse_opt(T, S#state{display_mode = Mode}, CollectorOpt); - {display_mode, Mode = {search_actors, Dir, _Key, Actors}} when list(Actors), Dir == reverse -> - parse_opt(T, S#state{display_mode = Mode}, CollectorOpt); +start_link(GUI) when GUI =:= wx; GUI =:= gs; GUI =:= default -> + start_link([{trace_global, true}], GUI); +start_link(Options) -> + start_link(Options, default). - Bad -> - {error, {bad_option, Bad}} - end; -parse_opt(BadList, _S, _CollectorOpt) -> - {error, {bad_option_list, BadList}}. +start_link(Options, GUI) -> + case GUI of + wx -> + et_wx_viewer:start_link(Options); + gs -> + et_gs_viewer:start_link(Options); + default -> + start_link(Options, which_gui()) + end. -do_dict_insert({filter, Name}, Fun, S) when atom(Name), function(Fun) -> - F = #filter{name = Name, function = Fun}, - Filters = lists:keydelete(Name, #filter.name, S#state.filters), - Filters2 = lists:keysort(#filter.name, [F | Filters]), - gs:destroy(filter_menu), - create_filter_menu(S#state.active_filter, Filters2), - S#state{filters = Filters2}; -do_dict_insert(_Key, _Val, S) -> - %% ok = error_logger:format("~p(~p): handle_info({et, {dict_insert, ~p, ~p}})~n", - %% [?MODULE, self(), Key, Val]), - S. -do_dict_delete({filter, Name}, S) when atom(Name), Name /= S#state.active_filter -> - Filters = lists:keydelete(Name, #filter.name, S#state.filters), - gs:destroy(filter_menu), - create_filter_menu(S#state.active_filter, Filters), - S#state{filters = Filters}; -do_dict_delete(_Key, S) -> - %% ok = error_logger:format("~p(~p): handle_info({et, {dict_delete, ~p}})~n", - %% [?MODULE, self(), Key]), - S. +which_gui() -> + try + wx:new(), + wx:destroy(), + wx + catch _:_ -> + gs + end. -%%---------------------------------------------------------------------- -%% get_collector_pid(ViewerPid) -> CollectorPid -%% -%% Returns the identifier of the collector process -%% -%% ViewerPid = pid() -%% CollectorPid = pid() -%%---------------------------------------------------------------------- get_collector_pid(ViewerPid) -> call(ViewerPid, get_collector_pid). @@ -402,1201 +179,14 @@ get_collector_pid(ViewerPid) -> stop(ViewerPid) -> call(ViewerPid, stop). -call(ViewerPid, Request) -> - gen_server:call(ViewerPid, Request, infinity). - -%%%---------------------------------------------------------------------- -%%% Callback functions from gen_server -%%%---------------------------------------------------------------------- %%---------------------------------------------------------------------- -%% Func: init/1 -%% Returns: {ok, State} | -%% {ok, State, Timeout} | -%% ignore | -%% {stop, Reason} -%%---------------------------------------------------------------------- -init([S]) when record(S, state) -> - process_flag(trap_exit, true), - InitialTimeout = 0, - case S#state.parent_pid of - undefined -> - ignore; - Pid when pid(Pid) -> - link(Pid) - end, - et_collector:dict_insert(S#state.collector_pid, - {subscriber, self()}, - ?MODULE), - {ok, create_main_window(S), InitialTimeout}. +open_event(ViewerPid, N) -> + call(ViewerPid, {open_event, N}). %%---------------------------------------------------------------------- -%% Func: handle_call/3 -%% Returns: {reply, Reply, State} | -%% {reply, Reply, State, Timeout} | -%% {noreply, State} | -%% {noreply, State, Timeout} | -%% {stop, Reason, Reply, State} | (terminate/2 is called) -%% {stop, Reason, State} (terminate/2 is called) -%%---------------------------------------------------------------------- - -handle_call(get_collector_pid, _From, S) -> - Reply = S#state.collector_pid, - reply(Reply, S); -handle_call(stop, _From, S) -> - gs:destroy(S#state.win), - {stop, shutdown, ok, S}; -handle_call(Request, From, S) -> - ok = error_logger:format("~p(~p): handle_call(~p, ~p, ~p)~n", - [?MODULE, self(), Request, From, S]), - Reply = {error, {bad_request, Request}}, - reply(Reply, S). - -%%---------------------------------------------------------------------- -%% Func: handle_cast/2 -%% Returns: {noreply, State} | -%% {noreply, State, Timeout} | -%% {stop, Reason, State} (terminate/2 is called) -%%---------------------------------------------------------------------- - -handle_cast(Msg, S) -> - ok = error_logger:format("~p(~p): handle_cast(~p, ~p)~n", - [?MODULE, self(), Msg, S]), - noreply(S). - -%%---------------------------------------------------------------------- -%% Func: handle_info/2 -%% Returns: {noreply, State} | -%% {noreply, State, Timeout} | -%% {stop, Reason, State} (terminate/2 is called) -%%---------------------------------------------------------------------- - -handle_info({et, {insert_actors, ActorNames}}, S) when list(ActorNames) -> - Fun = fun(N, Actors) -> - case lists:keymember(N, #actor.name, Actors) of - true -> Actors; - false -> Actors ++ [create_actor(N)] - end - end, - Actors = lists:foldl(Fun, S#state.actors, ActorNames), - S2 = refresh_main_window(S#state{actors = Actors}), - noreply(S2); -handle_info({et, {delete_actors, ActorNames}}, S) when list(ActorNames)-> - Fun = fun(N, Actors) when N == ?unknown -> - Actors; - (N, Actors) -> - lists:keydelete(N, #actor.name, Actors) - end, - New = lists:foldl(Fun, S#state.actors, ActorNames), - S2 = refresh_main_window(S#state{actors = New}), - noreply(S2); -handle_info({et, {dict_insert, Key, Val}}, S) -> - S2 = do_dict_insert(Key, Val, S), - noreply(S2); -handle_info({et, {dict_delete, Key}}, S) -> - S2 = do_dict_delete(Key, S), - noreply(S2); -handle_info({et, first}, S) -> - S2 = scroll_first(S), - noreply(S2); -handle_info({et, prev}, S) -> - S2 = scroll_prev(S), - noreply(S2); -handle_info({et, next}, S) -> - S2 = scroll_next(S), - noreply(S2); -handle_info({et, last}, S) -> - S2 = scroll_last(S), - noreply(S2); -handle_info({et, refresh}, S) -> - S2 = refresh_main_window(S), - noreply(S2); -handle_info({et, {display_mode, Mode}}, S) -> - S2 = change_display_mode(Mode, S), - noreply(S2); -handle_info({et, close}, S) -> - gs:destroy(S#state.win), - {stop, shutdown, S}; -handle_info({gs, Button, click, Data, Other} = Click, S) -> - CollectorPid = S#state.collector_pid, - case Button of - close -> - gs:destroy(S#state.win), - {stop, shutdown, S}; - suspended -> - case Other of - [_Text, _Group, Bool | _] when Bool == true -> - S2 = do_suspend(S), - noreply(S2); - [_Text, _Group, Bool | _] when Bool == false -> - S2 = do_resume(S), - noreply(S2); - _ -> - click_error(Click, S), - noreply(S) - end; - hide_actions -> - case Other of - [_Text, _Group, Bool | _] when Bool == true -> - S2 = refresh_main_window(S#state{hide_actions = Bool}), - noreply(S2); - [_Text, _Group, Bool | _] when Bool == false -> - S2 = refresh_main_window(S#state{hide_actions = Bool}), - noreply(S2); - _ -> - click_error(Click, S), - noreply(S) - end; - hide_unknown -> - case Other of - [_Text, _Group, Bool | _] when Bool == true -> - S2 = refresh_main_window(S#state{hide_unknown = Bool}), - noreply(S2); - [_Text, _Group, Bool | _] when Bool == false -> - S2 = refresh_main_window(S#state{hide_unknown = Bool}), - noreply(S2); - _ -> - click_error(Click, S), - noreply(S) - end; - up -> - S2 = scroll_up(S), - noreply(S2); - down -> - S2 = scroll_down(S), - noreply(S2); - first -> - S2 = scroll_first(S), - noreply(S2); - prev -> - S2 = scroll_prev(S), - noreply(S2); - next -> - S2 = scroll_next(S), - noreply(S2); - last -> - S2 = scroll_last(S), - noreply(S2); - refresh -> - S2 = refresh_main_window(S), - noreply(S2); - {display_mode, Mode} -> - S2 = change_display_mode(Mode, S), - noreply(S2); - close_all -> - close_all(S); - close_all_others -> - close_all_others(S); - first_all -> - et_collector:multicast(CollectorPid, first), - noreply(S); - prev_all -> - et_collector:multicast(CollectorPid, prev), - noreply(S); - next_all -> - et_collector:multicast(CollectorPid, next), - noreply(S); - last_all -> - et_collector:multicast(CollectorPid, last), - noreply(S); - refresh_all -> - et_collector:multicast(CollectorPid, refresh), - noreply(S); - clear_all -> - et_collector:clear_table(CollectorPid), - et_collector:multicast(CollectorPid, refresh), - noreply(S); - load_all -> - et_collector:start_trace_client(CollectorPid, event_file, "et_viewer.log"), - noreply(S); - save_all -> - et_collector:save_event_file(CollectorPid, - "et_viewer.log", - [existing, write, keep]), - noreply(S); - {open_viewer, Scale} -> - Actors = [A#actor.name || A <- S#state.actors], - open_viewer(Scale, S#state.active_filter, Actors, S), - noreply(S); - _Level when Data == detail_level, integer(hd(Other)), - hd(Other) >= ?detail_level_min, - hd(Other) =< ?detail_level_max -> - S2 = S#state{detail_level = hd(Other)}, - noreply(S2); - _PopupMenuItem when record(Data, filter) -> - open_viewer(S#state.scale, Data#filter.name, [?unknown], S), - noreply(S); - _ -> - click_error(Click, S), - noreply(S) - end; -handle_info({gs, _Obj, destroy,_, _}, S) -> - gs:destroy(S#state.win), - {stop, shutdown, S}; -handle_info({gs, _Obj, buttonpress, _, [_Button, X, Y | _]}, S) -> - S3 = - case y_to_n(Y, S) of - actor -> - %% Actor click - case S#state.actors of - [] -> - S; - _ -> - N = x_to_n(X, S), - A = lists:nth(N, S#state.actors), - S#state{selected_actor = A} - end; - {event, N} -> - %% Event click - List = queue_to_list(S#state.events), - S2 = S#state{events = list_to_queue(List)}, - - Key = lists:nth(N, List), - Pid = S#state.collector_pid, - Fun = fun create_contents_window/2, - case et_collector:iterate(Pid, Key, -1) of - Prev when Prev == Key -> - et_collector:iterate(Pid, first, 1, Fun, S2); - Prev -> - et_collector:iterate(Pid, Prev, 1, Fun, S2) - end - end, - noreply(S3); -handle_info({gs, _Obj, buttonrelease, _, [_Button, X, Y | _]}, S) -> - S2 = - case y_to_n(Y, S) of - actor -> - %% Actor click - case S#state.actors of - [] -> - S; - Actors -> - N = x_to_n(X, S), - New = lists:nth(N, S#state.actors), - Old = S#state.selected_actor, - case New#actor.name == Old#actor.name of - true -> - A = S#state.selected_actor, - toggle_search_for_actor(A#actor.name, S); - false -> - move_actor(Old, New, Actors, S) - end - end; - {event, _N} -> - %% Event click ignored - S - end, - noreply(S2); -handle_info({gs, _Obj, keypress, _, [KeySym, _Keycode, _Shift, _Control | _]} = Key, S) -> - case KeySym of - 'c' -> - close_all_others(S); - 'C' -> - close_all(S); - 'Up' -> - S2 = scroll_up(S), - noreply(S2); - 'Down' -> - S2 = scroll_down(S), - noreply(S2); - 'f' -> - S2 = scroll_first(S), - noreply(S2); - 'p' -> - S2 = scroll_prev(S), - noreply(S2); - 'Prior' -> - S2 = scroll_prev(S), - noreply(S2); - 'n' -> - S2 = scroll_next(S), - noreply(S2); - 'Next' -> - S2 = scroll_next(S), - noreply(S2); - 'l' -> - S2 = scroll_last(S), - noreply(S2); - 'r' -> - S2 = refresh_main_window(S), - noreply(S2); - 'F' -> - et_collector:multicast(S#state.collector_pid, first), - noreply(S); - 'P' -> - et_collector:multicast(S#state.collector_pid, prev), - noreply(S); - 'N' -> - et_collector:multicast(S#state.collector_pid, next), - noreply(S); - 'L' -> - et_collector:multicast(S#state.collector_pid, last), - noreply(S); - 'R' -> - et_collector:multicast(S#state.collector_pid, refresh), - noreply(S); - - 'a' -> - S2 = S#state{display_mode = all}, - S3 = refresh_main_window(S2), - noreply(S3); - - 'equal' -> - Scale = S#state.scale, - Actors = [A#actor.name || A <- S#state.actors], - open_viewer(Scale, S#state.active_filter, Actors, S), - noreply(S); - 'plus' -> - Scale = S#state.scale + 1, - Actors = [A#actor.name || A <- S#state.actors], - open_viewer(Scale, S#state.active_filter, Actors, S), - noreply(S); - 'minus' -> - case S#state.scale of - 1 -> - gs:config(S#state.canvas, beep); - Scale -> - Actors = [A#actor.name || A <- S#state.actors], - open_viewer(Scale - 1, S#state.active_filter, Actors, S) - end, - noreply(S); - 0 -> - case lists:keysearch(collector, #filter.name, S#state.filters) of - {value, F} when record(F, filter) -> - open_viewer(S#state.scale, F#filter.name, [?unknown], S); - false -> - gs:config(S#state.canvas, beep) - end, - noreply(S); - Int when integer(Int), Int > 0, Int =< 9 -> - case catch lists:nth(Int, S#state.filters) of - F when record(F, filter) -> - open_viewer(S#state.scale, F#filter.name, [?unknown], S); - {'EXIT', _} -> - gs:config(S#state.canvas, beep) - end, - noreply(S); - - 'Shift_L' -> - noreply(S); - 'Shift_R' -> - noreply(S); - 'Caps_Lock' -> - noreply(S); - - _ -> - click_error(Key, S), - noreply(S) - end; -handle_info({gs, _Obj,configure, [], [W, H | _]}, S) -> - gs:config(S#state.packer, [{width, W}, {height, H}]), - S2 = S#state{width = W, height = H}, - noreply(S2); -handle_info(timeout, S) -> - Try = - case S#state.display_mode of - {search_actors, reverse, _, _} -> - -10; - _ -> - 10 - end, - if - S#state.is_suspended == true -> - {noreply, S, infinity}; - S#state.max_events == infinity -> - display_more_events(Try, S); - true -> - Needed = S#state.max_events - queue_length(S#state.events), - if - Needed =< 0 -> {noreply, S, infinity}; - Needed > 10 -> display_more_events(Try, S); - Needed =< 10 -> display_more_events(Needed, S) - end - end; - -handle_info({'EXIT', Pid, Reason}, S) -> - if - Pid == S#state.collector_pid -> - unlink(Pid), - gs:destroy(S#state.win), - {stop, Reason, S}; - Pid == S#state.parent_pid -> - unlink(Pid), - gs:destroy(S#state.win), - {stop, Reason, S}; - true -> - noreply(S) - end; -handle_info(Info, S) -> - ok = error_logger:format("~p(~p): handle_info(~p, ~p)~n", - [?MODULE, self(), Info, S]), - noreply(S). - -%%---------------------------------------------------------------------- -%% Func: terminate/2 -%% Purpose: Shutdown the server -%% Returns: any (ignored by gen_server) -%%---------------------------------------------------------------------- - -terminate(_Reason, _S) -> - ignore. - -%%---------------------------------------------------------------------- -%% Func: code_change/3 -%% Purpose: Convert process state when code is changed -%% Returns: {ok, NewState} -%%---------------------------------------------------------------------- - -code_change(_OldVsn, S, _Extra) -> - {ok, S}. - -%%%---------------------------------------------------------------------- -%%% Handle suspend/resume -%%%---------------------------------------------------------------------- - -reply(Reply, S) -> - case queue_length(S#state.events) of - _ when S#state.is_suspended == true -> - {reply, Reply, S, infinity}; - _ when S#state.max_events == infinity -> - {reply, Reply, S, 500}; - N when N >= S#state.max_events -> - {reply, Reply, S, infinity}; - _ -> - {reply, Reply, S, 0} - end. - -noreply(S) -> - case queue_length(S#state.events) of - _ when S#state.is_suspended == true -> - {noreply, S, infinity}; - _ when S#state.max_events == infinity -> - {noreply, S, 500}; - N when N >= S#state.max_events -> - {noreply, S, infinity}; - _ -> - {noreply, S, 0} - end. - -do_suspend(S) -> - config_suspend(S#state{is_suspended = true}). - -do_resume(S) -> - config_suspend(S#state{is_suspended = false}). - -config_suspend(S) -> - Suspended = S#state.is_suspended, - gs:config(refresh, [{enable, not Suspended}]), - gs:config(refresh_all, [{enable, not Suspended}]), - gs:config(clear_all, [{enable, not Suspended}]), - S. - -refresh_main_window(S) -> - Pid = S#state.collector_pid, - Key = S#state.first_event, - case et_collector:iterate(Pid, Key, -1) of - Prev when Prev == Key -> - scroll_first(S); - _Prev -> - S2 = S#state{last_event = S#state.first_event}, - clear_canvas(S2) - end. - -scroll_first(S) -> - S2 = S#state{first_event = first, last_event = first}, - clear_canvas(S2). - -scroll_prev(S) -> - Try = - case S#state.max_events of - infinity -> -10; - Max -> -Max - end, - Key = et_collector:iterate(S#state.collector_pid, S#state.first_event, Try), - S2 = S#state{first_event = Key, last_event = Key}, - clear_canvas(S2). - -scroll_next(S) -> - S2 = S#state{first_event = S#state.last_event}, - clear_canvas(S2). - -scroll_up(S) -> - Key = et_collector:iterate(S#state.collector_pid, S#state.first_event, -5), - S2 = S#state{first_event = Key, last_event = Key}, - clear_canvas(S2). - -scroll_down(S) -> - Key = et_collector:iterate(S#state.collector_pid, S#state.first_event, 5), - S2 = S#state{first_event = Key, last_event = Key}, - clear_canvas(S2). - -scroll_last(S) -> - S2 = S#state{first_event = last, last_event = last}, - clear_canvas(S2). - -change_display_mode(Mode, S) -> - case Mode of - all -> - S2 = S#state{display_mode = Mode}, - refresh_main_window(S2); - {search_actors, _Dir, _Key, []} -> - S2 = S#state{display_mode = all}, - refresh_main_window(S2); - {search_actors, _Dir, Key, Actors} when list(Actors) -> - Pid = S#state.collector_pid, - Prev = et_collector:iterate(Pid, Key, -1), - S2 = S#state{first_event = Prev, - last_event = Prev, - display_mode = Mode}, - clear_canvas(S2) - end. - -close_all(S) -> - et_collector:multicast(S#state.collector_pid, close), - timer:sleep(timer:seconds(1)), - spawn(et_collector, stop, [S#state.collector_pid]), - gs:destroy(S#state.win), - {stop, shutdown, S}. - -close_all_others(S) -> - Fun = - fun({{subscriber, Pid}, _}) -> - if - Pid == self() -> - ignore; - true -> - unlink(Pid), - Pid ! {et, close} - end - end, - All = et_collector:dict_match(S#state.collector_pid, - {{subscriber, '_'}, '_'}), - lists:foreach(Fun, All), - noreply(S). - -click_error(Click, S) -> - gs:config(S#state.canvas, beep), - io:format("~p: ignored: ~p~n", [?MODULE, Click]). - -%%%---------------------------------------------------------------------- -%%% Clone viewer -%%%---------------------------------------------------------------------- -open_viewer(Scale, FilterName, Actors, S) -> - Filters = [{dict_insert, {filter, F#filter.name}, F#filter.function} - || F <- S#state.filters], - Options = - [{parent_pid, S#state.parent_pid}, - {title, S#state.title}, - {collector_pid, S#state.collector_pid}, - {is_suspended, S#state.is_suspended}, - {detail_level, S#state.detail_level}, - {active_filter, FilterName}, - {event_order, S#state.event_order}, - {first_event, S#state.first_event}, - {max_events, S#state.max_events}, - {max_actors, S#state.max_actors}, - {hide_actions, S#state.hide_actions}, - {hide_unknown, S#state.hide_unknown}, - {is_suspended, S#state.is_suspended}, - {actors, Actors}, - {scale, Scale}, - {width, S#state.width}, - {height, S#state.height} | Filters], - case start_link(Options) of - {ok, ViewerPid} -> - unlink(ViewerPid), - ok; - {error, Reason} -> - ok = error_logger:format("~p: Failed to start a new window: ~p~n", - [?MODULE, Reason]) - end. - -%%%---------------------------------------------------------------------- -%%% Handle graphics -%%%---------------------------------------------------------------------- - -create_main_window(S) -> - Font = select_font(S#state.scale), - GS = gs:start(), - Name = name_to_string(S#state.active_filter), - Title = case S#state.title of - undefined -> atom_to_list(?MODULE); - Explicit -> name_to_string(Explicit) - end, - WinOpt = [{title, Title ++ " (filter: " ++ Name ++ ")"}, - {configure, true}, - {width, S#state.width}, - {height, S#state.height}], - Win = gs:window(GS, WinOpt), - Bar = gs:menubar(Win, []), - - create_file_menu(Bar), - create_viewer_menu(Bar), - create_collector_menu(Bar), - gs:menubutton(filter_button, Bar, [{label, {text, "Filter"}}]), - create_filter_menu(S#state.active_filter, S#state.filters), - create_help_menu(Bar), - - config_suspend(S), - - PackerOpt = [{packer_x, [{fixed, 5}, {fixed, 40}, {fixed, 40}, - {stretch, 1}, {fixed, 5}]}, - {packer_y, [{fixed, 30}, {fixed, 30}, - {stretch, 1}, {fixed, 30}]}, - {x, 0}, {y, 30}], - Packer = gs:frame(Win, PackerOpt), - gs:checkbutton(suspended, Packer, [{label,{text,"Freeze"}}, - {x, 10}, {y, 0}, - {width, 120}, {align, w}, - {select, S#state.is_suspended}]), - gs:checkbutton(hide_actions, Packer, [{label,{text,"Hide From=To"}}, - {x, 10}, {y, 20}, - {width, 120}, {align, w}, - {select, S#state.hide_actions}]), - gs:checkbutton(hide_unknown, Packer, [{label,{text,"Hide Unknown"}}, - {x, 10}, {y, 40}, - {width, 120}, {align, w}, - {select, S#state.hide_unknown}]), - gs:scale(Packer, [{text,"Detail Level"}, - {range, {?detail_level_min, ?detail_level_max}}, - {orient, horizontal}, - {x, 150}, {y, 0}, {height, 65}, {width, 200}, - {pos, S#state.detail_level}, {data, detail_level}]), - CanvasW = calc_canvas_width(S), - CanvasH = calc_canvas_height(S), - CanOpt = [{pack_xy, {{2, 4}, 3}}, {vscroll, right}, {hscroll, bottom}, - {scrollregion, {2, 2, CanvasW, CanvasH}}], - Canvas = gs:canvas(Packer, CanOpt), - gs:config(Canvas, [{buttonpress, true}, {buttonrelease, true}]), - gs:config(Packer, [{width, S#state.width}, {height, S#state.height}]), - gs:config(Win, [{map, true}, {keypress, true}]), - S2 = S#state{title = Title, - win = Win, font = Font, packer = Packer, - canvas_width = CanvasW, canvas_height = CanvasH, - canvas = Canvas, - y_pos = ?initial_y * S#state.scale}, - draw_all_actors(S2). - -select_font(Scale) when integer(Scale) -> - case Scale of - 1 -> {courier, 7}; - 2 -> {courier, 10}; - 3 -> {courier, 12}; - 4 -> {courier, 14}; - S -> {courier, S * 4} - end. - -create_file_menu(Bar) -> - Button = gs:menubutton(Bar, [{label, {text, "File"}}]), - Menu = gs:menu(Button, []), - gs:menuitem(close_all, Menu, [{label, {text, "Close Collector and all Viewers (C) "}}]), - gs:menuitem(close_all_others, Menu, [{label, {text, "Close other Viewers, but keep Collector (c)"}}]), - gs:menuitem(close, Menu, [{label, {text, "Close this Viewer, but keep Collector"}}]), - gs:menuitem(Menu, [{itemtype, separator}]), - - gs:menuitem(clear_all, Menu, [{label, {text, "Clear Collector"}}]), - gs:menuitem(load_all, Menu, [{label, {text, "Load Collector from the file \"et_viewer.log\""}}]), - gs:menuitem(save_all, Menu, [{label, {text, "Save Collector to the file \"et_viewer.log\""}}]). - -create_viewer_menu(Bar) -> - Button = gs:menubutton(Bar, [{label, {text, "Viewer"}}]), - Menu = gs:menu(Button, []), - gs:menuitem(Menu, [{label, {text, "Scroll this Viewer"}}, {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(first, Menu, [{label, {text, "First (f)"}}]), - gs:menuitem(prev, Menu, [{label, {text, "Prev (p)"}}]), - gs:menuitem(next, Menu, [{label, {text, "Next (n)"}}]), - gs:menuitem(last, Menu, [{label, {text, "Last (l)"}}]), - gs:menuitem(refresh, Menu, [{label, {text, "Refresh (r)"}}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(up, Menu, [{label, {text, "Up 5 (Up)"}}]), - gs:menuitem(down, Menu, [{label, {text, "Down 5 (Down)"}}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(Menu, [{label, {text, "Search in this Viewer"}}, {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem({mode, all}, Menu, [{label, {text, "Abort search. Display all (a)"}}]). - -create_collector_menu(Bar) -> - Button = gs:menubutton(Bar, [{label, {text, "Collector"}}]), - Menu = gs:menu(Button, []), - gs:menuitem(Menu, [{label, {text, "Scroll all Viewers"}}, {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(first_all, Menu, [{label, {text, "First (F)"}}]), - gs:menuitem(prev_all, Menu, [{label, {text, "Prev (P)"}}]), - gs:menuitem(next_all, Menu, [{label, {text, "Next (N)"}}]), - gs:menuitem(last_all, Menu, [{label, {text, "Last (L)"}}]), - gs:menuitem(refresh_all, Menu, [{label, {text, "Refresh (R)"}}]). - -create_filter_menu(ActiveFilterName, Filters) -> - Menu = gs:menu(filter_menu, filter_button, []), - Item = fun(F, N) when F#filter.name == collector -> - Label = lists:concat([pad_string(F#filter.name, 20), "(0)"]), - gs:menuitem(Menu, [{label, {text, Label}}, {data, F}]), - N + 1; - (F, N) -> - Label = lists:concat([pad_string(F#filter.name, 20), "(", N, ")"]), - gs:menuitem(Menu, [{label, {text, Label}}, {data, F}]), - N + 1 - end, - gs:menuitem(Menu, [{label, {text, "Same Filter New Scale"}}, {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - {value, Filter} = lists:keysearch(ActiveFilterName, #filter.name, Filters), - Same = lists:concat([pad_string(ActiveFilterName, 20), "(=)"]), - Larger = lists:concat([pad_string(ActiveFilterName, 20), "(+)"]), - Smaller = lists:concat([pad_string(ActiveFilterName, 20), "(-)"]), - gs:menuitem(Menu, [{label, {text, Same}}, {data, Filter}]), - gs:menuitem(Menu, [{label, {text, Smaller}}, {data, Filter}]), - gs:menuitem(Menu, [{label, {text, Larger}}, {data, Filter}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(Menu, [{label, {text, "New Filter Same Scale"}}, {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - lists:foldl(Item, 1, Filters). - -create_help_menu(Bar) -> - Button = gs:menubutton(Bar, [{label, {text, "Help"}}]), - Menu = gs:menu(Button, []), - gs:menuitem(Menu, [{label, {text, "Display details of an event"}}, - {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{label, {text, " Single click on the name tag or the arrow (Mouse-1)"}}, - {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(Menu, [{label, {text, "Toggle actor search"}}, - {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{label, {text, " Single click on the name tag (Mouse-1)"}}, - {enable,false}]), - gs:menuitem(Menu, [{itemtype, separator}]), - gs:menuitem(Menu, [{label, {text, "Move actor"}}, - {bg, lightblue}, {enable,false}]), - gs:menuitem(Menu, [{label, {text, " se drag and drop on name tag (Mouse-1)"}}, - {enable,false}]). - -clear_canvas(S) -> - gs:destroy(S#state.canvas), - CanvasW = calc_canvas_width(S), - CanvasH = calc_canvas_height(S), - CanOpt = [{pack_xy, {{2, 4}, 3}}, {vscroll, right}, {hscroll, bottom}, - {scrollregion, {2, 2, CanvasW, CanvasH}}], - Canvas = gs:canvas(S#state.packer, CanOpt), - gs:config(S#state.packer, [{width, S#state.width}, {height, S#state.height}]), - gs:config(Canvas, [{buttonpress, true}, {buttonrelease, true}]), - S2 = S#state{refresh_needed = false, - y_pos = ?initial_y * S#state.scale, - canvas = Canvas, - canvas_width = CanvasW, - canvas_height = CanvasH, - events = queue_new()}, - draw_all_actors(S2). - -calc_canvas_width(S) -> - Min = calc_min_actors(S), - CanvasW = ((2 * ?initial_x) + (Min * ?incr_x)) * S#state.scale, - lists:max([CanvasW, S#state.width - (15 * S#state.scale), S#state.canvas_width]). - -calc_canvas_height(S) -> - Min = calc_min_events(S), - CanvasH = ((2 * ?initial_y) + (Min * ?incr_y)) * S#state.scale, - lists:max([CanvasH, S#state.height - (4 * 30), S#state.canvas_height]). - -calc_min_actors(S) -> - Max = S#state.max_actors, - N = length(S#state.actors), - if - Max == infinity -> - N * 2; - Max < N -> - N; - true -> - Max - end. - -calc_min_events(S) -> - Max = S#state.max_events, - N = queue_length(S#state.events), - if - Max == infinity -> - N * 2; - Max < N -> - N; - true -> - Max - end. - -display_more_events(Try, S) -> - Name = S#state.active_filter, - {value, F} = lists:keysearch(Name, #filter.name, S#state.filters), - FilterFun = F#filter.function, - Fun = fun(Event, State) -> - case catch FilterFun(Event) of - true -> - State2 = ensure_key(Event, State), - opt_display_event(Event, State2); - {true, Event2} -> - State2 = ensure_key(Event2, State), - opt_display_event(Event2, State2); - false -> - ensure_key(Event, State); - Bad -> - Contents = {bad_filter, Name, Bad, Event}, - Event2 = Event#event{contents = Contents, - from = bad_filter, - to = bad_filter}, - State2 = ensure_key(Event2, State), - opt_display_event(Event2, State2) - end - end, - Pid = S#state.collector_pid, - S2 = et_collector:iterate(Pid, S#state.last_event, Try, Fun, S), - case queue_length(S2#state.events) - queue_length(S#state.events) of - Diff when Diff == Try -> - %% Got as much as requested, look for more - %% io:format("Done: ~p~n", [{Try, Diff}]), - {noreply, S2, 0}; - _Diff when S2#state.first_event == S#state.first_event, - S2#state.last_event == S#state.last_event -> - %% Got lesser than requested, wait a while before looking for more - %% io:format("More: ~p~n", [{Try, Diff}]), - {noreply, S2, 500}; - _Diff -> - %% Got lesser than requested, look for more - %% io:format("More2: ~p~n", [{Try, Diff}]), - {noreply, S2, 0} - end. - -ensure_key(E, S) when record(E, event), record(S, state) -> - Key = et_collector:make_key(S#state.event_order, E), - case S#state.first_event of - first -> - S#state{first_event = Key, last_event = Key}; - last -> - S#state{first_event = Key, last_event = Key}; - _ -> - S#state{last_event = Key} - end. - -opt_display_event(E, S) -> - case S#state.display_mode of - all -> - display_event(E, S); - {search_actors, _Dir, _FirstKey, Actors} -> - %% Key = S#state.last_event, - From = select_actor_name(E#event.from, S), - case lists:member(From, Actors) of - true -> - display_event(E, S); - false -> - To = select_actor_name(E#event.to, S), - case lists:member(To, Actors) of - true -> - display_event(E, S); - false -> - S - end - end - end. - -select_actor_name(Name, S) -> - case lists:keymember(Name, #actor.name, S#state.actors) of - true -> Name; - false -> ?unknown - end. - -display_event(E, S) when E#event.detail_level < S#state.detail_level -> - {FromRefresh, From} = ensure_actor(E#event.from, S), - {FromName, FromPos, S2} = From, - {ToRefresh, To} = ensure_actor(E#event.to, S2), - {ToName, ToPos, S3} = To, - if - FromRefresh /= false, ToRefresh /= false -> - Key = S#state.last_event, - refresh_beep(S), - S3#state{refresh_needed = true, - events = queue_in(Key, S3#state.events)}; - FromName == ToName -> - case S#state.hide_actions of - true -> - S3; - false -> - Label = name_to_string(E#event.label), - draw_named_arrow(Label, FromName, FromPos, ToName, ToPos, S3) - end; - true -> - Label = name_to_string(E#event.label), - draw_named_arrow(Label, FromName, FromPos, ToName, ToPos, S3) - end; -display_event(_, S) -> - S. - -draw_named_arrow(Label, FromName, FromPos, ToName, ToPos, S) -> - Key = S#state.last_event, - case S#state.y_pos + (?incr_y * S#state.scale) of - _ when S#state.hide_unknown == true, FromName == ?unknown -> - S; - _ when S#state.hide_unknown == true, ToName == ?unknown -> - S; - Y when Y > S#state.canvas_height -> - refresh_beep(S), - S#state{refresh_needed = true, - events = queue_in(Key, S#state.events)}; - Y -> - S2 = S#state{y_pos = Y, events = queue_in(Key, S#state.events)}, - S3 = draw_arrow(FromPos, ToPos, S2), - draw_label(Label, FromName, ToName, FromPos, ToPos, S3) - end. - -refresh_beep(S) -> - case S#state.refresh_needed of - false -> - gs:config(S#state.canvas, beep), - gs:config(S#state.canvas, beep), - gs:config(S#state.canvas, beep); - true -> - ignore - end. - -draw_arrow(Pos, Pos, S) -> - S; -draw_arrow(FromPos, ToPos, S) -> - Y = S#state.y_pos, - CanOpts = [{coords, [{FromPos , Y}, {ToPos, Y}]}, - {arrow, last},{width, 1}, {fg, black}], - gs:line(S#state.canvas, CanOpts), - S. - -draw_label(Label, FromName, ToName, FromPos, ToPos, S) -> - Colour = - if - FromName == ?unknown, - ToName == ?unknown -> blue; %turquoise; - FromName == ?unknown -> orange; - ToName == ?unknown -> orange; - FromPos == ToPos -> blue; - true -> red - end, - Scale = S#state.scale, - X = lists:min([FromPos, ToPos]) + (6 * Scale), - Y = S#state.y_pos, - write_text(Label, X, Y, Colour, S), - S. - -draw_all_actors(State) -> - Scale = State#state.scale, - Fun = fun(A, X) -> - draw_actor(A, X, State), - X + (?incr_x * Scale) - end, - lists:foldl(Fun, ?initial_x * Scale, State#state.actors), - State. - -%% Returns: {NeedsRefreshBool, {ActorPos, NewsS, NewActors}} -ensure_actor(Name, S) -> - do_ensure_actor(Name, S, S#state.actors, 0). - -do_ensure_actor(Name, S, [H | _], N) when H#actor.name == Name -> - Pos = (?initial_x + (N * ?incr_x)) * S#state.scale, - {false, {Name, Pos, S}}; -do_ensure_actor(Name, S, [_ | T], N) -> - do_ensure_actor(Name, S, T, N + 1); -do_ensure_actor(Name, S, [], N) -> - %% A brand new actor, let's see if it does fit - Pos = (?initial_x + (N * ?incr_x)) * S#state.scale, - MaxActors = S#state.max_actors, - if - integer(MaxActors), N > MaxActors -> - %% Failed on max_actors limit, put into unknown - %% Assume that unknown always is in actor list - ensure_actor(?unknown, S); - Pos > (S#state.canvas_width - ((?initial_x - 15) * S#state.scale)) -> - %% New actor does not fit in canvas, refresh needed - A = create_actor(Name), - draw_actor(A, Pos, S), - {true, {Name, Pos, S#state{actors = S#state.actors ++ [A]}}}; - true -> - %% New actor fits in canvas. Draw the new actor. - A = create_actor(Name), - draw_actor(A, Pos, S), - {false, {Name, Pos, S#state{actors = S#state.actors ++ [A]}}} - end. - -draw_actor(A, LineX, S) -> - Scale = S#state.scale, - TextX = LineX - (5 * Scale), - TextY = ?initial_y * Scale, - LineTopY = TextY + ((?incr_y / 2) * Scale), - LineBotY = S#state.canvas_height - ((?incr_y / 2) * Scale), - Colour = case A#actor.name of - ?unknown -> orange; - _ -> red - end, - write_text(A#actor.string, TextX, TextY, Colour, S), - LineOpt = [{coords, [{LineX, LineTopY}, {LineX, LineBotY}]}, - {width, 1}, {fg, Colour}], - gs:line(S#state.canvas, LineOpt). - -toggle_search_for_actor(ActorName,S) -> - case S#state.display_mode of - all -> - io:format("~p: search for: ~p ++ ~p~n", [?MODULE, [], [ActorName]]), - %% Search for this actor - Key = S#state.first_event, - Actors = [ActorName], - Mode = {search_actors, forward, Key, Actors}, - change_display_mode(Mode, S); - {search_actors, Dir, Key, Actors}-> - Actors2 = - case lists:member(ActorName, Actors) of - true -> - io:format("~p: search for: ~p -- ~p~n", [?MODULE, Actors, [ActorName]]), - %% Remove actor from search list - Actors -- [ActorName]; - false -> - io:format("~p: search for: ~p ++ ~p~n", [?MODULE, Actors, [ActorName]]), - %% Add actor from search list - [ActorName | Actors] - end, - Mode2 = {search_actors, Dir, Key, Actors2}, - change_display_mode(Mode2, S) - end. - -move_actor(From, To, Actors, S) -> - Pos = #actor.name, - ToName = To#actor.name, - FromName = From#actor.name, - ToIx = actor_index(ToName, Pos, Actors), - FromIx = actor_index(FromName, Pos, Actors), - if - FromIx /= 0, ToIx /= 0, ToIx > FromIx -> - Actors2 = lists:keydelete(FromName, Pos, Actors), - Actors3 = insert_actor_after(From, To, Actors2), - S2 = S#state{actors = Actors3}, - refresh_main_window(S2); - FromIx /= 0, ToIx /= 0 -> - Actors2 = lists:keydelete(FromName, Pos, Actors), - Actors3 = insert_actor_before(From, To, Actors2), - S2 = S#state{actors = Actors3}, - refresh_main_window(S2); - true -> - %% Ignore - S - end. - -insert_actor_after(From, To, [H | T]) -> - case To#actor.name == H#actor.name of - true -> [H, From | T]; - false -> [H | insert_actor_after(From, To, T)] - end; -insert_actor_after(_From, _To, []) -> - []. - -insert_actor_before(From, To, [H | T]) -> - case To#actor.name == H#actor.name of - true -> [From, H | T]; - false -> [H | insert_actor_before(From, To, T)] - end; -insert_actor_before(_From, _To, []) -> - []. - -actor_index(_Key, _Pos, []) -> - 0; -actor_index(Key, Pos, [H | T]) -> - case Key == element(Pos, H) of - false -> actor_index(Key, Pos, T) + 1; - true -> 1 - end. - -y_to_n(Y, S) -> - Y2 = ((Y / S#state.scale) - ?initial_y + (?incr_y / 2)), - N = round(Y2 / ?incr_y - 0.2), - MaxN = queue_length(S#state.events), - if - N =< 0 -> actor; - N > MaxN -> actor; - true -> {event, N} - end. - -x_to_n(X, S) -> - Scale = S#state.scale, - Len = length(S#state.actors), - X2 = X - (?initial_x * Scale), - N = X2 / (?incr_x * Scale), - N2 = trunc(N + 1.5), - if - N2 > Len -> Len; - N2 < 1 -> 1; - true -> N2 - end. - -write_text(Text, X, Y, Colour, S) -> - Opt = [{coords, [{X, Y - (?incr_y * S#state.scale / 2)}]}, - {font, S#state.font}, {fg, Colour}, {text, Text}], - gs:text(S#state.canvas, Opt). - -create_contents_window(Event, S) -> - Options = [{viewer_pid, self()}, - {event, Event}, - {event_order, S#state.event_order}, - {active_filter, S#state.active_filter} - | S#state.filters], - case et_contents_viewer:start_link(Options) of - {ok, _Pid} -> - S; - {error, Reason} -> - ok = error_logger:format("~p(~p): create_contents_window(~p) ->~n ~p~n", - [?MODULE, self(), Options, Reason]), - S - end. - -%%%---------------------------------------------------------------------- -%%% String padding of actors -%%%---------------------------------------------------------------------- - -create_actor(Name) -> - String = name_to_string(Name), - PaddedString = pad_string(String, 8), - #actor{name = Name, string = PaddedString}. - -name_to_string(Name) -> - case catch io_lib:format("~s", [Name]) of - {'EXIT', _} -> lists:flatten(io_lib:format("~w", [Name])); - GoodString -> lists:flatten(GoodString) - end. - -pad_string(Atom, MinLen) when atom(Atom) -> - pad_string(atom_to_list(Atom), MinLen); -pad_string(String, MinLen) when integer(MinLen), MinLen >= 0 -> - Len = length(String), - case Len >= MinLen of - true -> - String; - false -> - String ++ lists:duplicate(MinLen - Len, $ ) - end. - -%%%---------------------------------------------------------------------- -%%% Queue management -%%%---------------------------------------------------------------------- - -queue_new() -> - {0, [], []}. - -queue_in(X, {Size, In, Out}) -> - {Size + 1, [X | In], Out}. - -%% queue_out(Q) -> -%% case Q of -%% {Size, In, [H | Out]} -> {{value, H}, {Size - 1, In, Out}}; -%% {Size, [], []} -> {empty, {Size, [], []}}; -%% {Size, In, _} -> queue_out({Size, [], lists:reverse(In)}) -%% end. - -queue_to_list({_Size, [], Out}) -> - Out; -queue_to_list({_Size, In, Out}) -> - Out ++ lists:reverse(In). - -queue_length({Size, _In, _Out}) -> - Size. +call(ViewerPid, Request) -> + gen_server:call(ViewerPid, Request, infinity). -list_to_queue(List) when list(List) -> - {length(List), [], List}. diff --git a/lib/et/src/et_wx_contents_viewer.erl b/lib/et/src/et_wx_contents_viewer.erl new file mode 100644 index 0000000000..8a8d9ef1ee --- /dev/null +++ b/lib/et/src/et_wx_contents_viewer.erl @@ -0,0 +1,700 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2000-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%%---------------------------------------------------------------------- +%% Purpose: Displays details of a trace event +%%---------------------------------------------------------------------- + +-module(et_wx_contents_viewer). + +-behaviour(wx_object). + +%% External exports +-export([start_link/1, + stop/1]). + +%% gen_server callbacks +-export([init/1, terminate/2, code_change/3, + handle_call/3, handle_cast/2, handle_info/2, + handle_event/2]). + +-include("../include/et.hrl"). +-include("et_internal.hrl"). +-include_lib("wx/include/wx.hrl"). + +-record(state, {parent_pid, % Pid of parent process + viewer_pid, % Pid of viewer process + event_order, % Field to be used as primary key + event, % The original event + filtered_event, % Event processed by active filter + active_filter, % Name of the active filter + filters, % List of possible filters + win, % GUI: Frame object + frame, % GUI: Frame object + panel, % GUI: Panel object + width, % GUI: Window width + height, + editor, + menu_data, % GUI: Window height + wx_debug, % GUI: WX debug level + trap_exit}). % trap_exit process flag + +%%%---------------------------------------------------------------------- +%%% Client side +%%%---------------------------------------------------------------------- + +%%---------------------------------------------------------------------- +%% start_link(Options) -> {ok, ContentsPid} | {error, Reason} +%% +%% Start a viewer for the event contents as window in GS +%% +%% Options = [option()] +%% +%% option() = +%% +%% {parent_pid, pid()} | % Pid of parent process +%% {viewer_pid, pid()} | % Pid of viewer process +%% {event_order, event_order()} | % Field to be used as primary key +%% {active_filter, atom()} | % Name of the active filter +%% {filter, atom(), fun()} % A named filter fun +%% +%% event_order() = 'trace_ts' | 'event_ts' +%% ContentsPid = pid() +%% Reason = term() +%%---------------------------------------------------------------------- + +start_link(Options) -> + case parse_opt(Options, default_state()) of + {ok, S} -> + try + WxRef = wx_object:start_link(?MODULE, [S], []), + Pid = wx_object:get_pid(WxRef), + if + S#state.parent_pid =/= self() -> + unlink(Pid); + true -> + ignore + end, + {ok, Pid} + catch + error:Reason -> + {error, {'EXIT', Reason, erlang:get_stacktrace()}} + end; + {error, Reason} -> + {error, Reason} + end. + +default_state() -> + #state{parent_pid = self(), + viewer_pid = undefined, + active_filter = ?DEFAULT_FILTER_NAME, + filters = [?DEFAULT_FILTER], + width = 600, + height = 300, + wx_debug = 0, + trap_exit = true}. + +parse_opt([], S) -> + Name = S#state.active_filter, + Filters = S#state.filters, + if + S#state.event =:= undefined -> + {error, {badarg, no_event}}; + is_atom(Name) -> + case lists:keysearch(Name, #filter.name, Filters) of + {value, F} when is_record(F, filter) -> + {ok, S#state{active_filter = Name}}; + false -> + {error, {badarg, {no_such_filter, Name, Filters}}} + end + end; +parse_opt([H | T], S) -> + case H of + {parent_pid, ParentPid} when is_pid(ParentPid); ParentPid =:= undefined -> + parse_opt(T, S#state{parent_pid = ParentPid}); + {viewer_pid, ViewerPid} when is_pid(ViewerPid) -> + parse_opt(T, S#state{viewer_pid = ViewerPid}); + {wx_debug, Level} -> + parse_opt(T, S#state{wx_debug = Level}); + {trap_exit, Bool} when Bool =:= true; Bool =:= false-> + parse_opt(T, S#state{trap_exit = Bool}); + {event_order, trace_ts} -> + parse_opt(T, S#state{event_order = trace_ts}); + {event_order, event_ts} -> + parse_opt(T, S#state{event_order = event_ts}); + {event, Event} when is_record(Event, event) -> + parse_opt(T, S#state{event = Event}); + {active_filter, Name} when is_atom(Name) -> + parse_opt(T, S#state{active_filter = Name}); + F when is_record(F, filter), + is_atom(F#filter.name), + is_function(F#filter.function) -> + Filters = lists:keydelete(F#filter.name, #filter.name, S#state.filters), + Filters2 = lists:keysort(#filter.name, [F | Filters]), + parse_opt(T, S#state{filters = Filters2}); + {width, Width} when is_integer(Width), Width > 0 -> + parse_opt(T, S#state{width = Width}); + {height, Height} when is_integer(Height), Height > 0 -> + parse_opt(T, S#state{height = Height}); + Bad -> + {error, {bad_option, Bad}} + end; +parse_opt(BadList, _S) -> + {error, {bad_option_list, BadList}}. + +%%---------------------------------------------------------------------- +%% stop(ContentsPid) -> ok +%% +%% Stops a contents viewer process +%% +%% ContentsPid = pid() +%%---------------------------------------------------------------------- + +stop(ContentsPid) when is_pid(ContentsPid) -> + Type = process, + MonitorRef = erlang:monitor(Type, ContentsPid), + ContentsPid ! {stop, self()}, + receive + {'DOWN', MonitorRef, Type, ContentsPid, shutdown} -> + ok; + {'DOWN', MonitorRef, Type, ContentsPid, Reason} -> + {error, Reason} + end. + +%% call(Frame, Request) -> +%% wx_object:call(Frame, Request, infinity). + +%%%---------------------------------------------------------------------- +%%% Callback functions from gen_server +%%%---------------------------------------------------------------------- + +%%---------------------------------------------------------------------- +%% Func: init/1 +%% Returns: {ok, State} | +%% {ok, State, Timeout} | +%% ignore | +%% {stop, Reason} +%%---------------------------------------------------------------------- + +init([S]) when is_record(S, state) -> + process_flag(trap_exit, S#state.trap_exit), + case S#state.parent_pid of + undefined -> ok; + ParentPid -> link(ParentPid) + end, + wx:debug(S#state.wx_debug), + S2 = create_window(S), + {S2#state.frame, S2}. + +%%---------------------------------------------------------------------- +%% Func: handle_call/3 +%% Returns: {reply, Reply, State} | +%% {reply, Reply, State, Timeout} | +%% {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, Reply, State} | (terminate/2 is called) +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_call(Request, From, S) -> + ok = error_logger:format("~p(~p): handle_call(~p, ~p, ~p)~n", + [?MODULE, self(), Request, From, S]), + Reply = {error, {bad_request, Request}}, + {reply, Reply, S}. + +%%---------------------------------------------------------------------- +%% Func: handle_cast/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_cast(Msg, S) -> + ok = error_logger:format("~p(~p): handle_cast(~p, ~p)~n", + [?MODULE, self(), Msg, S]), + {noreply, S}. + +%%---------------------------------------------------------------------- +%% Func: handle_event/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_event(#wx{id = Id, + event = #wxCommand{type = command_menu_selected}}, + S) -> + case proplists:get_value(Id, S#state.menu_data) of + undefined -> + ignore; + Data when is_record(Data, filter) -> + F = Data, + ChildState= S#state{active_filter = F#filter.name}, + case wx_object:start_link(?MODULE, [ChildState], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid); + _ -> + ignore + end; + {hide, Actors} -> + send_viewer_event(S, {delete_actors, Actors}); + {show, Actors} -> + send_viewer_event(S, {insert_actors, Actors}); + {mode, Mode} -> + send_viewer_event(S, {mode, Mode}); + Nyi -> + ok = error_logger:format("~p: click ~p ignored (nyi)~n", + [?MODULE, Nyi]) + end, + case Id of + ?wxID_EXIT -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}; + ?wxID_SAVE -> + Event = S#state.event, + TimeStamp = + case S#state.event_order of + trace_ts -> Event#event.trace_ts; + event_ts -> Event#event.event_ts + end, + FileName = lists:flatten(["et_contents_viewer_", now_to_string(TimeStamp), ".txt"]), + Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT, + Msg = "Select a file to the events to", + case select_file(S#state.frame, Msg, filename:absname(FileName), Style) of + {ok, FileName2} -> + Bin = list_to_binary(event_to_string(Event, S#state.event_order)), + file:write_file(FileName2, Bin); + cancel -> + ok + end, + {noreply, S}; + ?wxID_PRINT -> + Html = wxHtmlEasyPrinting:new([{parentWindow, S#state.win}]), + Text = "<pre>" ++ wxTextCtrl:getValue(S#state.editor) ++ "</pre>", + wxHtmlEasyPrinting:previewText(Html, Text), + {noreply, S}; + _ -> + {noreply, S} + end; +handle_event(#wx{event = #wxKey{rawCode = KeyCode}}, S) -> + case KeyCode of + $c -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, normal, S}; + $f -> + E = S#state.filtered_event, + From = E#event.from, + send_viewer_event(S, {delete_actors, [From]}), + {noreply, S}; + $t -> + E = S#state.filtered_event, + To = E#event.to, + send_viewer_event(S, {delete_actors, [To]}), + {noreply, S}; + $b -> + E = S#state.filtered_event, + From = E#event.from, + To = E#event.to, + send_viewer_event(S, {delete_actors, [From, To]}), + {noreply, S}; + + $F -> + E = S#state.filtered_event, + From = E#event.from, + send_viewer_event(S, {insert_actors, [From]}), + {noreply, S}; + $T -> + E = S#state.filtered_event, + To = E#event.to, + send_viewer_event(S, {insert_actors, [To]}), + {noreply, S}; + $B -> + E = S#state.filtered_event, + From = E#event.from, + To = E#event.to, + send_viewer_event(S, {insert_actors, [From, To]}), + {noreply, S}; + + $s -> + E = S#state.filtered_event, + From = E#event.from, + To = E#event.to, + First = et_collector:make_key(S#state.event_order, E), + Mode = {search_actors, forward, First, [From, To]}, + send_viewer_event(S, {mode, Mode}), + {noreply, S}; + $r -> + E = S#state.filtered_event, + From = E#event.from, + To = E#event.to, + First = et_collector:make_key(S#state.event_order, E), + Mode = {search_actors, reverse, First, [From, To]}, + send_viewer_event(S, {mode, Mode}), + {noreply, S}; + $a -> + send_viewer_event(S, {mode, all}), + {noreply, S}; + + $0 -> + case lists:keysearch(?DEFAULT_FILTER_NAME, #filter.name, S#state.filters) of + {value, F} when is_record(F, filter) -> + ChildState= S#state{active_filter = F#filter.name}, + case wx_object:start_link(?MODULE, [ChildState], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid); + _ -> + ignore + end; + false -> + ignore + end, + {noreply, S}; + Int when is_integer(Int), Int > $0, Int =< $9 -> + case catch lists:nth(Int-$0, S#state.filters) of + F when is_record(F, filter) -> + ChildState= S#state{active_filter = F#filter.name}, + case wx_object:start_link(?MODULE, [ChildState], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid); + _ -> + ignore + end; + {'EXIT', _} -> + ignore + end, + {noreply, S}; + + _ -> + io:format("~p: ignored: ~p~n", [?MODULE, KeyCode]), + {noreply, S} + end; +handle_event(#wx{event = #wxClose{}}, S) -> + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}; +handle_event(#wx{event = #wxSize{size = {W, H}}}, S) -> + S2 = S#state{width = W, height = H}, + {noreply, S2}; +handle_event(Wx = #wx{}, S) -> + io:format("~p got an unexpected event: ~p\n", [self(), Wx]), + {noreply, S}. + +%%---------------------------------------------------------------------- +%% Func: handle_info/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_info({stop, _From}, S) -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}; +handle_info({'EXIT', Pid, Reason}, S) -> + if + Pid =:= S#state.parent_pid -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, Reason, S}; + true -> + {noreply, S} + end; +handle_info(Info, S) -> + ok = error_logger:format("~p(~p): handle_info(~p, ~p)~n", + [?MODULE, self(), Info, S]), + {noreply, S}. + +%%---------------------------------------------------------------------- +%% Func: terminate/2 +%% Purpose: Shutdown the server +%% Returns: any (ignored by gen_server) +%%---------------------------------------------------------------------- + +terminate(_Reason, _S) -> + ignore. + +%%---------------------------------------------------------------------- +%% Func: code_change/3 +%% Purpose: Convert process state when code is changed +%% Returns: {ok, NewState} +%%---------------------------------------------------------------------- + +code_change(_OldVsn, S, _Extra) -> + {ok, S}. + +%%%---------------------------------------------------------------------- +%%% Handle graphics +%%%---------------------------------------------------------------------- + +opt_unlink(Pid) -> + if + Pid =:= undefined -> + ignore; + true -> + unlink(Pid) + end. + +create_window(S) -> + H = S#state.height, + W = S#state.width, + Name = S#state.active_filter, + Title = lists:concat([?MODULE, " (filter: ", Name, ")"]), + WinOpt = [{size, {W,H}}], + Frame = wxFrame:new(wx:null(), ?wxID_ANY, Title, WinOpt), + wxFrame:createStatusBar(Frame), + + Panel = wxPanel:new(Frame, []), + Bar = wxMenuBar:new(), + wxFrame:setMenuBar(Frame,Bar), + create_file_menu(Bar), + Editor = wxTextCtrl:new(Panel, ?wxID_ANY, [{style, 0 + bor ?wxDEFAULT + bor ?wxTE_MULTILINE + bor ?wxTE_READONLY + bor ?wxTE_DONTWRAP}]), + Font = wxFont:new(10, ?wxFONTFAMILY_TELETYPE, ?wxNORMAL, ?wxNORMAL,[]), + TextAttr = wxTextAttr:new(?wxBLACK, [{font, Font}]), + wxTextCtrl:setDefaultStyle(Editor, TextAttr), + Sizer = wxBoxSizer:new(?wxHORIZONTAL), + wxSizer:add(Sizer, Editor, [{flag, ?wxEXPAND}, {proportion, 1}]), + FilteredEvent = config_editor(Editor, S), + S2 = S#state{win = Frame, panel = Panel, filtered_event = FilteredEvent}, + HideData = create_hide_menu(Bar, S2), + SearchData = create_search_menu(Bar, S2), + FilterData = create_filter_menu(Bar, S#state.filters), + wxFrame:connect(Frame, command_menu_selected, []), + wxFrame:connect(Frame, key_up), + wxFrame:connect(Frame, close_window, [{skip,true}]), + wxFrame:setFocus(Frame), + wxPanel:setSizer(Panel, Sizer), + wxFrame:show(Frame), + S2#state{menu_data = HideData++SearchData++FilterData, editor = Editor, frame = Frame}. + +menuitem(Menu, Id, Text, UserData) -> + Item = wxMenu:append(Menu, Id, Text), + {wxMenuItem:getId(Item), UserData}. + +create_file_menu(Bar) -> + Menu = wxMenu:new([]), + wxMenu:append(Menu, ?wxID_SAVE, "Save"), + wxMenu:append(Menu, ?wxID_PRINT,"Print"), + wxMenu:appendSeparator(Menu), + wxMenu:append(Menu, ?wxID_EXIT, "Close"), + wxMenuBar:append(Bar, Menu, "File"). + +create_filter_menu(Bar, Filters) -> + Menu = wxMenu:new([]), + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Select Filter"), [{enable, false}]), + wxMenu:appendSeparator(Menu), + Item = fun(F, {N,Acc}) when F#filter.name =:= ?DEFAULT_FILTER_NAME-> + Label = lists:concat([pad_string(F#filter.name, 20, $\ , right), "(0)"]), + MenuItem = menuitem(Menu, ?wxID_ANY, Label, F), + {N + 1, [MenuItem|Acc]}; + (F, {N, Acc}) -> + Name = F#filter.name, + Label = lists:concat([pad_string(Name, 20, $\ , right), "(", N, ")"]), + MenuItem = menuitem(Menu, ?wxID_ANY, Label, F), + {N + 1, [MenuItem|Acc]} + end, + Filters2 = lists:keysort(#filter.name, Filters), + {_,MenuData} = lists:foldl(Item, {1, []}, Filters2), + wxMenuBar:append(Bar, Menu, "Filters"), + MenuData. + +create_hide_menu(Bar, S) -> + Menu = wxMenu:new([]), + E = S#state.filtered_event, + From = E#event.from, + To = E#event.to, + MenuData = + if + S#state.viewer_pid =:= undefined -> + ignore; + From =:= To -> + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Hide actor in Viewer "), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + Hide = menuitem(Menu, ?wxID_ANY, "From=To (f|t|b)", {hide, [From]}), + wxMenu:appendSeparator(Menu), + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Show actor in Viewer "), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + Show = menuitem(Menu, ?wxID_ANY, "From=To (F|T|B)", {show, [From]}), + [Show,Hide]; + true -> + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Hide actor in Viewer "), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + Hide = [menuitem(Menu, ?wxID_ANY, "From (f)", {hide, [From]}), + menuitem(Menu, ?wxID_ANY, "To (t)", {hide, [To]}), + menuitem(Menu, ?wxID_ANY, "Both (b)", {hide, [From, To]})], + wxMenu:appendSeparator(Menu), + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Show actor in Viewer "), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + Show = [menuitem(Menu, ?wxID_ANY, "From (F)", {show, [From]}), + menuitem(Menu, ?wxID_ANY, "To (T)", {show, [To]}), + menuitem(Menu, ?wxID_ANY, "Both (B)", {show, [From, To]})], + Show++Hide + end, + wxMenuBar:append(Bar, Menu, "Hide"), + MenuData. + +create_search_menu(Bar, S) -> + Menu = wxMenu:new([]), + E = S#state.filtered_event, + From = E#event.from, + To = E#event.to, + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Search in Viewer "), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + MenuData = + if + S#state.viewer_pid =:= undefined -> + [menuitem(Menu, ?wxID_ANY, "Abort search. Display all (a)", {mode, all})]; + From =:= To -> + Key = et_collector:make_key(S#state.event_order, E), + ModeS = {search_actors, forward, Key, [From]}, + ModeR = {search_actors, reverse, Key, [From]}, + [menuitem(Menu, ?wxID_ANY, "Forward from this event (s)", {mode, ModeS}), + menuitem(Menu, ?wxID_ANY, "Reverse from this event (r)", {mode, ModeR}), + menuitem(Menu, ?wxID_ANY, "Abort search. Display all (a)", {mode, all})]; + true -> + Key = et_collector:make_key(S#state.event_order, E), + ModeS = {search_actors, forward, Key, [From, To]}, + ModeR = {search_actors, reverse, Key, [From, To]}, + [menuitem(Menu, ?wxID_ANY, "Forward from this event (s)", {mode, ModeS}), + menuitem(Menu, ?wxID_ANY, "Reverse from this event (r)", {mode, ModeR}), + menuitem(Menu, ?wxID_ANY, "Abort search. Display all (a)", {mode, all})] + end, + wxMenuBar:append(Bar, Menu, "Search"), + MenuData. + +config_editor(Editor, S) -> + Event = S#state.event, + Name = S#state.active_filter, + {value, F} = lists:keysearch(Name, #filter.name, S#state.filters), + FilterFun = F#filter.function, + case catch FilterFun(Event) of + true -> + do_config_editor(Editor, Event, lightblue, S#state.event_order); + {true, Event2} when is_record(Event2, event) -> + do_config_editor(Editor, Event2, lightblue, S#state.event_order); + false -> + do_config_editor(Editor, Event, red, S#state.event_order); + Bad -> + Contents = {bad_filter, Name, Bad}, + BadEvent = Event#event{contents = Contents}, + do_config_editor(Editor, BadEvent, red, S#state.event_order) + end. + +do_config_editor(Editor, Event, _Colour, TsKey) -> + String = event_to_string(Event, TsKey), + wxTextCtrl:appendText(Editor, String), + Event. + +%%%---------------------------------------------------------------------- +%%% String handling +%%%---------------------------------------------------------------------- + +term_to_string(Term) -> + case catch io_lib:format("~s", [Term]) of + {'EXIT', _} -> io_lib:format("~p", [Term]); + GoodString -> GoodString + end. + +now_to_string({Mega, Sec, Micro} = Now) + when is_integer(Mega), is_integer(Sec), is_integer(Micro) -> + {{Y, Mo, D}, {H, Mi, S}} = calendar:now_to_universal_time(Now), + lists:concat([Y, "-", + pad_string(Mo, 2, $0, left), "-", + pad_string(D, 2, $0, left), + "T", + pad_string(H, 2, $0, left), ":", + pad_string(Mi, 2, $0, left), ":", + pad_string(S, 2, $0, left), ".", + Micro]); +now_to_string(Other) -> + term_to_string(Other). + +event_to_string(Event, TsKey) -> + ReportedTs = Event#event.trace_ts, + ParsedTs = Event#event.event_ts, + Deep = + ["DETAIL LEVEL: ", term_to_string(Event#event.detail_level), + "\nLABEL: ", term_to_string(Event#event.label), + case Event#event.from =:= Event#event.to of + true -> + ["\nACTOR: ", term_to_string(Event#event.from)]; + false -> + ["\nFROM: ", term_to_string(Event#event.from), + "\nTO: ", term_to_string(Event#event.to)] + end, + case ReportedTs =:= ParsedTs of + true -> + ["\nPARSED: ", now_to_string(ParsedTs)]; + false -> + case TsKey of + trace_ts -> + ["\nTRACE_TS: ", now_to_string(ReportedTs), + "\nEVENT_TS: ", now_to_string(ParsedTs)]; + event_ts -> + ["\nEVENT_TS: ", now_to_string(ParsedTs), + "\nTRACE_TS: ", now_to_string(ReportedTs)] + end + end, + "\nCONTENTS:\n\n", term_to_string(Event#event.contents)], + lists:flatten(Deep). + +pad_string(Int, MinLen, Char, Dir) when is_integer(Int) -> + pad_string(integer_to_list(Int), MinLen, Char, Dir); +pad_string(Atom, MinLen, Char, Dir) when is_atom(Atom) -> + pad_string(atom_to_list(Atom), MinLen, Char, Dir); +pad_string(String, MinLen, Char, Dir) when is_integer(MinLen), MinLen >= 0 -> + Len = length(String), + case {Len >= MinLen, Dir} of + {true, _} -> + String; + {false, right} -> + String ++ lists:duplicate(MinLen - Len, Char); + {false, left} -> + lists:duplicate(MinLen - Len, Char) ++ String + end. + +send_viewer_event(S, Event) -> + case S#state.viewer_pid of + ViewerPid when is_pid(ViewerPid) -> + ViewerPid ! {et, Event}; + undefined -> + ignore + end. + +select_file(Frame, Message, DefaultFile, Style) -> + Dialog = wxFileDialog:new(Frame, + [{message, Message}, + {defaultDir, filename:dirname(DefaultFile)}, + {defaultFile, filename:basename(DefaultFile)}, + {style, Style}]), + Choice = + case wxMessageDialog:showModal(Dialog) of + ?wxID_CANCEL -> cancel; + ?wxID_OK -> {ok, wxFileDialog:getPath(Dialog)} + end, + wxFileDialog:destroy(Dialog), + Choice. diff --git a/lib/et/src/et_wx_viewer.erl b/lib/et/src/et_wx_viewer.erl new file mode 100644 index 0000000000..5cd3563aed --- /dev/null +++ b/lib/et/src/et_wx_viewer.erl @@ -0,0 +1,2122 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2000-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%%---------------------------------------------------------------------- +%% Purpose: Displays a sequence chart for trace events (messages/actions) +%%---------------------------------------------------------------------- + +-module(et_wx_viewer). + +-behaviour(gen_server). + +%% External exports +-export([start_link/1]). + +%% gen_server callbacks +-export([init/1, terminate/2, code_change/3, + handle_call/3, handle_cast/2, handle_info/2]). + +-include("../include/et.hrl"). +-include("et_internal.hrl"). +-include_lib("wx/include/wx.hrl"). + +-define(unknown, "UNKNOWN"). +-define(initial_x, 10). +-define(incr_x, 60). +-define(initial_y, 15). +-define(incr_y, 15). + +-record(state, + {parent_pid, % Pid of parent process + auto_shutdown, % Shutdown collector when last subscriber dies + collector_pid, % Pid of collector process + event_order, % Field to be used as primary key + trace_pattern, % Collector trace pattern + active_filter, % Name of the active filter + filters, % List of possible filters + filter_menu, + pending_actor, % Pending actor - move or toggle + first_event, % Key of first event (regardless of visibility) + last_event, % Key of last event (regardless of visibility) + events_per_page, % Maximum number of shown events + events, % Queue containg all event keys (regardless of visibility) + n_events, % Number of events available in the collector + max_actors, % Maximum number of shown actors + actors, % List of known actors + refresh_needed, % Refresh is needed in order to show all actors + detail_level, % Show only events with lesser detail level + hide_actions, % Hide/show events where to == from actor (bool) + hide_actors, % Hide/show events with unknown actor (bool) + display_all, + context, % display | print + title, % GUI: Window title + frame, % GUI: Window object + menubar, % GUI: Menu bar object + packer, % GUI: Packer object + width, % GUI: Window width + height, % GUI: Window height + scale, % GUI: Scaling factor on canvas + normal_font, % GUI: Font to be used on text labels + bold_font, % GUI: Font to be used on text labels + pen, + brush, + print_psdd, + print_d, + canvas_width, % GUI: Canvas width + canvas_height, % GUI: Canvas height + canvas, % GUI: Canvas object + canvas_sizer, + scroll_bar, % GUI: Canvas scroll bar + y_pos, % GUI: Current y position on canvas + menu_data, + checkbox_data, + hide_actions_box, + hide_actors_box, + status_bar, + event_file, + wx_debug, % GUI: WX debug level + trap_exit}). % trap_exit process flag + + +-record(actor, {name, string, include, exclude}). +-record(e, {pos, key, event}). + +%%%---------------------------------------------------------------------- +%%% Client side +%%%---------------------------------------------------------------------- + +start_link(Options) -> + case parse_opt(Options, default_state(), []) of + {ok, S, CollectorOpt} -> + case S#state.collector_pid of + CollectorPid when is_pid(CollectorPid) -> + case gen_server:start_link(?MODULE, [S], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid), + {ok, Pid}; + Other -> + Other + end; + undefined -> + case et_collector:start_link([{auto_shutdown, true} | CollectorOpt]) of + {ok, CollectorPid} -> + S2 = S#state{collector_pid = CollectorPid}, + case gen_server:start_link(?MODULE, [S2], []) of + {ok, Pid} when S#state.parent_pid =/= self() -> + unlink(Pid), + {ok, Pid}; + Other -> + Other + end; + {error, Reason} -> + {error, {et_collector, Reason}} + end + end; + {error, Reason} -> + {error, Reason} + end. + +default_state() -> + #state{parent_pid = self(), + collector_pid = undefined, + n_events = 0, + detail_level = ?detail_level_max, + active_filter = ?DEFAULT_FILTER_NAME, + filters = [?DEFAULT_FILTER], + event_order = trace_ts, + events_per_page = 100, + first_event = first, + last_event = first, + events = queue_new(), + max_actors = 5, + actors = [create_actor(?unknown)], + pending_actor = ?unknown, + hide_actions = false, + hide_actors = false, + display_all = true, + context = display, + refresh_needed = false, + scale = 2, + canvas_height = 0, + canvas_width = 0, + width = 800, + height = 600, + event_file = filename:absname("et_viewer.etrace"), + wx_debug = 0, + trap_exit = true}. + +parse_opt([], S, CollectorOpt) -> + {ok, S, [{parent_pid, S#state.parent_pid} | CollectorOpt]}; +parse_opt([H | T], S, CollectorOpt) -> + case H of + {parent_pid, Parent} when is_pid(Parent); Parent =:= undefined -> + parse_opt(T, S#state{parent_pid = Parent}, CollectorOpt); + {wx_debug, Level} -> + parse_opt(T, S#state{wx_debug = Level}, CollectorOpt); + {trap_exit, Bool} when Bool =:= true; Bool =:= false-> + parse_opt(T, S#state{trap_exit = Bool}, CollectorOpt); + {title, Title} -> + parse_opt(T, S#state{title = name_to_string(Title)}, CollectorOpt); + {detail_level, Level} when is_integer(Level), + Level >= ?detail_level_min, + Level =< ?detail_level_max -> + parse_opt(T, S#state{detail_level = Level}, CollectorOpt); + {detail_level, max} -> + parse_opt(T, S#state{detail_level = ?detail_level_max}, CollectorOpt); + {detail_level, min} -> + parse_opt(T, S#state{detail_level = ?detail_level_min}, CollectorOpt); + {scale, Scale} when is_integer(Scale), Scale > 0 -> + parse_opt(T, S#state{scale = Scale}, CollectorOpt); + {width, W} when is_integer(W), W > 0 -> + parse_opt(T, S#state{width = W, canvas_width = W}, CollectorOpt); + {height, WH} when is_integer(WH), WH > 0 -> + parse_opt(T, S#state{height = WH, canvas_height = WH}, CollectorOpt); + {collector_pid, Pid} when is_pid(Pid) -> + parse_opt(T, S#state{collector_pid = Pid}, CollectorOpt); + {collector_pid, undefined} -> + parse_opt(T, S#state{collector_pid = undefined}, CollectorOpt); + {active_filter, Name} when is_atom(Name) -> + parse_opt(T, S#state{active_filter = Name}, CollectorOpt); + {event_order, trace_ts} -> %% BUGBUG: Verify event_order with collector + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{event_order = trace_ts}, CollectorOpt2); + {event_order, event_ts} -> %% BUGBUG: Verify event_order with collector + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{event_order = event_ts}, CollectorOpt2); + {trace_port, _Port} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_max_queue, _Queue} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_pattern, _Pattern} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_global, _Boolean} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {trace_client, _Client} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {dict_insert, {filter, Name}, Fun} -> + if + is_atom(Name), is_function(Fun) -> + F = #filter{name = Name, function = Fun}, + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{filters = Filters ++ [F]}, CollectorOpt2); + true -> + {error, {bad_option, H}} + end; + {dict_insert, {subscriber, Pid}, _Val} -> + if + is_pid(Pid) -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + true -> + {error, {bad_option, H}} + end; + {dict_insert, _Key, _Val} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {dict_delete, {filter, Name}} -> + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S#state{filters = Filters}, CollectorOpt2); + {dict_delete, _Key} -> + CollectorOpt2 = [H | CollectorOpt], + parse_opt(T, S, CollectorOpt2); + {max_events, _Max} -> + %% Kept for backward compatibility + parse_opt(T, S, CollectorOpt); + {max_actors, Max} when is_integer(Max), Max >= 0 -> + parse_opt(T, S#state{max_actors = Max}, CollectorOpt); + {max_actors, Max} when Max =:= infinity -> + parse_opt(T, S#state{max_actors = Max}, CollectorOpt); + {actors, ActorNames} when is_list(ActorNames) -> + ActorNames2 = + case lists:member(?unknown, ActorNames) of + false -> [?unknown | ActorNames]; + true -> ActorNames + end, + Actors = [create_actor(Name) || Name <- ActorNames2], + parse_opt(T, S#state{actors = Actors}, CollectorOpt); + {include, ActorNames} when is_list(ActorNames) -> + Actors = [opt_create_actor(Name, include, S#state.actors) || Name <- ActorNames], + parse_opt(T, S#state{actors = Actors}, CollectorOpt); + {exclude, ActorNames} when is_list(ActorNames) -> + Actors = [opt_create_actor(Name, exclude, S#state.actors) || Name <- ActorNames], + parse_opt(T, S#state{actors = Actors}, CollectorOpt); + {first_event, _FirstKey} -> + %% NYI + parse_opt(T, S, CollectorOpt); + {hide_actors, Bool} when Bool =:= true; Bool =:= false -> + parse_opt(T, S#state{hide_actors = Bool}, CollectorOpt); + {hide_actions, Bool} when Bool =:= true; Bool =:= false -> + parse_opt(T, S#state{hide_actions = Bool}, CollectorOpt); + {hide_unknown, Bool} when Bool =:= true; Bool =:= false -> + %% Kept for backward compatibility + parse_opt(T, S, CollectorOpt); + {display_mode, _Mode} -> + %% Kept for backward compatibility + parse_opt(T, S, CollectorOpt); + Bad -> + {error, {bad_option, Bad}} + end; +parse_opt(BadList, _S, _CollectorOpt) -> + {error, {bad_option_list, BadList}}. + +do_dict_insert({filter, Name}, Fun, S) when is_atom(Name), is_function(Fun) -> + F = #filter{name = Name, function = Fun}, + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + Filters2 = lists:keysort(#filter.name, [F | Filters]), + S2 = create_filter_menu(S, S#state.active_filter, Filters2), + S2#state{filters = Filters2}; +do_dict_insert(_Key, _Val, S) -> + %%ok = error_logger:format("~p(~p): handle_info({et, {dict_insert, ~p, ~p}})~n", + %% [?MODULE, self(), Key, Val]), + S. + +do_dict_delete({filter, Name}, S) when is_atom(Name), Name =/= S#state.active_filter -> + Filters = lists:keydelete(Name, #filter.name, S#state.filters), + S2 = create_filter_menu(S, S#state.active_filter, Filters), + S2#state{filters = Filters}; +do_dict_delete(_Key, S) -> + %% ok = error_logger:format("~p(~p): handle_info({et, {dict_delete, ~p}})~n", + %% [?MODULE, self(), Key]), + S. + +%%%---------------------------------------------------------------------- +%%% Callback functions from gen_server +%%%---------------------------------------------------------------------- + +%%---------------------------------------------------------------------- +%% Func: init/1 +%% Returns: {ok, State} | +%% {ok, State, Timeout} | +%% ignore | +%% {stop, Reason} +%%---------------------------------------------------------------------- + +init([S]) when is_record(S, state) -> + process_flag(trap_exit, S#state.trap_exit), + case S#state.parent_pid of + undefined -> ok; + ParentPid -> link(ParentPid) + end, + wx:new(), + wx:debug(S#state.wx_debug), + et_collector:dict_insert(S#state.collector_pid, + {subscriber, self()}, + ?MODULE), + S2 = create_main_window(S), + EventsPerPage = events_per_page(S2, S2#state.height), + S3 = revert_main_window(S2#state{events_per_page = EventsPerPage}), + Timeout = timeout(S3), + {ok, S3, Timeout}. + +%%---------------------------------------------------------------------- +%% Func: handle_call/3 +%% Returns: {reply, Reply, State} | +%% {reply, Reply, State, Timeout} | +%% {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, Reply, State} | (terminate/2 is called) +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_call(get_collector_pid, _From, S) -> + Reply = S#state.collector_pid, + reply(Reply, S); +handle_call(stop, _From, S) -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, shutdown, ok, S}; +handle_call({open_event, N}, _From, S) when is_integer(N), N > 0-> + Reply = do_open_event(S, N), + reply(Reply, S); +handle_call(Request, From, S) -> + ok = error_logger:format("~p(~p): handle_call(~p, ~p, ~p)~n", + [?MODULE, self(), Request, From, S]), + Reply = {error, {bad_request, Request}}, + reply(Reply, S). + +%%---------------------------------------------------------------------- +%% Func: handle_cast/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_cast(Msg, S) -> + ok = error_logger:format("~p(~p): handle_cast(~p, ~p)~n", + [?MODULE, self(), Msg, S]), + noreply(S). + + +%%---------------------------------------------------------------------- +%% Func: handle_info/2 +%% Returns: {noreply, State} | +%% {noreply, State, Timeout} | +%% {stop, Reason, State} (terminate/2 is called) +%%---------------------------------------------------------------------- + +handle_info({et, {more_events, N}}, S) -> + %% io:format("more events: ~p \n", [N]), + S4 = + if + N =:= S#state.n_events -> + S; + true -> + Missing = S#state.events_per_page - queue_length(S#state.events), + if + Missing =:= 0 -> + update_scroll_bar(S#state{n_events = N}); + Missing > 0 -> + OldEvents = queue_to_list(S#state.events), + {S2, NewEvents} = + collect_more_events(S#state{n_events = N}, + S#state.last_event, + Missing), + S3 = replace_events(S2, OldEvents ++ NewEvents), + refresh_main_window(S3) + end + end, + noreply(S4); +handle_info({et, {insert_actors, ActorNames}}, S) when is_list(ActorNames) -> + Fun = fun(N, Actors) -> + case lists:keymember(N, #actor.name, Actors) of + true -> Actors; + false -> Actors ++ [create_actor(N)] + end + end, + Actors = lists:foldl(Fun, S#state.actors, ActorNames), + S2 = refresh_main_window(S#state{actors = Actors}), + noreply(S2); +handle_info({et, {delete_actors, ActorNames}}, S) when is_list(ActorNames)-> + Fun = fun(N, Actors) when N =:= ?unknown -> + Actors; + (N, Actors) -> + lists:keydelete(N, #actor.name, Actors) + end, + Actors = lists:foldl(Fun, S#state.actors, ActorNames), + S2 = refresh_main_window(S#state{actors = Actors}), + noreply(S2); +handle_info({et, {dict_insert, Key, Val}}, S) -> + S2 = do_dict_insert(Key, Val, S), + noreply(S2); +handle_info({et, {dict_delete, Key}}, S) -> + S2 = do_dict_delete(Key, S), + noreply(S2); +handle_info({et, first}, S) -> + S2 = scroll_first(S), + noreply(S2); +handle_info({et, prev}, S) -> + S2 = scroll_prev(S), + noreply(S2); +handle_info({et, next}, S) -> + S2 = scroll_next(S), + noreply(S2); +handle_info({et, last}, S) -> + S2 = scroll_last(S), + noreply(S2); +handle_info({et, refresh}, S) -> + S2 = revert_main_window(S), + noreply(S2); +handle_info({et, {display_mode, _Mode}}, S) -> + %% Kept for backward compatibility + noreply(S); +handle_info({et, close}, S) -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}; +handle_info(#wx{id=?wxID_HELP}, S) -> + HelpString = + "Vertical scroll:\n" + "\tUse mouse wheel and up/down arrows to scroll little.\n" + "\tUse page up/down and home/end buttons to scroll more.\n\n" + "Display details of an event:\n" + "\tLeft mouse click on the event label or the arrow.\n\n" + "Highlight actor (toggle):\n" + "\tLeft mouse click on the actor name tag.\n" + "\tThe actor name will be enclosed in square brackets [].\n\n" + "Exclude actor (toggle):\n" + "\tRight mouse click on the actor name tag.\n" + "\tThe actor name will be enclosed in round brackets ().\n\n" + "Move actor:\n" + "\tLeft mouse button drag and drop on actor name tag.\n\n" + "Display all (reset settings for hidden and/or highlighted actors):\n" + "\tPress the 'a' button.", + Dialog = + wxMessageDialog:new(S#state.frame, HelpString, + [{style, 0 + bor ?wxOK + bor ?wxICON_INFORMATION + bor ?wxSTAY_ON_TOP}, + {caption, "Help"}]), + wxMessageDialog:showModal(Dialog), + noreply(S); +handle_info(#wx{id=Id, event = #wxCommand{type = command_menu_selected}}, S=#state{filter_menu = {_,Data}}) -> + CollectorPid = S#state.collector_pid, + case get_value(Id, 3, S#state.menu_data) of + close -> + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}; + up -> + S2 = scroll_up(S), + noreply(S2); + down -> + S2 = scroll_down(S), + noreply(S2); + first -> + S2 = scroll_first(S), + noreply(S2); + prev -> + S2 = scroll_prev(S), + noreply(S2); + next -> + S2 = scroll_next(S), + noreply(S2); + last -> + S2 = scroll_last(S), + noreply(S2); + refresh -> + S2 = revert_main_window(S), + noreply(S2); + {display_mode, _Mode} -> + %% Kept for backward compatibility + noreply(S); + display_all -> + S2 = display_all(S), + noreply(S2); + close_all -> + close_all(S); + close_all_others -> + close_all_others(S); + first_all -> + et_collector:multicast(CollectorPid, first), + noreply(S); + prev_all -> + et_collector:multicast(CollectorPid, prev), + noreply(S); + next_all -> + et_collector:multicast(CollectorPid, next), + noreply(S); + last_all -> + et_collector:multicast(CollectorPid, last), + noreply(S); + refresh_all -> + et_collector:multicast(CollectorPid, refresh), + noreply(S); + clear_all -> + et_collector:clear_table(CollectorPid), + et_collector:multicast(CollectorPid, refresh), + noreply(S); + load_all -> + Style = ?wxFD_OPEN bor ?wxFD_OVERWRITE_PROMPT, + Msg = "Select a file to load events from", + S2 = + case select_file(S#state.frame, Msg, S#state.event_file, Style) of + {ok, NewFile} -> + et_collector:start_trace_client(CollectorPid, event_file, NewFile), + S#state{event_file = NewFile}; + cancel -> + S + end, + noreply(S2); + save_all -> + Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT, + Msg = "Select a file to save events to", + S2 = + case select_file(S#state.frame, Msg, S#state.event_file, Style) of + {ok, NewFile} -> + et_collector:save_event_file(CollectorPid, NewFile, [existing, write, keep]), + S#state{event_file = NewFile}; + cancel -> + S + end, + noreply(S2); + print_setup -> + S2 = print_setup(S), + noreply(S2); + print_one_page = Scope -> + S2 = print(S, Scope), + noreply(S2); + print_all_pages = Scope -> + S2 = print(S, Scope), + noreply(S2); + {open_viewer, Scale} -> + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale, S#state.active_filter, Actors, S), + noreply(S); + + _ -> + case get_value(Id, 3, Data) of + {data, F=#filter{}, Scale} -> + open_viewer(S#state.scale+Scale, F#filter.name, [?unknown], S); + {data, F=#filter{}} -> + open_viewer(S#state.scale, F#filter.name, [?unknown], S); + false -> + ok + end, + noreply(S) + end; +handle_info(#wx{event = #wxCommand{type = command_slider_updated, commandInt = Level}}, S) -> + if + Level >= ?detail_level_min, + Level =< ?detail_level_max -> + S2 = S#state{detail_level = Level}, + S3 = revert_main_window(S2), + noreply(S3); + + true -> + noreply(S) + end; +handle_info(#wx{id = Id, event = #wxCommand{type = command_checkbox_clicked, commandInt = Int}}, S) -> + case get_value(Id, 2, S#state.checkbox_data) of + hide_actions -> + case Int of + 1 -> + S2 = S#state{hide_actions = true}, + S3 = revert_main_window(S2), + noreply(S3); + 0 -> + S2 = S#state{hide_actions = false}, + S3 = revert_main_window(S2), + noreply(S3) + end; + hide_actors -> + case Int of + 1 -> + S2 = S#state{hide_actors = true}, + S3 = revert_main_window(S2), + noreply(S3); + 0 -> + S2 = S#state{hide_actors = false}, + S3 = revert_main_window(S2), + noreply(S3) + end; + false -> + noreply(S) + end; +handle_info(#wx{event = #wxMouse{type = left_down, x = X, y = Y}}, S) -> + S3 = + case y_to_n(Y, S) of + actor -> + %% Actor click + case S#state.actors of + [] -> + S; + Actors -> + N = x_to_n(X, S), + A = lists:nth(N, Actors), + S#state{pending_actor = A} + end; + {event, N} -> + %% Event click + do_open_event(S, N), + S + end, + noreply(S3); +handle_info(#wx{event = #wxMouse{type = left_up}}, S) when S#state.pending_actor =:= undefined -> + noreply(S); +handle_info(#wx{event = #wxMouse{type = left_up, x = X, y = Y}}, S) -> + S3 = + case y_to_n(Y, S) of + actor -> + %% Actor click + case S#state.actors of + [] -> + S; + Actors -> + N = x_to_n(X, S), + A = lists:nth(N, Actors), + Pending = S#state.pending_actor, + if + A#actor.name =:= Pending#actor.name -> + %% Toggle include actor + A2 = A#actor{include = not A#actor.include}, + %% io:format("include ~p: ~p -> ~p\n", + %% [A#actor.name, A#actor.include, A2#actor.include]), + Actors2 = lists:keyreplace(A#actor.name, #actor.name, Actors, A2), + DisplayAll = not lists:keymember(true, #actor.include, Actors2), + S2 = S#state{actors = Actors2, display_all = DisplayAll}, + revert_main_window(S2); + true -> + move_actor(Pending, A, Actors, S) + end + end; + {event, _N} -> + %% Event click ignored + S + end, + noreply(S3#state{pending_actor = undefined}); +handle_info(#wx{event = #wxMouse{type = right_up, x = X, y = Y}}, S) -> + S3 = + case y_to_n(Y, S) of + actor -> + %% Actor click + case S#state.actors of + [] -> + S; + Actors -> + %% Toggle exclude actor + N = x_to_n(X, S), + A = lists:nth(N, Actors), + A2 = A#actor{exclude = not A#actor.exclude}, + Actors2 = lists:keyreplace(A#actor.name, #actor.name, Actors, A2), + S2 = S#state{actors = Actors2}, + revert_main_window(S2) + end; + {event, _N} -> + %% Event click ignored + S + end, + noreply(S3#state{pending_actor = undefined}); +handle_info(#wx{event = #wxKey{keyCode = KeyCode, shiftDown = SD}}, S) -> + case KeyCode of + $C when SD =:= true -> + close_all(S); + $c -> + close_all_others(S); + ?WXK_HOME -> + S2 = scroll_first(S), + noreply(S2); + ?WXK_END -> + S2 = scroll_last(S), + noreply(S2); + ?WXK_UP -> + S2 = scroll_up(S), + noreply(S2); + ?WXK_DOWN -> + S2 = scroll_down(S), + noreply(S2); + ?WXK_PAGEUP -> + S2 = scroll_prev(S), + noreply(S2); + ?WXK_PAGEDOWN -> + S2 = scroll_next(S), + noreply(S2); + $F when SD =:= true -> + et_collector:multicast(S#state.collector_pid, first), + noreply(S); + $F -> + S2 = scroll_first(S), + noreply(S2); + $P when SD =:= true -> + et_collector:multicast(S#state.collector_pid, prev), + noreply(S); + $P -> + S2 = scroll_prev(S), + noreply(S2); + $N when SD =:= true -> + et_collector:multicast(S#state.collector_pid, next), + noreply(S); + $N -> + S2 = scroll_next(S), + noreply(S2); + $L when SD =:= true -> + et_collector:multicast(S#state.collector_pid, last), + noreply(S); + $L -> + S2 = scroll_last(S), + noreply(S2); + $R when SD =:= true -> + et_collector:multicast(S#state.collector_pid, refresh), + noreply(S); + $R -> + S2 = revert_main_window(S), + noreply(S2); + $A -> + S2 = display_all(S), + noreply(S2); + $= -> + Scale = S#state.scale, + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale, S#state.active_filter, Actors, S), + noreply(S); + Int when Int =:= $+; Int =:= ?WXK_NUMPAD_ADD -> + Scale = S#state.scale + 1, + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale, S#state.active_filter, Actors, S), + noreply(S); + Int when Int =:= $-; Int =:= ?WXK_NUMPAD_SUBTRACT -> + case S#state.scale of + 1 -> + ignore; + Scale -> + Actors = [A#actor.name || A <- S#state.actors], + open_viewer(Scale - 1, S#state.active_filter, Actors, S) + end, + noreply(S); + $0 -> + case lists:keysearch(?DEFAULT_FILTER_NAME, #filter.name, S#state.filters) of + {value, F} when is_record(F, filter) -> + open_viewer(S#state.scale, F#filter.name, [?unknown], S); + false -> + ok + end, + noreply(S); + Int when is_integer(Int), Int > $0, Int =< $9 -> + case catch lists:nth(Int-$0, S#state.filters) of + F when is_record(F, filter) -> + open_viewer(S#state.scale, F#filter.name, [?unknown], S); + {'EXIT', _} -> + ok + end, + noreply(S); + + _ -> + noreply(S) + end; +handle_info(#wx{event = #wxScroll{type = scroll_changed}} = Wx, S) -> + get_latest_scroll(Wx), + Pos = wxScrollBar:getThumbPosition(S#state.scroll_bar), + {_, LineTopY, LineBotY} = calc_y(S), + Range = LineBotY - LineTopY, + N = round(S#state.n_events * Pos / Range), + Diff = + case N - event_pos(S) of + D when D < 0 -> D - 1; + D -> D + 1 + end, + S2 = scroll_changed(S, Diff), + noreply(S2); +handle_info(timeout, S) -> + noreply(S); +handle_info({'EXIT', Pid, Reason}, S) -> + if + Pid =:= S#state.collector_pid -> + io:format("collector died: ~p\n\n", [Reason]), + wxFrame:destroy(S#state.frame), + {stop, Reason, S}; + Pid =:= S#state.parent_pid -> + wxFrame:destroy(S#state.frame), + {stop, Reason, S}; + true -> + noreply(S) + end; +handle_info(#wx{event = #wxClose{}}, S) -> + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}; +handle_info(#wx{event = #wxMouse{type = mousewheel, wheelRotation = Rot}}, S) when Rot > 0 -> + S2 = scroll_up(S), + noreply(S2); +handle_info(#wx{event = #wxMouse{type = mousewheel, wheelRotation = Rot}}, S) when Rot < 0 -> + S2 = scroll_down(S), + noreply(S2); +handle_info(#wx{event = #wxSize{size = {OldW, OldH}}} = Wx, S) -> + #wx{event = #wxSize{type = size, size = {W, H}}} = get_latest_resize(Wx), + S2 = S#state{width = W, height = H, canvas_width = W, canvas_height = H}, + EventsPerPage = events_per_page(S, H), + Diff = EventsPerPage - S#state.events_per_page, + S6 = + if + OldW =:= W, OldH =:= H, S2#state.events_per_page =:= EventsPerPage -> + S2; + Diff =:= 0 -> + refresh_main_window(S2); + Diff > 0 -> + OldEvents = queue_to_list(S2#state.events), + {S3, NewEvents} = collect_more_events(S2, S2#state.last_event, Diff), + S4 = S3#state{events_per_page = EventsPerPage}, + S5 = replace_events(S4, OldEvents ++ NewEvents), + refresh_main_window(S5); + Diff < 0 -> + OldEvents = queue_to_list(S2#state.events), + RevEvents = delete_n(lists:reverse(OldEvents), abs(Diff)), + S3 = S2#state{events_per_page = EventsPerPage}, + S4 = replace_events(S3, lists:reverse(RevEvents)), + refresh_main_window(S4) + end, + noreply(S6); +handle_info(#wx{event = #wxFocus{}}, S) -> + wxWindow:setFocus(S#state.canvas), % Get keyboard focus + noreply(S); +handle_info(#wx{event = #wxMouse{type = enter_window}}, S) -> + wxWindow:setFocus(S#state.canvas), % Get keyboard focus + noreply(S); +handle_info(#wx{event = #wxPaint{}}, S) -> + S2 = refresh_main_window(S), + noreply(S2); +handle_info(#wx{event = #wxMouse{type = T, x=X,y=Y}}, S) -> + io:format("~p ~p\n", [T, {X,Y}]), + noreply(S); +handle_info(Info, S) -> + ok = error_logger:format("~p(~p): handle_info(~p, ~p)~n", + [?MODULE, self(), Info, S]), + noreply(S). + +%%---------------------------------------------------------------------- +%% Func: terminate/2 +%% Purpose: Shutdown the server +%% Returns: any (ignored by gen_server) +%%---------------------------------------------------------------------- + +terminate(_Reason, _S) -> + ignore. + +%%---------------------------------------------------------------------- +%% Func: code_change/3 +%% Purpose: Convert process state when code is changed +%% Returns: {ok, NewState} +%%---------------------------------------------------------------------- + +code_change(_OldVsn, S, _Extra) -> + {ok, S}. + +%%%---------------------------------------------------------------------- +%%% Handle stuff +%%%---------------------------------------------------------------------- + +reply(Reply, S) -> + Timeout = timeout(S), + {reply, Reply, S, Timeout}. + +noreply(S) -> + Timeout = timeout(S), + {noreply, S, Timeout}. + +timeout(_S) -> + infinity. + +scroll_first(S) -> + EventsPerPage = S#state.events_per_page, + {S2, NewEvents} = + collect_more_events(S, first, EventsPerPage), + S3 = + case NewEvents of + [] -> + S2; + [FirstE | _] -> + S2#state{first_event = FirstE} + end, + S4 = replace_events(S3, NewEvents), + refresh_main_window(S4). + +scroll_last(S) -> + case collect_more_events(S, last, -1) of + {_, []} -> + scroll_first(S); + {S2, NewEvents} -> + [FirstE | _] = NewEvents, + S3 = replace_events(S2#state{first_event = FirstE}, NewEvents), + refresh_main_window(S3) + end. + +scroll_prev(S) -> + scroll_up(S, S#state.events_per_page). + +scroll_next(S) -> + scroll_down(S, S#state.events_per_page). + +scroll_up(S) -> + scroll_up(S, calc_scroll(S)). + +scroll_up(S, Expected) -> + N = queue_length(S#state.events), + EventsPerPage = S#state.events_per_page, + Expected2 = adjust_expected(Expected, N, EventsPerPage), + OldEvents = queue_to_list(S#state.events), + case collect_more_events(S, S#state.first_event, -Expected2) of + {_, []} -> + S; + {S2, NewEvents} -> + NewN = length(NewEvents), + if + N + NewN > EventsPerPage -> + RevAllEvents = lists:reverse(OldEvents, lists:reverse(NewEvents)), + TooMany = N + NewN - EventsPerPage, + case delete_n(RevAllEvents, TooMany) of + [] -> + S; + [LastE | _] = RevEvents -> + Events = lists:reverse(RevEvents), + S3 = replace_events(S2#state{last_event = LastE}, Events), + refresh_main_window(S3) + end; + true -> + Events = NewEvents ++ OldEvents, + LastE = lists:last(Events), + S3 = replace_events(S2#state{last_event = LastE}, Events), + refresh_main_window(S3) + end + end. + +scroll_down(S) -> + scroll_down(S, calc_scroll(S)). + +scroll_down(S, Expected) -> + N = queue_length(S#state.events), + EventsPerPage = S#state.events_per_page, + Expected2 = adjust_expected(Expected, N, EventsPerPage), + OldEvents = queue_to_list(S#state.events), + case collect_more_events(S, S#state.last_event, Expected2) of + {_, []} -> + case collect_more_events(S, S#state.first_event, N - EventsPerPage) of + {_, []} -> + S; + {S2, NewEvents} -> + Events = NewEvents ++ OldEvents, + [FirstE | _] = Events, + S3 = replace_events(S2#state{first_event = FirstE}, Events), + refresh_main_window(S3) + end; + {S2, NewEvents} -> + AllEvents = OldEvents ++ NewEvents, + case delete_n(AllEvents, length(NewEvents)) of + [] -> + scroll_first(S); + Events -> + [FirstE | _] = Events, + S3 = replace_events(S2#state{first_event = FirstE}, Events), + refresh_main_window(S3) + end + end. + +scroll_changed(S, Expected) -> + if + Expected =:= 0 -> + refresh_main_window(S); + Expected < 0 -> + %% Up + OldPos = event_pos(S), + NewPos = lists:max([OldPos + Expected, 0]), + case S#state.first_event of + #e{key = Key, pos = OldPos} -> + jump_up(S, Key, OldPos, NewPos); + first -> + scroll_first(S); + last -> + scroll_last(S) + end; + true -> + %% Down + OldPos = event_pos(S), + NewPos = lists:min([OldPos + Expected, S#state.n_events]), + case S#state.first_event of + #e{key = Key, pos = OldPos} -> + jump_down(S, Key, OldPos, NewPos); + first = Key -> + jump_down(S, Key, 0, NewPos); + last -> + scroll_last(S) + end + end. + +jump_up(S, OldKey, OldPos, NewPos) -> + Try = NewPos - OldPos, + Order = S#state.event_order, + Fun = fun(Event, #e{pos = P}) when P >= NewPos -> + Key = et_collector:make_key(Order, Event), + #e{event = Event, key = Key, pos = P - 1}; + (_, Acc) -> + Acc + end, + PrevE = et_collector:iterate(S#state.collector_pid, + OldKey, + Try, + Fun, + #e{key = OldKey, pos = OldPos}), + case collect_more_events(S, PrevE, S#state.events_per_page) of + {_, []} -> + S; + {S2, Events} -> + [FirstE | _] = Events, + S3 = replace_events(S2#state{first_event = FirstE}, Events), + refresh_main_window(S3) + end. + +jump_down(S, OldKey, OldPos, NewPos) -> + Try = NewPos - OldPos, + Order = S#state.event_order, + Fun = fun(Event, #e{pos = P}) when P < NewPos -> + Key = et_collector:make_key(Order, Event), + #e{event = Event, key = Key, pos = P + 1}; + (_, Acc) -> + Acc + end, + PrevE = et_collector:iterate(S#state.collector_pid, + OldKey, + Try, + Fun, + #e{key = OldKey, pos = OldPos}), + case collect_more_events(S, PrevE, S#state.events_per_page) of + {_, []} -> + S; + {S2, Events} -> + [FirstE | _] = Events, + S3 = replace_events(S2#state{first_event = FirstE}, Events), + refresh_main_window(S3) + end. + +adjust_expected(Expected, N, EventsPerPage) -> + if + N < EventsPerPage -> + EventsPerPage - N; + Expected < EventsPerPage -> + Expected; + true -> + EventsPerPage + end. + +calc_scroll(S) -> + lists:max([S#state.events_per_page div 3, 1]). + +revert_main_window(S) -> + {S2, Events} = revert(S), + S3 = replace_events(S2, Events), + refresh_main_window(S3). + +revert(S) -> + EventsPerPage = S#state.events_per_page, + %% Find previous event + case collect_more_events(S, S#state.first_event, -1) of + {_, []} -> + collect_more_events(S, first, EventsPerPage); + {S2, [_PrevEvent]} -> + collect_more_events(S, S2#state.first_event, EventsPerPage) + end. + +delete_n(List, 0) -> + List; +delete_n([], _) -> + []; +delete_n([_ | Tail], N) when N > 0 -> + delete_n(Tail, N - 1). + +pick_n(Rest, 0, Acc) -> + {lists:reverse(Acc), Rest}; +pick_n([], _N, Acc) -> + {lists:reverse(Acc), []}; +pick_n([Head | Tail], N, Acc) when N > 0 -> + pick_n(Tail, N - 1, [Head | Acc]). + +close_all(S) -> + close_all_others(S), + wxFrame:destroy(S#state.frame), + opt_unlink(S#state.parent_pid), + {stop, shutdown, S}. + +close_all_others(S) -> + Fun = + fun({{subscriber, Pid}, _}) -> + if + Pid =:= self() -> + ignore; + true -> + unlink(Pid), + Pid ! {et, close} + end + end, + All = et_collector:dict_match(S#state.collector_pid, + {{subscriber, '_'}, '_'}), + lists:foreach(Fun, All), + noreply(S). + +opt_unlink(Pid) -> + if + Pid =:= undefined -> + ignore; + true -> + unlink(Pid) + end. + +%%%---------------------------------------------------------------------- +%%% Clone viewer +%%%---------------------------------------------------------------------- + +open_viewer(Scale, FilterName, Actors, S) -> + Filters = [{dict_insert, {filter, F#filter.name}, F#filter.function} + || F <- S#state.filters], + Options = + [{parent_pid, S#state.parent_pid}, + {title, S#state.title}, + {collector_pid, S#state.collector_pid}, + {detail_level, S#state.detail_level}, + {active_filter, FilterName}, + {event_order, S#state.event_order}, + {first_event, S#state.first_event}, + {max_actors, S#state.max_actors}, + {hide_actions, S#state.hide_actions}, + {hide_actors, S#state.hide_actors}, + {actors, Actors}, + {scale, Scale}, + {width, S#state.width}, + {height, S#state.height} | Filters], + case start_link(Options) of + {ok, _ViewerPid} -> + %% unlink(ViewerPid), + ok; + {error, Reason} -> + ok = error_logger:format("~p: Failed to start a new window: ~p~n", + [?MODULE, Reason]) + end. + +%%%---------------------------------------------------------------------- +%%% Handle graphics +%%%---------------------------------------------------------------------- + +create_main_window(S) -> + {NormalFont, BoldFont} = select_fonts(S#state.scale), + Name = name_to_string(S#state.active_filter), + Title = case S#state.title of + undefined -> atom_to_list(?MODULE); + Explicit -> name_to_string(Explicit) + end, + Frame = wxFrame:new(wx:null(), + ?wxID_ANY, + Title ++ " (filter: " ++ Name ++ ")", + [{size, {S#state.width, S#state.height}}]), + StatusBar = wxFrame:createStatusBar(Frame), + + Panel = wxPanel:new(Frame, []), + Bar = wxMenuBar:new(), + wxFrame:setMenuBar(Frame,Bar), + MainSizer = wxBoxSizer:new(?wxVERTICAL), + + MenuData = lists:flatten([create_file_menu(Bar), + create_viewer_menu(Bar), + create_collector_menu(Bar)]), + FilterMenu = wxMenu:new([]), + S2 = create_filter_menu(S#state{filter_menu = {FilterMenu,[]}}, + S#state.active_filter, + S#state.filters), + wxMenuBar:append(Bar, FilterMenu, "Filters and scaling"), + create_help_menu(Bar), + + OptSizer = wxBoxSizer:new(?wxHORIZONTAL), + CheckSizer = wxBoxSizer:new(?wxVERTICAL), + HideActions = wxCheckBox:new(Panel, ?wxID_ANY, "Hide From=To"), + wxCheckBox:setValue(HideActions, S#state.hide_actions), + HideActors = wxCheckBox:new(Panel, ?wxID_ANY, "Hide (excluded actors)"), + wxCheckBox:setValue(HideActors, S#state.hide_actors), + CheckBoxData = [{wxCheckBox:getId(HideActions), hide_actions}, + {wxCheckBox:getId(HideActors), hide_actors}], + wxPanel:connect(Panel, command_checkbox_clicked), + wxSizer:add(CheckSizer, HideActions), + wxSizer:add(CheckSizer,HideActors), + wxSizer:add(OptSizer, CheckSizer, [{border, 10}, {flag, ?wxALL}]), + DetailLevelBox = wxStaticBoxSizer:new(?wxHORIZONTAL, + Panel, + [{label, "Detail level"}]), + DetailLevel = wxSlider:new(Panel, ?wxID_ANY, + S#state.detail_level, + ?detail_level_min, + ?detail_level_max, + [{style, ?wxSL_LABELS}, + {size, {200,-1}}]), + wxStatusBar:setStatusText(StatusBar, where_text(S)), + wxFrame:connect(Frame, command_slider_updated), + wxSizer:add(DetailLevelBox, DetailLevel), + wxSizer:add(OptSizer, DetailLevelBox, [{border, 10}, {flag, ?wxALL}]), + wxSizer:addStretchSpacer(OptSizer), + wxSizer:add(MainSizer, OptSizer), + wxSizer:add(MainSizer, + wxStaticLine:new(Panel, [{style, ?wxLI_HORIZONTAL}]), + [{flag, ?wxEXPAND}]), + + CanvasSizer = wxBoxSizer:new(?wxHORIZONTAL), + Canvas = wxPanel:new(Panel, []), + {CanvasW,CanvasH} = wxPanel:getSize(Canvas), + ScrollBar = wxScrollBar:new(Panel, ?wxID_ANY, [{style, ?wxSB_VERTICAL}]), + + wxSizer:add(CanvasSizer, Canvas, [{flag, ?wxEXPAND}, {proportion, 1}]), + wxSizer:add(CanvasSizer, ScrollBar, [{flag, ?wxEXPAND}]), + wxSizer:add(MainSizer, CanvasSizer, [{flag, ?wxEXPAND}, {proportion, 1}]), + wxPanel:connect(Canvas, left_down), + wxPanel:connect(Canvas, left_up), + wxPanel:connect(Canvas, right_up), + wxPanel:connect(Canvas, size), + wxPanel:connect(Canvas, paint), + wxPanel:connect(Canvas, key_down), + wxPanel:connect(Canvas, kill_focus), + wxPanel:connect(Canvas, enter_window, [{skip, true}]), + wxFrame:connect(Frame, command_menu_selected), + wxFrame:connect(Frame, close_window), + wxFrame:connect(ScrollBar, scroll_changed), + wxPanel:setSize(Panel, {S#state.width, S#state.height}), + wxPanel:setSizer(Panel, MainSizer), + wxFrame:show(Frame), + wxPanel:setFocus(Canvas), + wxPanel:connect(Canvas, mousewheel), + + S3 = S2#state{title = Title, + frame = Frame, packer = Panel, + normal_font = NormalFont, bold_font = BoldFont, + canvas_width = CanvasW, canvas_height = CanvasH, + canvas = Canvas, + canvas_sizer = CanvasSizer, + scroll_bar = ScrollBar, + y_pos = ?initial_y * S#state.scale, + pen = wxPen:new(), + brush = wxBrush:new(), + print_d = undefined, + print_psdd = undefined, + menu_data = MenuData, + checkbox_data = CheckBoxData, + hide_actions_box = HideActions, + hide_actors_box = HideActors, + status_bar = StatusBar}, + DC = wxClientDC:new(Canvas), + S4 = draw_all_actors(S3, DC), + wxClientDC:destroy(DC), + S4. + +where_text(#state{n_events = N} = S) -> + Pos = event_pos(S), + lists:concat([Pos, " (", N, ")"]). + +event_pos(#state{first_event = E, events = Events, n_events = Last}) -> + case E of + #e{pos = Pos} -> + Pos; + first -> + case queue_length(Events) of + 0 -> + 0; + _ -> + 1 + end; + last -> + Last + end. + +init_printers(#state{print_d = undefined, print_psdd = undefined} = S) -> + PD = wxPrintData:new(), + PSDD = wxPageSetupDialogData:new(PD), + wxPrintData:setPaperId(PD, ?wxPAPER_A4), + wxPageSetupDialogData:setMarginTopLeft(PSDD, {15,15}), + wxPageSetupDialogData:setMarginBottomRight(PSDD, {15,15}), + S#state{print_d = PD, print_psdd = PSDD}; +init_printers(#state{} = S) -> + S. + +select_fonts(Scale) when is_integer(Scale) -> + Size = + case Scale of + 1 -> 5; + 2 -> 10; + 3 -> 14; + 4 -> 20; + S -> S*6 + end, + {wxFont:new(Size, ?wxFONTFAMILY_TELETYPE, ?wxNORMAL, ?wxNORMAL,[]), + wxFont:new(Size, ?wxFONTFAMILY_TELETYPE, ?wxNORMAL, ?wxBOLD,[])}. + +get_value(Key, Pos, TupleList) when is_list(TupleList)-> + case lists:keysearch(Key, 1, TupleList) of + {value, Tuple} when is_tuple(Tuple)-> + element(Pos, Tuple); + false -> + false + end. + +menuitem(Menu, Id, Text, UserData) -> + Item = wxMenu:append(Menu, Id, Text), + {wxMenuItem:getId(Item), Item, UserData}. + +create_file_menu(Bar) -> + Menu = wxMenu:new([]), + Data = [ + menuitem(Menu, ?wxID_ANY, "Clear all events in the Collector", clear_all), + menuitem(Menu, ?wxID_ANY, "Load events to the Collector from file", load_all), + menuitem(Menu, ?wxID_ANY, "Save all events in the Collector to file", save_all), + + menuitem(Menu, ?wxID_PRINT_SETUP, "Print setup", print_setup), + menuitem(Menu, ?wxID_ANY, "Print current page", print_one_page), + menuitem(Menu, ?wxID_PRINT, "Print all pages", print_all_pages), + + menuitem(Menu, ?wxID_ANY, "Close this Viewer", close), + menuitem(Menu, ?wxID_ANY, "Close all other Viewers, but this (c)", close_all_others), + menuitem(Menu, ?wxID_ANY, "Close all Viewers and the Collector) (C) ", close_all) + ], + wxMenu:insertSeparator(Menu, 3), + wxMenu:insertSeparator(Menu, 7), + wxMenuBar:append(Bar, Menu, "File"), + Data. + +create_viewer_menu(Bar) -> + Menu = wxMenu:new([]), + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Scroll this Viewer"), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + D1 = [ + menuitem(Menu, ?wxID_ANY, "First (f)", first), + menuitem(Menu, ?wxID_ANY, "Last (l)", last), + menuitem(Menu, ?wxID_ANY, "Prev (p)", prev), + menuitem(Menu, ?wxID_ANY, "Next (n)", next), + menuitem(Menu, ?wxID_ANY, "Refresh (r)", refresh) + ], + wxMenu:appendSeparator(Menu), + D2 = [ + menuitem(Menu, ?wxID_ANY, "Up 5 (Up)", up), + menuitem(Menu, ?wxID_ANY, "Down 5 (Down)", down) + ], + wxMenu:appendSeparator(Menu), + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Actor visibility in this Viewer"), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + D3 = [menuitem(Menu, ?wxID_ANY, "Display all actors (a)", display_all)], + wxMenuBar:append(Bar, Menu, "Viewer"), + [D1,D2,D3]. + +create_collector_menu(Bar) -> + Menu = wxMenu:new([]), + wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Scroll all Viewers"), + [{enable, false}]), + wxMenu:appendSeparator(Menu), + Data = [ + menuitem(Menu, ?wxID_ANY, "First (F)", first_all), + menuitem(Menu, ?wxID_ANY, "Last (L)", last_all), + menuitem(Menu, ?wxID_ANY, "Prev (P)", prev_all), + menuitem(Menu, ?wxID_ANY, "Next (N)", next_all), + menuitem(Menu, ?wxID_ANY, "Refresh (R)", refresh_all) + ], + wxMenuBar:append(Bar, Menu, "Collector"), + Data. + +create_filter_menu(S=#state{filter_menu = {Menu,Data}}, ActiveFilterName, Filters) -> + wx:foreach(fun({_,I,_}) -> + wxMenu:delete(Menu,I); + (I) -> + try + wxMenu:delete(Menu,I) + catch + _:Reason -> + io:format("Could not delete item: ~p, because ~p.\n", [I, Reason]) + end + end, + Data), + Item = fun(F, {N, Acc}) when F#filter.name =:= all -> + Label = lists:concat([pad_string(F#filter.name, 20), "(0)"]), + {N+1, [menuitem(Menu, ?wxID_ANY, Label, {data, F})|Acc]}; + (F, {N, Acc}) -> + Label = lists:concat([pad_string(F#filter.name, 20), "(", N, ")"]), + {N+1, [menuitem(Menu, ?wxID_ANY, Label, {data, F})|Acc]} + end, + D1 = [I1 = wxMenu:append(Menu, ?wxID_ANY, "Same Filter New Scale"), + wxMenu:appendSeparator(Menu)], + wxMenuItem:enable(I1, [{enable,false}]), + {value, Filter} = lists:keysearch(ActiveFilterName, #filter.name, Filters), + Same = lists:concat([pad_string(ActiveFilterName, 20), "(=) same scale"]), + Larger = lists:concat([pad_string(ActiveFilterName, 20), "(+) bigger scale"]), + Smaller = lists:concat([pad_string(ActiveFilterName, 20), "(-) smaller scale"]), + D2 = [ + menuitem(Menu, ?wxID_ANY, Same, {data, Filter, 0}), + menuitem(Menu, ?wxID_ANY, Smaller, {data, Filter, -1}), + menuitem(Menu, ?wxID_ANY, Larger, {data, Filter, 1}), + wxMenu:appendSeparator(Menu), + I2 = wxMenu:append(Menu, ?wxID_ANY, "New Filter Same Scale"), + wxMenu:appendSeparator(Menu) + ], + wxMenuItem:enable(I2, [{enable,false}]), + {_,D3} = lists:foldl(Item, {1,[]}, Filters), + S#state{filter_menu = {Menu, lists:flatten([D1,D2,D3])}}. + +create_help_menu(Bar) -> + Menu = wxMenu:new([]), + menuitem(Menu, ?wxID_HELP, "Info", help), + wxMenuBar:append(Bar, Menu, "Help"). + +clear_canvas(S) -> + DC = wxClientDC:new(S#state.canvas), + wxDC:clear(DC), + {CanvasW, CanvasH} = wxPanel:getSize(S#state.canvas), + wxSizer:recalcSizes(S#state.canvas_sizer), + S2 = S#state{refresh_needed = false, + y_pos = ?initial_y * S#state.scale, + canvas_width = CanvasW, + canvas_height = CanvasH, + events = queue_new()}, + S3 = draw_all_actors(S2, DC), + wxClientDC:destroy(DC), + S3. + +replace_events(S, []) -> + S#state{first_event = first, + last_event = first, + events = queue_new()}; +replace_events(S, Events) -> + Queue = lists:foldl(fun(E, Q) -> queue_in(E, Q) end, queue_new(), Events), + S#state{events = Queue}. + +refresh_main_window(S) -> + wx:batch(fun() -> + S2 = clear_canvas(S), + S3 = update_scroll_bar(S2), + display_events(S3, queue_to_list(S#state.events)) + end). + +display_events(S, []) -> + S; +display_events(S, Events) -> + DC = wxClientDC:new(S#state.canvas), + S2 = lists:foldl(fun(E, State) -> display_event(E, State, DC) end, S, Events), + wxClientDC:destroy(DC), + S2. + +collect_more_events(S, PrevKey = first, Try) -> + PrevE = #e{event = undefined, key = PrevKey, pos = 0}, + S2 = S#state{first_event = PrevE, last_event = PrevE}, + do_collect_more_events(S2, Try, PrevE, []); +collect_more_events(S, PrevKey = last, Try) -> + PrevE = #e{event = undefined, key = PrevKey, pos = S#state.n_events}, + S2 = S#state{first_event = PrevE, last_event = PrevE}, + do_collect_more_events(S2, Try, PrevE, []); +collect_more_events(S, #e{} = PrevE, Try) -> + do_collect_more_events(S, Try, PrevE, []). + +do_collect_more_events(#state{collector_pid = Collector, + event_order = Order, + active_filter = Active, + filters = Filters} = S, + Try, + PrevE, + Acc) -> + Incr = + if + Try < 0 -> -1; + true -> 1 + end, + PrevKey = PrevE#e.key, + {value, #filter{function = FilterFun}} = + lists:keysearch(Active, #filter.name, Filters), + {_S, _Incr, _Order, _Active, _FilterFun, LastE, NewEvents} = + et_collector:iterate(Collector, + PrevKey, + Try, + fun collect_event/2, + {S, Incr, Order, Active, FilterFun, PrevE, []}), + Expected = abs(Try), + Actual = length(NewEvents), + Missing = Expected - Actual, + {S2, Acc2, Try2} = + if + Try < 0 -> + {S#state{first_event = LastE}, NewEvents ++ Acc, -Missing}; + true -> + TmpEvents = lists:reverse(NewEvents), + {S#state{last_event = LastE}, Acc ++ TmpEvents, Missing} + end, + if + Missing =/= 0, PrevKey =/= LastE#e.key -> + do_collect_more_events(S2, Try2, LastE, Acc2); + true -> + {S2, Acc2} + end. + +collect_event(Event, {S, Incr, Order, Active, FilterFun, #e{pos = PrevPos}, Events}) -> + Key = et_collector:make_key(Order, Event), + E = #e{event = Event, key = Key, pos = PrevPos + Incr}, + {LastE, Events2} = + case catch FilterFun(Event) of + true -> + case is_hidden(Event#event.from, Event#event.to, S) of + true -> + {E, Events}; + false -> + {E, [E | Events]} + end; + {true, Event2} -> + Key2 = et_collector:make_key(Order, Event2), + E2 = E#e{event = Event2, key = Key2}, + case is_hidden(Event2#event.from, Event2#event.to, S) of + true -> + {E2, Events}; + false -> + {E2, [E2 | Events]} + end; + false -> + {E, Events}; + Bad -> + Contents = {bad_filter, S#state.active_filter, Bad, Event}, + Event2 = Event#event{contents = Contents, + from = bad_filter, + to = bad_filter}, + E2 = E#e{event = Event2}, + {E2, [E2 | Events]} + end, + {S, Incr, Order, Active, FilterFun, LastE, Events2}. + +display_event(#e{event = Event} = E, S, DC) + when Event#event.detail_level =< S#state.detail_level -> + {FromRefresh, From} = ensure_actor(Event#event.from, S, DC), + {FromName, FromPos, S2} = From, + {ToRefresh, To} = ensure_actor(Event#event.to, S2, DC), + {ToName, ToPos, S3} = To, + S4 = + if + FromRefresh =/= false, ToRefresh =/= false -> + S3#state{refresh_needed = true, + events = queue_in(E, S3#state.events)}; + FromName =:= ToName -> + case S#state.hide_actions of + true -> + S3; + false -> + Label = name_to_string(Event#event.label), + draw_named_arrow(Label, FromName, ToName, FromPos, ToPos, E, S3, DC) + end; + true -> + Label = name_to_string(Event#event.label), + draw_named_arrow(Label, FromName, ToName, FromPos, ToPos, E, S3, DC) + end, + S4; +display_event(#e{}, S, _DC) -> + S. + +draw_named_arrow(Label, FromName, ToName, FromPos, ToPos, E, S, DC) -> + case S#state.y_pos + (?incr_y * S#state.scale) of + _ when S#state.hide_actors =:= true, FromName =:= ?unknown -> + S; + _ when S#state.hide_actors =:= true, ToName =:= ?unknown -> + S; + Y when Y > S#state.canvas_height -> + S#state{refresh_needed = true, + events = queue_in(E, S#state.events)}; + Y -> + S2 = S#state{y_pos = Y, events = queue_in(E, S#state.events)}, + S3 = draw_arrow(FromPos, ToPos, S2, DC), + draw_label(Label, FromName, ToName, FromPos, ToPos, S3, DC) + end. + +draw_arrow(Pos, Pos, S, _DC) -> + S; +draw_arrow(FromPos, ToPos, S, DC) -> + Y = S#state.y_pos, + wxPen:setColour(S#state.pen, ?wxBLACK), + wxDC:setPen(DC, S#state.pen), + wxDC:drawLine(DC, {FromPos , Y}, {ToPos, Y}), + + %% Draw arrow head + Radians = calc_angle({FromPos, Y}, {ToPos, Y}), + Len = 5, + Radians2 = Radians + 3.665191429188092, + Radians3 = Radians + 2.617993877991494, + {X3, Y3} = calc_point({ToPos, Y}, Len, Radians2), + {X4, Y4} = calc_point({ToPos, Y}, Len, Radians3), + Points = [{round(ToPos), round(Y)}, + {round(X3), round(Y3)}, + {round(X4), round(Y4)}], + wxBrush:setColour(S#state.brush, ?wxBLACK), + wxDC:setBrush(DC, S#state.brush), + wxDC:drawPolygon(DC, Points, []), + S. + + %% Calclulate angle in radians for a line between two points +calc_angle({X1, Y1}, {X2, Y2}) -> + math:atan2((Y2 - Y1), (X2 - X1)). + + %% Calc new point at a given distance and angle from another point +calc_point({X, Y}, Length, Radians) -> + X2 = round(X + Length * math:cos(Radians)), + Y2 = round(Y + Length * math:sin(Radians)), + {X2, Y2}. + +draw_label(Label, FromName, ToName, FromPos, ToPos, S, DC) -> + Color = + if + FromName =:= ?unknown, + ToName =:= ?unknown -> {2, 71, 254};% blue + FromName =:= ?unknown -> {255,126,0}; % orange + ToName =:= ?unknown -> {255,126,0}; % orange + FromPos =:= ToPos -> {2, 71, 254};% blue + true -> {227,38, 54} % red + end, + Scale = S#state.scale, + X = lists:min([FromPos, ToPos]) + (6 * Scale), + Y = S#state.y_pos, + write_text(Label, X, Y, Color, S#state.normal_font, S, DC), + S. + +draw_all_actors(S, DC) -> + Scale = S#state.scale, + Fun = fun(A, X) -> + case draw_actor(A, X, S, DC) of + true -> + X + (?incr_x * Scale); + false -> + X + end + end, + lists:foldl(Fun, ?initial_x * Scale, S#state.actors), + S. + +%% Returns: {NeedsRefreshBool, {ActorPos, NewsS, NewActors}} +ensure_actor(Name, S, DC) -> + do_ensure_actor(Name, S, S#state.actors, 0, DC). + +do_ensure_actor(Name, S, [H | _], N, _DC) when H#actor.name =:= Name -> + Pos = (?initial_x + (N * ?incr_x)) * S#state.scale, + {false, {Name, Pos, S}}; +do_ensure_actor(Name, S, [H | T], N, DC) -> + if + S#state.hide_actors, H#actor.exclude -> + do_ensure_actor(Name, S, T, N, DC); + true -> + do_ensure_actor(Name, S, T, N + 1, DC) + end; +do_ensure_actor(Name, S, [], N, DC) -> + %% A brand new actor, let's see if it does fit + Pos = (?initial_x + (N * ?incr_x)) * S#state.scale, + MaxActors = S#state.max_actors, + if + is_integer(MaxActors), N > MaxActors -> + %% Failed on max_actors limit, put into unknown + %% Assume that unknown always is in actor list + ensure_actor(?unknown, S, DC); + Pos > (S#state.canvas_width - ((?initial_x - 15) * S#state.scale)) -> + %% New actor does not fit in canvas, refresh needed + A = create_actor(Name), + draw_actor(A, Pos, S, DC), + {true, {Name, Pos, S#state{actors = S#state.actors ++ [A]}}}; + true -> + %% New actor fits in canvas. Draw the new actor. + A = create_actor(Name), + draw_actor(A, Pos, S, DC), + {false, {Name, Pos, S#state{actors = S#state.actors ++ [A]}}} + end. + +draw_actor(A, LineX, S, DC) -> + if + S#state.hide_actors, A#actor.exclude -> + false; + true -> + Scale = S#state.scale, + TextX = LineX - (5 * Scale), + {TextY, LineTopY, LineBotY} = calc_y(S), + Color = + case A#actor.name of + ?unknown -> {255,126,0};% orange + _ -> {227,38,54} % red + end, + {String, Font} = + if + S#state.context =:= display, A#actor.exclude -> + {"(" ++ A#actor.string ++ ")", S#state.normal_font}; + S#state.context =:= display, A#actor.include -> + {"[" ++ A#actor.string ++ "]", S#state.bold_font}; + true -> + {A#actor.string, S#state.normal_font} + end, + write_text(String, TextX, TextY, Color, Font, S, DC), + wxPen:setColour(S#state.pen, Color), + wxDC:setPen(DC, S#state.pen), + wxDC:drawLines(DC, [{LineX, LineTopY}, {LineX, LineBotY}]), + true + end. + +calc_y(#state{canvas_height = Height, scale = Scale}) -> + TextY = ?initial_y * Scale, + LineTopY = round(TextY + ((?incr_y / 2) * Scale)), + LineBotY = Height, + %% LineBotY = round(Height - ((?incr_y / 2) * Scale)), + {TextY, LineTopY, LineBotY}. + +display_all(S) -> + Actors = S#state.actors, + Actors2 = [A#actor{include = false, exclude = false} || A <- Actors], + S2 = S#state{actors = Actors2, + display_all = true, + hide_actions = false, + hide_actors = false}, + wxCheckBox:setValue(S2#state.hide_actions_box, S2#state.hide_actions), + wxCheckBox:setValue(S2#state.hide_actors_box, S2#state.hide_actors), + revert_main_window(S2). + +is_hidden(A, S) -> + case S#state.display_all of + true -> + A#actor.exclude; + false -> + A#actor.exclude orelse not A#actor.include + end. + +is_hidden(From, To, S) -> + Actors = S#state.actors, + DisplayAll = S#state.display_all, + FromMatch = lists:keysearch(From, #actor.name, Actors), + ToMatch = lists:keysearch(To, #actor.name, Actors), + case {FromMatch, ToMatch} of + {false, false} -> + not DisplayAll; + {false, {value, T}} -> + is_hidden(T, S); + {{value, F}, false} -> + is_hidden(F, S); + {{value, F}, {value, T}} when DisplayAll -> + is_hidden(F, S) orelse is_hidden(T, S); + {{value, F}, {value, T}} when F#actor.include; T#actor.include -> + F#actor.exclude orelse T#actor.exclude; + {{value, _F}, {value, _T}}-> + true + end. + +move_actor(From, To, Actors, S) -> + Pos = #actor.name, + ToName = To#actor.name, + FromName = From#actor.name, + ToIx = actor_index(ToName, Pos, Actors), + FromIx = actor_index(FromName, Pos, Actors), + if + FromIx =/= 0, ToIx =/= 0, ToIx > FromIx -> + Actors2 = lists:keydelete(FromName, Pos, Actors), + Actors3 = insert_actor_after(From, To, Actors2), + S2 = S#state{actors = Actors3}, + refresh_main_window(S2); + FromIx =/= 0, ToIx =/= 0 -> + Actors2 = lists:keydelete(FromName, Pos, Actors), + Actors3 = insert_actor_before(From, To, Actors2), + S2 = S#state{actors = Actors3}, + refresh_main_window(S2); + true -> + %% Ignore + S + end. + +insert_actor_after(From, To, [H | T]) -> + case To#actor.name =:= H#actor.name of + true -> [H, From | T]; + false -> [H | insert_actor_after(From, To, T)] + end; +insert_actor_after(_From, _To, []) -> + []. + +insert_actor_before(From, To, [H | T]) -> + case To#actor.name =:= H#actor.name of + true -> [From, H | T]; + false -> [H | insert_actor_before(From, To, T)] + end; +insert_actor_before(_From, _To, []) -> + []. + +actor_index(_Key, _Pos, []) -> + 0; +actor_index(Key, Pos, [H | T]) -> + case Key =:= element(Pos, H) of + false -> actor_index(Key, Pos, T) + 1; + true -> 1 + end. + +y_to_n(Y, S) -> + Y2 = ((Y / S#state.scale) - ?initial_y + (?incr_y / 2)), + N = round(Y2 / ?incr_y - 0.2), + MaxN = queue_length(S#state.events), + if + N =< 0 -> actor; + N > MaxN -> actor; + true -> {event, N} + end. + +x_to_n(X, S) -> + Scale = S#state.scale, + Len = length(S#state.actors), + X2 = X - (?initial_x * Scale), + N = X2 / (?incr_x * Scale), + N2 = trunc(N + 1.5), + if + N2 > Len -> Len; + N2 < 1 -> 1; + true -> N2 + end. + +write_text(Text, X, Y, Color, Font, S, DC) -> + wxDC:setFont(DC, Font), + wxDC:setTextForeground(DC, Color), + wxDC:drawText(DC, Text, {X, round(Y - (?incr_y * S#state.scale / 2))-3}). + +do_open_event(S, N) -> + Events = queue_to_list(S#state.events), + S2 = S#state{events = list_to_queue(Events)}, + case catch lists:nth(N, Events) of + {'EXIT', _} -> + {error, {no_such_event, N}}; + #e{key = Key} -> + Pid = S#state.collector_pid, + Fun = fun create_contents_window/2, + Prev = et_collector:iterate(Pid, Key, -1), + {S2, Res} = + if + Prev =:= Key -> + et_collector:iterate(Pid, first, 1, Fun, {S2, []}); + true -> + et_collector:iterate(Pid, Prev, 1, Fun, {S2, []}) + end, + case Res of + [] -> + {error, no_contents_viewer_started}; + [Single] -> + Single; + Multi -> + {error, {too_many, Multi}} + end + end. + +create_contents_window(Event, {S, Res}) -> + Options = [{viewer_pid, self()}, + {event, Event}, + {event_order, S#state.event_order}, + {active_filter, S#state.active_filter}, + {wx_debug, S#state.wx_debug} + | S#state.filters], + case catch et_wx_contents_viewer:start_link(Options) of + {ok, Pid} -> + {S, [{ok, Pid} | Res]}; + {error, Reason} -> + ok = error_logger:format("~p(~p): create_contents_window(~p) ->~n ~p~n", + [?MODULE, self(), Options, Reason]), + {S, [{error, Reason} | Res]}; + Stuff -> + {S, [{error, {stuff, Stuff}} | Res]} + end. + +print_setup(S) -> + S2 = #state{print_psdd = PSDD0, print_d = PD0} = init_printers(S), + + wxPageSetupDialogData:setPrintData(PSDD0, PD0), + PSD = wxPageSetupDialog:new(S#state.frame, [{data,PSDD0}]), + wxPageSetupDialog:showModal(PSD), + + PSDD1 = wxPageSetupDialog:getPageSetupData(PSD), + PD1 = wxPageSetupDialogData:getPrintData(PSDD1), + + %% Create new objects using copy constructor + PD = wxPrintData:new(PD1), + PsDD = wxPageSetupDialogData:new(PSDD1), + wxPageSetupDialog:destroy(PSD), + wxPageSetupDialogData:destroy(PSDD0), + wxPrintData:destroy(PD0), + S2#state{print_psdd=PsDD, print_d=PD}. + +print(#state{print_d = undefined, print_psdd = undefined} = S, Scope) -> + S2 = print_setup(S), + print(S2, Scope); +print(#state{print_psdd = PSDD, print_d = PD} = S, Scope) -> + PDD = wxPrintDialogData:new(PD), + wxPrintDialogData:enablePrintToFile(PDD, true), + wxPrintDialogData:enablePageNumbers(PDD, true), + wxPrintDialogData:enableSelection(PDD, true), + Tab = ets:new(?MODULE, [public]), + GetPageInfo = + fun(This) -> + {_, _, PW, PH} = wxPrintout:getPaperRectPixels(This), + PrinterS = S#state{context = printer, + canvas_width = PW, + canvas_height = PH}, + EventsPerPage = events_per_page(PrinterS, PH), + PagedEvents = paged_events(PrinterS, Scope, EventsPerPage), + [ets:insert(Tab, PE) || PE <- PagedEvents], + ets:insert(Tab, PrinterS), + NumPages = length(PagedEvents), + {1, NumPages, 1, NumPages} + end, + HasPage = + fun(_This, Page) -> + Size = ets:info(Tab, size), + NumPages = Size - 1, + (Page >= 1) andalso (Page =< NumPages) + end, + OnPrintPage = + fun(This, Page) -> + wxPrintout:mapScreenSizeToPageMargins(This, PSDD), + [PrinterS] = ets:lookup(Tab, state), + Events = ets:lookup_element(Tab, Page, 2), + DC = wxPrintout:getDC(This), + PrinterS2 = draw_all_actors(PrinterS, DC), + PrinterS3 = PrinterS2#state{y_pos = ?initial_y * PrinterS2#state.scale}, + lists:foldl(fun(E, State) -> display_event(E, State, DC) end, + PrinterS3, + Events), + true + end, + Printout1 = wxPrintout:new("Print", OnPrintPage, + [{getPageInfo, GetPageInfo}, {hasPage, HasPage}]), + Printout2 = wxPrintout:new("Print", OnPrintPage, + [{getPageInfo, GetPageInfo}, {hasPage, HasPage}]), + Preview = wxPrintPreview:new(Printout1, [{printoutForPrinting, Printout2}, {data,PDD}]), + case wxPrintPreview:isOk(Preview) of + true -> + PF = wxPreviewFrame:new(Preview, S#state.frame, []), + wxPreviewFrame:centre(PF, [{dir, ?wxBOTH}]), + wxPreviewFrame:initialize(PF), + wxPreviewFrame:centre(PF), + wxPreviewFrame:show(PF), + OnClose = fun(_Wx, EventRef) -> ets:delete(Tab), wxEvent:skip(EventRef) end, + wxPreviewFrame:connect(PF, close_window, [{callback, OnClose}]); + false -> + io:format("Could not create preview window.\n" + "Perhaps your current printer is not set correctly?~n", []), + wxPrintPreview:destroy(Preview), + ets:delete(Tab) + end, + S. + +paged_events(S, Scope, EventsPerPage) -> + {_, Events} = + case Scope of + print_one_page -> + revert(S#state{events_per_page = EventsPerPage}); + print_all_pages -> + collect_more_events(S, first, S#state.n_events) + end, + split_list(Events, EventsPerPage). + +split_list(List, N) when is_integer(N), N > 0 -> + do_split_list(List, N, 1, []). + +do_split_list([], _N, _Page, Acc) -> + lists:reverse(Acc); +do_split_list(List, N, Page, Acc) -> + {Items, Rest} = pick_n(List, N, []), + do_split_list(Rest, N, Page + 1, [{Page, Items} | Acc]). + +get_latest_resize(#wx{obj = ObjRef, event = #wxSize{}} = Wx) -> + receive + #wx{obj = ObjRef, event = #wxSize{}} = Wx2 -> + get_latest_resize(Wx2) + after 100 -> + Wx + end. + +get_latest_scroll(#wx{obj = ObjRef, event = #wxScroll{type = scroll_changed}} = Wx) -> + receive + #wx{obj = ObjRef, event = #wxScroll{type = scroll_changed}} = Wx2 -> + get_latest_scroll(Wx2) + after 100 -> + Wx + end. + +update_scroll_bar(#state{scroll_bar = ScrollBar, + status_bar = StatusBar, + events_per_page = EventsPerPage, + n_events = N} = S) -> + Opts = [{refresh, true}], + {_, LineTopY, LineBotY} = calc_y(S), + Range = LineBotY - LineTopY, + EventPos = + case event_pos(S) of + 1 -> 0; + P -> P + end, + if + N =/= 0, + EventsPerPage =/= 0 -> + PixelsPerEvent = Range / EventsPerPage, + Share = EventsPerPage / N, + wxScrollBar:setScrollbar(ScrollBar, + trunc(EventPos * Share * PixelsPerEvent), + round(Share * Range), + Range, + round(Share * Range), + Opts); + true -> + wxScrollBar:setScrollbar(ScrollBar, + 0, + Range, + Range, + Range, + Opts) + end, + wxStatusBar:setStatusText(StatusBar, where_text(S)), + S. + +events_per_page(S, PageHeight) -> + EventsPerPage = ((PageHeight - (?initial_y * S#state.scale)) div (?incr_y * S#state.scale)), + lists:max([1, EventsPerPage]). + +select_file(Frame, Message, DefaultFile, Style) -> + Dialog = wxFileDialog:new(Frame, + [{message, Message}, + {defaultDir, filename:dirname(DefaultFile)}, + {defaultFile, filename:basename(DefaultFile)}, + {style, Style}]), + Choice = + case wxMessageDialog:showModal(Dialog) of + ?wxID_CANCEL -> cancel; + ?wxID_OK -> {ok, wxFileDialog:getPath(Dialog)} + end, + wxFileDialog:destroy(Dialog), + Choice. + +%%%---------------------------------------------------------------------- +%%% String padding of actors +%%%---------------------------------------------------------------------- + +opt_create_actor(Name, Tag, S) -> + Actors = S#state.actors, + New = + case lists:keysearch(Name, #actor.name, Actors) of + {value, Old} -> Old; + false -> create_actor(Name) + end, + case Tag of + include -> New#actor{include = true}; + exclude -> New#actor{exclude = true} + end. + +create_actor(Name) -> + String = name_to_string(Name), + %% PaddedString = pad_string(String, 8), + #actor{name = Name, string = String, include = false, exclude = false}. + +name_to_string(Name) -> + case catch io_lib:format("~s", [Name]) of + {'EXIT', _} -> lists:flatten(io_lib:format("~w", [Name])); + GoodString -> lists:flatten(GoodString) + end. + +pad_string(Atom, MinLen) when is_atom(Atom) -> + pad_string(atom_to_list(Atom), MinLen); +pad_string(String, MinLen) when is_integer(MinLen), MinLen >= 0 -> + Len = length(String), + case Len >= MinLen of + true -> + String; + false -> + String ++ lists:duplicate(MinLen - Len, $ ) + end. + +%%%---------------------------------------------------------------------- +%%% Queue management +%%%---------------------------------------------------------------------- + +queue_new() -> + {0, [], []}. + +queue_in(X, {Size, In, Out}) -> + {Size + 1, [X | In], Out}. + +%% queue_out(Q) -> +%% case Q of +%% {Size, In, [H | Out]} -> {{value, H}, {Size - 1, In, Out}}; +%% {Size, [], []} -> {empty, {Size, [], []}}; +%% {Size, In, _} -> queue_out({Size, [], lists:reverse(In)}) +%% end. + +queue_to_list({_Size, [], Out}) -> + Out; +queue_to_list({_Size, In, Out}) -> + Out ++ lists:reverse(In). + +queue_length({Size, _In, _Out}) -> + Size. + +list_to_queue(List) when is_list(List) -> + {length(List), [], List}. diff --git a/lib/et/src/modules.mk b/lib/et/src/modules.mk index 8e9dd1a386..8d6c0902fb 100644 --- a/lib/et/src/modules.mk +++ b/lib/et/src/modules.mk @@ -1,27 +1,30 @@ #-*-makefile-*- ; force emacs to enter makefile-mode # %CopyrightBegin% -# -# Copyright Ericsson AB 2001-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2001-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% MODULES = \ et \ et_collector \ - et_contents_viewer \ + et_gs_contents_viewer \ + et_gs_viewer \ et_selector \ - et_viewer + et_viewer \ + et_wx_contents_viewer \ + et_wx_viewer HRL_FILES = \ ../include/et.hrl diff --git a/lib/et/doc/src/make.dep b/lib/et/test/Makefile index fae2cd02b3..9aedf96ce9 100644 --- a/lib/et/doc/src/make.dep +++ b/lib/et/test/Makefile @@ -1,53 +1,81 @@ -#-*-makefile-*- ; force emacs to enter makefile-mode +# # %CopyrightBegin% -# -# Copyright Ericsson AB 2002-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2009-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% + +include $(ERL_TOP)/make/target.mk +include $(ERL_TOP)/make/$(TARGET)/otp.mk + # ---------------------------------------------------- -# >>>> Do not edit this file <<<< -# This file was automaticly generated by -# /home/otp/bin/docdepend +# Target Specs # ---------------------------------------------------- +MODULES= \ + ett \ + et_wx_SUITE \ + et_test_lib + + +ERL_FILES= $(MODULES:%=%.erl) + +HRL_FILES= et_test_lib.hrl + +TARGET_FILES= \ + $(MODULES:%=$(EBIN)/%.$(EMULATOR)) + +INSTALL_PROGS= $(TARGET_FILES) # ---------------------------------------------------- -# TeX files that the DVI file depend on +# Release directory specification # ---------------------------------------------------- +RELSYSDIR = $(RELEASE_PATH)/et_test -book.dvi: book.tex et.tex et_architecture.tex et_collector.tex \ - et_examples.tex et_intro.tex et_selector.tex \ - et_viewer.tex part.tex ref_man.tex +# ---------------------------------------------------- +# FLAGS +# ---------------------------------------------------- +#ERL_COMPILE_FLAGS += + +EBIN = . # ---------------------------------------------------- -# Source inlined when transforming from source to LaTeX +# Targets # ---------------------------------------------------- -book.tex: ref_man.xml +tests debug opt: $(TARGET_FILES) -et_architecture.tex: ../../examples/et_demo.erl +clean: + rm -f $(TARGET_FILES) + rm -f core -et_examples.tex: ../../examples/et_demo.erl +docs: # ---------------------------------------------------- -# Pictures that the DVI file depend on -# ---------------------------------------------------- +# Release Target +# ---------------------------------------------------- +include $(ERL_TOP)/make/otp_release_targets.mk + +release_spec: opt + +release_tests_spec: opt + $(INSTALL_DIR) $(RELSYSDIR) + $(INSTALL_DATA) et.spec $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR) + $(INSTALL_PROGRAM) ett $(INSTALL_PROGS) $(RELSYSDIR) +# chmod -f -R u+w $(RELSYSDIR) +# @tar cf - *_SUITE_data | (cd $(RELSYSDIR); tar xf -) -book.dvi: sim_trans.ps sim_trans_contents_viewer_collector.ps \ - sim_trans_contents_viewer_mgr_actors.ps sim_trans_mgr_actors.ps \ - sim_trans_move_actor.ps sim_trans_write_lock.ps +release_docs_spec: -book.dvi: live_trans.ps megaco_collector.ps megaco_filter.ps \ - megaco_tracer.ps sim_trans.ps diff --git a/lib/et/test/README b/lib/et/test/README new file mode 100644 index 0000000000..4269186c93 --- /dev/null +++ b/lib/et/test/README @@ -0,0 +1,30 @@ + +Testing and running et tests. + +Testing gui api/applications can be hard, but we can at least +test that wxerlang behaves as we expected, i.e. that the api +is consistent and that it don't crash. + +The tests are structured as they are because we want you to +be able to run them in three different ways. + - direct via an erlang shell + - via common_test application + - via erlang/OTP inhouse ts tool. + +To run all the tests compile them and on unix +run ./ett to create an erlang terminal. + +Invoke ett:t(). in the erlang shell to run all regression tests. +If you want to specific tests invoke ett:t(Module) +or ett:t(Module, TestCase). + +To run all tests including the ones that require manual intervention run. +ett:t(all, [{user,true}]). + +To see every test_case window use +ett:t(all, [{user,step}]). +This requires that you manually close each window to step to the +next test_case. + +If you want to run specific test_cases use: +ett:t({Module,TestCase}, [{user,step}]). diff --git a/lib/et/test/et.spec b/lib/et/test/et.spec new file mode 100644 index 0000000000..69cd8d7582 --- /dev/null +++ b/lib/et/test/et.spec @@ -0,0 +1,2 @@ +{topcase, {dir, "../et_test"}}. + diff --git a/lib/et/test/et_test_lib.erl b/lib/et/test/et_test_lib.erl new file mode 100644 index 0000000000..b91b63786c --- /dev/null +++ b/lib/et/test/et_test_lib.erl @@ -0,0 +1,329 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009-2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% + +-module(et_test_lib). +-compile(export_all). + +-include("et_test_lib.hrl"). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +init_per_suite(Config) when is_list(Config)-> + incr_timetrap(Config, 5). + +end_per_suite(Config) when is_list(Config)-> + ok. + +incr_timetrap(Config, Times) -> + Key = tc_timeout, + KeyPos = 1, + NewTime = + case lists:keysearch(Key, KeyPos, Config) of + {value, {Key, OldTime}} -> + (timer:minutes(1) + OldTime) * Times; + false -> + timer:minutes(1) * Times + end, + lists:keystore(Key, KeyPos, Config, {Key, NewTime}). + +set_kill_timer(Config) -> + case init:get_argument(et_test_timeout) of + {ok, _} -> + Config; + _ -> + Time = + case lookup_config(tc_timeout, Config) of + [] -> + timer:minutes(5); + ConfigTime when is_integer(ConfigTime) -> + ConfigTime + end, + WatchDog = test_server:timetrap(Time), + [{kill_timer, WatchDog} | Config] + end. + +reset_kill_timer(Config) -> + DogKiller = + case get(et_test_server) of + true -> + fun(P) when is_pid(P) -> P ! stop; + (_) -> ok + end; + _ -> + fun(Ref) -> test_server:timetrap_cancel(Ref) end + end, + case lists:keysearch(kill_timer, 1, Config) of + {value, {kill_timer, WatchDog}} -> + DogKiller(WatchDog), + lists:keydelete(kill_timer, 1, Config); + _ -> + Config + end. + +lookup_config(Key,Config) -> + case lists:keysearch(Key, 1, Config) of + {value,{Key,Val}} -> + Val; + _ -> + [] + end. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +wx_init_per_suite(Config) -> + {_Pid, Ref} = + spawn_monitor(fun() -> + %% Avoid test case crash if wx master process dies + process_flag(trap_exit, true), + try + case os:type() of + {unix,darwin} -> + exit({skipped, "Can not test on MacOSX"}); + {unix, _} -> + io:format("DISPLAY ~s~n", [os:getenv("DISPLAY")]), + case proplists:get_value(xserver, Config, none) of + none -> ignore; + Server -> os:putenv("DISPLAY", Server) + end; + _ -> + ignore + end, + wx:new(), + wx:destroy() + catch + error:undef -> + exit({skipped, "No wx compiled for this platform"}); + _:Reason -> + exit({skipped, lists:flatten(io_lib:format("Start wx failed: ~p", [Reason]))}) + end, + exit(normal) + end), + receive + {'DOWN', Ref, _, _, normal} -> + init_per_suite(Config); + {'DOWN', Ref, _, _, {skipped, _} = Skipped} -> + Skipped; + {'DOWN', Ref, _, _, Reason} -> + exit({wx_init_per_suite, Reason}) + after timer:minutes(1) -> + exit({wx_init_per_suite, timeout}) + end. + +wx_end_per_suite(Config) -> + end_per_suite(Config). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +init_per_testcase(_Func, Config) when is_list(Config) -> + set_kill_timer(Config), + global:register_name(et_global_logger, group_leader()), + Config. + +end_per_testcase(_Func, Config) when is_list(Config) -> + global:unregister_name(et_global_logger), + reset_kill_timer(Config), + Config. + +%% Backwards compatible with test_server +tc_info(suite) -> []; +tc_info(doc) -> "". + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Use ?log(Format, Args) as wrapper +log(Format, Args, LongFile, Line) -> + File = filename:basename(LongFile), + Format2 = lists:concat([File, "(", Line, ")", ": ", Format]), + log(Format2, Args). + +log(Format, Args) -> + case global:whereis_name(et_global_logger) of + undefined -> + io:format(user, Format, Args); + Pid -> + io:format(Pid, Format, Args) + end. + +verbose(Format, Args, File, Line) -> + Arg = et_test_verbose, + case get(Arg) of + false -> + ok; + true -> + log(Format, Args, File, Line); + undefined -> + case init:get_argument(Arg) of + {ok, List} when is_list(List) -> + case lists:last(List) of + ["true"] -> + put(Arg, true), + log(Format, Args, File, Line); + _ -> + put(Arg, false), + ok + end; + _ -> + put(Arg, false), + ok + end + end. + +error(Format, Args, File, Line) -> + global:send(et_global_logger, {failed, File, Line}), + Fail = {filename:basename(File),Line,Args}, + case global:whereis_name(et_test_case_sup) of + undefined -> ignore; + Pid -> Pid ! Fail + %% global:send(et_test_case_sup, Fail), + end, + log("<ERROR>~n" ++ Format, Args, File, Line). + + +pick_msg() -> + receive + Message -> Message + after 4000 -> timeout + end. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Utility functions + +user_available(Config) -> + false /= proplists:get_value(user, Config, false). + + +wx_destroy(Frame, Config) -> + case proplists:get_value(user, Config, false) of + false -> + timer:sleep(100), + ?m(ok, wxFrame:destroy(Frame)), + ?m(ok, wx:destroy()); + true -> + timer:sleep(500), + ?m(ok, wxFrame:destroy(Frame)), + ?m(ok, wx:destroy()); + step -> %% Wait for user to close window + ?m(ok, wxEvtHandler:connect(Frame, close_window, [{skip,true}])), + wait_for_close() + end. + +wait_for_close() -> + receive + #wx{event=#wxClose{}} -> + ?log("Got close~n",[]), + ?m(ok, wx:destroy()); + #wx{obj=Obj, event=Event} -> + try + Name = wxTopLevelWindow:getTitle(Obj), + ?log("~p Event: ~p~n", [Name, Event]) + catch _:_ -> + ?log("Event: ~p~n", [Event]) + end, + wait_for_close(); + Other -> + ?log("Unexpected: ~p~n", [Other]), + wait_for_close() + end. + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% A small test server, which can be run standalone in a shell + +run_test(Test = {_,_},Config) -> + run_test([Test],Config); +run_test([{Module, TC} | Rest], Config) -> + log("\n\n=== Eval test suite: ~w ===~n", [Module]), + case catch Module:init_per_suite(Config) of + {skipped, Reason} -> + log("Test suite skipped: ~s~n", [Reason]), + [{skipped, Reason}]; + NewConfig when is_list(NewConfig) -> + Res = + if + TC =:= all -> + [do_run_test(Module, Test, NewConfig) || Test <- Module:all()]; + is_list(TC) -> + [do_run_test(Module, Test, NewConfig) || Test <- TC]; + true -> + [do_run_test(Module, TC, NewConfig)] + end, + Module:end_per_suite(NewConfig), + Res ++ run_test(Rest, NewConfig); + Error -> + ?error("Test suite skipped: ~w~n", [Error]), + [{skipped, Error}] + end; +run_test([], _Config) -> + []. + +do_run_test(Module, all, Config) -> + All = [{Module, Test} || Test <- Module:all()], + run_test(All, Config); +do_run_test(Module, TestCase, Config) -> + log("Eval test case: ~w~n", [{Module, TestCase}]), + Sec = timer:seconds(1) * 1000, + {T, Res} = + timer:tc(?MODULE, eval_test_case, [Module, TestCase, Config]), + log("Tested ~w in ~w sec~n", [TestCase, T div Sec]), + {T div Sec, Res}. + +eval_test_case(Mod, Fun, Config) -> + flush(), + global:register_name(et_test_case_sup, self()), + Flag = process_flag(trap_exit, true), + Pid = spawn_link(?MODULE, test_case_evaluator, [Mod, Fun, [Config]]), + R = wait_for_evaluator(Pid, Mod, Fun, Config), + global:unregister_name(et_test_case_sup), + process_flag(trap_exit, Flag), + R. + +test_case_evaluator(Mod, Fun, [Config]) -> + NewConfig = Mod:init_per_testcase(Fun, Config), + R = apply(Mod, Fun, [NewConfig]), + Mod:fin_per_testcase(Fun, NewConfig), + exit({test_case_ok, R}). + +wait_for_evaluator(Pid, Mod, Fun, Config) -> + receive + {'EXIT', Pid, {test_case_ok, _PidRes}} -> + Errors = flush(), + Res = + case Errors of + [] -> ok; + Errors -> failed + end, + {Res, {Mod, Fun}, Errors}; + {'EXIT', Pid, {skipped, Reason}} -> + log("<WARNING> Test case ~w skipped, because ~p~n", + [{Mod, Fun}, Reason]), + Mod:fin_per_testcase(Fun, Config), + {skip, {Mod, Fun}, Reason}; + {'EXIT', Pid, Reason} -> + log("<ERROR> Eval process ~w exited, because\n\t~p~n", + [{Mod, Fun}, Reason]), + Mod:fin_per_testcase(Fun, Config), + {crash, {Mod, Fun}, Reason} + end. + +flush() -> + receive Msg -> [Msg | flush()] + after 0 -> [] + end. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/et/test/et_test_lib.hrl b/lib/et/test/et_test_lib.hrl new file mode 100644 index 0000000000..0d75318d99 --- /dev/null +++ b/lib/et/test/et_test_lib.hrl @@ -0,0 +1,90 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009-2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% + +-include_lib("wx/include/wx.hrl"). + +-define(log(Format,Args), et_test_lib:log(Format,Args,?FILE,?LINE)). +-define(warning(Format,Args), ?log("<WARNING>\n " ++ Format,Args)). +-define(error(Format,Args), et_test_lib:error(Format,Args,?FILE,?LINE)). +-define(verbose(Format,Args), et_test_lib:verbose(Format,Args,?FILE,?LINE)). + +-define(fatal(Format,Args), + ?error(Format, Args), + exit({test_case_fatal, Format, Args, ?FILE, ?LINE})). + +-define(skip(Format,Args), + ?warning(Format, Args), + exit({skipped, ?flat_format(Format, Args)})). + +-define(ignore(Expr), + fun() -> + AcTuAlReS = (catch (Expr)), + ?verbose("ok: ~p\n",[AcTuAlReS]) + end()). + +-define(msym(ExpectedRes, Expr), + fun() -> + AcTuAlReS = (catch (Expr)), + case AcTuAlReS of + ExpectedRes -> + ?verbose("ok: ~p\n",[AcTuAlReS]), + AcTuAlReS; + _ -> + et_test_lib:error("Not matching actual result was:\n ~p \nExpected ~s\n", + [AcTuAlReS, ??ExpectedRes], + ?FILE, ?LINE), + AcTuAlReS + end + end()). + +-define(m(ExpectedRes, Expr), + fun() -> + AcTuAlReS = (catch (Expr)), + case AcTuAlReS of + ExpectedRes -> + ?verbose("ok: ~p\n",[AcTuAlReS]), + AcTuAlReS; + _ -> + et_test_lib:error("Not matching actual result was:\n\t~p \nExpected:\n\t~p\n", + [AcTuAlReS, ExpectedRes], + ?FILE, ?LINE), + AcTuAlReS + end + end()). + +-define(m_receive(ExpectedMsg), + ?m(ExpectedMsg,et_test_lib:pick_msg())). + +-define(m_multi_receive(ExpectedMsgs), + fun() -> + TmPeXpCtEdMsGs = lists:sort(ExpectedMsgs), + AcTuAlReS = + lists:sort(lists:map(fun(_) -> + et_test_lib:pick_msg() + end, TmPeXpCtEdMsGs)), + case AcTuAlReS of + TmPeXpCtEdMsGs -> + ?verbose("ok: ~p\n",[AcTuAlReS]), + AcTuAlReS; + _ -> + et_test_lib:error("Not matching actual result was:\n ~p \nExpected ~p\n", + [AcTuAlReS, ExpectedMsgs], + ?FILE, ?LINE), + AcTuAlReS + end + end()). diff --git a/lib/et/test/et_wx_SUITE.erl b/lib/et/test/et_wx_SUITE.erl new file mode 100644 index 0000000000..1a16ca69a3 --- /dev/null +++ b/lib/et/test/et_wx_SUITE.erl @@ -0,0 +1,100 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009-2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% + +-module(et_wx_SUITE). + +-export([all/0, init_per_suite/1, end_per_suite/1, + init_per_testcase/2, fin_per_testcase/2, end_per_testcase/2]). + +-compile(export_all). + +-include("et_test_lib.hrl"). + +%% Initialization functions. +init_per_suite(Config) -> + et_test_lib:wx_init_per_suite(Config). + +end_per_suite(Config) -> + et_test_lib:wx_end_per_suite(Config). + +init_per_testcase(Func,Config) -> + et_test_lib:init_per_testcase(Func,Config). +end_per_testcase(Func,Config) -> + et_test_lib:end_per_testcase(Func,Config). +fin_per_testcase(Func,Config) -> %% For test_server + et_test_lib:end_per_testcase(Func,Config). + +%% SUITE specification +all() -> + all(suite). +all(suite) -> + [ + start_all_windows + ]. + +%% The test cases + +%% Display all windows and see if something crashes +start_all_windows(TestInfo) when is_atom(TestInfo) -> + et_test_lib:tc_info(TestInfo); +start_all_windows(_Config) -> + process_flag(trap_exit, true), + {ok, ViewerPid} = ?msym({ok, _}, et_viewer:start_link([])), + CollectorPid = et_viewer:get_collector_pid(ViewerPid), + ?msym({ok, _}, et_collector:report_event(CollectorPid, + 60, + some_from_actor, + some_to_actor, + some_label, + "Some details")), + timer:sleep(timer:seconds(1)), + + {ok, EventPid1} = ?msym({ok, _}, et_viewer:open_event(ViewerPid, 1)), + {ok, EventPid2} = ?msym({ok, _}, et_viewer:open_event(ViewerPid, 1)), + timer:sleep(timer:seconds(10)), + + ?msym(alive, process_state(ViewerPid)), + ?msym(alive, process_state(CollectorPid)), + ?msym(alive, process_state(EventPid1)), + ?msym(alive, process_state(EventPid2)), + + ?m(ok, et_wx_contents_viewer:stop(EventPid1)), + timer:sleep(timer:seconds(1)), + + ?msym(alive, process_state(ViewerPid)), + ?msym(alive, process_state(CollectorPid)), + ?msym(dead, process_state(EventPid1)), + ?msym(alive, process_state(EventPid2)), + + ?m(ok, et_viewer:stop(ViewerPid)), + timer:sleep(timer:seconds(1)), + + ?msym(dead, process_state(ViewerPid)), + ?msym(dead, process_state(CollectorPid)), + ?msym(dead, process_state(EventPid1)), + ?msym(dead, process_state(EventPid2)), + + ?m([], et_test_lib:flush()), + + ok. + +process_state(Pid) -> + case process_info(Pid, group_leader) of + {group_leader, _} -> alive; + undefined -> dead + end. diff --git a/lib/et/test/ett b/lib/et/test/ett new file mode 100755 index 0000000000..da2443df61 --- /dev/null +++ b/lib/et/test/ett @@ -0,0 +1,55 @@ +#! /bin/sh -f +# %CopyrightBegin% +# +# Copyright Ericsson AB 2009-2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% + +# Usage: ett [-cerl] <args to erlang startup script> + +emu=erl +while [ $# -gt 0 ]; do + case "$1" in + "-cerl") + shift + emu=cerl + ;; + *) + break + ;; + esac +done + +log=test_log_$$ +latest=test_log_latest +args=${1+"$@"} + +erlcmd="$emu -sname test_server -smp -pa ../../et/ebin $p $args -et_test_verbose true -et_test_timeout" + +echo "Give the following command in order to see the outcome:" +echo "" +echo " less $log" + +rm "$latest" 2>/dev/null +ln -s "$log" "$latest" +touch "$log" + +ostype=`uname -s` +if [ "$ostype" = "SunOS" ] ; then + /usr/openwin/bin/xterm -T "Testing et" -l -lf "$log" -e $erlcmd & +else + xterm -T "Testing et" -e script -f -c "$erlcmd" "$log" & +fi + +tail -f "$log" | egrep 'Eval|<ERROR>|NYI' diff --git a/lib/et/test/ett.erl b/lib/et/test/ett.erl new file mode 100644 index 0000000000..1896e65842 --- /dev/null +++ b/lib/et/test/ett.erl @@ -0,0 +1,154 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009-2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% + +-module(ett). +-compile(export_all). + +%% Modules or suites can be shortcuts, for example wx expands to et_wx_SUITE. +%% +%% t(Tests) run et testcases. +%% Tests can be module, {module, test_case} or [module|{module,test_case}] + +t() -> + t(read_test_case()). +t(Test) -> + t(Test, []). + +t(Mod, TC) when is_atom(Mod), is_atom(TC) -> + t({Mod,TC}, []); +t(all, Config) when is_list(Config) -> + Fs = filelib:wildcard("et_*_SUITE.erl"), + t([list_to_atom(filename:rootname(File)) || File <- Fs], Config); +t(Test,Config) when is_list(Config) -> + Tests = resolve(Test), + write_test_case(Test), + Res = et_test_lib:run_test(Tests, Config), + append_test_case_info(Test, Res). + +user() -> + user(read_test_case()). +user(Mod) -> + t(Mod, [{user,step}]). +user(Mod,Tc) when is_atom(Tc) -> + t({Mod,Tc}, [{user,step}]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Resolves the name of test suites and test cases +%% according to the alias definitions. Single atoms +%% are assumed to be the name of a test suite. + +resolve(Suite0) when is_atom(Suite0) -> + case alias(Suite0) of + Suite when is_atom(Suite) -> + {Suite, all}; + {Suite, Case} -> + {Suite, Case} + end; +resolve({Suite0, Case}) when is_atom(Suite0), is_atom(Case) -> + case alias(Suite0) of + Suite when is_atom(Suite) -> + {Suite, Case}; + {Suite, Case2} -> + {Suite, Case2} + end; +resolve(List) when is_list(List) -> + [resolve(Case) || Case <- List]. + +alias(Suite) when is_atom(Suite) -> + Str = atom_to_list(Suite), + case {Str, lists:reverse(Str)} of + {"et" ++ _, "ETIUS" ++ _} -> + Suite; + _ -> + list_to_atom("et_" ++ Str ++ "_SUITE") + end. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +config_fname() -> + "et_test_case_config". + +%% Read default config file +read_config() -> + Fname = config_fname(), + et_test_lib:log("Consulting file ~s...~n", [Fname]), + case file:consult(Fname) of + {ok, Config} -> + et_test_lib:log("Read config ~w~n", [Config]), + Config; + _Error -> + Config = et_test_lib:default_config(), + et_test_lib:log("<>WARNING<> Using default config: ~w~n", [Config]), + Config + end. + +%% Write new default config file +write_config(Config) when is_list(Config) -> + Fname = config_fname(), + {ok, Fd} = file:open(Fname, write), + write_list(Fd, Config), + file:close(Fd). + +write_list(Fd, [H | T]) -> + ok = io:format(Fd, "~p.~n",[H]), + write_list(Fd, T); +write_list(_, []) -> + ok. + +test_case_fname() -> + "et_test_case_info". + +%% Read name of test case +read_test_case() -> + Fname = test_case_fname(), + case file:open(Fname, [read]) of + {ok, Fd} -> + Res = io:read(Fd, []), + file:close(Fd), + case Res of + {ok, TestCase} -> + et_test_lib:log("Using test case ~w from file ~s~n", + [TestCase, Fname]), + TestCase; + {error, _} -> + default_test_case(Fname) + end; + {error, _} -> + default_test_case(Fname) + end. + +default_test_case(Fname) -> + TestCase = all, + et_test_lib:log("<>WARNING<> Cannot read file ~s, " + "using default test case: ~w~n", + [Fname, TestCase]), + TestCase. + +write_test_case(TestCase) -> + Fname = test_case_fname(), + {ok, Fd} = file:open(Fname, write), + ok = io:format(Fd, "~p.~n",[TestCase]), + file:close(Fd). + +append_test_case_info(TestCase, TestCaseInfo) -> + Fname = test_case_fname(), + {ok, Fd} = file:open(Fname, [read, write]), + ok = io:format(Fd, "~p.~n",[TestCase]), + ok = io:format(Fd, "~p.~n",[TestCaseInfo]), + file:close(Fd), + TestCaseInfo. diff --git a/lib/et/vsn.mk b/lib/et/vsn.mk index c6d58e2055..b7d65b12a2 100644 --- a/lib/et/vsn.mk +++ b/lib/et/vsn.mk @@ -1,23 +1,24 @@ # This is an -*-makefile-*- file. # %CopyrightBegin% -# -# Copyright Ericsson AB 2002-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2002-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% -ET_VSN = 1.3.3 +ET_VSN = 1.4 +TICKETS = OTP-8058 -TICKETS = OTP-8201 +TICKETS_1_3_3 = OTP-8201 TICKETS_1_3_2 = OTP-8078 TICKETS_1_3_1 = OTP-7830 diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile index beab8da547..55d20af8af 100644 --- a/lib/hipe/rtl/Makefile +++ b/lib/hipe/rtl/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 2001-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2001-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -113,8 +113,11 @@ HIPE_MKLITERALS=$(ERL_TOP)/bin/$(TARGET)/hipe_mkliterals hipe_literals.hrl: $(HIPE_MKLITERALS) $(HIPE_MKLITERALS) -e > hipe_literals.hrl +# Need to generate hipe.hrl from one and only one target in one and only +# one makefile; otherwise, clearmake will force rebuilds of hipe over and +# over again. ../main/hipe.hrl: ../vsn.mk ../main/hipe.hrl.src - sed -e "s;%VSN%;$(HIPE_VSN);" ../main/hipe.hrl.src > ../main/hipe.hrl + (cd ../main && $(MAKE) hipe.hrl) $(EBIN)/hipe_rtl.beam: hipe_rtl.hrl ../main/hipe.hrl $(EBIN)/hipe_rtl_arch.beam: hipe_rtl.hrl hipe_literals.hrl diff --git a/lib/kernel/test/code_SUITE.erl b/lib/kernel/test/code_SUITE.erl index 38aadac202..8e1e3d5390 100644 --- a/lib/kernel/test/code_SUITE.erl +++ b/lib/kernel/test/code_SUITE.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(code_SUITE). @@ -547,7 +547,7 @@ add_del_path(Config) -> ext_mod_dep(suite) -> []; -ext_mod_dep(doce) -> +ext_mod_dep(doc) -> ["Every module that the code_server uses should be preloaded, " "this test case verifies that"]; ext_mod_dep(Config) when is_list(Config) -> diff --git a/lib/megaco/configure.in b/lib/megaco/configure.in index 297d618369..8f94a4efcf 100644 --- a/lib/megaco/configure.in +++ b/lib/megaco/configure.in @@ -1,20 +1,20 @@ dnl Process this file with autoconf to produce a configure script. -*-m4-*- dnl dnl %CopyrightBegin% -dnl -dnl Copyright Ericsson AB 2001-2009. All Rights Reserved. -dnl +dnl +dnl Copyright Ericsson AB 2001-2010. All Rights Reserved. +dnl dnl The contents of this file are subject to the Erlang Public License, dnl Version 1.1, (the "License"); you may not use this file except in dnl compliance with the License. You should have received a copy of the dnl Erlang Public License along with this software. If not, it can be dnl retrieved online at http://www.erlang.org/. -dnl +dnl dnl Software distributed under the License is distributed on an "AS IS" dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See dnl the License for the specific language governing rights and limitations dnl under the License. -dnl +dnl dnl %CopyrightEnd% dnl @@ -145,12 +145,14 @@ AC_ARG_ENABLE(megaco_flex_scanner_lineno, AC_SUBST(ENABLE_MEGACO_FLEX_SCANNER_LINENO) +dnl This is the os flavour, should be unix, vxworks or win32 +if test "X$host" = "Xwin32"; then + ERLANG_OSTYPE=win32 +else + ERLANG_OSTYPE=unix +fi -dnl -dnl C compiler (related) defs -dnl - -AC_PROG_CC +AC_SUBST(ERLANG_OSTYPE) dnl Magic test for clearcase. if test -d ../../system; then @@ -158,33 +160,55 @@ if test -d ../../system; then else OTP_EXTRA_FLAGS= fi +AC_SUBST(OTP_EXTRA_FLAGS) + +dnl +dnl If ${ERL_TOP}/make/otp_ded.mk.in exists and contains DED_MK_VSN > 0, +dnl every thing releted to compiling Dynamic Erlang Drivers can be found +dnl in $(ERL_TOP)/make/$(TARGET)/ded.mk at compile time. If not, try to +dnl figure these things out. +dnl + +AC_MSG_CHECKING([for usable Dynamic Erlang Driver configuration]) +[ + ded_mk_in="${ERL_TOP}/make/otp_ded.mk.in" + ded_mk_vsn= + test -r "$ded_mk_in" && + ded_mk_vsn=`sed -n "s/^DED_MK_VSN[ ]*=[ ]*\(.*\)/\1/p" < "$ded_mk_in"` + test "$ded_mk_vsn" != "" || ded_mk_vsn=0 +] + +if test $ded_mk_vsn -gt 0; then + +HAVE_USABLE_OTP_DED_MK=yes +AC_MSG_RESULT([yes]) +CC=false +AC_SUBST(CC) +DED_LD=false +AC_SUBST(DED_LD) + +else dnl --- begin no usable otp_ded.mk.in --- + +HAVE_USABLE_OTP_DED_MK=no +AC_MSG_RESULT([no]) dnl -dnl The ErlDrvEntry struct changed in R13 (another field) +dnl C compiler (related) defs dnl -AC_CHECK_MEMBERS([struct ErlDrvEntry.stop_select], - [ - CFLAGS="$CFLAGS -DMEGACO_DRV_ENTRY_HAS_STOP_SELECT" - ], - [], - [ - #include "erl_driver.h" - ]) +AC_PROG_CC dnl dnl Flags to the C compiler dnl -dnl make sure we find config.h -CFLAGS="$CFLAGS -I${ERL_TOP}/erts/$host -I${ERL_TOP}/erts/include/$host $OTP_EXTRA_FLAGS" if test "X$host" = "Xwin32"; then DED_CFLAGS="$CFLAGS" else case $host_os in darwin*) - CFLAGS="$CFLAGS -no-cpp-precomp" + CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" ;; esac @@ -196,22 +220,10 @@ else fi dnl emulator includes needed -DED_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host" - -DED_CFLAGS="$DED_INCLUDE $DED_CFLAGS" - - +DED_INCLUDES="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host -I${ERL_TOP}/erts/include/internal -I${ERL_TOP}/erts/include/internal/$host -I${ERL_TOP}/erts/emulator/sys/$ERLANG_OSTYPE" -AC_SUBST(DED_CFLAGS) - - -AC_CHECK_PROGS(DED_LD, [ld.sh ld], no_ld) -if test "$DED_LD" = no_ld; then - AC_MSG_ERROR([ld is required to build the flex scanner!]) -fi +DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" - -AC_MSG_CHECKING(for linker flags for loadable drivers) case $host_os in win32) DED_LDFLAGS="-dll" @@ -230,33 +242,36 @@ case $host_os in # Mach-O linker, a shared lib and a loadable # object file is not the same thing. DED_LDFLAGS="-bundle -flat_namespace -undefined suppress" - DED_CFLAGS="$DED_CFLAGS -fno-common" + DED_LD="$CC" ;; *) # assume GNU linker and ELF DED_LDFLAGS="-shared" ;; esac + +AC_CHECK_PROGS(DED_LD, [$LD ld.sh]) +AC_CHECK_TOOL(DED_LD, ld, no_ld) +if test "$DED_LD" = no_ld; then + AC_MSG_ERROR([ld is required to build the flex scanner!]) +fi + +AC_MSG_CHECKING(for linker flags for loadable drivers) DED_LDFLAGS="$LDFLAGS $DED_LDFLAGS" AC_MSG_RESULT([$DED_LDFLAGS]) -AC_SUBST(DED_LDFLAGS) +fi dnl --- end no usable otp_ded.mk.in --- + +AC_SUBST(HAVE_USABLE_OTP_DED_MK) +AC_SUBST(DED_CFLAGS) +AC_SUBST(DED_INCLUDES) +AC_SUBST(DED_THR_DEFS) +AC_SUBST(DED_LDFLAGS) AC_CHECK_PROG(PERL, perl, perl, no_perl) if test "$PERL" = no_perl; then AC_MSG_ERROR([Perl is required to build the flex scanner!]) fi - -dnl This is the os flavour, should be unix, vxworks or win32 -if test "X$host" = "Xwin32"; then - ERLANG_OSTYPE=win32 -else - ERLANG_OSTYPE=unix -fi - -AC_SUBST(ERLANG_OSTYPE) - - AC_OUTPUT(src/flex/$host/Makefile:src/flex/Makefile.in) diff --git a/lib/megaco/doc/src/Makefile b/lib/megaco/doc/src/Makefile index a82256b372..2355a1b8b9 100644 --- a/lib/megaco/doc/src/Makefile +++ b/lib/megaco/doc/src/Makefile @@ -107,8 +107,7 @@ INDEX_SRC = $(INDEX_FILE).src INDEX_TARGET = $(DOCDIR)/$(INDEX_FILE) STANDARD_DIR = ../standard -STANDARDS = $(STANDARD_DIR)/rfc3266.txt \ - $(STANDARD_DIR)/rfc3525.txt \ +STANDARDS = $(STANDARD_DIR)/rfc3525.txt \ $(STANDARD_DIR)/rfc4234.txt \ $(STANDARD_DIR)/rfc4566.txt \ $(STANDARD_DIR)/implementors_guide_v10-13.pdf diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml index 61f3611029..59b1e59ce9 100644 --- a/lib/megaco/doc/src/notes.xml +++ b/lib/megaco/doc/src/notes.xml @@ -36,9 +36,9 @@ section is the version number of Megaco.</p> <section> - <title>Megaco 3.13.0.2</title> + <title>Megaco 3.13.1</title> - <p>Version 3.13.0.2 supports code replacement in runtime from/to + <p>Version 3.13.1 supports code replacement in runtime from/to version 3.13, 3.12 and 3.11.3.</p> <section> @@ -50,6 +50,12 @@ <list type="bulleted"> <item> + <p>Various changes to configure and makefile(s) to facilitate cross + compilation. </p> + <p>Own Id: OTP-8323</p> + </item> + + <item> <p>Added a help target in the test Makefile to explain the most useful make targets, used when testing the application using the test-server provided with megaco.</p> @@ -75,7 +81,7 @@ </section> - </section> <!-- 3.13.0.2 --> + </section> <!-- 3.13.1 --> <section> diff --git a/lib/megaco/src/app/megaco.appup.src b/lib/megaco/src/app/megaco.appup.src index 2d5ee2ddbd..3cf0e165b7 100644 --- a/lib/megaco/src/app/megaco.appup.src +++ b/lib/megaco/src/app/megaco.appup.src @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -122,29 +122,38 @@ %% 3.13 %% | %% v -%% 3.13.0.1 +%% 3.13.1 %% %% {"%VSN%", [ {"3.13", [ + {load_module, megaco_filter, soft_purge, soft_purge, []}, + {update, megaco_flex_scanner_handler, {advanced, downgrade_to_pre_3_13_1}, + soft_purge, soft_purge, []} ] }, {"3.12", [ + {load_module, megaco_filter, soft_purge, soft_purge, []}, {load_module, megaco_udp, soft_purge, soft_purge, []}, {load_module, megaco_messenger, soft_purge, soft_purge, [megaco_monitor]}, - {update, megaco_monitor, soft, soft_purge, soft_purge, []} + {update, megaco_monitor, soft, soft_purge, soft_purge, []}, + {update, megaco_flex_scanner_handler, {advanced, downgrade_to_pre_3_13_1}, + soft_purge, soft_purge, []} ] }, {"3.11.3", [ + {load_module, megaco_filter, soft_purge, soft_purge, []}, {load_module, megaco_udp, soft_purge, soft_purge, []}, {load_module, megaco_messenger, soft_purge, soft_purge, [megaco_config, megaco_monitor]}, {update, megaco_monitor, soft, soft_purge, soft_purge, []}, {update, megaco_config, {advanced, upgrade_from_pre_3_12}, + soft_purge, soft_purge, []}, + {update, megaco_flex_scanner_handler, {advanced, downgrade_to_pre_3_13_1}, soft_purge, soft_purge, []} ] } @@ -152,22 +161,31 @@ [ {"3.13", [ + {load_module, megaco_filter, soft_purge, soft_purge, []}, + {update, megaco_flex_scanner_handler, {advanced, upgrade_from_pre_3_13_1}, + soft_purge, soft_purge, []} ] }, {"3.12", [ + {load_module, megaco_filter, soft_purge, soft_purge, []}, {load_module, megaco_udp, soft_purge, soft_purge, []}, {load_module, megaco_messenger, soft_purge, soft_purge, [megaco_monitor]}, - {update, megaco_monitor, soft, soft_purge, soft_purge, []} + {update, megaco_monitor, soft, soft_purge, soft_purge, []}, + {update, megaco_flex_scanner_handler, {advanced, upgrade_from_pre_3_13_1}, + soft_purge, soft_purge, []} ] }, {"3.11.3", [ + {load_module, megaco_filter, soft_purge, soft_purge, []}, {load_module, megaco_udp, soft_purge, soft_purge, []}, {load_module, megaco_messenger, soft_purge, soft_purge, [megaco_config, megaco_monitor]}, {update, megaco_monitor, soft, soft_purge, soft_purge, []}, {update, megaco_config, {advanced, downgrade_to_pre_3_12}, + soft_purge, soft_purge, []}, + {update, megaco_flex_scanner_handler, {advanced, upgrade_from_pre_3_13_1}, soft_purge, soft_purge, []} ] } diff --git a/lib/megaco/src/engine/megaco_filter.erl b/lib/megaco/src/engine/megaco_filter.erl index 23a91b1f1d..9df752789c 100644 --- a/lib/megaco/src/engine/megaco_filter.erl +++ b/lib/megaco/src/engine/megaco_filter.erl @@ -1,37 +1,83 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2000-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% %%---------------------------------------------------------------------- -%% Purpose : megaco/H.248 customization of generic event tracer +%% Purpose : Megaco/H.248 customization of the Event Tracer tool %%---------------------------------------------------------------------- -module(megaco_filter). --export([start/0, start/1, filter/1, +-export([start/0, start/1, filter/1, raw_filter/1, pretty_error/1, string_to_term/1]). + -include_lib("megaco/include/megaco.hrl"). -include_lib("megaco/include/megaco_message_v1.hrl"). -include_lib("megaco/src/app/megaco_internal.hrl"). -include_lib("et/include/et.hrl"). +%%---------------------------------------------------------------------- +%% BUGBUG: There are some opportunities for improvements: +%% +%% * This version of the module does only handle version 1 of the messages. +%% +%% * The record definition of megaco_transaction_reply is copied from +%% megaco_message_internal.hrl as that header file contains some +%% records that already are defined in megaco_message_{v1,v2,v3}.hrl. +%% * The records megaco_udp and megaco_tcp are copied from the files +%% megaco_udp.hrl and megaco_tcp.hrl respectively, as we cannot include +%% both header files. They both defines the macros HEAP_SIZE and GC_MSG_LIMIT. + +%%-include("megaco_message_internal.hrl"). +-record('megaco_transaction_reply', + { + transactionId, + immAckRequired = asn1_NOVALUE, + transactionResult, + segmentNumber = asn1_NOVALUE, + segmentationComplete = asn1_NOVALUE + }). + +%% -include_lib("megaco/src/udp/megaco_udp.hrl"). +-record(megaco_udp, + {port, + options = [], + socket, + receive_handle, + module = megaco, + serialize = false % false: Spawn a new process for each message + }). + +%% -include_lib("megaco/src/tcp/megaco_tcp.hrl"). +-record(megaco_tcp, + {host, + port, + options = [], + socket, + proxy_pid, + receive_handle, + module = megaco, + serialize = false % false: Spawn a new process for each message + }). +%%---------------------------------------------------------------------- + start() -> start([]). @@ -47,11 +93,20 @@ start(ExtraOptions) -> {title, "Megaco tracer - Erlang/OTP"} | ExtraOptions], et_viewer:start(Options). -filter(E) when is_record(E, event) -> +filter(E) -> + case catch raw_filter(E) of + {'EXIT', Reason} = Error-> + io:format("~p: ~p\n", [?MODULE, Error]), + exit(Reason); + E2 -> + E2 + end. + +raw_filter(E) when is_record(E, event) -> From = filter_actor(E#event.from), To = filter_actor(E#event.to), E2 = E#event{from = From, to = To}, - E3 = filter_contents(E#event.contents, E2, []), + E3 = filter_contents(E#event.contents, E2), {true, E3}. filter_actors(From, To, E) @@ -101,6 +156,9 @@ filter_user_actor(Actor) -> do_filter_actor(CH) when is_record(CH, megaco_conn_handle) -> Mid = CH#megaco_conn_handle.local_mid, do_filter_actor(Mid); +do_filter_actor(RH) when is_record(RH, megaco_receive_handle) -> + Mid = RH#megaco_receive_handle.local_mid, + do_filter_actor(Mid); do_filter_actor(Actor) -> case Actor of {ip4Address, {'IP4Address', [A1,A2,A3,A4], asn1_NOVALUE}} -> @@ -130,86 +188,108 @@ do_filter_actor(Actor) -> "UNKNOWN" end. -filter_contents([], E, Contents) -> - E#event{contents = lists:flatten(lists:reverse(Contents))}; -filter_contents([H | T], E, Contents) -> + +filter_contents(Contents, E) -> + do_filter_contents(Contents, E, missing_conn_data, []). + +do_filter_contents([H | T], E, ConnData, Contents) -> case H of - {line, _Mod, _Line} -> - filter_contents(T, E, Contents); + Udp when is_record(Udp, megaco_udp) -> + RH = Udp#megaco_udp.receive_handle, + Actor = filter_actor(RH), + E2 = E#event{from = Actor, to = Actor}, + Pretty = + ["Port: ", integer_to_list(Udp#megaco_udp.port), "\n", + "Encoder: ", atom_to_list(RH#megaco_receive_handle.encoding_mod)], + do_filter_contents(T, E2, ConnData, [[Pretty, "\n"], Contents]); + Tcp when is_record(Tcp, megaco_tcp) -> + RH = Tcp#megaco_tcp.receive_handle, + Actor = filter_actor(RH), + E2 = E#event{from = Actor, to = Actor}, + Pretty = + ["Port: ", integer_to_list(Tcp#megaco_tcp.port), "\n", + "Encoder: ", atom_to_list(RH#megaco_receive_handle.encoding_mod)], + do_filter_contents(T, E2, ConnData, [[Pretty, "\n"], Contents]); CD when is_record(CD, conn_data) -> CH = CD#conn_data.conn_handle, From = CH#megaco_conn_handle.local_mid, - To = CH#megaco_conn_handle.remote_mid, + To = CH#megaco_conn_handle.remote_mid, E2 = filter_actors(From, To, E), Serial = CD#conn_data.serial, E3 = append_serial(Serial, E2), - filter_contents(T, E3, Contents); + do_filter_contents(T, E3, CD, Contents); CH when is_record(CH, megaco_conn_handle) -> From = CH#megaco_conn_handle.local_mid, - To = CH#megaco_conn_handle.remote_mid, + To = CH#megaco_conn_handle.remote_mid, E2 = filter_actors(From, To, E), - filter_contents(T, E2, Contents); - {orig_conn_handle, _CH} -> - filter_contents(T, E, Contents); + do_filter_contents(T, E2, ConnData, Contents); RH when is_record(RH, megaco_receive_handle) -> Actor = RH#megaco_receive_handle.local_mid, E2 = filter_actors(Actor, Actor, E), - filter_contents(T, E2, Contents); - {pid, Pid} when is_pid(Pid) -> - filter_contents(T, E, Contents); - pending -> - filter_contents(T, E, Contents); - reply -> - filter_contents(T, E, Contents); + do_filter_contents(T, E2, ConnData, Contents); {error, Reason} -> Pretty = pretty_error({error, Reason}), E2 = prepend_error(E), - filter_contents(T, E2, [[Pretty, "\n"], Contents]); + do_filter_contents(T, E2, ConnData, [[Pretty, "\n"], Contents]); {'EXIT', Reason} -> Pretty = pretty_error({'EXIT', Reason}), E2 = prepend_error(E), - filter_contents(T, E2, [[Pretty, "\n"], Contents]); + do_filter_contents(T, E2, ConnData, [[Pretty, "\n"], Contents]); ED when is_record(ED, 'ErrorDescriptor') -> Pretty = pretty_error(ED), E2 = prepend_error(E), - filter_contents(T, E2, [[Pretty, "\n"], Contents]); + do_filter_contents(T, E2, ConnData, [[Pretty, "\n"], Contents]); Trans when is_record(Trans, 'TransactionRequest') -> - Pretty = pretty({trans, {transactionRequest, Trans}}), - filter_contents([], E, [[Pretty, "\n"], Contents]); + Pretty = pretty(ConnData, {trans, {transactionRequest, Trans}}), + do_filter_contents([], E, ConnData, [[Pretty, "\n"], Contents]); + {transactionRequest, Trans} when is_record(Trans, 'TransactionRequest') -> + Pretty = pretty(ConnData, {trans, {transactionRequest, Trans}}), + do_filter_contents([], E, ConnData, [[Pretty, "\n"], Contents]); Trans when is_record(Trans, 'TransactionReply') -> - Pretty = pretty({trans, {transactionReply, Trans}}), - filter_contents([], E, [[Pretty, "\n"], Contents]); + Pretty = pretty(ConnData, {trans, {transactionReply, Trans}}), + do_filter_contents([], E, ConnData, [[Pretty, "\n"], Contents]); + Trans when is_record(Trans, megaco_transaction_reply) -> + %% BUGBUG: Version 1 special + TransV1 = + #'TransactionReply'{transactionId = Trans#megaco_transaction_reply.transactionId, + immAckRequired = Trans#megaco_transaction_reply.immAckRequired, + transactionResult = Trans#megaco_transaction_reply.transactionResult}, + Pretty = pretty(ConnData, {trans, {transactionReply, TransV1}}), + do_filter_contents([], E, ConnData, [[Pretty, "\n"], Contents]); Trans when is_record(Trans, 'TransactionPending') -> - Pretty = pretty({trans, {transactionPending, Trans}}), - filter_contents([], E, [[Pretty, "\n"], Contents]); + Pretty = pretty(ConnData, {trans, {transactionPending, Trans}}), + do_filter_contents([], E, ConnData, [[Pretty, "\n"], Contents]); Trans when is_record(Trans, 'TransactionAck') -> - Pretty = pretty({trans, {transactionResponseAck, [Trans]}}), + Pretty = pretty(ConnData, {trans, {transactionResponseAck, [Trans]}}), case Trans#'TransactionAck'.lastAck of asn1_NOVALUE -> - filter_contents([], E, [[Pretty, "\n"], Contents]); + do_filter_contents([], E, ConnData, [[Pretty, "\n"], Contents]); Last -> Label = term_to_string(E#event.label), E2 = E#event{label = Label ++ ".." ++ integer_to_list(Last)}, - filter_contents([], E2, [[Pretty, "\n"], Contents]) + do_filter_contents([], E2, ConnData, [[Pretty, "\n"], Contents]) end; {context_id, _ContextId} -> - Pretty = pretty(H), - filter_contents(T, E, [[Pretty, "\n"], Contents]); + Pretty = pretty(ConnData, H), + do_filter_contents(T, E, ConnData, [[Pretty, "\n"], Contents]); {command_request, CmdReq} -> - Pretty = pretty(CmdReq), - filter_contents(T, E, [[Pretty, "\n"], Contents]); + Pretty = pretty(ConnData, CmdReq), + do_filter_contents(T, E, ConnData, [[Pretty, "\n"], Contents]); {user_reply, {ok, ARS}} -> - Pretty = [[pretty(AR), "\n"] || AR <- ARS], - filter_contents(T, E, [["REPLY: \n", Pretty, "\n"], Contents]); + Pretty = [[pretty(ConnData, AR), "\n"] || AR <- ARS], + do_filter_contents(T, E, ConnData, [["USER REPLY OK: \n", Pretty, "\n"], Contents]); {user_reply, Error} -> Pretty = pretty_error(Error), - filter_contents(T, E, [["REPLY: \n", Pretty, "\n"], Contents]); + do_filter_contents(T, E, ConnData, [["USER REPLY ERROR: \n", Pretty, "\n"], Contents]); {actionReplies, ARS} -> - Pretty = [[pretty(AR), "\n"] || AR <- ARS], - filter_contents(T, E, [["REPLY: \n", Pretty, "\n"], Contents]); + Pretty = [[pretty(ConnData, AR), "\n"] || AR <- ARS], + do_filter_contents(T, E, ConnData, [["ACTION REPLIES: \n", Pretty, "\n"], Contents]); MegaMsg when is_record(MegaMsg, 'MegacoMessage') -> - Pretty = pretty(MegaMsg), - filter_contents(T, E, [["MESSAGE: \n", Pretty, "\n"], Contents]); + Pretty = pretty(ConnData, MegaMsg), + do_filter_contents(T, E, ConnData, [Pretty, "\n", Contents]); + {message, MegaMsg} when is_record(MegaMsg, 'MegacoMessage') -> + Pretty = pretty(ConnData, MegaMsg), + do_filter_contents(T, E, ConnData, [Pretty, "\n", Contents]); {bytes, Bin} when is_binary(Bin) -> E2 = case E#event.label of @@ -223,15 +303,37 @@ filter_contents([H | T], E, Contents) -> E end, CharList = erlang:binary_to_list(Bin), - filter_contents(T, E2, [[CharList , "\n"], Contents]); - [] -> - filter_contents(T, E, Contents); + do_filter_contents(T, E2, ConnData, [[CharList , "\n"], Contents]); + List when is_list(List) -> + %% BUGBUG: Workaround as megaco_messenger puts nested lists in its traces + do_filter_contents(List ++ T, E, ConnData, Contents); + Int when is_integer(Int) -> + %% BUGBUG: Workaround as megaco_messenger puts nested lists in its traces + do_filter_contents(T, E, ConnData, Contents); + {line, _Mod, _Line} -> + do_filter_contents(T, E, ConnData, Contents); + {orig_conn_handle, _CH} -> + do_filter_contents(T, E, ConnData, Contents); + {pid, Pid} when is_pid(Pid) -> + do_filter_contents(T, E, ConnData, Contents); + pending -> + do_filter_contents(T, E, ConnData, Contents); + reply -> + do_filter_contents(T, E, ConnData, Contents); {test_lib, _Mod, _Fun} -> - filter_contents(T, E, Contents); + do_filter_contents(T, E, ConnData, Contents); + {trans_id, _TransId} -> + do_filter_contents(T, E, ConnData, Contents); + {send_func, _FunName} -> + do_filter_contents(T, E, ConnData, Contents); + Pid when is_pid(Pid) -> + do_filter_contents(T, E, ConnData, Contents); Other -> - Pretty = pretty(Other), - filter_contents(T, E, [[Pretty, "\n"], Contents]) - end. + Pretty = pretty(ConnData, Other), + do_filter_contents(T, E, ConnData, [[Pretty, "\n"], Contents]) + end; +do_filter_contents([], E, _ConnData, Contents) -> + E#event{contents = lists:flatten(lists:reverse(Contents))}. append_serial(Serial, E) when is_integer(Serial) -> Label = term_to_string(E#event.label), @@ -243,7 +345,7 @@ prepend_error(E) -> Label = term_to_string(E#event.label), E#event{label = "<ERROR> " ++ Label}. -pretty({context_id, ContextId}) -> +pretty(_ConnData, {context_id, ContextId}) -> if ContextId =:= ?megaco_null_context_id -> ["CONTEXT ID: -\n"]; @@ -254,61 +356,33 @@ pretty({context_id, ContextId}) -> is_integer(ContextId) -> ["CONTEXT ID: ",integer_to_list(ContextId), "\n"] end; -pretty(MegaMsg) when is_record(MegaMsg, 'MegacoMessage') -> - case catch megaco_pretty_text_encoder:encode_message([], MegaMsg) of - {ok, Bin} -> - term_to_string(Bin); - _Bad -> - term_to_string(MegaMsg) - end; -pretty(CmdReq) when is_record(CmdReq, 'CommandRequest') -> - case catch megaco_pretty_text_encoder:encode_command_request(CmdReq) of - {ok, IoList} -> - IoList2 = lists:flatten(IoList), - term_to_string(IoList2); - _Bad -> - term_to_string(CmdReq) - end; -pretty({complete_success, ContextId, RepList} = Res) -> +pretty(_ConnData, MegaMsg) when is_record(MegaMsg, 'MegacoMessage') -> + {ok, Bin} = megaco_pretty_text_encoder:encode_message([], MegaMsg), + term_to_string(Bin); +pretty(_ConnData, CmdReq) when is_record(CmdReq, 'CommandRequest') -> + {ok, IoList} = megaco_pretty_text_encoder:encode_command_request(CmdReq), + term_to_string(lists:flatten(IoList)); +pretty(_ConnData, {complete_success, ContextId, RepList}) -> ActRep = #'ActionReply'{contextId = ContextId, commandReply = RepList}, - case catch megaco_pretty_text_encoder:encode_action_reply(ActRep) of - {ok, IoList} -> - IoList2 = lists:flatten(IoList), - term_to_string(IoList2); - _Bad -> - term_to_string(Res) - end; -pretty(AR) when is_record(AR, 'ActionReply') -> - case catch megaco_pretty_text_encoder:encode_action_reply(AR) of - {ok, IoList} -> - IoList2 = lists:flatten(IoList), - term_to_string(IoList2); - _Bad -> - term_to_string(AR) - end; -pretty({partial_failure, ContextId, RepList} = Res) -> + {ok, IoList} = megaco_pretty_text_encoder:encode_action_reply(ActRep), + term_to_string(lists:flatten(IoList)); +pretty(_ConnData, AR) when is_record(AR, 'ActionReply') -> + {ok, IoList} = megaco_pretty_text_encoder:encode_action_reply(AR), + term_to_string(lists:flatten(IoList)); +pretty(_ConnData, {partial_failure, ContextId, RepList}) -> ActRep = #'ActionReply'{contextId = ContextId, commandReply = RepList}, - case catch megaco_pretty_text_encoder:encode_action_reply(ActRep) of - {ok, IoList} -> - IoList2 = lists:flatten(IoList), - term_to_string(IoList2); - _Bad -> - term_to_string(Res) - end; -pretty({trans, Trans}) -> - case catch megaco_pretty_text_encoder:encode_transaction(Trans) of + {ok, IoList} = megaco_pretty_text_encoder:encode_action_reply(ActRep), + term_to_string(lists:flatten(IoList)); +pretty(_ConnData, {trans, Trans}) -> + case megaco_pretty_text_encoder:encode_transaction(Trans) of {ok, Bin} when is_binary(Bin) -> - IoList2 = lists:flatten(binary_to_list(Bin)), - term_to_string(IoList2); + term_to_string(binary_to_list(Bin)); {ok, IoList} -> - IoList2 = lists:flatten(IoList), - term_to_string(IoList2); - _Bad -> - term_to_string(Trans) + term_to_string(lists:flatten(IoList)) end; -pretty(Other) -> +pretty(__ConnData, Other) -> term_to_string(Other). pretty_error({error, Reason}) -> diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in index 782d6a4807..6ce9b34617 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 2001-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2001-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% include $(ERL_TOP)/make/target.mk @@ -23,13 +23,30 @@ MEGACO_INCLUDEDIR = ../../include include $(ERL_TOP)/make/$(TARGET)/otp.mk - # ---------------------------------------------------- # Application version # ---------------------------------------------------- include ../../vsn.mk VSN=$(MEGACO_VSN) +# ---------------------------------------------------- +# Dynamic Erlang Driver +# ---------------------------------------------------- +HAVE_USABLE_OTP_DED_MK = @HAVE_USABLE_OTP_DED_MK@ + +ifeq ($(HAVE_USABLE_OTP_DED_MK),yes) +# otp_ded.mk will be used on R13B04 and later +include $(ERL_TOP)/make/$(TARGET)/otp_ded.mk +else +# megacos configure provide the info instead +DED_CC = @CC@ +DED__NOWARN_NOTHR_CFLAGS = @DED_CFLAGS@ +DED_THR_DEFS = @DED_THR_DEFS@ +DED_LD = @DED_LD@ +DED_LDFLAGS = @DED_LDFLAGS@ +DED_INCLUDES = @DED_INCLUDES@ +DED_EXT = so +endif # ---------------------------------------------------- # The following variables differ on different systems, we set @@ -39,16 +56,16 @@ VSN=$(MEGACO_VSN) FLEX_VSN = $(shell flex --version) -TMP_CFLAGS = @DED_CFLAGS@ +TMP_CFLAGS = $(DED__NOWARN_NOTHR_CFLAGS) @OTP_EXTRA_FLAGS@ ifeq ($(TYPE),valgrind) CFLAGS = $(subst -O2, , $(TMP_CFLAGS)) -DVALGRIND else CFLAGS = $(TMP_CFLAGS) endif -CC = @CC@ -CFLAGS_MT = $(CFLAGS) -D_THREAD_SAFE -D_REENTRANT -LD = @DED_LD@ -LDFLAGS = @DED_LDFLAGS@ +CC = $(DED_CC) +CFLAGS_MT = $(CFLAGS) $(DED_THR_DEFS) +LD = $(DED_LD) +LDFLAGS = $(DED_LDFLAGS) LEX = @LEX@ LEXLIB = @LEXLIB@ PERL = @PERL@ @@ -87,18 +104,13 @@ ENABLE_MEGACO_FLEX_SCANNER_LINENO = @ENABLE_MEGACO_FLEX_SCANNER_LINENO@ endif endif - -SYSINCLUDE = -I$(ERL_TOP)/erts/emulator/beam \ - -I$(ERL_TOP)/erts/emulator/sys/$(ERLANG_OSTYPE) ifeq ($(findstring vxworks,$(TARGET)),vxworks) - SYSINCLUDE += -I$(ERL_TOP)/erts/etc/vxworks + DED_INCLUDES += -I$(ERL_TOP)/erts/etc/vxworks endif -DRIVER_INCLUDES = $(SYSINCLUDE) - PRIVDIR = ../../priv LIBDIR = $(PRIVDIR)/lib/$(TARGET) - +OBJDIR = $(PRIVDIR)/obj/$(TARGET) # ---------------------------------------------------- # Release directory specification @@ -138,8 +150,8 @@ ifeq ($(findstring vxworks,$(TARGET)),vxworks) FLEX_SCANNER_SO = SOLIBS = $(FLEX_SCANNER_SO) else -FLEX_SCANNER_SO = $(LIBDIR)/$(STD_DRV).so -FLEX_SCANNER_MT_SO = $(LIBDIR)/$(MT_DRV).so +FLEX_SCANNER_SO = $(LIBDIR)/$(STD_DRV).$(DED_EXT) +FLEX_SCANNER_MT_SO = $(LIBDIR)/$(MT_DRV).$(DED_EXT) SOLIBS = $(FLEX_SCANNER_SO) $(FLEX_SCANNER_MT_SO) endif endif @@ -175,7 +187,7 @@ else CFLAGS += -DMFS_FLEX_DEBUG=0 endif -CFLAGS += $(DRIVER_INCLUDES) $(DRV_FLAGS) -funroll-loops -Wall +CFLAGS += $(DED_INCLUDES) -I$(ERL_TOP)/erts/$(TARGET) $(DRV_FLAGS) -funroll-loops -Wall #ifneq ($(FLEX_VSN),) #CFLAGS += -DFLEX_VERSION="$(FLEX_VSN)" @@ -379,18 +391,30 @@ $(STD_DRV).c: $(STD_DRV).flex $(MT_DRV).c: $(MT_DRV).flex $(LEX) $(MT_LEX_FLAGS) -P$* -o$@ $< -solibs: $(LIBDIR) $(SOLIBS) +solibs: $(LIBDIR) $(OBJDIR) $(SOLIBS) + +$(OBJDIR)/$(STD_DRV).o: $(STD_DRV).c + @echo "compiling std driver:" + $(CC) -c $(STD_DRV_NAME) $(CFLAGS) -o $@ $< + +$(OBJDIR)/$(MT_DRV).o: $(MT_DRV).c + @echo "compiling multi-threaded driver:" + $(CC) -c $(MT_DRV_NAME) $(CFLAGS_MT) -o $@ $< + # No need to link with -lfl as we have also defined %option noyywrap - # and having -lfl doesn't work under Darwin for some reason. - Sean -$(LIBDIR)/$(STD_DRV).so: $(STD_DRV).c - @echo "std driver:" - $(CC) $(STD_DRV_NAME) $(CFLAGS) $(LDFLAGS) -o $(LIBDIR)/$(STD_DRV).so $< +$(LIBDIR)/$(STD_DRV).$(DED_EXT): $(OBJDIR)/$(STD_DRV).o + @echo "linking std driver:" + $(LD) $(LDFLAGS) -o $@ $< -$(LIBDIR)/$(MT_DRV).so: $(MT_DRV).c - @echo "multi-threaded driver:" - $(CC) $(MT_DRV_NAME) $(CFLAGS_MT) $(LDFLAGS) -o $(LIBDIR)/$(MT_DRV).so $< +$(LIBDIR)/$(MT_DRV).$(DED_EXT): $(OBJDIR)/$(MT_DRV).o + @echo "linking multi-threaded driver:" + $(LD) $(LDFLAGS) -o $@ $< $(LIBDIR): -mkdir -p $(LIBDIR) +$(OBJDIR): + -mkdir -p $(OBJDIR) + diff --git a/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src b/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src index b96a69415d..9b4f717201 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src +++ b/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src @@ -1,19 +1,19 @@ /* * %CopyrightBegin% - * - * Copyright Ericsson AB 2001-2009. All Rights Reserved. - * + * + * Copyright Ericsson AB 2001-2010. All Rights Reserved. + * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in * compliance with the License. You should have received a copy of the * Erlang Public License along with this software. If not, it can be * retrieved online at http://www.erlang.org/. - * + * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. - * + * * %CopyrightEnd% * * ---------------------------------------------------------------------- @@ -354,9 +354,6 @@ static ErlDrvEntry mfs_entry = { MEGACO_DRIVER_FLAGS, /* driver_flags, used for port lock indication */ NULL, /* handle2, emulator internal use */ NULL /* process_exit, Called when a process monitor fires */ -#if defined(MEGACO_DRV_ENTRY_HAS_STOP_SELECT) - ,NULL /* stop_select, Called to close an event object */ -#endif }; diff --git a/lib/megaco/src/flex/megaco_flex_scanner_handler.erl b/lib/megaco/src/flex/megaco_flex_scanner_handler.erl index d09e0c6fff..420202134e 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner_handler.erl +++ b/lib/megaco/src/flex/megaco_flex_scanner_handler.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -180,27 +180,28 @@ terminate(_Reason, _S) -> %% Purpose: Called to change the internal state %% Returns: {ok, NewState} %%---------------------------------------------------------------------- -%% code_change({down, _Vsn}, #state{conf = Conf} = State, downgrade_to_pre_3_8) -> -%% Port = downgrade_flex_scanner(Conf), -%% {ok, State#state{conf = {flex, Port}}}; + +code_change({down, _Vsn}, #state{conf = Conf} = State, downgrade_to_pre_3_13_1) -> + NewPorts = bump_flex_scanner(Conf), + {ok, State#state{conf = {flex, NewPorts}}}; + +code_change(_Vsn, #state{conf = Conf} = State, upgrade_from_pre_3_13_1) -> + NewPorts = bump_flex_scanner(Conf), + {ok, State#state{conf = {flex, NewPorts}}}; code_change(_Vsn, State, _Extra) -> {ok, State}. -%% downgrade_flex_scanner({flex, Port}) when is_port(Port) -> -%% Port; -%% downgrade_flex_scanner({flex, [Port]}) when is_port(Port) -> -%% Port; -%% downgrade_flex_scanner({flex, Ports}) when is_list(Ports) -> -%% megaco_flex_scanner:stop(Ports), -%% case megaco_flex_scanner:start() of -%% {ok, Port} -> -%% Port; -%% Error -> -%% exit(Error) -%% end; -%% downgrade_flex_scanner(BadConfig) -> -%% exit({invalid_config, BadConfig}). +bump_flex_scanner({flex, Ports}) -> + megaco_flex_scanner:stop(Ports), + case start_flex_scanners() of + {ok, NewPorts} -> + NewPorts; + Error -> + exit(Error) + end; +bump_flex_scanner(BadConfig) -> + exit({invalid_config, BadConfig}). %%%---------------------------------------------------------------------- diff --git a/lib/megaco/test/Makefile b/lib/megaco/test/Makefile index e521194419..85c97359d7 100644 --- a/lib/megaco/test/Makefile +++ b/lib/megaco/test/Makefile @@ -52,10 +52,14 @@ endif include modules.mk +EBIN = . + HRL_FILES = megaco_test_lib.hrl ERL_FILES = $(MODULES:%=%.erl) +SOURCE = $(HRL_FILES) $(ERL_FILES) + TARGET_FILES = $(MODULES:%=%.$(EMULATOR)) COVER_SPEC_FILE = megaco.cover @@ -71,6 +75,18 @@ OP_CASES = mess mib mreq pending trans actions load ALL_CASES = $(APP_CASES) $(CODEC_CASES) $(MISC_CASES) $(OP_CASES) +EMAKEFILE = Emakefile +MAKE_EMAKE = $(wildcard $(ERL_TOP)/make/make_emakefile) + +ifeq ($(MAKE_EMAKE),) +BUILDTARGET = $(TARGET_FILES) +RELTEST_FILES = $(MEGACO_SPECS) $(COVER_SPEC_FILE) $(SOURCE) +else +BUILDTARGET = emakebuild +RELTEST_FILES = $(EMAKEFILE) $(MEGACO_SPECS) $(COVER_SPEC_FILE) $(SOURCE) +endif + + # ---------------------------------------------------- # FLAGS # ---------------------------------------------------- @@ -128,15 +144,30 @@ endif # Targets # ---------------------------------------------------- -tests debug opt: $(TARGET_FILES) +tests debug opt: $(BUILDTARGET) + +targets: $(TARGET_FILES) + +.PHONY: emakebuild + +emakebuild: $(EMAKEFILE) + +$(EMAKEFILE): + $(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) '*_SUITE_make' | grep -v Warning > $(EMAKEFILE) + $(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) | grep -v Warning >> $(EMAKEFILE) clean: + rm -f $(EMAKEFILE) rm -f $(TARGET_FILES) rm -f errs core *~ docs: info: + @echo "MAKE_EMAKE = $(MAKE_EMAKE)" + @echo "EMAKEFILE = $(EMAKEFILE)" + @echo "BUILDTARGET = $(BUILDTARGET)" + @echo "" @echo "ERL_COMPILE_FLAGS = $(ERL_COMPILE_FLAGS)" @echo "ERL = $(ERL)" @echo "MERL = $(MERL)" @@ -314,8 +345,6 @@ all: make make: targets -targets: $(TARGET_FILES) - test: make $(MERL) $(ARGS) -sname megaco_test $(ERL_PATH) \ -s megaco_test_lib t $(SUITE) \ @@ -722,9 +751,10 @@ release_docs_spec: release_tests_spec: tests $(INSTALL_DIR) $(RELSYSDIR) - $(INSTALL_DATA) $(TEST_SPEC_FILE) $(COVER_SPEC_FILE) \ - $(HRL_FILES) $(ERL_FILES) \ - $(RELSYSDIR) - $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR) + $(INSTALL_DATA) $(RELTEST_FILES) $(RELSYSDIR) +# $(INSTALL_DATA) $(TEST_SPEC_FILE) $(COVER_SPEC_FILE) \ +# $(HRL_FILES) $(ERL_FILES) \ +# $(RELSYSDIR) +# chmod -f -R u+w $(RELSYSDIR) diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk index 9e4ae4d242..b0574bbeef 100644 --- a/lib/megaco/vsn.mk +++ b/lib/megaco/vsn.mk @@ -19,10 +19,10 @@ APPLICATION = megaco MEGACO_VSN = 3.13.1 -PRE_VSN =-p01 +PRE_VSN =-p03 APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)" -TICKETS = OTP-8317 OTP-8362 +TICKETS = OTP-8317 OTP-8323 OTP-8362 OTP-8403 TICKETS_3_13 = OTP-8205 OTP-8239 OTP-8249 diff --git a/lib/mnesia/doc/src/mnesia.xml b/lib/mnesia/doc/src/mnesia.xml index 3484cd104a..07f9fce8c7 100644 --- a/lib/mnesia/doc/src/mnesia.xml +++ b/lib/mnesia/doc/src/mnesia.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>mnesia</title> @@ -3045,6 +3045,17 @@ raise(Name, Amount) -> </p> </item> <item> + <p><c>-mnesia send_compressed Level</c> specifies the level of + compression to be used when copying a table from the local node to + another one. The default level is 0. + </p> + <p><c>Level</c> must be an integer in the interval [0, 9], with 0 + representing no compression and 9 representing maximum compression. + Before setting it to a non-zero value, make sure the remote nodes + understand this configuration. + </p> + </item> + <item> <p><c>-mnesia schema_location Loc</c> controls where Mnesia will look for its schema. The parameter <c>Loc</c> may be one of the following atoms: </p> diff --git a/lib/mnesia/src/mnesia.erl b/lib/mnesia/src/mnesia.erl index 9a630f18eb..fb29007780 100644 --- a/lib/mnesia/src/mnesia.erl +++ b/lib/mnesia/src/mnesia.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -2200,6 +2200,7 @@ system_info2(transaction_log_writes) -> mnesia_dumper:get_log_writes(); system_info2(core_dir) -> mnesia_monitor:get_env(core_dir); system_info2(no_table_loaders) -> mnesia_monitor:get_env(no_table_loaders); system_info2(dc_dump_limit) -> mnesia_monitor:get_env(dc_dump_limit); +system_info2(send_compressed) -> mnesia_monitor:get_env(send_compressed); system_info2(Item) -> exit({badarg, Item}). @@ -2244,6 +2245,7 @@ system_info_items(yes) -> core_dir, no_table_loaders, dc_dump_limit, + send_compressed, version ]; system_info_items(no) -> diff --git a/lib/mnesia/src/mnesia_loader.erl b/lib/mnesia/src/mnesia_loader.erl index 77c317abc5..3de329503e 100644 --- a/lib/mnesia/src/mnesia_loader.erl +++ b/lib/mnesia/src/mnesia_loader.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1998-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1998-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -438,6 +438,9 @@ make_table_fun(Pid, TabRec) -> get_data(Pid, TabRec) -> receive + {Pid, {more_z, CompressedRecs}} when is_binary(CompressedRecs) -> + Pid ! {TabRec, more}, + {zlib_uncompress(CompressedRecs), make_table_fun(Pid,TabRec)}; {Pid, {more, Recs}} -> Pid ! {TabRec, more}, {Recs, make_table_fun(Pid,TabRec)}; @@ -769,6 +772,27 @@ dets_bchunk(Tab, Chunk) -> %% Arrg Else -> Else end. +zlib_compress(Data, Level) -> + BinData = term_to_binary(Data), + Z = zlib:open(), + zlib:deflateInit(Z, Level), + Bs = zlib:deflate(Z, BinData, finish), + zlib:deflateEnd(Z), + zlib:close(Z), + list_to_binary(Bs). + +zlib_uncompress(Data) when is_binary(Data) -> + binary_to_term(zlib:uncompress(Data)). + +compression_level() -> + NoCompression = 0, + case ?catch_val(send_compressed) of + {'EXIT', _} -> + mnesia_lib:set(send_compressed, NoCompression), + NoCompression; + Val -> Val + end. + send_packet(N, Pid, _Chunk, '$end_of_table', OldNode) -> case OldNode of true -> ignore; %% Old nodes can't handle the new no_more @@ -779,8 +803,15 @@ send_packet(N, Pid, Chunk, {[], Cont}, OldNode) -> send_packet(N, Pid, Chunk, Chunk(Cont), OldNode); send_packet(N, Pid, Chunk, {Recs, Cont}, OldNode) when N < ?MAX_NOPACKETS -> case OldNode of - true -> Pid ! {self(), {more, [Recs]}}; %% Old need's wrapping list - false -> Pid ! {self(), {more, Recs}} + true -> + Pid ! {self(), {more, [Recs]}}; %% Old need's wrapping list + false -> + case compression_level() of + 0 -> + Pid ! {self(), {more, Recs}}; + Level -> + Pid ! {self(), {more_z, zlib_compress(Recs, Level)}} + end end, send_packet(N+1, Pid, Chunk, Chunk(Cont), OldNode); send_packet(_N, _Pid, _Chunk, DataState, _OldNode) -> diff --git a/lib/mnesia/src/mnesia_monitor.erl b/lib/mnesia/src/mnesia_monitor.erl index 05ae943e3b..5df5df4969 100644 --- a/lib/mnesia/src/mnesia_monitor.erl +++ b/lib/mnesia/src/mnesia_monitor.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -497,7 +497,7 @@ handle_cast({mnesia_down, mnesia_locker, Node}, State) -> process_q(State3); false -> %% No pending remote monitors - {noreply, State2} + process_q(State2) end; handle_cast({disconnect, Node}, State) -> @@ -674,7 +674,8 @@ env() -> core_dir, pid_sort_order, no_table_loaders, - dc_dump_limit + dc_dump_limit, + send_compressed ]. default_env(access_module) -> @@ -717,7 +718,9 @@ default_env(pid_sort_order) -> default_env(no_table_loaders) -> 2; default_env(dc_dump_limit) -> - 4. + 4; +default_env(send_compressed) -> + 0. check_type(Env, Val) -> case catch do_check_type(Env, Val) of @@ -763,7 +766,8 @@ do_check_type(pid_sort_order, standard) -> standard; do_check_type(pid_sort_order, "standard") -> standard; do_check_type(pid_sort_order, _) -> false; do_check_type(no_table_loaders, N) when is_integer(N), N > 0 -> N; -do_check_type(dc_dump_limit,N) when is_number(N), N > 0 -> N. +do_check_type(dc_dump_limit,N) when is_number(N), N > 0 -> N; +do_check_type(send_compressed, L) when is_integer(L), L >= 0, L =< 9 -> L. bool(true) -> true; bool(false) -> false. diff --git a/lib/mnesia/src/mnesia_tm.erl b/lib/mnesia/src/mnesia_tm.erl index 3f3a10a9c1..d42109c3da 100644 --- a/lib/mnesia/src/mnesia_tm.erl +++ b/lib/mnesia/src/mnesia_tm.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -1389,6 +1389,7 @@ multi_commit(sync_sym_trans, Tid, CR, Store) -> {Outcome, []} = rec_all(WaitFor, Tid, do_commit, []), ?eval_debug_fun({?MODULE, multi_commit_sym_sync}, [{tid, Tid}, {outcome, Outcome}]), + [?ets_insert(Store, {waiting_for_commit_ack, Node}) || Node <- WaitFor], rpc:abcast(DiscNs -- [node()], ?MODULE, {Tid, Outcome}), rpc:abcast(RamNs -- [node()], ?MODULE, {Tid, Outcome}), case Outcome of diff --git a/lib/odbc/aclocal.m4 b/lib/odbc/aclocal.m4 new file mode 120000 index 0000000000..151fd5ea5a --- /dev/null +++ b/lib/odbc/aclocal.m4 @@ -0,0 +1 @@ +../../erts/aclocal.m4
\ No newline at end of file diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in index 6a9a174417..ed3eeb1d42 100644 --- a/lib/odbc/c_src/Makefile.in +++ b/lib/odbc/c_src/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1999-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1999-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -78,11 +78,11 @@ ODBC_INCLUDE = @ODBC_INCLUDE@ # FLAGS # ---------------------------------------------------- CC = @CC@ -CFLAGS = $(TYPEFLAGS) @CFLAGS@ +CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@ EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET) -LD = @DED_LD@ +LD = @LD@ LDFLAGS = $(ODBC_LIB) $(EI_LDFLAGS) -LIBS = @LIBS@ $(EI_LIB) +LIBS = @LIBS@ @THR_LIBS@ $(EI_LIB) INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE) TARGET_FLAGS = @TARGET_FLAGS@ @@ -106,17 +106,17 @@ docs: # ---------------------------------------------------- ifdef UNIX_TARGET -$(UNIX_TARGET): $(BIN_DIR) $(OBJ_DIR)/odbcserver.o +$(UNIX_TARGET): $(OBJ_DIR)/odbcserver.o $(CC) $(CFLAGS) -o $@ $(OBJ_DIR)/odbcserver.o $(LDFLAGS) $(LIBS) endif ifdef WIN32_TARGET -$(WIN32_TARGET): $(BIN_DIR) $(OBJ_DIR)/odbcserver.o +$(WIN32_TARGET): $(OBJ_DIR)/odbcserver.o $(LD) $(LDFLAGS) -o $@ $(OBJ_DIR)/odbcserver.o $(ENTRY_OBJ) \ $(LIBS) $(ENTRY_LDFLAGS) endif -$(OBJ_DIR)/odbcserver.o: $(OBJ_DIR) odbcserver.c +$(OBJ_DIR)/odbcserver.o: odbcserver.c $(CC) $(CFLAGS) $(INCLUDES) $(TARGET_FLAGS) -o $@ -c odbcserver.c create_dirs: diff --git a/lib/odbc/configure.in b/lib/odbc/configure.in index 77b576ee88..24e286c290 100644 --- a/lib/odbc/configure.in +++ b/lib/odbc/configure.in @@ -25,6 +25,15 @@ else host_os=win32 fi +if test "$with_odbc" = "no"; then + + rm -f "$ERL_TOP/lib/odbc/SKIP" + echo "odbc disabled by user." > "$ERL_TOP/lib/odbc/SKIP" + +else dnl "$with_odbc" != "no" + +ERL_XCOMP_SYSROOT_INIT + dnl Checks for programs. AC_PROG_CC @@ -48,8 +57,11 @@ fi AC_SUBST(MIXED_CYGWIN_VC) AC_PROG_MAKE_SET -AC_CHECK_PROGS(DED_LD, [ld.sh ld], '$(CC)') -AC_SUBST(DED_LD) + +AC_CHECK_PROG(LD, ld.sh) +AC_CHECK_TOOL(LD, ld, '$(CC)') + +AC_SUBST(LD) # Sockets #-------------------------------------------------------------------- @@ -83,50 +95,6 @@ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])) dnl Checks for header files. AC_HEADER_STDC -case $have_pthread_lib-$host_os in - yes-linux*) - dnl NPTL test stolen from $ERL_TOP/erts/aclocal.m4 - AC_MSG_CHECKING(for Native POSIX Thread Library) - case `getconf GNU_LIBPTHREAD_VERSION 2>/dev/null` in - nptl*) nptl=yes;; - NPTL*) nptl=yes;; - *) nptl=no;; - esac - AC_MSG_RESULT($nptl) - if test $nptl = yes; then - need_nptl_incldir=no - AC_CHECK_HEADER(nptl/pthread.h, need_nptl_incldir=yes) - if test $need_nptl_incldir = yes; then - # Ahh... - nptl_path="$C_INCLUDE_PATH:$CPATH:/usr/local/include:/usr/include" - nptl_ws_path= - save_ifs="$IFS"; IFS=":" - for dir in $nptl_path; do - if test "x$dir" != "x"; then - nptl_ws_path="$nptl_ws_path $dir" - fi - done - IFS=$save_ifs - nptl_incldir= - for dir in $nptl_ws_path; do - AC_CHECK_HEADER($dir/nptl/pthread.h, - nptl_incldir=$dir/nptl) - if test "x$nptl_incldir" != "x"; then - CFLAGS="$CFLAGS -isystem $nptl_incldir" - dnl CPPFLAGS is for configure internal use - CPPFLAGS="$CPPFLAGS -isystem $nptl_incldir" - break - fi - done - if test "x$nptl_incldir" = "x"; then - AC_MSG_ERROR(Failed to locate nptl system include directory) - fi - fi - fi - ;; - *) - ;; -esac AC_CHECK_HEADERS([fcntl.h netdb.h stdlib.h string.h sys/socket.h]) dnl Checks for typedefs, structures, and compiler characteristics. @@ -137,20 +105,18 @@ dnl Checks for library functions. AC_CHECK_FUNCS([memset socket]) # ODBC -/bin/rm -f $ERL_TOP/lib/odbc/SKIP +/bin/rm -f "$ERL_TOP/lib/odbc/SKIP" -have_pthread_lib=no -have_odbc_lib=no - +LM_CHECK_THR_LIB +AC_SUBST(THR_DEFS) +AC_SUBST(THR_LIBS) + +odbc_lib_link_success=no AC_SUBST(TARGET_FLAGS) case $host_os in darwin*) TARGET_FLAGS="-DUNIX" - AC_CHECK_LIB(pthread, pthread_create, - [AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have the pthread library (-lpthread).]) - LIBS="$LIBS -lpthread" - have_pthread_lib=yes]) - if test ! -d "$with_odbc"; then + if test ! -d "$with_odbc" || test "$with_odbc" = "yes" ; then ODBC_LIB= -L"/usr/lib" ODBC_INCLUDE="-I/usr/lib/include" else @@ -158,7 +124,7 @@ AC_SUBST(TARGET_FLAGS) ODBC_INCLUDE="-I$with_odbc/include" fi - AC_CHECK_LIB(iodbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -liodbc" odbc_lib_link_sucess=yes]) + AC_CHECK_LIB(iodbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -liodbc"; odbc_lib_link_success=yes]) ;; win32|cygwin) TARGET_FLAGS="-DWIN32" @@ -170,48 +136,64 @@ AC_SUBST(TARGET_FLAGS) ODBC_LIB=-L"$with_odbc/lib" ODBC_INCLUDE="-I$with_odbc/include" fi - AC_CHECK_LIB(odbc32, main, [ODBC_LIB="$ODBC_LIB -lodbc32" odbc_lib_link_sucess=yes]) + AC_CHECK_LIB(odbc32, main, [ODBC_LIB="$ODBC_LIB -lodbc32"; odbc_lib_link_success=yes]) ;; *) - TARGET_FLAGS="-DUNIX" - AC_CHECK_LIB(pthread, pthread_create, - [AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have the pthread library (-lpthread).]) - LIBS="$LIBS -lpthread" - have_pthread_lib=yes]) - if test ! -d "$with_odbc"; then - AC_MSG_CHECKING([for odbc in standard locations]) - for dir in /usr/local/odbc /usr/local /usr/odbc \ - /usr /opt/local/pgm/odbc /usr/local/pgm/odbc - do - if test -f "$dir/include/sql.h"; then - is_odbc_std_location=yes - ODBC_LIB=-L"$dir/lib" - ODBC_INCLUDE="-I$dir/include" - break - fi - done - if test "x$is_odbc_std_location" != "xyes"; then - AC_MSG_RESULT(no) - AC_MSG_WARN([No odbc library found skipping odbc]) - echo "No odbc library found" > $ERL_TOP/lib/odbc/SKIP - else - AC_MSG_RESULT($ODBC_LIB) - AC_CHECK_LIB(odbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -lodbc" odbc_lib_link_sucess=yes]) - fi - else - ODBC_LIB=-L"$with_odbc/lib" - ODBC_INCLUDE="-I$with_odbc/include" - AC_CHECK_LIB(odbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -lodbc" odbc_lib_link_sucess=yes]) - fi + TARGET_FLAGS="-DUNIX" + case "$erl_xcomp_without_sysroot-$with_odbc" in + yes-yes | yes- ) + msg="Dont know where to search for odbc (setting erl_xcomp_sysroot will help)" + AC_MSG_WARN([$msg]) + echo "$msg" > "$ERL_TOP/lib/odbc/SKIP" + odbc_lib_link_success=wont_try + ;; + no- ) + AC_CHECK_SIZEOF(void *) + AC_MSG_CHECKING([for odbc in standard locations]) + for rdir in /usr/local/odbc /usr/local /usr/odbc \ + /usr /opt/local/pgm/odbc /usr/local/pgm/odbc; do + test -f "$erl_xcomp_isysroot$rdir/include/sql.h" || continue + is_odbc_std_location=yes + libdir="$erl_xcomp_sysroot$rdir/lib" + if test "$ac_cv_sizeof_void_p" = "8"; then + dnl "/." in test is important (dir symlinks) + if test -d "${libdir}64/."; then + libdir="${libdir}64" + elif test -d "${libdir}/64/."; then + libdir="${libdir}/64" + fi + fi + ODBC_LIB="-L$libdir" + ODBC_INCLUDE="-I$erl_xcomp_isysroot$rdir/include" + break + done + if test "x$is_odbc_std_location" != "xyes"; then + AC_MSG_RESULT(no) + AC_MSG_WARN([No odbc library found skipping odbc]) + echo "No odbc library found" > "$ERL_TOP/lib/odbc/SKIP" + else + AC_MSG_RESULT($ODBC_LIB) + AC_CHECK_LIB(odbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -lodbc"; odbc_lib_link_success=yes]) + fi + ;; + + no-*) + ODBC_LIB=-L"$with_odbc/lib" + ODBC_INCLUDE="-I$with_odbc/include" + AC_CHECK_LIB(odbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -lodbc"; odbc_lib_link_success=yes]) + ;; + esac ;; esac -if test "x$odbc_lib_link_sucess" != "xyes"; then +if test $odbc_lib_link_success = no; then AC_MSG_WARN(["ODBC library - link check failed"]) echo "ODBC library - link check failed" > $ERL_TOP/lib/odbc/SKIP fi - + AC_SUBST(ODBC_LIB) AC_SUBST(ODBC_INCLUDE) +fi dnl "$with_odbc" != "no" + AC_OUTPUT(c_src/$host/Makefile:c_src/Makefile.in) diff --git a/lib/orber/doc/src/CosNaming.xml b/lib/orber/doc/src/CosNaming.xml index db087aedb1..e8c639b59a 100644 --- a/lib/orber/doc/src/CosNaming.xml +++ b/lib/orber/doc/src/CosNaming.xml @@ -4,23 +4,21 @@ <erlref> <header> <copyright> - <year>1997</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>1997</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. - The Initial Developer of the Original Code is Ericsson AB. </legalnotice> <title>CosNaming</title> @@ -66,8 +64,6 @@ typedef sequence <Binding> BindingList; <item>NamingContext</item> <item>BindingIterator</item> </list> - <p>IDL specification for CosNaming:</p> - <codeinclude file="../../COSS/CosNaming/cos_naming.idl" tag="" type="c"></codeinclude> </description> </erlref> diff --git a/lib/orber/doc/src/Makefile b/lib/orber/doc/src/Makefile index c82db49c9b..b8e26d5ba3 100644 --- a/lib/orber/doc/src/Makefile +++ b/lib/orber/doc/src/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1997-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # # @@ -74,7 +74,6 @@ XML_CHAPTER_FILES = \ ch_ifr.xml \ ch_install.xml \ ch_idl_to_erlang_mapping.xml \ - ch_example.xml \ ch_naming_service.xml \ ch_stubs.xml \ ch_security.xml \ diff --git a/lib/orber/doc/src/ch_example.xml b/lib/orber/doc/src/ch_example.xml deleted file mode 100644 index f2ccfcc7e1..0000000000 --- a/lib/orber/doc/src/ch_example.xml +++ /dev/null @@ -1,170 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE chapter SYSTEM "chapter.dtd"> - -<chapter> - <header> - <copyright> - <year>1997</year><year>2009</year> - <holder>Ericsson AB. All Rights Reserved.</holder> - </copyright> - <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. - - </legalnotice> - - <title>Orber Examples</title> - <prepared></prepared> - <docno></docno> - <date>1997-05-20</date> - <rev>A</rev> - <file>ch_example.xml</file> - </header> - - <section> - <title>A Tutorial on How to Create a Simple Service</title> - - <section> - <title>Interface Design</title> - <p>This example uses a very simple stack server. The specification - contains two interfaces: the first is the Stack itself and the - other is the StackFactory which is used to create new stacks. - The specification is in the file <c>stack.idl</c>.</p> - <codeinclude file="../../examples/Stack/stack.idl" tag="" type="c"></codeinclude> - </section> - - <section> - <title>Generating Erlang Code</title> - <p>Run the IDL compiler on this file by calling the <c>ic:gen/1</c> function </p> - <code type="erl"> - 1> ic:gen("stack"). - </code> - <p>This will produce the client stub and server skeleton. Among other files a stack API module named <c>StackModule_Stack.erl</c> - will be produced. - This will produce among other files a stack API module called - <c>StackModule_Stack.erl</c> which contains the client stub and - the server skeleton. </p> - </section> - - <section> - <title>Implementation of Interface</title> - <p>After generating the API stubs and the server skeletons it is time to - implement the servers and if no special options are sent - to the IDL compiler the file name should be - <c><![CDATA[<global interface name>_impl.erl]]></c>, in our case - <c>StackModule_Stack_impl.erl</c>.</p> - <codeinclude file="../../examples/Stack/StackModule_Stack_impl.erl" tag="" type="erl"></codeinclude> - <p>We also have the factory interface which is used to create new stacks - and that implementation is in the file - <c>StackModule_StackFactory_impl.erl</c>.</p> - <codeinclude file="../../examples/Stack/StackModule_StackFactory_impl.erl" tag="" type="erl"></codeinclude> - <p>To start the factory server one executes the function - <c>StackModule_StackFactory:oe_create/0</c> which in this - example is done in the module <c>stack_factory.erl</c> where - the started service is also registered in the name service.</p> - <codeinclude file="../../examples/Stack/stack_factory.erl" tag="" type="erl"></codeinclude> - </section> - - <section> - <title>Writing a Client in Erlang</title> - <p>At last we will write a client to access our service.</p> - <codeinclude file="../../examples/Stack/stack_client.erl" tag="" type="erl"></codeinclude> - </section> - - <section> - <title>Writing a Client in Java</title> - <p>To write a Java client for Orber you must have another - ORB that uses IIOP for client-server communication and supports a - Java language mapping. It must also have support for - <c>IDL:CosNaming/NamingContext</c> or <c>IDL:CosNaming/NamingContextExt</c>. - If the client ORB support Interoperable Naming Service the Java Client - can look like:</p> - <codeinclude file="../../examples/Stack/StackClient.java" tag="" type="c"></codeinclude> - <note> - <p>If an ORB does not support CosNaming at all the <c>cos_naming.idl</c> - file must be compiled and imported.</p> - </note> - </section> - - <section> - <title>Building the Example</title> - <p>To build the example for access from a Java client you need a Java - enabled ORB (e.g. JavaIDL). The example below is based on JDK-1.4.</p> - <code type="none"> -fingolfin 127> erl -Erlang (BEAM) emulator version 5.5.4.3 [async-threads:0] [hipe] [kernel-poll:false] - -Eshell V5.5.4.3 (abort with ^G) -1> ic:gen(stack). -Erlang IDL compiler version 4.2.12 -ok -2> make:all(). -Recompile: StackModule_EmptyStack -Recompile: StackModule_Stack -Recompile: StackModule_StackFactory -Recompile: StackModule_StackFactory_impl -Recompile: StackModule_Stack_impl -Recompile: oe_stack -Recompile: stack_client -Recompile: stack_factory -up_to_date -3> -BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded - (v)ersion (k)ill (D)b-tables (d)istribution -a -fingolfin 128> idlj stack.idl -fingolfin 129> javac StackModule/*.java -fingolfin 130> javac *.java -fingolfin 131> cp StackClient.class StackModule/ - </code> - </section> - - <section> - <title>How to Run Everything</title> - <p>Below is a short transcript on how to run Orber.</p> - <code type="none"> - -fingolfin 143> erl -Erlang (BEAM) emulator version 5.5.4.3 [async-threads:0] [hipe] [kernel-poll:false] - -Eshell V5.5.4.3 (abort with ^G) -1> orber:jump_start([{interceptors, {native, [orber_iiop_tracer_silent]}}]). -ok -2> oe_stack:oe_register(). -ok -3> stack_factory:start(). -ok -4> stack_client:run(). -1 -1 -7 -4 -ok -5> - </code> - <p>Before testing the Java part of this example generate and compile Java classes for - <c>orber/examples/stack.idl</c> as seen in the build example. - To run the Java client use the following command:</p> - <code type="none"> - -fingolfin 38> java StackModule.StackClient "corbaname::localhost:4001#StackFactory" -1 -1 -7 -4 -Empty stack -fingolfin 39> - </code> - </section> - </section> - -</chapter> - diff --git a/lib/orber/doc/src/example_part.xml b/lib/orber/doc/src/example_part.xml index 2f549df888..9adb8fa7cf 100644 --- a/lib/orber/doc/src/example_part.xml +++ b/lib/orber/doc/src/example_part.xml @@ -4,23 +4,21 @@ <part> <header> <copyright> - <year>2002</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>2002</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. - The Initial Developer of the Original Code is Ericsson AB. </legalnotice> <title>Service Implementation</title> @@ -32,7 +30,6 @@ <description> <p>This chapter describe how to implement Orber based CORBA services.</p> </description> - <include file="ch_example"></include> <include file="ch_stubs"></include> </part> diff --git a/lib/orber/doc/src/make.dep b/lib/orber/doc/src/make.dep index f19cc18c90..cf5aad747d 100644 --- a/lib/orber/doc/src/make.dep +++ b/lib/orber/doc/src/make.dep @@ -12,7 +12,7 @@ book.dvi: CosNaming.tex CosNaming_BindingIterator.tex \ CosNaming_NamingContext.tex CosNaming_NamingContextExt.tex \ Module_Interface.tex any.tex book.tex ch_contents.tex \ - ch_debugging.tex ch_example.tex ch_exceptions.tex \ + ch_debugging.tex ch_exceptions.tex \ ch_idl_to_erlang_mapping.tex ch_ifr.tex ch_install.tex \ ch_interceptors.tex ch_introduction.tex ch_naming_service.tex \ ch_orber_kernel.tex ch_orberweb.tex ch_security.tex \ @@ -26,15 +26,8 @@ book.dvi: CosNaming.tex CosNaming_BindingIterator.tex \ # Source inlined when transforming from source to LaTeX # ---------------------------------------------------- -CosNaming.tex: ../../COSS/CosNaming/cos_naming.idl - book.tex: ref_man.xml -ch_example.tex: ../../examples/Stack/StackClient.java ../../examples/Stack/StackModule_StackFactory_impl.erl \ - ../../examples/Stack/StackModule_Stack_impl.erl \ - ../../examples/Stack/stack.idl ../../examples/Stack/stack_client.erl \ - ../../examples/Stack/stack_factory.erl - ch_contents.tex: ../../../../system/doc/definitions/term.defs ch_idl_to_erlang_mapping.tex: ../../../../system/doc/definitions/term.defs diff --git a/lib/orber/doc/src/notes.xml b/lib/orber/doc/src/notes.xml index 816ec77d61..c7a2dab617 100644 --- a/lib/orber/doc/src/notes.xml +++ b/lib/orber/doc/src/notes.xml @@ -44,6 +44,12 @@ <p> Own Id: OTP-8374 Aux Id:</p> </item> + <item> + <p> + Removed the usage of the codeinclude tag in the documentation.</p> + <p> + Own Id: OTP-8409 Aux Id:</p> + </item> </list> </section> diff --git a/lib/orber/doc/src/part.xml b/lib/orber/doc/src/part.xml index c23456deef..a131db0bad 100644 --- a/lib/orber/doc/src/part.xml +++ b/lib/orber/doc/src/part.xml @@ -4,7 +4,7 @@ <part xmlns:xi="http://www.w3.org/2001/XInclude"> <header> <copyright> - <year>1997</year><year>2009</year> + <year>1997</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>Orber User's Guide</title> @@ -39,7 +39,6 @@ <xi:include href="ch_idl_to_erlang_mapping.xml"/> <xi:include href="ch_naming_service.xml"/> <xi:include href="ch_security.xml"/> - <xi:include href="ch_example.xml"/> <xi:include href="ch_stubs.xml"/> <xi:include href="ch_exceptions.xml"/> <xi:include href="ch_interceptors.xml"/> diff --git a/lib/orber/vsn.mk b/lib/orber/vsn.mk index 8bfa13eb03..b56172d7cf 100644 --- a/lib/orber/vsn.mk +++ b/lib/orber/vsn.mk @@ -3,7 +3,8 @@ ORBER_VSN = 3.6.15 TICKETS = OTP-8353 \ OTP-8354 \ - OTP-8374 + OTP-8374 \ + OTP-8409 TICKETS_3.6.14 = OTP-8201 diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in index 05b5598e51..840de39f07 100644 --- a/lib/runtime_tools/c_src/Makefile.in +++ b/lib/runtime_tools/c_src/Makefile.in @@ -1,23 +1,24 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1999-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1999-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # include $(ERL_TOP)/make/target.mk include $(ERL_TOP)/make/$(TARGET)/otp.mk +include $(ERL_TOP)/make/$(TARGET)/otp_ded.mk # ---------------------------------------------------- # Application version @@ -30,20 +31,14 @@ VSN=$(RUNTIME_TOOLS_VSN) # reasonable defaults, if something different is needed it should # be set for that system only. # ---------------------------------------------------- -CC = @CC@ -CFLAGS = @DED_CFLAGS@ -LD = @DED_LD@ +CC = $(DED_CC) +CFLAGS = $(DED_CFLAGS) +LD = $(DED_LD) SHELL = /bin/sh -LIBS = @LIBS@ -LDFLAGS += @DED_LDFLAGS@ -ERLANG_OSTYPE = @ERLANG_OSTYPE@ - -SYSINCLUDE = -I$(ERL_TOP)/erts/emulator/beam \ - -I$(ERL_TOP)/erts/emulator/sys/$(ERLANG_OSTYPE) \ - -I$(ERL_TOP)/erts/include/internal \ - -I$(ERL_TOP)/erts/include/internal/$(ERLANG_OSTYPE) \ - -I$(ERL_TOP)/erts/include \ - -I$(ERL_TOP)/erts/include/$(ERLANG_OSTYPE) +LIBS = $(DED_LIBS) +LDFLAGS += $(DED_LDFLAGS) + +SYSINCLUDE = $(DED_SYS_INCLUDE) ifeq ($(findstring vxworks,$(TARGET)),vxworks) SYSINCLUDE += -I$(ERL_TOP)/erts/etc/vxworks endif diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml index 96a444227d..7984f2a536 100644 --- a/lib/snmp/doc/src/notes.xml +++ b/lib/snmp/doc/src/notes.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>SNMP Release Notes</title> @@ -33,6 +33,59 @@ </header> <section> + <title>SNMP Development Toolkit 4.16</title> + <p>Version 4.16 supports code replacement in runtime from/to + version 4.15, 4.14 and 4.13.5.</p> + + <section> + <title>Improvements and new features</title> + <!-- + <p>-</p> + --> + <list type="bulleted"> + <item> + <p>[agent|manager] Entries in the audit trail log can now be + augmented by a sequence number. </p> + <p>This is enabled by the <c>seqno</c> option, which is part of the + <seealso marker="snmp_config#audit_trail_log">Audit Trail Log</seealso> + config option. </p> + <p>See the + <seealso marker="snmp_app#configuration_params">reference manual</seealso> + or the + <seealso marker="snmp_config#configuration_params">Configuring the application</seealso> + chapter of the User's Guide for further info. </p> + + <p>Own Id: OTP-8395</p> + </item> + + </list> + + </section> + + <section> + <title>Reported Fixed Bugs and Malfunctions</title> + <p>-</p> + + <!-- + <list type="bulleted"> + <item> + <p>TBD. </p> + <p>Own Id: OTP-8384</p> + </item> + + </list> + --> + + </section> + + <section> + <title>Incompatibilities</title> + <p>-</p> + </section> + </section> <!-- 4.16 --> + + + <section> <title>SNMP Development Toolkit 4.15</title> <p>Version 4.15 supports code replacement in runtime from/to diff --git a/lib/snmp/doc/src/snmp_app.xml b/lib/snmp/doc/src/snmp_app.xml index 460f0b8018..e5a725d720 100644 --- a/lib/snmp/doc/src/snmp_app.xml +++ b/lib/snmp/doc/src/snmp_app.xml @@ -4,7 +4,7 @@ <appref> <header> <copyright> - <year>1997</year><year>2009</year> + <year>1997</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>snmp</title> @@ -78,11 +78,11 @@ ]. </pre> + <!-- The info below is also found in the snmp_config.xml file --> + <p>Each snmp component has it's own set of configuration parameters, even though some of the types are common to both components. </p> - <!-- Also in snmp_config.xml --> - <pre> snmp_components_config() -> [snmp_component_config()] snmp_component_config() -> {agent, agent_options()} | {manager, manager_options()} @@ -642,10 +642,13 @@ process performs a GC to remove the expired note's. Time in milli-seconds.</p> <p>Default is <c>30000</c>.</p> + + <marker id="audit_trail_log"></marker> </item> + <tag><c><![CDATA[audit_trail_log() = [audit_trail_log_opt()] <optional>]]></c></tag> <item> - <p><c>audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} | {size, atl_size()} | {repair, atl_repair()}</c></p> + <p><c>audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} | {size, atl_size()} | {repair, atl_repair()} | {seqno, atl_seqno()}</c></p> <p>If present, this option specifies the options for the audit trail logging. The <c>disk_log</c> module is used to maintain a wrap log. If present, the <c>dir</c> and @@ -696,6 +699,13 @@ analysis.</p> <p>Default is <c>true</c>.</p> </item> + <tag><c><![CDATA[atl_seqno() = true | false <optional>]]></c></tag> + <item> + <p>Specifies if the audit trail log entries will be (sequence) + numbered or not. The range of the sequence numbers are according + to RFC 5424, i.e. 1 through 2147483647. </p> + <p>Default is <c>false</c>.</p> + </item> </taglist> </section> diff --git a/lib/snmp/doc/src/snmp_config.xml b/lib/snmp/doc/src/snmp_config.xml index 073cdde308..6fc9cc49f2 100644 --- a/lib/snmp/doc/src/snmp_config.xml +++ b/lib/snmp/doc/src/snmp_config.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>1997</year><year>2009</year> + <year>1997</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>Running the application</title> @@ -73,13 +73,13 @@ </item> </list> + <!-- The info below is also found in the snmp_app.xml file --> + <p>The agent and manager uses (application) configuration parameters to find out where these directories are located. The parameters should be defined in an Erlang system configuration file. The following configuration parameters are defined for the SNMP application:</p> - <!-- Also in snmp_app.xml --> - <pre> agent_options() = [agent_option()] agent_option() = {restart_type, restart_type()} | @@ -649,11 +649,13 @@ process performs a GC to remove the expired note's. Time in milli-seconds.</p> <p>Default is <c>30000</c>.</p> + + <marker id="audit_trail_log"></marker> </item> <tag><c><![CDATA[audit_trail_log() [audit_trail_log_opt()] <optional>]]></c></tag> <item> - <p><c>audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} | {size, atl_size()} | {repair, atl_repair()}</c></p> + <p><c>audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} | {size, atl_size()} | {repair, atl_repair()} | {seqno, atl_seqno()}</c></p> <p>If present, this option specifies the options for the <em>audit trail logging</em>. The <c>disk_log</c> module is used to maintain a wrap log. If present, the <c>dir</c> and @@ -708,6 +710,13 @@ analysis.</p> <p>Default is <c>true</c>.</p> </item> + <tag><c><![CDATA[atl_seqno() = true | false <optional>]]></c></tag> + <item> + <p>Specifies if the audit trail log entries will be (sequence) + numbered or not. The range of the sequence numbers are according + to RFC 5424, i.e. 1 through 2147483647. </p> + <p>Default is <c>false</c>.</p> + </item> </taglist> </section> diff --git a/lib/snmp/doc/src/snmpa_conf.xml b/lib/snmp/doc/src/snmpa_conf.xml index f383394b7a..d873574c6e 100644 --- a/lib/snmp/doc/src/snmpa_conf.xml +++ b/lib/snmp/doc/src/snmpa_conf.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2006</year><year>2009</year> + <year>2006</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>snmpa_conf</title> diff --git a/lib/snmp/src/agent/snmpa.erl b/lib/snmp/src/agent/snmpa.erl index 79493bd892..a113bba3a7 100644 --- a/lib/snmp/src/agent/snmpa.erl +++ b/lib/snmp/src/agent/snmpa.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(snmpa). @@ -83,6 +83,7 @@ %% Audit Trail Log functions -export([log_to_txt/2, log_to_txt/3, log_to_txt/4, log_to_txt/5, log_to_txt/6, log_to_txt/7, + log_info/0, change_log_size/1, get_log_type/0, get_log_type/1, change_log_type/1, change_log_type/2, @@ -535,6 +536,7 @@ get_agent_caps() -> %%%----------------------------------------------------------------- %%% Audit Trail Log functions %%%----------------------------------------------------------------- + log_to_txt(LogDir, Mibs) -> OutFile = "snmpa_log.txt", LogName = ?audit_trail_log_name, @@ -555,6 +557,11 @@ log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Start, Stop) -> snmp:log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Start, Stop). +log_info() -> + LogName = ?audit_trail_log_name, + snmp_log:info(LogName). + + change_log_size(NewSize) -> LogName = ?audit_trail_log_name, % The old (agent) default snmp:change_log_size(LogName, NewSize). diff --git a/lib/snmp/src/agent/snmpa_agent.erl b/lib/snmp/src/agent/snmpa_agent.erl index 508a1da514..fb04fca632 100644 --- a/lib/snmp/src/agent/snmpa_agent.erl +++ b/lib/snmp/src/agent/snmpa_agent.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(snmpa_agent). @@ -58,6 +58,7 @@ -export([get_log_type/1, set_log_type/2]). -export([get_request_limit/1, set_request_limit/2]). -export([invalidate_ca_cache/0]). +-export([increment_counter/3]). -export([restart_worker/1, restart_set_worker/1]). %% Internal exports @@ -259,6 +260,29 @@ update_mibs_cache_age(Agent, Age) -> call(Agent, {mibs_cache_request, {update_age, Age}}). +increment_counter(Counter, Initial, Max) -> + %% This is to make sure no one else increments our counter + Key = {Counter, self()}, + + %% Counter data + Position = 2, + Increment = 1, + Threshold = Max, + SetValue = Initial, + UpdateOp = {Position, Increment, Threshold, SetValue}, + + %% And now for the actual increment + Tab = snmp_agent_table, + case (catch ets:update_counter(Tab, Key, UpdateOp)) of + {'EXIT', {badarg, _}} -> + %% Oups, first time + ets:insert(Tab, {Key, Initial}), + Initial; + Next when is_integer(Next) -> + Next + end. + + init([Prio, Parent, Ref, Options]) -> ?d("init -> entry with" "~n Prio: ~p" @@ -1223,79 +1247,23 @@ handle_mibs_cache_request(MibServer, Req) -> %% Downgrade %% -code_change({down, _Vsn}, S, downgrade_to_pre_4_13) -> - S1 = workers_restart(S), - case S1#state.disco of - undefined -> - ok; - #disco{from = From, - sender = Sender, - stage = Stage} -> - gen_server:reply(From, {error, {upgrade, Stage, Sender}}), - exit(Sender, kill) - end, - S2 = {state, - S1#state.type, - S1#state.parent, - S1#state.worker, - S1#state.worker_state, - S1#state.set_worker, - S1#state.multi_threaded, - S1#state.ref, - S1#state.vsns, - S1#state.nfilters, - S1#state.note_store, - S1#state.mib_server, - S1#state.net_if, - S1#state.net_if_mod, - S1#state.backup, - S1#state.disco}, - {ok, S2}; +%% code_change({down, _Vsn}, S, downgrade_to_pre_4_13) -> +%% {ok, S2}; %% Upgrade %% -code_change(_Vsn, S, upgrade_from_pre_4_13) -> - {state, - Type, - Parent, - Worker, - WorkerState, - SetWorker, - MultiThreaded, - Ref, - Vsns, - NFilters = [], - NoteStore, - MibServer, %% Currently unused - NetIf, %% Currently unused - NetIfMod, - Backup} = S, - S1 = #state{type = Type, - parent = Parent, - worker = Worker, - worker_state = WorkerState, - set_worker = SetWorker, - multi_threaded = MultiThreaded, - ref = Ref, - vsns = Vsns, - nfilters = NFilters, - note_store = NoteStore, - mib_server = MibServer, - net_if = NetIf, - net_if_mod = NetIfMod, - backup = Backup}, - S2 = workers_restart(S1), - {ok, S2}; +%% code_change(_Vsn, S, upgrade_from_pre_4_13) -> +%% {ok, S2}; code_change(_Vsn, S, _Extra) -> {ok, S}. -workers_restart(#state{worker = W, set_worker = SW} = S) -> - Worker = worker_restart(W), - SetWorker = set_worker_restart(SW), - S#state{worker = Worker, - set_worker = SetWorker}. +%% workers_restart(#state{worker = W, set_worker = SW} = S) -> +%% Worker = worker_restart(W), +%% SetWorker = set_worker_restart(SW), +%% S#state{worker = Worker, +%% set_worker = SetWorker}. %%----------------------------------------------------------------- @@ -1321,8 +1289,8 @@ set_worker_start() -> worker_start(Dict) -> proc_lib:spawn_link(?MODULE, worker, [self(), Dict]). -worker_stop(Pid) -> - worker_stop(Pid, infinity). +%% worker_stop(Pid) -> +%% worker_stop(Pid, infinity). worker_stop(Pid, Timeout) when is_pid(Pid) -> Pid ! terminate, @@ -1336,17 +1304,17 @@ worker_stop(Pid, Timeout) when is_pid(Pid) -> worker_stop(_, _) -> ok. -set_worker_restart(Pid) -> - worker_restart(Pid, [{master, self()} | get()]). +%% set_worker_restart(Pid) -> +%% worker_restart(Pid, [{master, self()} | get()]). -worker_restart(Pid) -> - worker_restart(Pid, get()). +%% worker_restart(Pid) -> +%% worker_restart(Pid, get()). -worker_restart(Pid, Dict) when is_pid(Pid) -> - worker_stop(Pid), - worker_start(Dict); -worker_restart(Any, _Dict) -> - Any. +%% worker_restart(Pid, Dict) when is_pid(Pid) -> +%% worker_stop(Pid), +%% worker_start(Dict); +%% worker_restart(Any, _Dict) -> +%% Any. %%----------------------------------------------------------------- diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl index d703e5ac55..bc0777a7dd 100644 --- a/lib/snmp/src/agent/snmpa_net_if.erl +++ b/lib/snmp/src/agent/snmpa_net_if.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(snmpa_net_if). @@ -55,6 +55,9 @@ -define(DEFAULT_FILTER_MODULE, snmpa_net_if_filter). -define(DEFAULT_FILTER_OPTS, [{module, ?DEFAULT_FILTER_MODULE}]). +-define(ATL_SEQNO_INITIAL, 1). +-define(ATL_SEQNO_MAX, 2147483647). + %%%----------------------------------------------------------------- %%% This module implements the default Network Interface part @@ -194,24 +197,43 @@ do_init(Prio, NoteStore, MasterAgent, Parent, Opts) -> {error, {udp_open, UDPPort, Reason}} end. + create_log() -> case ets:lookup(snmp_agent_table, audit_trail_log) of [] -> {undefined, []}; [{audit_trail_log, AtlOpts}] -> - ?vtrace("AtlOpts: ~p",[AtlOpts]), + ?vtrace("AtlOpts: ~p", [AtlOpts]), Type = get_atl_type(AtlOpts), Dir = get_atl_dir(AtlOpts), Size = get_atl_size(AtlOpts), Repair = get_atl_repair(AtlOpts), Name = ?audit_trail_log_name, File = filename:absname(?audit_trail_log_file, Dir), - case snmp_log:create(Name, File, Size, Repair, true) of - {ok, Log} -> - ?vdebug("log created: ~w",[Log]), - {Log, Type}; - {error, Reason} -> - throw({error, {create_log, Reason}}) + case get_atl_seqno(AtlOpts) of + true -> + Initial = ?ATL_SEQNO_INITIAL, + Max = ?ATL_SEQNO_MAX, + Module = snmpa_agent, + Function = increment_counter, + Args = [atl_seqno, Initial, Max], + SeqNoGen = {Module, Function, Args}, + case snmp_log:create(Name, File, + SeqNoGen, Size, Repair, true) of + {ok, Log} -> + ?vdebug("log created: ~w", [Log]), + {Log, Type}; + {error, Reason} -> + throw({error, {create_log, Reason}}) + end; + _ -> + case snmp_log:create(Name, File, Size, Repair, true) of + {ok, Log} -> + ?vdebug("log created: ~w", [Log]), + {Log, Type}; + {error, Reason} -> + throw({error, {create_log, Reason}}) + end end end. @@ -918,60 +940,23 @@ system_continue(_Parent, _Dbg, S) -> loop(S). system_terminate(Reason, _Parent, _Dbg, #state{log = Log}) -> + ?vlog("system-terminate -> entry with" + "~n Reason: ~p", [Reason]), do_close_log(Log), exit(Reason). -system_code_change(OldState, _Module, _OldVsn, upgrade_from_pre_4_10) -> - {state, - parent = Parent, - note_store = NS, - master_agent = MA, - usock = Sock, - usock_opts = SockOpts, - mpd_state = MpdState, - log = Log, - reqs = Reqs, - debug = Dbg, - limit = Limit, - rcnt = RCNT} = OldState, - NewState = #state{parent = Parent, - note_store = NS, - master_agent = MA, - usock = Sock, - usock_opts = SockOpts, - mpd_state = MpdState, - log = Log, - reqs = Reqs, - debug = Dbg, - limit = Limit, - rcnt = RCNT, - filter = create_filter(?DEFAULT_FILTER_OPTS)}, +system_code_change(OldState, _Module, _OldVsn, upgrade_from_pre_4_16) -> + Initial = ?ATL_SEQNO_INITIAL, + Max = ?ATL_SEQNO_MAX, + Module = snmpa_agent, + Function = increment_counter, + Args = [atl_seqno, Initial, Max], + SeqNoGen = {Module, Function, Args}, + NewLog = snmp_log:upgrade(OldState#state.log, SeqNoGen), + NewState = OldState#state{log = NewLog}, {ok, NewState}; -system_code_change(OldState, _Module, _OldVsn, downgrade_to_pre_4_10) -> - #state{parent = Parent, - note_store = NS, - master_agent = MA, - usock = Sock, - usock_opts = SockOpts, - mpd_state = MpdState, - log = Log, - reqs = Reqs, - debug = Dbg, - limit = Limit, - rcnt = RCNT} = OldState, - NewState = - {state, - parent = Parent, - note_store = NS, - master_agent = MA, - usock = Sock, - usock_opts = SockOpts, - mpd_state = MpdState, - log = Log, - reqs = Reqs, - debug = Dbg, - limit = Limit, - rcnt = RCNT}, +system_code_change(OldState, _Module, _OldVsn, downgrade_to_pre_4_16) -> + NewState = OldState#state{log = snmp_log:downgrade(OldState#state.log)}, {ok, NewState}; system_code_change(S, _Module, _OldVsn, _Extra) -> {ok, S}. @@ -1111,6 +1096,9 @@ get_atl_size(Opts) -> get_atl_repair(Opts) -> snmp_misc:get_option(repair, Opts, true). +get_atl_seqno(Opts) -> + snmp_misc:get_option(seqno, Opts, false). + get_verbosity(Opts) -> snmp_misc:get_option(verbosity, Opts, ?default_verbosity). diff --git a/lib/snmp/src/agent/snmpa_usm.erl b/lib/snmp/src/agent/snmpa_usm.erl index a8c395534f..12a6b996ff 100644 --- a/lib/snmp/src/agent/snmpa_usm.erl +++ b/lib/snmp/src/agent/snmpa_usm.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(snmpa_usm). @@ -396,7 +396,9 @@ try_decrypt(?usmDESPrivProtocol, case (catch des_decrypt(PrivKey, UsmSecParams, EncryptedPDU)) of {ok, DecryptedData} -> DecryptedData; - _ -> + Error -> + ?vlog("try_decrypt -> failed DES decrypt" + "~n Error: ~p", [Error]), error(usmStatsDecryptionErrors, ?usmStatsDecryptionErrors_instance, % OTP-5464 SecName) @@ -406,7 +408,9 @@ try_decrypt(?usmAesCfb128Protocol, case (catch aes_decrypt(PrivKey, UsmSecParams, EncryptedPDU)) of {ok, DecryptedData} -> DecryptedData; - _ -> + Error -> + ?vlog("try_decrypt -> failed AES decrypt" + "~n Error: ~p", [Error]), error(usmStatsDecryptionErrors, ?usmStatsDecryptionErrors_instance, % OTP-5464 SecName) diff --git a/lib/snmp/src/app/snmp.appup.src b/lib/snmp/src/app/snmp.appup.src index 0b8f0bbddd..74747b2e59 100644 --- a/lib/snmp/src/app/snmp.appup.src +++ b/lib/snmp/src/app/snmp.appup.src @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -24,10 +24,21 @@ [ {"4.15", [ + {load_module, snmpa, soft_purge, soft_purge, [snmp_log]}, + {load_module, snmp_log, soft_purge, soft_purge, []}, + {update, snmpa_net_if, {advanced, upgrade_from_pre_4_16}, + soft_purge, soft_purge, [snmpa_agent, snmp_log]}, + {update, snmpa_agent, soft, soft_purge, soft_purge, []} ] }, {"4.14", [ + {load_module, snmpa, soft_purge, soft_purge, [snmp_log]}, + {load_module, snmp_log, soft_purge, soft_purge, []}, + {update, snmpa_net_if, {advanced, upgrade_from_pre_4_16}, + soft_purge, soft_purge, [snmpa_agent, snmp_log]}, + {update, snmpa_agent, soft, soft_purge, soft_purge, []}, + {load_module, snmpm_user, soft_purge, soft_purge, []}, {load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]}, {update, snmpm_server, soft, soft_purge, soft_purge, @@ -36,11 +47,15 @@ }, {"4.13.5", [ - {load_module, snmpm_user, soft_purge, soft_purge, []}, - {load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]}, {load_module, snmpa_mib_data, soft_purge, soft_purge, []}, + {load_module, snmpa, soft_purge, soft_purge, [snmp_log]}, + {load_module, snmp_log, soft_purge, soft_purge, []}, + {update, snmpa_net_if, {advanced, upgrade_from_pre_4_16}, + soft_purge, soft_purge, [snmpa_agent, snmp_log]}, {update, snmpa_agent, soft, soft_purge, soft_purge, []}, - {update, snmpa_net_if, soft, soft_purge, soft_purge, []}, + + {load_module, snmpm_user, soft_purge, soft_purge, []}, + {load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]}, {update, snmpm_config, soft, soft_purge, soft_purge, []}, {update, snmpm_server, soft, soft_purge, soft_purge, [snmpm_user_default]}, {add_module, snmpm_net_if_filter}, @@ -54,10 +69,21 @@ [ {"4.15", [ + {load_module, snmpa, soft_purge, soft_purge, [snmp_log]}, + {load_module, snmp_log, soft_purge, soft_purge, []}, + {update, snmpa_net_if, {advanced, downgrade_to_pre_4_16}, + soft_purge, soft_purge, [snmpa_agent, snmp_log]}, + {update, snmpa_agent, soft, soft_purge, soft_purge, []} ] }, {"4.14", [ + {load_module, snmpa, soft_purge, soft_purge, [snmp_log]}, + {load_module, snmp_log, soft_purge, soft_purge, []}, + {update, snmpa_net_if, {advanced, downgrade_to_pre_4_16}, + soft_purge, soft_purge, [snmpa_agent, snmp_log]}, + {update, snmpa_agent, soft, soft_purge, soft_purge, []}, + {load_module, snmpm_user, soft_purge, soft_purge, []}, {load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]}, {update, snmpm_server, soft, soft_purge, soft_purge, [snmpm_user_default]} @@ -65,11 +91,15 @@ }, {"4.13.5", [ - {load_module, snmpm_user, soft_purge, soft_purge, []}, - {load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]}, {load_module, snmpa_mib_data, soft_purge, soft_purge, []}, + {load_module, snmpa, soft_purge, soft_purge, [snmp_log]}, + {load_module, snmp_log, soft_purge, soft_purge, []}, + {update, snmpa_net_if, {advanced, downgrade_to_pre_4_16}, + soft_purge, soft_purge, [snmpa_agent, snmp_log]}, {update, snmpa_agent, soft, soft_purge, soft_purge, []}, - {update, snmpa_net_if, soft, soft_purge, soft_purge, []}, + + {load_module, snmpm_user, soft_purge, soft_purge, []}, + {load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]}, {update, snmpm_config, soft, soft_purge, soft_purge, []}, {update, snmpm_server, soft, soft_purge, soft_purge, [snmpm_user_default]}, {remove, {snmpm_net_if_filter, soft_purge, brutal_purge}}, diff --git a/lib/snmp/src/manager/snmpm_config.erl b/lib/snmp/src/manager/snmpm_config.erl index 1a5400bf8e..e4069485ad 100644 --- a/lib/snmp/src/manager/snmpm_config.erl +++ b/lib/snmp/src/manager/snmpm_config.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% ------------------------------------------------------------------------- @@ -63,6 +63,7 @@ cre_counter/2, incr_counter/2, + increment_counter/3, increment_counter/4, cre_stats_counter/2, maybe_cre_stats_counter/2, @@ -792,6 +793,34 @@ incr_counter(Counter, Incr, Wrap) -> end. +%% <ATL Sequence Number> +increment_counter(Counter, Initial, Max) -> + Increment = 1, + increment_counter(Counter, Initial, Increment, Max). + +increment_counter(Counter, Initial, Increment, Max) -> + %% This is to make sure no one else increments our counter + Key = {Counter, self()}, + + %% Counter data + Position = 2, + Threshold = Max, + SetValue = Initial, + UpdateOp = {Position, Increment, Threshold, SetValue}, + + %% And now for the actual increment + Tab = snmpm_counter_table, + case (catch ets:update_counter(Tab, Key, UpdateOp)) of + {'EXIT', {badarg, _}} -> + %% Oups, first time + ets:insert(Tab, {Key, Initial}), + Initial; + Next when is_integer(Next) -> + Next + end. +%% </ATL Sequence Number> + + maybe_cre_stats_counter(Counter, Initial) -> case ets:lookup(snmpm_stats_table, Counter) of [_] -> @@ -1013,14 +1042,16 @@ do_init(Opts) -> AuditTrailLogOpts -> ?vtrace("ATL options: ~p", [AuditTrailLogOpts]), ets:insert(snmpm_config_table, {audit_trail_log, true}), - LogDir = get_atl_dir(AuditTrailLogOpts), - LogType = get_atl_type(AuditTrailLogOpts), - LogSize = get_atl_size(AuditTrailLogOpts), - LogRep = get_atl_repair(AuditTrailLogOpts), + LogDir = get_atl_dir(AuditTrailLogOpts), + LogType = get_atl_type(AuditTrailLogOpts), + LogSize = get_atl_size(AuditTrailLogOpts), + LogRep = get_atl_repair(AuditTrailLogOpts), + LogSeqNo = get_atl_seqno(AuditTrailLogOpts), ets:insert(snmpm_config_table, {audit_trail_log_dir, LogDir}), ets:insert(snmpm_config_table, {audit_trail_log_type, LogType}), ets:insert(snmpm_config_table, {audit_trail_log_size, LogSize}), - ets:insert(snmpm_config_table, {audit_trail_log_repair, LogRep}) + ets:insert(snmpm_config_table, {audit_trail_log_repair, LogRep}), + ets:insert(snmpm_config_table, {audit_trail_log_seqno, LogSeqNo}) end, %% -- System default agent config -- @@ -1398,6 +1429,9 @@ verify_audit_trail_log_opts([{size, Size}|Opts]) -> verify_audit_trail_log_opts([{repair, Repair}|Opts]) -> verify_log_repair(Repair), verify_audit_trail_log_opts(Opts); +verify_audit_trail_log_opts([{seqno, SeqNo}|Opts]) -> + verify_log_seqno(SeqNo), + verify_audit_trail_log_opts(Opts); verify_audit_trail_log_opts([Opt|_Opts]) -> error({invalid_audit_trail_log_option, Opt}). @@ -1440,6 +1474,11 @@ verify_log_repair(truncate) -> ok; verify_log_repair(Repair) -> error({invalid_audit_trail_log_repair, Repair}). +verify_log_seqno(true) -> ok; +verify_log_seqno(false) -> ok; +verify_log_seqno(SeqNo) -> + error({invalid_audit_trail_log_seqno, SeqNo}). + verify_module(_, Mod) when is_atom(Mod) -> ok; @@ -3040,6 +3079,9 @@ get_atl_size(Opts) -> get_atl_repair(Opts) -> get_opt(repair, Opts, truncate). +get_atl_seqno(Opts) -> + get_opt(seqno, Opts, false). + %%---------------------------------------------------------------------- diff --git a/lib/snmp/src/manager/snmpm_net_if.erl b/lib/snmp/src/manager/snmpm_net_if.erl index 14d39933dc..4ec24af7f3 100644 --- a/lib/snmp/src/manager/snmpm_net_if.erl +++ b/lib/snmp/src/manager/snmpm_net_if.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -81,6 +81,9 @@ -define(IRGC_TIMEOUT, timer:minutes(5)). +-define(ATL_SEQNO_INITIAL, 1). +-define(ATL_SEQNO_MAX, 2147483647). + %%%------------------------------------------------------------------- %%% API @@ -297,11 +300,29 @@ do_init_log(true) -> {ok, Repair} = snmpm_config:system_info(audit_trail_log_repair), Name = ?audit_trail_log_name, File = filename:absname(?audit_trail_log_file, Dir), - case snmp_log:create(Name, File, Size, Repair, true) of - {ok, Log} -> - {Log, Type}; - {error, Reason} -> - throw({error, {failed_create_audit_log, Reason}}) + case snmpm_config:system_info(audit_trail_log_seqno) of + {ok, true} -> + Initial = ?ATL_SEQNO_INITIAL, + Max = ?ATL_SEQNO_MAX, + Module = snmpm_config, + Function = increment_counter, + Args = [atl_seqno, Initial, Max], + SeqNoGen = {Module, Function, Args}, + case snmp_log:create(Name, File, + SeqNoGen, Size, Repair, true) of + {ok, Log} -> + ?vdebug("log created: ~w", [Log]), + {Log, Type}; + {error, Reason} -> + throw({error, {failed_create_audit_log, Reason}}) + end; + _ -> + case snmp_log:create(Name, File, Size, Repair, true) of + {ok, Log} -> + {Log, Type}; + {error, Reason} -> + throw({error, {failed_create_audit_log, Reason}}) + end end. @@ -441,32 +462,15 @@ do_close_log(_) -> %% Returns: {ok, NewState} %%---------------------------------------------------------------------- -code_change({down, _Vsn}, OldState, downgrade_to_pre45) -> +code_change({down, _Vsn}, OldState, downgrade_to_pre_4_16) -> ?d("code_change(down) -> entry", []), - #state{server = Server, - note_store = NoteStore, - sock = Sock, - mpd_state = MpdState, - log = Log, - irgc = IrGcRef} = OldState, - irgc_stop(IrGcRef), - (catch ets:delete(snmpm_inform_request_table)), - State = {state, Server, NoteStore, Sock, MpdState, Log}, + State = OldState#state{log = snmp_log:downgrade(OldState#state.log)}, {ok, State}; % upgrade -code_change(_Vsn, OldState, upgrade_from_pre45) -> +code_change(_Vsn, OldState, upgrade_from_pre_4_16) -> ?d("code_change(up) -> entry", []), - {state, Server, NoteStore, Sock, MpdState, Log} = OldState, - State = #state{server = Server, - note_store = NoteStore, - sock = Sock, - mpd_state = MpdState, - log = Log, - irb = auto, - irgc = undefined}, - ets:new(snmpm_inform_request_table, - [set, protected, named_table, {keypos, 1}]), + State = OldState#state{log = snmp_log:upgrade(OldState#state.log)}, {ok, State}; code_change(_Vsn, State, _Extra) -> diff --git a/lib/snmp/src/misc/snmp_config.erl b/lib/snmp/src/misc/snmp_config.erl index ad41eaf160..0ee373a4d4 100644 --- a/lib/snmp/src/misc/snmp_config.erl +++ b/lib/snmp/src/misc/snmp_config.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -327,10 +327,15 @@ config_agent_sys() -> ATLRepair = ask("23f. Audit trail log repair " "(true/false/truncate/snmp_repair)?", "true", fun verify_atl_repair/1), + ATLSeqNo = ask("23g. Audit trail log " + "sequence-numbering (true/false)?", + "false", + fun verify_atl_seqno/1), [{audit_trail_log, [{type, ATLType}, {dir, ATLDir}, {size, ATLSize}, - {repair, ATLRepair}]}]; + {repair, ATLRepair}, + {seqno, ATLSeqNo}]}]; no -> [] end, @@ -400,8 +405,39 @@ config_agent_sys() -> NetIf = [{module, NetIfMod}, {verbosity, NetIfVerb}, {options, NetIfOpts}], + TermDiscoEnable = ask("26a. Allow terminating discovery " + "(true/false)?", "true", + fun verify_bool/1), + TermDiscoConf = + case TermDiscoEnable of + true -> + TermDiscoStage2 = + ask("26b. Second stage behaviour " + "(discovery/plain)?", "discovery", + fun verify_term_disco_behaviour/1), + TermDiscoTrigger = + ask("26c. Trigger username " + "(default/a string)?", "default", + fun verify_term_disco_trigger_username/1), + [{enable, TermDiscoEnable}, + {stage2, TermDiscoStage2}, + {trigger_username, TermDiscoTrigger}]; + false -> + [{enable, TermDiscoEnable}, + {stage2, discovery}, + {trigger_username, ""}] + end, + OrigDiscoEnable = ask("27a. Allow originating discovery " + "(true/false)?", "true", + fun verify_bool/1), + OrigDiscoConf = + [{enable, OrigDiscoEnable}], + DiscoveryConfig = + [{terminating, TermDiscoConf}, + {originating, OrigDiscoConf}], [{agent_type, master}, {agent_verbosity, MasterAgentVerb}, + {discovery, DiscoveryConfig}, {config, [{dir, ConfigDir}, {force_load, ForceLoad}, {verbosity, ConfigVerb}]}, @@ -644,23 +680,31 @@ config_manager_sys() -> "(y/n)?", "n", fun verify_yes_or_no/1) of yes -> - ATLDir = ask("19b. Where to store the " + ATLType = ask("19b. Audit trail log type " + "(write/read_write)?", + "read_write", fun verify_atl_type/1), + ATLDir = ask("19c. Where to store the " "audit trail log?", DefDir, fun verify_dir/1), - ATLMaxFiles = ask("19c. Max number of files?", + ATLMaxFiles = ask("19d. Max number of files?", "10", fun verify_pos_integer/1), - ATLMaxBytes = ask("19d. Max size (in bytes) " + ATLMaxBytes = ask("19e. Max size (in bytes) " "of each file?", "10240", fun verify_pos_integer/1), ATLSize = {ATLMaxBytes, ATLMaxFiles}, - ATLRepair = ask("19e. Audit trail log repair " + ATLRepair = ask("19f. Audit trail log repair " "(true/false/truncate/snmp_repair)?", "true", fun verify_atl_repair/1), - [{audit_trail_log, [{dir, ATLDir}, + ATLSeqNo = ask("19g. Audit trail log sequence-numbering " + "(true/false)?", "false", + fun verify_atl_seqno/1), + [{audit_trail_log, [{type, ATLType}, + {dir, ATLDir}, {size, ATLSize}, - {repair, ATLRepair}]}]; + {repair, ATLRepair}, + {seqno, ATLSeqNo}]}]; no -> [] end, @@ -1180,6 +1224,13 @@ verify_atl_repair("snmp_repair") -> verify_atl_repair(R) -> {error, "invalid audit trail log repair: " ++ R}. +verify_atl_seqno("true") -> + {ok, true}; +verify_atl_seqno("false") -> + {ok, false}; +verify_atl_seqno(SN) -> + {error, "invalid audit trail log seqno: " ++ SN}. + verify_pos_integer(I0) -> case (catch list_to_integer(I0)) of @@ -1237,6 +1288,18 @@ verify_irb_user(TO) -> end. +verify_term_disco_behaviour("discovery") -> + {ok, discovery}; +verify_term_disco_behaviour("plain") -> + {ok, plain}; +verify_term_disco_behaviour(B) -> + {error, "invalid terminating discovery behaviour: " ++ B}. + +verify_term_disco_trigger_username("default") -> + {ok, ""}; +verify_term_disco_trigger_username(Trigger) -> + {ok, Trigger}. + verify_user_id(UserId) when is_list(UserId) -> case (catch list_to_atom(UserId)) of @@ -2096,6 +2159,10 @@ write_sys_config_file_agent_opt(Fid, {audit_trail_log, Opts}) -> ok = io:format(Fid, " {audit_trail_log, [", []), write_sys_config_file_agent_atl_opts(Fid, Opts), ok = io:format(Fid, "}", []); +write_sys_config_file_agent_opt(Fid, {discovery, Opts}) -> + ok = io:format(Fid, " {discovery, [", []), + write_sys_config_file_agent_disco_opts(Fid, Opts), + ok = io:format(Fid, "}", []); write_sys_config_file_agent_opt(Fid, {net_if, Opts}) -> ok = io:format(Fid, " {net_if, ~w}", [Opts]); write_sys_config_file_agent_opt(Fid, {mib_server, Opts}) -> @@ -2139,7 +2206,58 @@ write_sys_config_file_agent_atl_opt(Fid, {type, Type}) -> write_sys_config_file_agent_atl_opt(Fid, {size, Size}) -> ok = io:format(Fid, "{size, ~w}", [Size]); write_sys_config_file_agent_atl_opt(Fid, {repair, Rep}) -> - ok = io:format(Fid, "{repair, ~w}", [Rep]). + ok = io:format(Fid, "{repair, ~w}", [Rep]); +write_sys_config_file_agent_atl_opt(Fid, {seqno, SeqNo}) -> + ok = io:format(Fid, "{seqno, ~w}", [SeqNo]). + + +%% These options are allways there +write_sys_config_file_agent_disco_opts(Fid, [Opt]) -> + write_sys_config_file_agent_disco_opt(Fid, Opt), + ok = io:format(Fid, "]", []), + ok; +write_sys_config_file_agent_disco_opts(Fid, [Opt|Opts]) -> + write_sys_config_file_agent_disco_opt(Fid, Opt), + ok = io:format(Fid, ", ", []), + write_sys_config_file_agent_disco_opts(Fid, Opts). + +write_sys_config_file_agent_disco_opt(Fid, {terminating, Opts}) -> + ok = io:format(Fid, "{terminating, [", []), + write_sys_config_file_agent_term_disco_opts(Fid, Opts), + ok = io:format(Fid, "}", []); +write_sys_config_file_agent_disco_opt(Fid, {originating, Opts}) -> + ok = io:format(Fid, "{originating, [", []), + write_sys_config_file_agent_orig_disco_opts(Fid, Opts), + ok = io:format(Fid, "}", []). + +write_sys_config_file_agent_term_disco_opts(Fid, [Opt]) -> + write_sys_config_file_agent_term_disco_opt(Fid, Opt), + ok = io:format(Fid, "]", []), + ok; +write_sys_config_file_agent_term_disco_opts(Fid, [Opt|Opts]) -> + write_sys_config_file_agent_term_disco_opt(Fid, Opt), + ok = io:format(Fid, ", ", []), + write_sys_config_file_agent_term_disco_opts(Fid, Opts). + +write_sys_config_file_agent_term_disco_opt(Fid, {enable, Enable}) -> + ok = io:format(Fid, "{enable, ~w}", [Enable]); +write_sys_config_file_agent_term_disco_opt(Fid, {stage2, Stage2}) -> + ok = io:format(Fid, "{stage2, ~w}", [Stage2]); +write_sys_config_file_agent_term_disco_opt(Fid, {trigger_username, Trigger}) -> + ok = io:format(Fid, "{trigger_username, \"~s\"}", [Trigger]). + +write_sys_config_file_agent_orig_disco_opts(Fid, [Opt]) -> + write_sys_config_file_agent_orig_disco_opt(Fid, Opt), + ok = io:format(Fid, "]", []), + ok; +write_sys_config_file_agent_orig_disco_opts(Fid, [Opt|Opts]) -> + write_sys_config_file_agent_orig_disco_opt(Fid, Opt), + ok = io:format(Fid, ", ", []), + write_sys_config_file_agent_orig_disco_opts(Fid, Opts). + +write_sys_config_file_agent_orig_disco_opt(Fid, {enable, Enable}) -> + ok = io:format(Fid, "{enable, ~w}", [Enable]). + write_sys_config_file_manager_opts(Fid, [Opt]) -> diff --git a/lib/snmp/src/misc/snmp_log.erl b/lib/snmp/src/misc/snmp_log.erl index c3932ccc08..9f4fdf97ca 100644 --- a/lib/snmp/src/misc/snmp_log.erl +++ b/lib/snmp/src/misc/snmp_log.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -21,12 +21,19 @@ -export([ - create/4, create/5, + create/4, create/5, create/6, change_size/2, close/1, sync/1, info/1, log/4, log_to_txt/5, log_to_txt/6, log_to_txt/7, log_to_io/4, log_to_io/5, log_to_io/6 ]). +-export([ + upgrade/1, upgrade/2, + downgrade/1 + ]). +-export([ + validate/1, validate/2 + ]). -define(SNMP_USE_V3, true). @@ -38,30 +45,74 @@ -define(LOG_FORMAT, internal). -define(LOG_TYPE, wrap). +-record(snmp_log, {id, seqno}). + %% -------------------------------------------------------------------- %% Exported functions %% -------------------------------------------------------------------- +upgrade(Log) when is_record(Log, snmp_log) -> + Log; +upgrade(Log) -> + upgrade(Log, disabled). + +upgrade(Log, _SeqNoGen) when is_record(Log, snmp_log) -> + Log; +upgrade(Log, {M, F, A} = SeqNoGen) + when (is_atom(M) andalso is_atom(F) andalso is_list(A)) -> + #snmp_log{id = Log, seqno = SeqNoGen}; +upgrade(Log, SeqNoGen) + when is_function(SeqNoGen, 0) -> + #snmp_log{id = Log, seqno = SeqNoGen}; +upgrade(Log, disabled = SeqNoGen) -> + #snmp_log{id = Log, seqno = SeqNoGen}. + +downgrade(#snmp_log{id = Log}) -> + Log; +downgrade(Log) -> + Log. + %% -- create --- create(Name, File, Size, Repair) -> - create(Name, File, Size, Repair, false). - -create(Name, File, Size, Repair, Notify) -> + create(Name, File, disabled, Size, Repair, false). + +create(Name, File, Size, Repair, Notify) + when (((Repair =:= true) orelse + (Repair =:= false) orelse + (Repair =:= truncate) orelse + (Repair =:= snmp_repair)) andalso + ((Notify =:= true) orelse + (Notify =:= false))) -> + create(Name, File, disabled, Size, Repair, Notify); +create(Name, File, SeqNoGen, Size, Repair) -> + create(Name, File, SeqNoGen, Size, Repair, false). + +create(Name, File, SeqNoGen, Size, Repair, Notify) + when (((Repair =:= true) orelse + (Repair =:= false) orelse + (Repair =:= truncate) orelse + (Repair =:= snmp_repair)) andalso + ((Notify =:= true) orelse + (Notify =:= false))) -> ?vtrace("create -> entry with" - "~n Name: ~p" - "~n File: ~p" - "~n Size: ~p" - "~n Repair: ~p" - "~n Notify: ~p", [Name, File, Size, Repair, Notify]), - log_open(Name, File, Size, Repair, Notify). + "~n Name: ~p" + "~n File: ~p" + "~n SeqNoGen: ~p" + "~n Size: ~p" + "~n Repair: ~p" + "~n Notify: ~p", [Name, File, SeqNoGen, Size, Repair, Notify]), + log_open(Name, File, SeqNoGen, Size, Repair, Notify); +create(Name, File, SeqNoGen, Size, Repair, Notify) -> + {error, {bad_args, Name, File, SeqNoGen, Size, Repair, Notify}}. + %% -- close --- -close(Log) -> +close(#snmp_log{id = Log}) -> ?vtrace("close -> entry with" "~n Log: ~p", [Log]), disk_log:close(Log). @@ -69,14 +120,25 @@ close(Log) -> %% -- close --- +sync(#snmp_log{id = Log}) -> + do_sync(Log); sync(Log) -> + do_sync(Log). + +do_sync(Log) -> ?vtrace("sync -> entry with" "~n Log: ~p", [Log]), disk_log:sync(Log). + %% -- info --- +info(#snmp_log{id = Log}) -> + do_info(Log); info(Log) -> + do_info(Log). + +do_info(Log) -> case disk_log:info(Log) of Info when is_list(Info) -> Items = [no_current_bytes, no_current_items, @@ -97,6 +159,138 @@ info_filter([Item|Items], Info, Acc) -> end. +%% -- validate -- + +%% This function is used to "validate" a log. +%% At present this means making sure all entries +%% are in the proper order, and if sequence numbering +%% is used that no entries are missing. +%% It is intended to be used for testing. + +validate(Log) -> + validate(Log, false). + +validate(#snmp_log{id = Log}, SeqNoReq) -> + validate(Log, SeqNoReq); +validate(Log, SeqNoReq) + when ((SeqNoReq =:= true) orelse (SeqNoReq =:= false)) -> + Validator = + fun({Timestamp, SeqNo, _Packet, _Addr, _Port}, {PrevTS, PrevSN}) -> + ?vtrace("validating log entry when" + "~n Timestamp: ~p" + "~n SeqNo: ~p" + "~n PrevTS: ~p" + "~n PrevSN: ~p", + [Timestamp, SeqNo, PrevTS, PrevSN]), + validate_timestamp(PrevTS, Timestamp), + validate_seqno(PrevSN, SeqNo), + {Timestamp, SeqNo}; + + ({Timestamp, _Packet, _Addr, _Port}, {PrevTS, _PrevSN}) when SeqNoReq =:= true -> + ?vtrace("validating log entry when" + "~n Timestamp: ~p" + "~n PrevTS: ~p", + [Timestamp, PrevTS]), + throw({error, {missing_seqno, Timestamp}}); + + ({Timestamp, _Packet, _Addr, _Port}, {PrevTS, PrevSN}) -> + ?vtrace("validating log entry when" + "~n Timestamp: ~p" + "~n PrevTS: ~p", + [Timestamp, PrevTS]), + validate_timestamp(PrevTS, Timestamp), + {Timestamp, PrevSN}; + + (E, Acc) -> + ?vtrace("validating bad log entry when" + "~n E: ~p" + "~n Acc: ~p", + [E, Acc]), + throw({error, {bad_entry, E, Acc}}) + end, + try + begin + validate_loop(disk_log:chunk(Log, start), + Log, Validator, first, first) + end + catch + throw:Error -> + Error + end. + +%% We shall check that TS2 >= TS1 +validate_timestamp(first, _TS2) -> + ok; +validate_timestamp({LT1, UT1} = TS1, {LT2, UT2} = TS2) -> + LT1_Secs = calendar:datetime_to_gregorian_seconds(LT1), + UT1_Secs = calendar:datetime_to_gregorian_seconds(UT1), + LT2_Secs = calendar:datetime_to_gregorian_seconds(LT2), + UT2_Secs = calendar:datetime_to_gregorian_seconds(UT2), + case ((LT2_Secs >= LT1_Secs) andalso (UT2_Secs >= UT1_Secs)) of + true -> + ok; + false -> + throw({error, {invalid_timestamp, TS1, TS2}}) + end; +validate_timestamp(TS1, TS2) -> + throw({error, {bad_timestamp, TS1, TS2}}). + + +%% The usual case when SN2 = SN1 + 1 +validate_seqno(first, SN2) + when is_integer(SN2) >= 1 -> + ok; + +%% The usual case when SN2 = SN1 + 1 +validate_seqno(SN1, SN2) + when is_integer(SN1) andalso is_integer(SN2) andalso + (SN2 =:= (SN1 + 1)) andalso (SN1 >= 1) -> + ok; + +%% The case when we have a wrap +validate_seqno(SN1, SN2) + when is_integer(SN1) andalso is_integer(SN2) andalso + (SN2 < SN1) andalso (SN2 >= 1) -> + ok; + +%% And everything else must be an error... +validate_seqno(SN1, SN2) -> + throw({error, {bad_seqno, SN1, SN2}}). + +validate_loop(eof, _Log, _Validatior, _PrevTS, _PrevSN) -> + ok; +validate_loop({error, _} = Error, _Log, _Validator, _PrevTS, _PrevSN) -> + Error; +validate_loop({corrupt_log_file, _} = Reason, + _Log, _Validator, _PrevTS, _PrevSN) -> + {error, Reason}; +validate_loop({Cont, Terms}, Log, Validator, PrevTS, PrevSN) -> + ?vtrace("validate_loop -> entry with" + "~n Terms: ~p" + "~n PrevTS: ~p" + "~n PrevSN: ~p", [Terms, PrevTS, PrevSN]), + {NextTS, NextSN} = lists:foldl(Validator, {PrevTS, PrevSN}, Terms), + ?vtrace("validate_loop -> " + "~n NextTS: ~p" + "~n NextSN: ~p", [NextTS, NextSN]), + validate_loop(disk_log:chunk(Log, Cont), Log, Validator, NextTS, NextSN); +validate_loop({Cont, Terms, BadBytes}, Log, Validator, PrevTS, PrevSN) -> + ?vtrace("validate_loop -> entry with" + "~n Terms: ~p" + "~n BadBytes: ~p" + "~n PrevTS: ~p" + "~n PrevSN: ~p", [Terms, BadBytes, PrevTS, PrevSN]), + error_logger:error_msg("Skipping ~w bytes while validating ~p~n~n", + [BadBytes, Log]), + {NextTS, NextSN} = lists:foldl(Validator, {PrevTS, PrevSN}, Terms), + ?vtrace("validate_loop -> " + "~n NextTS: ~p" + "~n NextSN: ~p", [NextTS, NextSN]), + validate_loop(disk_log:chunk(Log, Cont), Log, Validator, NextTS, NextSN); +validate_loop(Error, _Log, _Write, _PrevTS, _PrevSN) -> + Error. + + %% -- log --- %%----------------------------------------------------------------- @@ -109,19 +303,48 @@ info_filter([Item|Items], Info, Acc) -> %%----------------------------------------------------------------- -log(Log, Packet, Addr, Port) -> +log(#snmp_log{id = Log, seqno = SeqNo}, Packet, Addr, Port) -> ?vtrace("log -> entry with" "~n Log: ~p" "~n Addr: ~p" "~n Port: ~p", [Log, Addr, Port]), - Entry = {timestamp(), Packet, Addr, Port}, - disk_log:alog(Log, Entry). + Entry = make_entry(SeqNo, Packet, Addr, Port), +%% io:format("log -> " +%% "~n Entry: ~p" +%% "~n Info: ~p" +%% "~n", [Entry, disk_log:info(Log)]), + Res = disk_log:alog(Log, Entry), +%% io:format("log -> " +%% "~n Res: ~p" +%% "~n Info: ~p" +%% "~n", [Res, disk_log:info(Log)]), + %% disk_log:sync(Log), + Res. + + + +make_entry(SeqNoGen, Packet, Addr, Port) -> + try next_seqno(SeqNoGen) of + disabled -> + {timestamp(), Packet, Addr, Port}; + {ok, NextSeqNo} -> + {timestamp(), NextSeqNo, Packet, Addr, Port} + catch + _:_ -> + {timestamp(), Packet, Addr, Port} + end. +next_seqno({M, F, A}) -> + {ok, apply(M, F, A)}; +next_seqno(F) when is_function(F) -> + {ok, F()}; +next_seqno(_) -> + disabled. %% -- change_size --- -change_size(Log, NewSize) -> +change_size(#snmp_log{id = Log}, NewSize) -> ?vtrace("change_size -> entry with" "~n Log: ~p" "~n NewSize: ~p", [Log, NewSize]), @@ -171,6 +394,23 @@ log_to_io(Log, FileName, Dir, Mibs, Start, Stop) log_convert(Log, File, Converter). +%% -- log_to_plain --- + +%% log_to_plain(Log, FileName, Dir) -> +%% log_to_plain(Log, FileName, Dir, null, null). + +%% log_to_plain(Log, FileName, Dir, Start) -> +%% log_to_plain(Log, FileName, Dir, Start, null). + +%% log_to_plain(Log, FileName, Dir, Start, Stop) +%% when is_list(Mibs) -> +%% File = filename:join(Dir, FileName), +%% Converter = fun(L) -> +%% do_log_to_plain(L, Start, Stop) +%% end, +%% log_convert(Log, File, Converter). + + %% -------------------------------------------------------------------- %% Internal functions %% -------------------------------------------------------------------- @@ -178,7 +418,12 @@ log_to_io(Log, FileName, Dir, Mibs, Start, Stop) %% -- log_convert --- +log_convert(#snmp_log{id = Log}, File, Converter) -> + do_log_convert(Log, File, Converter); log_convert(Log, File, Converter) -> + do_log_convert(Log, File, Converter). + +do_log_convert(Log, File, Converter) -> %% First check if the caller process has already opened the %% log, because if we close an already open log we will cause %% a runtime error. @@ -274,86 +519,151 @@ loop({Cont, Terms, BadBytes}, Log, Write) -> loop(Error, _Log, _Write) -> Error. -format_msg({TimeStamp, {V3Hdr, ScopedPdu}, {Addr, Port}}, - Mib, Start, Stop) -> - format_msg({TimeStamp, {V3Hdr, ScopedPdu}, Addr, Port}, - Mib, Start, Stop); -format_msg({TimeStamp, {V3Hdr, ScopedPdu}, Addr, Port}, - Mib, Start, Stop) -> -% io:format("format_msg -> entry with" -% "~n TimeStamp: ~p" -% "~n Start: ~p" -% "~n Stop: ~p", [TimeStamp, Start, Stop]), - case timestamp_filter(TimeStamp, Start, Stop) of - true -> - case (catch snmp_pdus:dec_scoped_pdu(ScopedPdu)) of - ScopedPDU when is_record(ScopedPDU, scopedPdu) -> - Msg = #message{version = 'version-3', - vsn_hdr = V3Hdr, - data = ScopedPDU}, - f(ts2str(TimeStamp), Msg, Addr, Port, Mib); - {'EXIT', Reason} -> - format_tab("** error in log file at ~s from ~p:~w ~p\n\n", - [ts2str(TimeStamp), ip(Addr), Port, Reason]) - end; - false -> - ignore - end; -format_msg({TimeStamp, Packet, {Addr, Port}}, Mib, Start, Stop) -> - format_msg({TimeStamp, Packet, Addr, Port}, Mib, Start, Stop); -format_msg({TimeStamp, Packet, Addr, Port}, Mib, Start, Stop) -> + +format_msg(Entry, Mib, Start, Stop) -> + TimeStamp = element(1, Entry), case timestamp_filter(TimeStamp, Start, Stop) of true -> - case (catch snmp_pdus:dec_message(binary_to_list(Packet))) of - Msg when is_record(Msg, message) -> - f(ts2str(TimeStamp), Msg, Addr, Port, Mib); - {'EXIT', Reason} -> - format_tab("** error in log file ~p\n\n", [Reason]) - end; - false -> - ignore - end; -format_msg(_, _Mib, _Start, _Stop) -> + do_format_msg(Entry, Mib); + false -> + ignore + end. + +%% This is an old-style entry, that never had the sequence-number +do_format_msg({Timestamp, Packet, {Addr, Port}}, Mib) -> + do_format_msg(Timestamp, Packet, Addr, Port, Mib); + +%% This is the format without sequence-number +do_format_msg({Timestamp, Packet, Addr, Port}, Mib) -> + do_format_msg(Timestamp, Packet, Addr, Port, Mib); + +%% This is the format with sequence-number +do_format_msg({Timestamp, SeqNo, Packet, Addr, Port}, Mib) -> + do_format_msg(Timestamp, SeqNo, Packet, Addr, Port, Mib); + +%% This is crap... +do_format_msg(_, _) -> format_tab("** unknown entry in log file\n\n", []). -f(TimeStamp, #message{version = Vsn, vsn_hdr = VsnHdr, data = Data}, +do_format_msg(TimeStamp, {V3Hdr, ScopedPdu}, Addr, Port, Mib) -> + case (catch snmp_pdus:dec_scoped_pdu(ScopedPdu)) of + ScopedPDU when is_record(ScopedPDU, scopedPdu) -> + Msg = #message{version = 'version-3', + vsn_hdr = V3Hdr, + data = ScopedPDU}, + f(ts2str(TimeStamp), "", Msg, Addr, Port, Mib); + {'EXIT', Reason} -> + format_tab("** error in log file at ~s from ~p:~w ~p\n\n", + [ts2str(TimeStamp), ip(Addr), Port, Reason]) + end; +do_format_msg(TimeStamp, Packet, Addr, Port, Mib) -> + case (catch snmp_pdus:dec_message(binary_to_list(Packet))) of + Msg when is_record(Msg, message) -> + f(ts2str(TimeStamp), "", Msg, Addr, Port, Mib); + {'EXIT', Reason} -> + format_tab("** error in log file ~p\n\n", [Reason]) + end. + +do_format_msg(TimeStamp, SeqNo, {V3Hdr, ScopedPdu}, Addr, Port, Mib) -> + case (catch snmp_pdus:dec_scoped_pdu(ScopedPdu)) of + ScopedPDU when is_record(ScopedPDU, scopedPdu) -> + Msg = #message{version = 'version-3', + vsn_hdr = V3Hdr, + data = ScopedPDU}, + f(ts2str(TimeStamp), sn2str(SeqNo), Msg, Addr, Port, Mib); + {'EXIT', Reason} -> + format_tab("** error in log file at ~s from ~p:~w ~p\n\n", + [ts2str(TimeStamp), sn2str(SeqNo), + ip(Addr), Port, Reason]) + end; +do_format_msg(TimeStamp, SeqNo, Packet, Addr, Port, Mib) -> + case (catch snmp_pdus:dec_message(binary_to_list(Packet))) of + Msg when is_record(Msg, message) -> + f(ts2str(TimeStamp), sn2str(SeqNo), Msg, Addr, Port, Mib); + {'EXIT', Reason} -> + format_tab("** error in log file ~s from ~p:~w ~p\n\n", + [ts2str(TimeStamp), sn2str(SeqNo), + ip(Addr), Port, Reason]) + end. + + +%% format_msg({TimeStamp, {V3Hdr, ScopedPdu}, {Addr, Port}}, +%% Mib, Start, Stop) -> +%% format_msg({TimeStamp, {V3Hdr, ScopedPdu}, Addr, Port}, +%% Mib, Start, Stop); +%% format_msg({TimeStamp, {V3Hdr, ScopedPdu}, Addr, Port}, +%% Mib, Start, Stop) -> +%% case timestamp_filter(TimeStamp, Start, Stop) of +%% true -> +%% case (catch snmp_pdus:dec_scoped_pdu(ScopedPdu)) of +%% ScopedPDU when record(ScopedPDU, scopedPdu) -> +%% Msg = #message{version = 'version-3', +%% vsn_hdr = V3Hdr, +%% data = ScopedPDU}, +%% f(ts2str(TimeStamp), Msg, Addr, Port, Mib); +%% {'EXIT', Reason} -> +%% format_tab("** error in log file at ~s from ~p:~w ~p\n\n", +%% [ts2str(TimeStamp), ip(Addr), Port, Reason]) +%% end; +%% false -> +%% ignore +%% end; +%% format_msg({TimeStamp, Packet, {Addr, Port}}, Mib, Start, Stop) -> +%% format_msg({TimeStamp, Packet, Addr, Port}, Mib, Start, Stop); +%% format_msg({TimeStamp, Packet, Addr, Port}, Mib, Start, Stop) -> +%% case timestamp_filter(TimeStamp, Start, Stop) of +%% true -> +%% case (catch snmp_pdus:dec_message(binary_to_list(Packet))) of +%% Msg when record(Msg, message) -> +%% f(ts2str(TimeStamp), Msg, Addr, Port, Mib); +%% {'EXIT', Reason} -> +%% format_tab("** error in log file ~p\n\n", [Reason]) +%% end; +%% false -> +%% ignore +%% end; +%% format_msg(_, _Mib, _Start, _Stop) -> +%% format_tab("** unknown entry in log file\n\n", []). + +f(TimeStamp, SeqNo, + #message{version = Vsn, vsn_hdr = VsnHdr, data = Data}, Addr, Port, Mib) -> Str = format_pdu(Data, Mib), HdrStr = format_header(Vsn, VsnHdr), case get_type(Data) of trappdu -> - f_trap(TimeStamp, Vsn, HdrStr, Str, Addr, Port); + f_trap(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port); 'snmpv2-trap' -> - f_trap(TimeStamp, Vsn, HdrStr, Str, Addr, Port); + f_trap(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port); 'inform-request' -> - f_inform(TimeStamp, Vsn, HdrStr, Str, Addr, Port); + f_inform(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port); 'get-response' -> - f_response(TimeStamp, Vsn, HdrStr, Str, Addr, Port); + f_response(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port); report -> - f_report(TimeStamp, Vsn, HdrStr, Str, Addr, Port); + f_report(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port); _ -> - f_request(TimeStamp, Vsn, HdrStr, Str, Addr, Port) + f_request(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port) end. -f_request(TimeStamp, Vsn, HdrStr, Str, Addr, Port) -> - format_tab("request ~s:~w - ~s [~s] ~w\n~s", - [ip(Addr), Port, HdrStr, TimeStamp, Vsn, Str]). +f_request(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port) -> + format_tab("request ~s:~w - ~s [~s]~s ~w\n~s", + [ip(Addr), Port, HdrStr, TimeStamp, SeqNo, Vsn, Str]). -f_response(TimeStamp, Vsn, HdrStr, Str, Addr, Port) -> - format_tab("response ~s:~w - ~s [~s] ~w\n~s", - [ip(Addr), Port, HdrStr, TimeStamp, Vsn, Str]). +f_response(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port) -> + format_tab("response ~s:~w - ~s [~s]~s ~w\n~s", + [ip(Addr), Port, HdrStr, TimeStamp, SeqNo, Vsn, Str]). -f_report(TimeStamp, Vsn, HdrStr, Str, Addr, Port) -> - format_tab("report ~s:~w - ~s [~s] ~w\n~s", - [ip(Addr), Port, HdrStr, TimeStamp, Vsn, Str]). +f_report(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port) -> + format_tab("report ~s:~w - ~s [~s]~s ~w\n~s", + [ip(Addr), Port, HdrStr, TimeStamp, SeqNo, Vsn, Str]). -f_trap(TimeStamp, Vsn, HdrStr, Str, Addr, Port) -> - format_tab("trap ~s:~w - ~s [~s] ~w\n~s", - [ip(Addr), Port, HdrStr, TimeStamp, Vsn, Str]). +f_trap(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port) -> + format_tab("trap ~s:~w - ~s [~s]~s ~w\n~s", + [ip(Addr), Port, HdrStr, TimeStamp, SeqNo, Vsn, Str]). -f_inform(TimeStamp, Vsn, HdrStr, Str, Addr, Port) -> - format_tab("inform ~s:~w - ~s [~s] ~w\n~s", - [ip(Addr), Port, HdrStr, TimeStamp, Vsn, Str]). +f_inform(TimeStamp, SeqNo, Vsn, HdrStr, Str, Addr, Port) -> + format_tab("inform ~s:~w - ~s [~s]~s ~w\n~s", + [ip(Addr), Port, HdrStr, TimeStamp, SeqNo, Vsn, Str]). %% Convert a timestamp 2-tupple to a printable string @@ -363,6 +673,13 @@ ts2str({Local,Universal}) -> ts2str(_) -> "". +%% Convert a sequence number integer to a printable string +%% +sn2str(SeqNo) when is_integer(SeqNo) -> + " [" ++ integer_to_list(SeqNo) ++ "]"; +sn2str(_) -> + "". + %% Convert a datetime 2-tupple to a printable string %% dat2str({{Y,M,D},{H,Min,S}}) -> @@ -457,19 +774,31 @@ ip({A,B,C,D}) -> %% Various utility functions %% ------------------------------------------------------------------- -log_open(Name, File, Size, Repair, Notify) -> +log_open(Name, File, {M, F, A} = SeqNoGen, Size, Repair, Notify) + when (is_atom(M) andalso is_atom(F) andalso is_list(A)) -> + log_open2(Name, File, SeqNoGen, Size, Repair, Notify); +log_open(Name, File, SeqNoGen, Size, Repair, Notify) + when is_function(SeqNoGen, 0) -> + log_open2(Name, File, SeqNoGen, Size, Repair, Notify); +log_open(Name, File, disabled = SeqNoGen, Size, Repair, Notify) -> + log_open2(Name, File, SeqNoGen, Size, Repair, Notify); +log_open(_, _File, BadSeqNoGen, _Size, _Repair, _Notify) -> + {error, {bad_seqno, BadSeqNoGen}}. + +log_open2(Name, File, SeqNoGen, Size, Repair, Notify) -> case do_log_open(Name, File, Size, Repair, Notify) of {ok, Log} -> - {ok, Log}; + {ok, #snmp_log{id = Log, seqno = SeqNoGen}}; {repaired, Log, Rec, Bad} -> ?vlog("log_open -> repaired: " "~n Rec: ~p" "~n Bad: ~p", [Rec, Bad]), - {ok, Log}; + {ok, #snmp_log{id = Log, seqno = SeqNoGen}}; Error -> Error end. + %% We need to make sure we do not end up in an infinit loop %% Take the number of files of the wrap log and add 2 (for %% the index and size files). diff --git a/lib/snmp/src/misc/snmp_usm.erl b/lib/snmp/src/misc/snmp_usm.erl index 6d216e65d6..19be564a8e 100644 --- a/lib/snmp/src/misc/snmp_usm.erl +++ b/lib/snmp/src/misc/snmp_usm.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -206,6 +206,10 @@ des_encrypt(PrivKey, Data, SaltFun) -> des_decrypt(PrivKey, MsgPrivParams, EncData) when length(MsgPrivParams) =:= 8 -> + ?vtrace("des_decrypt -> entry with" + "~n PrivKey: ~p" + "~n MsgPrivParams: ~p" + "~n EncData: ~p", [PrivKey, MsgPrivParams, EncData]), [A,B,C,D,E,F,G,H | PreIV] = PrivKey, DesKey = [A,B,C,D,E,F,G,H], Salt = MsgPrivParams, @@ -213,7 +217,15 @@ des_decrypt(PrivKey, MsgPrivParams, EncData) %% Whatabout errors here??? E.g. not a mulitple of 8! Data = binary_to_list(crypto:des_cbc_decrypt(DesKey, IV, EncData)), Data2 = snmp_pdus:strip_encrypted_scoped_pdu_data(Data), - {ok, Data2}. + {ok, Data2}; +des_decrypt(PrivKey, BadMsgPrivParams, EncData) -> + ?vtrace("des_decrypt -> entry with when bad MsgPrivParams" + "~n PrivKey: ~p" + "~n BadMsgPrivParams: ~p" + "~n EncData: ~p", + [PrivKey, BadMsgPrivParams, EncData]), + throw({error, {bad_msgPrivParams, PrivKey, BadMsgPrivParams, EncData}}). + aes_encrypt(PrivKey, Data, SaltFun) -> AesKey = PrivKey, @@ -225,7 +237,7 @@ aes_encrypt(PrivKey, Data, SaltFun) -> {ok, binary_to_list(EncData), Salt}. aes_decrypt(PrivKey, MsgPrivParams, EncData, EngineBoots, EngineTime) - when length(MsgPrivParams) == 8 -> + when length(MsgPrivParams) =:= 8 -> AesKey = PrivKey, Salt = MsgPrivParams, IV = [?i32(EngineBoots), ?i32(EngineTime) | Salt], diff --git a/lib/snmp/test/snmp_agent_test.erl b/lib/snmp/test/snmp_agent_test.erl index 53b35058e1..af0581150a 100644 --- a/lib/snmp/test/snmp_agent_test.erl +++ b/lib/snmp/test/snmp_agent_test.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -32,6 +32,8 @@ -include("snmp_test_lib.hrl"). -define(SNMP_USE_V3, true). -include_lib("snmp/include/snmp_types.hrl"). +-include_lib("snmp/src/agent/snmpa_atl.hrl"). + %% -include_lib("snmp/include/SNMP-COMMUNITY-MIB.hrl"). %% -include_lib("snmp/include/SNMP-VIEW-BASED-ACM-MIB.hrl"). %% -include_lib("snmp/include/SNMP-USER-BASED-SM-MIB.hrl"). @@ -84,16 +86,18 @@ all(suite) -> - {req, - [ - mnesia, - distribution, - {local_slave_nodes, 2}, - {time, 360} - ], - [{conf, init_all, cases(), finish_all}]}. + Reqs = [mnesia, distribution, {local_slave_nodes, 2}, {time, 360}], + Conf1 = [{conf, init_all, cases(), finish_all}], + Conf2 = [tickets2], + {req, Reqs, Conf1 ++ Conf2}. +init_per_testcase(otp8395 = Case, Config) when is_list(Config) -> + ?DBG("init_per_testcase -> entry with" + "~n Case: ~p" + "~n Config: ~p", [Case, Config]), + Config2 = init_per_testcase2(Case, init_suite(Config)), + otp8395({init, Config2}); init_per_testcase(otp_7157_test = _Case, Config) when is_list(Config) -> ?DBG("init_per_testcase -> entry with" "~n Case: ~p" @@ -119,6 +123,8 @@ init_per_testcase(_Case, Config) when is_list(Config) -> Dog = ?WD_START(?MINS(6)), [{watchdog, Dog}|Config]. +fin_per_testcase(otp8395, Config) when is_list(Config) -> + otp8395({fin, Config}); fin_per_testcase(_Case, Config) when is_list(Config) -> ?DBG("fin_per_testcase -> entry with" "~n Case: ~p" @@ -127,6 +133,97 @@ fin_per_testcase(_Case, Config) when is_list(Config) -> ?WD_STOP(Dog), Config. + +init_suite(Config) -> + ?DBG("init_suite -> entry with" + "~n Config: ~p", [Config]), + + %% Suite root dir for test suite + PrivDir = ?config(priv_dir, Config), + + %% Create top-directory for this sub-suite + SuiteTopDir = filename:join([PrivDir, ?MODULE]), + case file:make_dir(SuiteTopDir) of + ok -> + ok; + {error, eexist} -> + %% This can happen since this is not really a + %% suite-init function. + ok; + {error, Reason} -> + ?FAIL({failed_creating_suite_top_dir, SuiteTopDir, Reason}) + end, + + + %% -- + %% Fix config (data-dir is not correct): + %% + + Config1 = fix_data_dir(Config), + %% Config1 = Config, + + %% Mib-dirs + MibDir = ?config(data_dir, Config1), + StdMibDir = filename:join([code:priv_dir(snmp), "mibs"]), + + Config2 = [{suite_top_dir, SuiteTopDir}, + {mib_dir, MibDir}, + {std_mib_dir, StdMibDir} | Config1], + + ?DBG("init_suite -> done when" + "~n Config2: ~p", [Config2]), + Config2. + +%% end_per_suite(Config) -> +end_suite(Config) -> + Config. + +fix_data_dir(Config) -> + DataDir0 = ?config(data_dir, Config), + DataDir1 = filename:split(filename:absname(DataDir0)), + [_|DataDir2] = lists:reverse(DataDir1), + DataDir = filename:join(lists:reverse(DataDir2) ++ [?snmp_test_data]), + Config1 = lists:keydelete(data_dir, 1, Config), + [{data_dir, DataDir} | Config1]. + + +init_per_testcase2(Case, Config) -> + SuiteToDir = ?config(suite_top_dir, Config), + + %% Create top-directory for this test-case + CaseTopDir = filename:join([SuiteToDir, Case]), + ok = file:make_dir(CaseTopDir), + + %% Create agent top-dir(s) + AgentTopDir = filename:join([CaseTopDir, agent]), + ok = file:make_dir(AgentTopDir), + AgentConfDir = filename:join([AgentTopDir, config]), + ok = file:make_dir(AgentConfDir), + AgentDbDir = filename:join([AgentTopDir, db]), + ok = file:make_dir(AgentDbDir), + AgentLogDir = filename:join([AgentTopDir, log]), + ok = file:make_dir(AgentLogDir), + + %% Create sub-agent top-dir(s) + SubAgentTopDir = filename:join([CaseTopDir, sub_agent]), + ok = file:make_dir(SubAgentTopDir), + + %% Create manager top-dir(s) + ManagerTopDir = filename:join([CaseTopDir, manager]), + ok = file:make_dir(ManagerTopDir), + + [{case_top_dir, CaseTopDir}, + {agent_top_dir, AgentTopDir}, + {agent_conf_dir, AgentConfDir}, + {agent_db_dir, AgentDbDir}, + {agent_log_dir, AgentLogDir}, + {sub_agent_top_dir, SubAgentTopDir}, + {manager_top_dir, ManagerTopDir} | Config]. + +fin_per_testcase2(_Case, Config) -> + Config. + + cases() -> case ?OSTYPE() of vxworks -> @@ -138,7 +235,7 @@ cases() -> test_v1_v2, test_multi_threaded, mib_storage, - tickets + tickets1 ]; _Else -> [ @@ -149,7 +246,7 @@ cases() -> test_v3, test_multi_threaded, mib_storage, - tickets + tickets1 ] end. @@ -5071,12 +5168,20 @@ reported_bugs_3(suite) -> %% These are (ticket) test cases where the initiation has to be done %% individually. -tickets(suite) -> +tickets1(suite) -> [ otp_4394, otp_7157 ]. + +tickets2(suite) -> + [ + otp8395 + ]. + + + %%----------------------------------------------------------------- %% Ticket: OTP-1128 %% Slogan: Bug in handling of createAndWait set-requests. @@ -5624,10 +5729,9 @@ otp_4394_test1() -> otp_7157(suite) -> - {req, [], {conf, - init_otp_7157, - [otp_7157_test], - finish_otp_7157}}. + Reqs = [], + Conf = [{conf, init_otp_7157, [otp_7157_test], finish_otp_7157}], + {req, Reqs, Conf}. init_otp_7157(Config) when is_list(Config) -> %% <CONDITIONAL-SKIP> @@ -5691,6 +5795,337 @@ otp_7157_test1(MA) -> %%----------------------------------------------------------------- +%% Extra test cases +%% These cases are started in the new way +%%----------------------------------------------------------------- + +otp8395({init, Config}) when is_list(Config) -> + ?DBG("otp8395(init) -> entry with" + "~n Config: ~p", [Config]), + + %% -- + %% Start nodes + %% + + {ok, AgentNode} = start_node(agent), + %% {ok, SubAgentNode} = start_node(sub_agent), + {ok, ManagerNode} = start_node(manager), + + %% -- + %% Mnesia init + %% + + AgentDbDir = ?config(agent_db_dir, Config), + AgentMnesiaDir = filename:join([AgentDbDir, "mnesia"]), + mnesia_init(AgentNode, AgentMnesiaDir), + +%% SubAgentDir = ?config(sub_agent_dir, Config), +%% SubAgentMnesiaDir = filename:join([SubAgentDir, "mnesia"]), +%% mnesia_init(SubAgentNode, SubAgentMnesiaDir), + + %% ok = mnesia_create_schema(AgentNode, [AgentNode, SubAgentNode]), + %% ok = mnesia:create_schema([AgentNode, SubAgentNode]), + mnesia_create_schema(AgentNode, [AgentNode]), + + mnesia_start(AgentNode), + %% mnesia_start(SubAgentNode), + + %% -- + %% Host & IP + %% + + AgentHost = ?HOSTNAME(AgentNode), + %% SubAgentHost = ?HPSTNAME(SubAgentNode), + ManagerHost = ?HOSTNAME(ManagerNode), + + Host = snmp_test_lib:hostname(), + Ip = ?LOCALHOST(), + {ok, AgentIP0} = snmp_misc:ip(AgentHost), + AgentIP = tuple_to_list(AgentIP0), + %% {ok, SubAgentIP0} = snmp_misc:ip(SubAgentHost), + %% SubAgentIP = tuple_to_list(SubAgentIP0), + {ok, ManagerIP0} = snmp_misc:ip(ManagerHost), + ManagerIP = tuple_to_list(ManagerIP0), + + + %% -- + %% Write agent config + %% + + Vsns = [v1], + AgentConfDir = ?config(agent_conf_dir, Config), + ManagerConfDir = ?config(manager_top_dir, Config), + snmp_agent_test_lib:config(Vsns, + ManagerConfDir, AgentConfDir, + ManagerIP, AgentIP), + + + %% -- + %% Start the agent + %% + + Config2 = start_agent([{host, Host}, + {ip, Ip}, + {agent_node, AgentNode}, + {agent_host, AgentHost}, + {agent_ip, AgentIP}, + %% {sub_agent_node, SubAgentNode}, + %% {sub_agent_host, SubAgentHost}, + %% {sub_agent_ip, SubAgentIP}, + {manager_node, ManagerNode}, + {manager_host, ManagerHost}, + {manager_ip, ManagerIP}|Config]), + + %% -- + %% Create watchdog + %% + + Dog = ?WD_START(?MINS(1)), + + [{watchdog, Dog} | Config2]; + +otp8395({fin, Config}) when is_list(Config) -> + ?DBG("otp8395(fin) -> entry with" + "~n Config: ~p", [Config]), + + AgentNode = ?config(agent_node, Config), + ManagerNode = ?config(manager_node, Config), + + %% - + %% Stop agent (this is the nice way to do it, + %% so logs and files can be closed in the proper way). + %% + + AgentSup = ?config(agent_sup, Config), + ?DBG("otp8395(fin) -> stop (stand-alone) agent: ~p", [AgentSup]), + stop_stdalone_agent(AgentSup), + + %% - + %% Stop mnesia + %% + ?DBG("otp8395(fin) -> stop mnesia", []), + mnesia_stop(AgentNode), + + + %% - + %% Stop the agent node + %% + + ?DBG("otp8395(fin) -> stop agent node", []), + stop_node(AgentNode), + + +%% SubAgentNode = ?config(sub_agent_node, Config), +%% stop_node(SubAgentNode), + + + %% - + %% Stop the manager node + %% + + ?DBG("otp8395(fin) -> stop manager node", []), + stop_node(ManagerNode), + + Dog = ?config(watchdog, Config), + ?WD_STOP(Dog), + lists:keydelete(watchdog, 1, Config); + +otp8395(doc) -> + "OTP-8395 - ATL with sequence numbering. "; + +otp8395(Config) when is_list(Config) -> + ?DBG("otp8395 -> entry with" + "~n Config: ~p", [Config]), + + ?SLEEP(1000), + + %% This is just to dirty trick for the ***old*** test-code + put(mgr_node, ?config(manager_node, Config)), + put(mgr_dir, ?config(manager_top_dir, Config)), + put(mib_dir, ?config(mib_dir, Config)), + put(vsn, v1), + put(master_host, ?config(agent_host, Config)), + try_test(simple_standard_test), + + ?SLEEP(1000), + AgentNode = ?config(agent_node, Config), + AgentLogDir = ?config(agent_log_dir, Config), + OutFile = filename:join([AgentLogDir, "otp8395.txt"]), + {ok, LogInfo} = rpc:call(AgentNode, snmpa, log_info, []), + ?DBG("otp8395 -> LogInfo: ~p", [LogInfo]), + +%% SyncRes = rpc:call(AgentNode, snmp, log_sync, [?audit_trail_log_name]), +%% ?DBG("otp8395 -> SyncRes: ~p", [SyncRes]), + + ok = agent_log_validation(AgentNode), + LTTRes = + rpc:call(AgentNode, snmpa, log_to_txt, [AgentLogDir, [], OutFile]), + ?DBG("otp8395 -> LTTRes: ~p", [LTTRes]), + + ?SLEEP(1000), + ?DBG("otp8395 -> done", []), + ok. + + +agent_log_validation(Node) -> + rpc:call(Node, ?MODULE, agent_log_validation, []). + +agent_log_validation() -> + put(sname, otp8308), + put(verbosity, trace), + snmp_log:validate(?audit_trail_log_name, true). + +mnesia_init(Node, Dir) -> + rpc:call(Node, ?MODULE, mnesia_init, [Dir]). + +mnesia_init(Dir) -> + ok = application:load(mnesia), + application_controller:set_env(mnesia, dir, Dir). + +mnesia_create_schema(Node, Nodes) -> + rpc:call(Node, mnesia, create_schema, [Nodes]). + +mnesia_start(Node) -> + rpc:call(Node, application, start, [mnesia]). + +mnesia_start() -> + application:start(mnesia). + +mnesia_stop(Node) -> + rpc:call(Node, application, stop, [mnesia]). + +mnesia_stop() -> + application:start(mnesia). + + +start_agent(Config) -> + start_agent(Config, []). + +start_agent(Config, Opts) -> + + %% Directories + ConfDir = ?config(agent_conf_dir, Config), + DbDir = ?config(agent_db_dir, Config), + LogDir = ?config(agent_log_dir, Config), + + Vsns = [v1], + + AgentConfig = process_agent_options(ConfDir, DbDir, LogDir, Vsns, Opts), + + %% Nodes + AgentNode = ?config(agent_node, Config), + %% ManagerNode = ?config(manager_node, Config), + + process_flag(trap_exit,true), + + AgentTopSup = start_stdalone_agent(AgentNode, AgentConfig), + + [{agent_sup, AgentTopSup} | Config]. + + +process_agent_options(ConfDir, DbDir, LogDir, Vsns, Opts) -> + Defaults = + [{agent_type, master}, + {agent_verbosity, trace}, + {priority, normal}, + {versions, Vsns}, + {db_dir, DbDir}, + {mib_storage, ets}, + {local_db, [{repair, true}, + {auto_save, 5000}, + {verbosity, log}]}, + {error_report_module, snmpa_error_logger}, + {config, [{dir, ConfDir}, + {force_load, true}, + {verbosity, trace}]}, + {multi_threaded, true}, + {mib_server, [{mibentry_override, false}, + {trapentry_override, false}, + {verbosity, info}]}, + {target_cache, [{verbosity,info}]}, + {symbolic_store, [{verbosity,log}]}, + {note_store, [{timeout,30000}, {verbosity,log}]}, + {net_if, [{module, snmpa_net_if}, + {verbosity, trace}, + {options, [{bind_to, false}, + {no_reuse, false}, + {req_limit, infinity}]}]}, + {audit_trail_log, [{type, read_write}, + {dir, LogDir}, + {size, {10240,20}}, + {repair, true}, + {seqno, true}]}], + + process_options(Defaults, Opts). + +process_options(Defaults, _Opts) -> + %% process_options(Defaults, Opts, []). + Defaults. + +%% process_options([], _Opts, Acc) -> +%% lists:reverse(Acc); +%% process_options([{Key, DefaultValue}|Defaults], Opts, Acc) -> +%% case lists:keysearch(Key, 1, Opts) of +%% {value, {Key, Value}} when is_list-> + + +snmp_app_env_init(Node, Entity, Conf) -> + rpc:call(Node, snmp_app_env_init, [Entity, Conf]). + +snmp_app_env_init(Entity, Conf) -> + application:unload(snmp), + application:load(snmp), + application:set_env(snmp, Entity, Conf). + +start_stdalone_agent(Node, Config) -> + rpc:call(Node, ?MODULE, start_stdalone_agent, [Config]). + +start_stdalone_agent(Config) -> + case snmpa_supervisor:start_link(normal, Config) of + {ok, AgentTopSup} -> + unlink(AgentTopSup), + AgentTopSup; + {error, {already_started, AgentTopSup}} -> + AgentTopSup + end. + +stop_stdalone_agent(Pid) when (node(Pid) =/= node()) -> + MRef = erlang:monitor(process, Pid), + rpc:call(node(Pid), ?MODULE, stop_stdalone_agent, [Pid]), + receive + {'DOWN', MRef, process, Pid, Info} -> + ?DBG("received expected DOWN message " + "regarding snmp agent supervisor: " + "~n Info: ~p", [Info]), + ok + after 5000 -> + ?DBG("no DOWN message " + "regarding snmp agent supervisor within time", []), + ok + end; +stop_stdalone_agent(Pid) -> + ?DBG("attempting to terminate agent top-supervisor: ~p", [Pid]), + nkill(Pid, kill). + + +nkill(Pid, Reason) -> + nkill(Pid, Reason, 10). + +nkill(Pid, Reason, N) when N > 0 -> + case (catch erlang:process_info(Pid)) of + Info when is_list(Info) -> + ?DBG("Info for process to kill: " + "~n Info: ~p", [Info]), + exit(Pid, Reason), + ?SLEEP(1000), + nkill(Pid, Reason, N-1); + _ -> + ?DBG("No process info => already dead?", []), + ok + end. + + +%%----------------------------------------------------------------- %% Slogan: info test %%----------------------------------------------------------------- diff --git a/lib/snmp/test/snmp_log_test.erl b/lib/snmp/test/snmp_log_test.erl index b4694fd9ab..91bdc3e849 100644 --- a/lib/snmp/test/snmp_log_test.erl +++ b/lib/snmp/test/snmp_log_test.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -45,20 +45,30 @@ all/1, open_and_close/1, open_write_and_close/1, + open_write_and_close1/1, + open_write_and_close2/1, + open_write_and_close3/1, + open_write_and_close4/1, + log_to_io/1, log_to_io1/1, log_to_io2/1, + log_to_txt/1, log_to_txt1/1, - log_to_txt2/1 + log_to_txt2/1, + log_to_txt3/1 ]). + %%---------------------------------------------------------------------- %% Internal exports %%---------------------------------------------------------------------- -export([ log_writer_main/5, - log_reader_main/1 + log_reader_main/1, + next_seqno/2 ]). + %%---------------------------------------------------------------------- %% Macros %%---------------------------------------------------------------------- @@ -102,10 +112,32 @@ all(suite) -> [ open_and_close, open_write_and_close, + log_to_io, + log_to_txt + ]. + + +open_write_and_close(suite) -> + [ + open_write_and_close1, + open_write_and_close2, + open_write_and_close3, + open_write_and_close4 + ]. + + +log_to_io(suite) -> + [ log_to_io1, - log_to_io2, + log_to_io2 + ]. + + +log_to_txt(suite) -> + [ log_to_txt1, - log_to_txt2 + log_to_txt2, + log_to_txt3 ]. @@ -132,24 +164,129 @@ open_and_close(Config) when is_list(Config) -> %%====================================================================== -open_write_and_close(suite) -> []; -open_write_and_close(Config) when is_list(Config) -> - p(open_write_and_close), - put(sname,open_write_and_close), +open_write_and_close1(suite) -> + []; +open_write_and_close1(doc) -> + "Open a plain (no sequence-numbering) log file"; +open_write_and_close1(Config) when is_list(Config) -> + p(open_write_and_close1), + put(sname,open_write_and_close1), + put(verbosity,trace), + ?DBG("open_write_and_close1 -> start", []), + + SeqNoGen = none, + ?line ok = open_write_and_close(SeqNoGen, Config), + + ?DBG("open_write_and_close1 -> done", []), + ok. + + +%%====================================================================== + +open_write_and_close2(suite) -> + []; +open_write_and_close2(doc) -> + "Open a log file with sequence-numbering explicitly disabled"; +open_write_and_close2(Config) when is_list(Config) -> + p(open_write_and_close2), + put(sname,open_write_and_close2), + put(verbosity,trace), + ?DBG("open_write_and_close2 -> start", []), + + SeqNoGen = disabled, + ?line ok = open_write_and_close(SeqNoGen, Config), + + ?DBG("open_write_and_close2 -> done", []), + ok. + + +%%====================================================================== + +open_write_and_close3(suite) -> + []; +open_write_and_close3(doc) -> + "Open a log file with sequence-numbering using MFA"; +open_write_and_close3(Config) when is_list(Config) -> + p(open_write_and_close3), + put(sname,open_write_and_close3), + put(verbosity,trace), + ?DBG("open_write_and_close2 -> start", []), + + seqno_init(), + SeqNoGen = {?MODULE, next_seqno, [10, 100]}, + ?line ok = open_write_and_close(SeqNoGen, Config), + seqno_finish(), + + ?DBG("open_write_and_close2 -> done", []), + ok. + + +%%====================================================================== + +open_write_and_close4(suite) -> + []; +open_write_and_close4(doc) -> + "Open a log file with sequence-numbering using fun"; +open_write_and_close4(Config) when is_list(Config) -> + p(open_write_and_close4), + put(sname,open_write_and_close4), put(verbosity,trace), - ?DBG("open_write_and_close -> start", []), + ?DBG("open_write_and_close2 -> start", []), + + seqno_init(), + SeqNoGen = fun() -> next_seqno(10, 100) end, + ?line ok = open_write_and_close(SeqNoGen, Config), + seqno_finish(), + + ?DBG("open_write_and_close2 -> done", []), + ok. + + +%%====================================================================== + +seqno_init() -> + ets:new(snmp_log_test_seqno_tab, [named_table, set, protected]). + +seqno_finish() -> + ets:delete(snmp_log_test_seqno_tab). + +next_seqno(Initial, Max) -> + Key = seqno, + Position = 2, + Increment = 1, + Threshold = Max, + SetValue = Initial, + UpdateOp = {Position, Increment, Threshold, SetValue}, + Tab = snmp_log_test_seqno_tab, + case (catch ets:update_counter(Tab, Key, UpdateOp)) of + {'EXIT', {badarg, _}} -> + ets:insert(Tab, {seqno, Initial}), + Initial; + Next when is_integer(Next) -> + Next + end. + +open_write_and_close(SeqNoGen, Config) -> + ?DBG("open_write_and_close1 -> start", []), Dir = ?config(log_dir, Config), Name = "snmp_test", File = join(Dir, "snmp_test.log"), Size = {1024, 10}, Repair = true, ?DBG("open_write_and_close -> create log", []), - ?line {ok, Log} = snmp_log:create(Name, File, Size, Repair), + + ?line {ok, Log} = + case SeqNoGen of + none -> + snmp_log:create(Name, File, Size, Repair); + _ -> + snmp_log:create(Name, File, SeqNoGen, Size, Repair) + end, Vsn = 'version-2', Community = "all-rights", - ?DBG("open_write_and_close -> create messages to log", []), + ?DBG("open_write_and_close1 -> create messages to log", []), %% A request ?line Req = get_next_request(Vsn, Community, [1,1], 1, 235779012), @@ -162,7 +299,7 @@ open_write_and_close(Config) when is_list(Config) -> Msgs = lists:flatten(lists:duplicate(1002,[Req,Rep])), %% And now log them: - ?DBG("open_write_and_close -> log ~p messages, ~p bytes", + ?DBG("open_write_and_close1 -> log ~p messages, ~p bytes", [length(Msgs), size(list_to_binary(Msgs))]), Addr = ?LOCALHOST(), Port = 162, @@ -172,11 +309,11 @@ open_write_and_close(Config) when is_list(Config) -> lists:foreach(Logger, Msgs), check_notify(), - ?DBG("open_write_and_close -> display info", []), + ?DBG("open_write_and_close1 -> display info", []), ?line {ok, Info} = snmp_log:info(Log), display_info(Info), - ?DBG("open_write_and_close -> close log", []), + ?DBG("open_write_and_close1 -> close log", []), ?line ok = snmp_log:close(Log), ?DBG("open_write_and_close -> done", []), @@ -308,18 +445,58 @@ log_to_txt1(Config) when is_list(Config) -> put(sname,l2t1), put(verbosity,trace), ?DBG("log_to_txt1 -> start", []), + + Name = "snmp_test_l2t1", + SeqNoGen = disabled, + ?line ok = log_to_txt(Name, SeqNoGen, Config), + + ?DBG("log_to_txt1 -> done", []), + ok. + + + +%%====================================================================== + +log_to_txt2(suite) -> []; +log_to_txt2(Config) when is_list(Config) -> + p(log_to_txt2), + put(sname,l2t2), + put(verbosity,trace), + ?DBG("log_to_txt2 -> start", []), + + Name = "snmp_test_l2t2", + seqno_init(), + SeqNoGen = {?MODULE, next_seqno, [1, 100]}, + ?line ok = log_to_txt(Name, SeqNoGen, Config), + seqno_finish(), + + ?DBG("log_to_txt2 -> done", []), + ok. + + + +%%====================================================================== + +log_to_txt(Name, SeqNoGen, Config) when is_list(Config) -> + ?DBG("log_to_txt -> entry", []), Dir = ?config(log_dir, Config), - Name = "snmp_test_l2t1", - File = join(Dir, "snmp_test_l2t1.log"), + File = join(Dir, Name ++ ".log"), Size = {10240, 10}, Repair = true, - ?DBG("log_to_txt1 -> create log", []), - ?line {ok, Log} = snmp_log:create(Name, File, Size, Repair), - ?DBG("log_to_txt1 -> create messages to log", []), + ?DBG("log_to_txt -> create log", []), + ?line {ok, Log} = + case SeqNoGen of + none -> + snmp_log:create(Name, File, Size, Repair); + _ -> + snmp_log:create(Name, File, SeqNoGen, Size, Repair) + end, + + ?DBG("log_to_txt -> create messages to log", []), Msgs = messages(), - ?DBG("log_to_txt1 -> create logger funs", []), + ?DBG("log_to_txt -> create logger funs", []), Addr = ?LOCALHOST(), Port = 162, Logger = fun(Packet) -> @@ -332,42 +509,42 @@ log_to_txt1(Config) when is_list(Config) -> end, To = lists:duplicate(20, 5000), - ?DBG("log_to_txt1 -> log the messages", []), + ?DBG("log_to_txt -> log the messages", []), Start = calendar:local_time(), lists:foreach(BatchLogger, To), Stop = calendar:local_time(), - ?DBG("log_to_txt1 -> display info", []), + ?DBG("log_to_txt -> display info", []), ?line {ok, Info} = snmp_log:info(Log), display_info(Info), Out1 = join(Dir, "snmp_text-1.txt"), - ?DBG("log_to_txt1 -> do the convert to a text file when" + ?DBG("log_to_txt -> do the convert to a text file when" "~n Out1: ~p", [Out1]), ?line ok = snmp:log_to_txt(Dir, [], Out1, Log, File), ?line {ok, #file_info{size = Size1}} = file:read_file_info(Out1), - ?DBG("log_to_txt1 -> text file size: ~p", [Size1]), + ?DBG("log_to_txt -> text file size: ~p", [Size1]), validate_size(Size1), Out2 = join(Dir, "snmp_text-2.txt"), - ?DBG("log_to_txt1 -> do the convert to a text file when" + ?DBG("log_to_txt -> do the convert to a text file when" "~n Start: ~p" "~n Stop: ~p" "~n Out2: ~p", [Start, Stop, Out2]), ?line ok = snmp:log_to_txt(Dir, [], Out2, Log, File, Start, Stop), ?line {ok, #file_info{size = Size2}} = file:read_file_info(Out2), - ?DBG("log_to_txt1 -> text file size: ~p", [Size2]), + ?DBG("log_to_txt -> text file size: ~p", [Size2]), validate_size(Size2, {le, Size1}), %% Calculate new start / stop times... GStart = calendar:datetime_to_gregorian_seconds(Start), - ?DBG("log_to_txt1 -> GStart: ~p", [GStart]), + ?DBG("log_to_txt -> GStart: ~p", [GStart]), GStop = calendar:datetime_to_gregorian_seconds(Stop), - ?DBG("log_to_txt1 -> GStop: ~p", [GStop]), + ?DBG("log_to_txt -> GStop: ~p", [GStop]), Diff4 = (GStop - GStart) div 4, - ?DBG("log_to_txt1 -> Diff4: ~p", [Diff4]), + ?DBG("log_to_txt -> Diff4: ~p", [Diff4]), GStart2 = GStart + Diff4, GStop2 = GStop - Diff4, if @@ -381,20 +558,20 @@ log_to_txt1(Config) when is_list(Config) -> Stop2 = calendar:gregorian_seconds_to_datetime(GStop2), Out3 = join(Dir, "snmp_text-3.txt"), - ?DBG("log_to_txt1 -> do the convert to a text file when" + ?DBG("log_to_txt -> do the convert to a text file when" "~n Start2: ~p" "~n Stop2: ~p" "~n Out3: ~p", [Start2, Stop2, Out3]), ?line ok = snmp:log_to_txt(Dir, [], Out3, Log, File, Start2, Stop2), ?line {ok, #file_info{size = Size3}} = file:read_file_info(Out3), - ?DBG("log_to_txt1 -> text file size: ~p", [Size3]), + ?DBG("log_to_txt -> text file size: ~p", [Size3]), validate_size(Size3, {l, Size1}), - ?DBG("log_to_txt1 -> close log", []), + ?DBG("log_to_txt -> close log", []), ?line ok = snmp_log:close(Log), - ?DBG("log_to_txt1 -> done", []), + ?DBG("log_to_txt -> done", []), ok. @@ -405,19 +582,21 @@ log_to_txt1(Config) when is_list(Config) -> %% %% Test: ts:run(snmp, snmp_log_test, log_to_txt2, [batch]). -log_to_txt2(suite) -> []; -log_to_txt2(doc) -> "Log to txt file from a different process than which " - "opened and wrote the log"; -log_to_txt2(Config) when is_list(Config) -> +log_to_txt3(suite) -> + []; +log_to_txt3(doc) -> + "Log to txt file from a different process than which " + "opened and wrote the log"; +log_to_txt3(Config) when is_list(Config) -> process_flag(trap_exit, true), - p(log_to_txt2), - put(sname,l2t2), + p(log_to_txt3), + put(sname,l2t3), put(verbosity,trace), - ?DBG("log_to_txt2 -> start", []), + ?DBG("log_to_txt3 -> start", []), Dir = ?config(log_dir, Config), - Name = "snmp_test_l2t2", - LogFile = join(Dir, "snmp_test_l2t2.log"), - TxtFile = join(Dir, "snmp_test_l2t2.txt"), + Name = "snmp_test_l2t3", + LogFile = join(Dir, "snmp_test_l2t3.log"), + TxtFile = join(Dir, "snmp_test_l2t3.txt"), Meg = 1024*1024, Size = {10*Meg, 10}, Repair = true, @@ -425,22 +604,22 @@ log_to_txt2(Config) when is_list(Config) -> StdMibDir = filename:join(code:priv_dir(snmp), "mibs") ++ "/", Mibs = [join(StdMibDir, "SNMPv2-MIB")], - ?DBG("log_to_txt2 -> create log writer process", []), + ?DBG("log_to_txt3 -> create log writer process", []), ?line {ok, Log, Logger} = log_writer_start(Name, LogFile, Size, Repair), - ?DBG("log_to_txt2 -> create log reader process", []), + ?DBG("log_to_txt3 -> create log reader process", []), ?line {ok, Reader} = log_reader_start(), - ?DBG("log_to_txt2 -> wait some time", []), + ?DBG("log_to_txt3 -> wait some time", []), ?SLEEP(5000), - ?DBG("log_to_txt2 -> display log info", []), + ?DBG("log_to_txt3 -> display log info", []), ?line log_writer_info(Logger), - ?DBG("log_to_txt2 -> instruct the log writer to sleep some", []), + ?DBG("log_to_txt3 -> instruct the log writer to sleep some", []), ?line ok = log_writer_sleep(Logger, 5000), - ?DBG("log_to_txt2 -> instruct the log reader to log to txt", []), + ?DBG("log_to_txt3 -> instruct the log reader to log to txt", []), Res = log_reader_log_to(Reader, fun() -> @@ -457,25 +636,25 @@ log_to_txt2(Config) when is_list(Config) -> case Res of {ok, Info} -> - ?DBG("log_to_txt2 -> ~n Info: ~p", [Info]), + ?DBG("log_to_txt3 -> ~n Info: ~p", [Info]), ?line {ok, #file_info{size = FileSize}} = file:read_file_info(TxtFile), - ?DBG("log_to_txt2 -> text file size: ~p", [FileSize]), + ?DBG("log_to_txt3 -> text file size: ~p", [FileSize]), validate_size(FileSize); {Error, Info} -> - ?DBG("log_to_txt2 -> log to txt failed: " + ?DBG("log_to_txt3 -> log to txt failed: " "~n Error: ~p" "~n Info: ~p", [Error, Info]), ?line ?FAIL({log_lo_txt_failed, Error, Info}) end, - ?DBG("log_to_txt2 -> instruct the log writer to stop", []), + ?DBG("log_to_txt3 -> instruct the log writer to stop", []), ?line log_writer_stop(Logger), - ?DBG("log_to_txt2 -> instruct the log reader to stop", []), + ?DBG("log_to_txt3 -> instruct the log reader to stop", []), ?line log_reader_stop(Reader), - ?DBG("log_to_txt2 -> done", []), + ?DBG("log_to_txt3 -> done", []), ok. diff --git a/lib/snmp/test/snmp_manager_config_test.erl b/lib/snmp/test/snmp_manager_config_test.erl index 51325996e6..fcb3d7e30c 100644 --- a/lib/snmp/test/snmp_manager_config_test.erl +++ b/lib/snmp/test/snmp_manager_config_test.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -86,7 +86,12 @@ stats_create_and_increment/1, tickets/1, - otp_7219/1 + otp_7219/1, + otp_8395/1, + otp_8395_1/1, + otp_8395_2/1, + otp_8395_3/1, + otp_8395_4/1 ]). @@ -2295,7 +2300,8 @@ loop(N, _, F) when (N > 0) andalso is_function(F) -> tickets(suite) -> [ - otp_7219 + otp_7219, + otp_8395 ]. @@ -2347,6 +2353,170 @@ otp_7219(Config) when is_list(Config) -> ok. + +otp_8395(suite) -> + [ + otp_8395_1, + otp_8395_2, + otp_8395_3, + otp_8395_4 + ]. + +otp_8395_1(suite) -> []; +otp_8395_1(doc) -> + "OTP-8395(1)"; +otp_8395_1(Conf) when is_list(Conf) -> + put(tname, otp_8395_1), + p("start"), + process_flag(trap_exit, true), + otp8395(Conf, false, ok), + ok. + +otp_8395_2(suite) -> []; +otp_8395_2(doc) -> + "OTP-8395(2)"; +otp_8395_2(Conf) when is_list(Conf) -> + put(tname, otp_8395_2), + p("start"), + process_flag(trap_exit, true), + otp8395(Conf, true, ok), + ok. + +otp_8395_3(suite) -> []; +otp_8395_3(doc) -> + "OTP-8395(3)"; +otp_8395_3(Conf) when is_list(Conf) -> + put(tname, otp_8395_3), + p("start"), + process_flag(trap_exit, true), + otp8395(Conf, gurka, error), + ok. + +otp8395(Conf, SeqNoVal, Expect) -> + ConfDir = ?config(manager_conf_dir, Conf), + DbDir = ?config(manager_db_dir, Conf), + LogDir = ?config(manager_log_dir, Conf), + StdMibDir = filename:join(code:priv_dir(snmp), "mibs") ++ "/", + + write_manager_conf(ConfDir), + + %% Third set of options (no versions): + p("all options"), + NetIfOpts = [{module, snmpm_net_if}, + {verbosity, trace}, + {options, [{recbuf, 30000}, + {bind_to, false}, + {no_reuse, false}]}], + ServerOpts = [{timeout, 10000}, {verbosity, trace}], + NoteStoreOpts = [{timeout, 20000}, {verbosity, trace}], + ConfigOpts = [{dir, ConfDir}, {verbosity, trace}, {db_dir, DbDir}], + Mibs = [join(StdMibDir, "SNMP-NOTIFICATION-MIB"), + join(StdMibDir, "SNMP-USER-BASED-SM-MIB")], + Prio = normal, + ATL = [{type, read_write}, + {dir, LogDir}, + {size, {10,10240}}, + {repair, true}, + {seqno, SeqNoVal}], + Vsns = [v1,v2,v3], + Opts = [{config, ConfigOpts}, + {net_if, NetIfOpts}, + {server, ServerOpts}, + {note_store, NoteStoreOpts}, + {audit_trail_log, ATL}, + {priority, Prio}, + {mibs, Mibs}, + {versions, Vsns}], + + case config_start(Opts) of + {ok, _Pid} when (Expect =:= ok) -> + ?line ok = config_stop(), + ok; + {ok, _Pid} when (Expect =/= ok) -> + config_stop(), + exit({unexpected_started_config, SeqNoVal}); + _Error when (Expect =/= ok) -> + ok; + Error when (Expect =:= ok) -> + exit({unexpected_failed_starting_config, SeqNoVal, Error}) + end, + p("done"), + ok. + + +otp_8395_4(suite) -> []; +otp_8395_4(doc) -> + "OTP-8395(4)"; +otp_8395_4(Conf) when is_list(Conf) -> + put(tname, otp_8395_4), + p("start"), + process_flag(trap_exit, true), + + snmp:print_version_info(), + + ConfDir = ?config(manager_conf_dir, Conf), + DbDir = ?config(manager_db_dir, Conf), + LogDir = ?config(manager_log_dir, Conf), + StdMibDir = filename:join(code:priv_dir(snmp), "mibs") ++ "/", + + write_manager_conf(ConfDir), + + %% Third set of options (no versions): + p("all options"), + NetIfOpts = [{module, snmpm_net_if}, + {verbosity, trace}, + {options, [{recbuf, 30000}, + {bind_to, false}, + {no_reuse, false}]}], + ServerOpts = [{timeout, 10000}, {verbosity, trace}], + NoteStoreOpts = [{timeout, 20000}, {verbosity, trace}], + ConfigOpts = [{dir, ConfDir}, {verbosity, trace}, {db_dir, DbDir}], + Mibs = [join(StdMibDir, "SNMP-NOTIFICATION-MIB"), + join(StdMibDir, "SNMP-USER-BASED-SM-MIB")], + Prio = normal, + ATL = [{type, read_write}, + {dir, LogDir}, + {size, {10,10240}}, + {repair, true}, + {seqno, true}], + Vsns = [v1,v2,v3], + Opts = [{config, ConfigOpts}, + {net_if, NetIfOpts}, + {server, ServerOpts}, + {note_store, NoteStoreOpts}, + {audit_trail_log, ATL}, + {priority, Prio}, + {mibs, Mibs}, + {versions, Vsns}], + + ?line {ok, _Pid} = config_start(Opts), + + Counter = otp_8395_4, + Initial = 10, + Increment = 2, + Max = 20, + + %% At this call the counter does *not* exist. The call creates + %% it with the initial value! + + Val1 = Initial, + Val1 = otp8395_incr_counter(Counter, Initial, Increment, Max), + + %% Now it exist, make sure another call does the expected increment + + Val2 = Initial + Increment, + Val2 = otp8395_incr_counter(Counter, Initial, Increment, Max), + + ?line ok = config_stop(), + + p("done"), + ok. + + +otp8395_incr_counter(Counter, Initial, Increment, Max) -> + snmpm_config:increment_counter(Counter, Initial, Increment, Max). + + %%====================================================================== %% Internal functions %%====================================================================== diff --git a/lib/snmp/test/snmp_manager_test.erl b/lib/snmp/test/snmp_manager_test.erl index 31cc095349..518b8b34de 100644 --- a/lib/snmp/test/snmp_manager_test.erl +++ b/lib/snmp/test/snmp_manager_test.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -111,7 +111,9 @@ tickets/1, otp8015/1, - otp8015_1/1 + otp8015_1/1, + otp8395/1, + otp8395_1/1 ]). @@ -240,18 +242,22 @@ init_per_testcase3(Case, Config) -> simple_async_set2, simple_sync_get_bulk2, simple_async_get_bulk2, - misc_async2 + misc_async2, + otp8395_1 ], - Cases = [ - trap1, - trap2, - inform1, - inform2, - inform3, - inform4, - inform_swarm, - report - ] ++ OldApiCases ++ NewApiCases, + Cases = + [ + trap1, + trap2, + inform1, + inform2, + inform3, + inform4, + inform_swarm, + report + ] ++ + OldApiCases ++ + NewApiCases, case lists:member(Case, Cases) of true -> NoAutoInformCases = [inform1, inform2, inform3, inform_swarm], @@ -265,6 +271,8 @@ init_per_testcase3(Case, Config) -> {agent_verbosity, info}, {agent_net_if_verbosity, info}], Verb ++ Config; + Case =:= otp8395_1 -> + [{manager_atl_seqno, true} | Config]; true -> Config end, @@ -315,18 +323,22 @@ fin_per_testcase2(Case, Config) -> simple_async_set2, simple_sync_get_bulk2, simple_async_get_bulk2, - misc_async2 + misc_async2, + otp8395_1 ], - Cases = [ - trap1, - trap2, - inform1, - inform2, - inform3, - inform4, - inform_swarm, - report - ] ++ OldApiCases ++ NewApiCases, + Cases = + [ + trap1, + trap2, + inform1, + inform2, + inform3, + inform4, + inform_swarm, + report + ] ++ + OldApiCases ++ + NewApiCases, case lists:member(Case, Cases) of true -> Conf1 = case lists:member(Case, NewApiCases) of @@ -446,7 +458,8 @@ event_tests(suite) -> tickets(suite) -> [ - otp8015 + otp8015, + otp8395 ]. otp8015(suite) -> @@ -454,6 +467,11 @@ otp8015(suite) -> otp8015_1 ]. +otp8395(suite) -> + [ + otp8395_1 + ]. + %%====================================================================== %% Test functions @@ -1372,6 +1390,9 @@ simple_sync_get2(suite) -> []; simple_sync_get2(Config) when is_list(Config) -> process_flag(trap_exit, true), put(tname, ssg2), + do_simple_get(Config). + +do_simple_get(Config) -> p("starting with Config: ~p~n", [Config]), Node = ?config(manager_node, Config), @@ -1386,7 +1407,7 @@ simple_sync_get2(Config) when is_list(Config) -> Oids2 = [[sysObjectID, 0], [sysDescr, 0], [sysUpTime, 0]], ?line ok = do_simple_get(Node, TargetName, Oids2), ok. - + do_simple_get(Node, TargetName, Oids) -> ?line {ok, Reply, Rem} = mgr_user_sync_get(Node, TargetName, Oids), @@ -4438,6 +4459,16 @@ otp8015_1(Config) when is_list(Config) -> %%====================================================================== + +otp8395_1(doc) -> ["OTP-8395:1 - simple get with ATL sequence numbering."]; +otp8395_1(suite) -> []; +otp8395_1(Config) when is_list(Config) -> + process_flag(trap_exit, true), + put(tname, otp8395_1), + do_simple_get(Config). + + +%%====================================================================== %% async snmp utility functions %%====================================================================== @@ -5063,12 +5094,15 @@ start_manager(Node, Vsns, Conf0, Opts) -> ServerVerbosity = get_opt(manager_server_verbosity, Conf0, trace), NetIfVerbosity = get_opt(manager_net_if_verbosity, Conf0, trace), + AtlSeqNo = get_opt(manager_atl_seqno, Conf0, false), + Env = [{versions, Vsns}, {inform_request_behaviour, IRB}, {audit_trail_log, [{type, read_write}, {dir, AtlDir}, {size, {10240, 10}}, - {repair, true}]}, + {repair, true}, + {seqno, AtlSeqNo}]}, {config, [{dir, ConfDir}, {db_dir, DbDir}, {verbosity, ConfigVerbosity}]}, diff --git a/lib/snmp/test/snmp_test_mgr.erl b/lib/snmp/test/snmp_test_mgr.erl index 085dc8600f..84bdc6b04f 100644 --- a/lib/snmp/test/snmp_test_mgr.erl +++ b/lib/snmp/test/snmp_test_mgr.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk index 9931bb90f4..d78a2cec7a 100644 --- a/lib/snmp/vsn.mk +++ b/lib/snmp/vsn.mk @@ -1,27 +1,29 @@ #-*-makefile-*- ; force emacs to enter makefile-mode # %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1997-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% -SNMP_VSN = 4.15.0.1 -PRE_VSN = +SNMP_VSN = 4.16 +PRE_VSN =-p01 APP_VSN = "snmp-$(SNMP_VSN)$(PRE_VSN)" -TICKETS = OTP-8229 OTP-8249 +TICKETS = OTP-8395 + +TICKETS_4_15 = OTP-8229 OTP-8249 TICKETS_4_14 = OTP-8223 OTP-8228 OTP-8237 diff --git a/lib/ssl/c_src/Makefile.in b/lib/ssl/c_src/Makefile.in index bd1b2f9375..49a209f2eb 100644 --- a/lib/ssl/c_src/Makefile.in +++ b/lib/ssl/c_src/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1999-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 1999-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -106,6 +106,7 @@ SSL_MAKEFILE = endif CC_R_FLAG=@CFLAG_RUNTIME_LIBRARY_PATH@ + ifeq ($(findstring @,$(CC_R_FLAG)),@) # Old erts configure used which hasn't replaced @CFLAG_RUNTIME_LIBRARY_PATH@; # we try our best here instead... @@ -127,6 +128,12 @@ else CC_R_OPT = $(CC_R_FLAG)$(SSL_LIBDIR) endif +SSL_CC_RUNTIME_LIBRARY_PATH=@SSL_CC_RUNTIME_LIBRARY_PATH@ +# Sigh... +ifeq ($(findstring @,$(SSL_CC_RUNTIME_LIBRARY_PATH)),@) +SSL_CC_RUNTIME_LIBRARY_PATH = $(CC_R_OPT) +endif + SSL_LINK_LIB=-L$(SSL_LIBDIR) -lssl -lcrypto else # not dynamic crypto lib (default from R11B-5) @@ -134,6 +141,7 @@ NEED_KERBEROS=@SSL_LINK_WITH_KERBEROS@ NEED_ZLIB=@SSL_LINK_WITH_ZLIB@ SSL_MAKEFILE = CC_R_OPT = +SSL_CC_RUNTIME_LIBRARY_PATH= SSL_LINK_LIB = $(SSL_LIBDIR)/libssl.a $(SSL_LIBDIR)/libcrypto.a ifeq ($(NEED_KERBEROS),yes) SSL_LINK_LIB += @STATIC_KERBEROS_LIBS@ @@ -163,11 +171,11 @@ $(OBJDIR)/%$(obj): %.c # Unix $(BINDIR)/ssl_esock: $(OBJS) - $(CC) $(CC_R_OPT) $(PLAIN_CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(SSL_LINK_LIB) + $(CC) $(PLAIN_CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(SSL_CC_RUNTIME_LIBRARY_PATH) $(SSL_LINK_LIB) # Win32/Cygwin $(BINDIR)/ssl_esock.exe: $(OBJS) - $(LD) -L$(SSL_LIBDIR) -o $@ $^ -lwsock32 -llibeay32 -lssleay32 + $(LD) $(SSL_CC_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -o $@ $^ -lwsock32 -llibeay32 -lssleay32 # Unix only, and only when linking statically $(SSL_MAKEFILE): diff --git a/lib/stdlib/doc/src/epp.xml b/lib/stdlib/doc/src/epp.xml index 455d9dc124..e6b48b270a 100644 --- a/lib/stdlib/doc/src/epp.xml +++ b/lib/stdlib/doc/src/epp.xml @@ -4,23 +4,21 @@ <erlref> <header> <copyright> - <year>1996</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>1996</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. - The Initial Developer of the Original Code is Ericsson AB. </legalnotice> <title>epp</title> @@ -112,7 +110,7 @@ <p>A string which describes the error is obtained with the following call: </p> <code type="none"> -apply(Module, format_error, ErrorDescriptor) </code> + Module:format_error(ErrorDescriptor) </code> </section> <section> diff --git a/lib/stdlib/doc/src/erl_lint.xml b/lib/stdlib/doc/src/erl_lint.xml index e339f484cc..6a7d37765c 100644 --- a/lib/stdlib/doc/src/erl_lint.xml +++ b/lib/stdlib/doc/src/erl_lint.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>erl_lint</title> @@ -147,7 +147,7 @@ <p>A string which describes the error is obtained with the following call: </p> <code type="none"> -apply(Module, format_error, ErrorDescriptor) </code> + Module:format_error(ErrorDescriptor) </code> </section> <section> diff --git a/lib/stdlib/doc/src/erl_parse.xml b/lib/stdlib/doc/src/erl_parse.xml index 739fde7a40..ae8a8afd5c 100644 --- a/lib/stdlib/doc/src/erl_parse.xml +++ b/lib/stdlib/doc/src/erl_parse.xml @@ -4,23 +4,21 @@ <erlref> <header> <copyright> - <year>1996</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>1996</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. - The Initial Developer of the Original Code is Ericsson AB. </legalnotice> <title>erl_parse</title> @@ -188,7 +186,7 @@ <p>A string which describes the error is obtained with the following call: </p> <code type="none"> -apply(Module, format_error, ErrorDescriptor) </code> + Module:format_error(ErrorDescriptor) </code> </section> <section> diff --git a/lib/stdlib/doc/src/file_sorter.xml b/lib/stdlib/doc/src/file_sorter.xml index b3f4da294c..ccb32659a0 100644 --- a/lib/stdlib/doc/src/file_sorter.xml +++ b/lib/stdlib/doc/src/file_sorter.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2001</year><year>2009</year> + <year>2001</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>file_sorter</title> @@ -83,13 +83,15 @@ An ordering function is antisymmetric, transitive and total. <c>Fun(A, B)</c> should return <c>true</c> if <c>A</c> comes before <c>B</c> in the ordering, <c>false</c> otherwise. + An example of a typical ordering function is less than or equal + to, <c>=</2</c>. Using an ordering function will slow down the sort considerably. The <c>keysort</c>, <c>keymerge</c> and <c>keycheck</c> functions do not accept ordering functions. </item> <item><c>{unique, bool()}</c>. When sorting or merging files, - only the first of a sequence of terms that compare equal is - output if this option is set to <c>true</c>. The default + only the first of a sequence of terms that compare equal (<c>==</c>) + is output if this option is set to <c>true</c>. The default value is <c>false</c> which implies that all terms that compare equal are output. When checking files for sortedness, a check that no pair of consecutive terms @@ -301,7 +303,7 @@ Value = Term</pre> <desc> <p>Sorts tuples on files. The sort is performed on the element(s) mentioned in <c>KeyPos</c>. If two tuples - compare equal on one element, next element according to + compare equal (<c>==</c>) on one element, next element according to <c>KeyPos</c> is compared. The sort is stable. </p> <p><c>keysort(N, FileName)</c> is equivalent to diff --git a/lib/stdlib/doc/src/gb_sets.xml b/lib/stdlib/doc/src/gb_sets.xml index accec623b9..60d8bcbfa3 100644 --- a/lib/stdlib/doc/src/gb_sets.xml +++ b/lib/stdlib/doc/src/gb_sets.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2001</year><year>2009</year> + <year>2001</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>gb_sets</title> @@ -34,6 +34,8 @@ General Balanced Trees. This can be much more efficient than using ordered lists, for larger sets, but depends on the application.</p> + <p>This module considers two elements as different if and only if + they do not compare equal (<c>==</c>).</p> </description> <section> diff --git a/lib/stdlib/doc/src/gb_trees.xml b/lib/stdlib/doc/src/gb_trees.xml index 2bf18138c0..94f40c28bd 100644 --- a/lib/stdlib/doc/src/gb_trees.xml +++ b/lib/stdlib/doc/src/gb_trees.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2001</year><year>2009</year> + <year>2001</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>gb_trees</title> @@ -34,6 +34,8 @@ Balanced Trees. These have no storage overhead compared to unbalanced binary trees, and their performance is in general better than AVL trees.</p> + <p>This module considers two keys as different if and only if + they do not compare equal (<c>==</c>).</p> </description> <section> diff --git a/lib/stdlib/doc/src/io.xml b/lib/stdlib/doc/src/io.xml index 6f9d979c9a..efbb1fc078 100644 --- a/lib/stdlib/doc/src/io.xml +++ b/lib/stdlib/doc/src/io.xml @@ -1021,7 +1021,7 @@ Error: error 11</pre> <p>A string which describes the error is obtained with the following call:</p> <code type="none"> -apply(Module, format_error, ErrorDescriptor)</code> +Module:format_error(ErrorDescriptor)</code> </section> </erlref> diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml index 39fc05420d..855a7e0244 100644 --- a/lib/stdlib/doc/src/lists.xml +++ b/lib/stdlib/doc/src/lists.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>lists</title> @@ -30,15 +30,16 @@ <module>lists</module> <modulesummary>List Processing Functions</modulesummary> <description> - <p>This module contains functions for list processing. The functions - are organized in two groups: those in the first group perform a - particular operation on one or more lists, whereas those in the - second group are higher-order functions, using a fun as argument - to perform an operation on one list.</p> + <p>This module contains functions for list processing.</p> + <p>Unless otherwise stated, all functions assume that position numbering starts at 1. That is, the first element of a list is at position 1.</p> + <p>Two terms <c>T1</c> and <c>T2</c> compare equal if + <c>T1 == T2</c> evaluates to <c>true</c>. They match + if <c>T1 =:= T2</c> evaluates to <c>true</c>.</p> + <p>Whenever an <marker id="ordering_function"></marker><em>ordering function</em> <c>F</c> is expected as argument, it is assumed that the diff --git a/lib/stdlib/doc/src/proplists.xml b/lib/stdlib/doc/src/proplists.xml index a218dcf1fe..9f1c5b24ad 100644 --- a/lib/stdlib/doc/src/proplists.xml +++ b/lib/stdlib/doc/src/proplists.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2002</year><year>2009</year> + <year>2002</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>proplists</title> @@ -44,6 +44,9 @@ such as options passed to a function where a user may specify options overriding the default settings, object properties, annotations, etc.</p> + <p>Two keys are considered equal if they match (<c>=:=</c>). In other + words, numbers are compared literally rather than by value, so that, + for instance, <c>1</c> and <c>1.0</c> are different keys.</p> </description> <funcs> <func> diff --git a/lib/stdlib/doc/src/shell.xml b/lib/stdlib/doc/src/shell.xml index b8fc64f45e..2a7c5b8c69 100644 --- a/lib/stdlib/doc/src/shell.xml +++ b/lib/stdlib/doc/src/shell.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>shell</title> @@ -739,6 +739,27 @@ loop(N) -> returns <c>{error,Reason}</c>.</item> </list> </section> + + <section> + <title>Prompting</title> + <p>The default shell prompt function displays the name of the node + (if the node can be part of a distributed system) and the + current command number. The user can customize the prompt + function by calling + <c>shell:prompt_func/1</c> or by setting the application + configuration parameter <c>shell_prompt_func</c> for the + application STDLIB.</p> + <p>A customized prompt function is stated as a tuple + <c>{Mod, Func}</c>. The function is called as + <c>Mod:Func(L)</c>, where <c>L</c> is a list of key-value pairs + created by the shell. Currently there is only one pair: + <c>{history, N}</c>, where N is the current command number. The + function should return a list of characters or an atom. This + constraint is due to the Erlang I/O-protocol. Note that in + restricted mode the call <c>Mod:Func(L)</c> must be allowed or + the default shell prompt function will be called.</p> + </section> + <funcs> <func> <name>history(N) -> integer()</name> @@ -782,6 +803,19 @@ loop(N) -> </desc> </func> <func> + <name>prompt_func(PromptFunc) -> prompt_func()</name> + <fsummary>Sets the shell prompt</fsummary> + <type> + <v>PromptFunc = prompt_func()</v> + <v>prompt_func() = default | {Mod, Func}</v> + <v>Mod = Func = atom()</v> + </type> + <desc> + <p>Sets the shell prompt function to <c>PromptFunc</c>. The + previous prompt function is returned.</p> + </desc> + </func> + <func> <name>start_restricted(Module) -> ok | {error, Reason}</name> <fsummary>Exits a normal shell and starts a restricted shell.</fsummary> <type> diff --git a/lib/stdlib/doc/src/sofs.xml b/lib/stdlib/doc/src/sofs.xml index ac434ec5b7..8c8ae51262 100644 --- a/lib/stdlib/doc/src/sofs.xml +++ b/lib/stdlib/doc/src/sofs.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2001</year><year>2009</year> + <year>2001</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -13,12 +13,12 @@ compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. - + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - + </legalnotice> <title>sofs</title> @@ -311,7 +311,7 @@ applying Fun to the type of the given set), and that Fun does nothing but selecting, duplicating or rearranging parts of the elements. Specifying a SetFun as an integer I is equivalent to - specifying <c>{external, fun(X) -> element(I, X)}</c>, + specifying <c>{external, fun(X) -> element(I, X) end}</c>, but is to be preferred since it makes it possible to handle this case even more efficiently. Examples of SetFuns:</p> <pre> @@ -336,6 +336,7 @@ fun(S) -> sofs:partition(1, S) end <c>badarg</c>, <c>bad_function</c>, or <c>type_mismatch</c> message when given badly formed arguments or sets the types of which are not compatible.</p> + <p>When comparing external sets the operator <c>==/2</c> is used.</p> <p><em>Types</em></p> <pre> anyset() = - an unordered, ordered or atomic set - @@ -1108,7 +1109,13 @@ type() = - a type - </pre> <desc> <p>Returns <c>true</c> if the AnySet1 and AnySet2 are <seealso marker="#equal">equal</seealso>, <c>false</c> - otherwise.</p> + otherwise. This example shows that <c>==/2</c> is used when + comparing sets for equality:</p> + <pre> +1> <input>S1 = sofs:set([1.0]),</input> +<input>S2 = sofs:set([1]),</input> +<input>sofs:is_equal(S1, S2).</input> +true</pre> </desc> </func> <func> diff --git a/lib/stdlib/doc/src/stdlib_app.xml b/lib/stdlib/doc/src/stdlib_app.xml index da046b8a8d..a615c1bf88 100644 --- a/lib/stdlib/doc/src/stdlib_app.xml +++ b/lib/stdlib/doc/src/stdlib_app.xml @@ -4,23 +4,21 @@ <appref> <header> <copyright> - <year>2005</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>2005</year><year>2010</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - The contents of this file are subject to the Erlang Public License, - Version 1.1, (the "License"); you may not use this file except in - compliance with the License. You should have received a copy of the - Erlang Public License along with this software. If not, it can be - retrieved online at http://www.erlang.org/. + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See - the License for the specific language governing rights and limitations - under the License. + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. - The Initial Developer of the Original Code is Ericsson AB. </legalnotice> <title>STDLIB</title> @@ -63,6 +61,16 @@ <p>This parameter can be used to determine how many commands are saved by the Erlang shell.</p> </item> + <tag><c>shell_prompt_func = {Mod, Func} | default</c></tag> + <item> + <p>where</p> + <list type="bulleted"> + <item><c>Mod = atom()</c></item> + <item><c>Func = atom()</c></item> + </list> + <p>This parameter can be used to set a customized + Erlang shell prompt function.</p> + </item> <tag><c>shell_saved_results = integer() >= 0</c></tag> <item> <p>This parameter can be used to determine how many diff --git a/lib/stdlib/src/shell.erl b/lib/stdlib/src/shell.erl index a8d31b4e6b..ebb221c151 100644 --- a/lib/stdlib/src/shell.erl +++ b/lib/stdlib/src/shell.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(shell). @@ -22,12 +22,14 @@ -export([whereis_evaluator/0, whereis_evaluator/1]). -export([start_restricted/1, stop_restricted/0]). -export([local_allowed/3, non_local_allowed/3]). +-export([prompt_func/1]). -define(LINEMAX, 30). -define(CHAR_MAX, 60). -define(DEF_HISTORY, 20). -define(DEF_RESULTS, 20). -define(DEF_CATCH_EXCEPTION, false). +-define(DEF_PROMPT_FUNC, default). -define(RECORDS, shell_records). @@ -235,14 +237,15 @@ server(StartSync) -> {History,Results} = check_and_get_history_and_results(), server_loop(0, start_eval(Bs, RT, []), Bs, RT, [], History, Results). -server_loop(N0, Eval_0, Bs0, RT, Ds0, History0, Results0) -> +server_loop(N0, Eval_0, Bs00, RT, Ds00, History0, Results0) -> N = N0 + 1, - {Res, Eval0} = get_command(prompt(N), Eval_0, Bs0, RT, Ds0), + {Eval_1,Bs0,Ds0,Prompt} = prompt(N, Eval_0, Bs00, RT, Ds00), + {Res,Eval0} = get_command(Prompt, Eval_1, Bs0, RT, Ds0), case Res of {ok,Es0,_EndLine} -> case expand_hist(Es0, N) of {ok,Es} -> - {V,Eval,Bs,Ds} = shell_cmd(Es, Eval0, Bs0, RT, Ds0), + {V,Eval,Bs,Ds} = shell_cmd(Es, Eval0, Bs0, RT, Ds0, cmd), {History,Results} = check_and_get_history_and_results(), add_cmd(N, Es, V), HB1 = del_cmd(command, N - History, N - History0, false), @@ -301,7 +304,42 @@ get_command1(Pid, Eval, Bs, RT, Ds) -> get_command1(Pid, start_eval(Bs, RT, Ds), Bs, RT, Ds) end. -prompt(N) -> +prompt(N, Eval0, Bs0, RT, Ds0) -> + case get_prompt_func() of + {M,F} -> + L = [{history,N}], + C = {call,1,{remote,1,{atom,1,M},{atom,1,F}},[{value,1,L}]}, + {V,Eval,Bs,Ds} = shell_cmd([C], Eval0, Bs0, RT, Ds0, pmt), + {Eval,Bs,Ds,case V of + {pmt,Val} -> + Val; + _ -> + bad_prompt_func({M,F}), + default_prompt(N) + end}; + default -> + {Eval0,Bs0,Ds0,default_prompt(N)} + end. + +get_prompt_func() -> + case application:get_env(stdlib, shell_prompt_func) of + {ok,{M,F}=PromptFunc} when is_atom(M), is_atom(F) -> + PromptFunc; + {ok,default=Default} -> + Default; + {ok,Term} -> + bad_prompt_func(Term), + default; + undefined -> + default + end. + +bad_prompt_func(M) -> + fwrite_severity(benign, <<"Bad prompt function: ~p">>, [M]). + +default_prompt(N) -> + %% Don't bother flattening the list irrespective of what the + %% I/O-protocol states. case is_alive() of true -> io_lib:format(<<"(~s)~w> ">>, [node(), N]); false -> io_lib:format(<<"~w> ">>, [N]) @@ -461,14 +499,16 @@ has_bin(T, I) -> has_bin(element(I, T)), has_bin(T, I - 1). -%% shell_cmd(Sequence, Evaluator, Bindings, RecordTable, Dictionary) +%% shell_cmd(Sequence, Evaluator, Bindings, RecordTable, Dictionary, What) %% shell_rep(Evaluator, Bindings, RecordTable, Dictionary) -> %% {Value,Evaluator,Bindings,Dictionary} %% Send a command to the evaluator and wait for the reply. Start a new %% evaluator if necessary. +%% What = pmt | cmd. When evaluating a prompt ('pmt') the evaluated value +%% must not be displayed, and it has to be returned. -shell_cmd(Es, Eval, Bs, RT, Ds) -> - Eval ! {shell_cmd,self(),{eval,Es}}, +shell_cmd(Es, Eval, Bs, RT, Ds, W) -> + Eval ! {shell_cmd,self(),{eval,Es}, W}, shell_rep(Eval, Bs, RT, Ds). shell_rep(Ev, Bs0, RT, Ds0) -> @@ -559,26 +599,26 @@ evaluator(Shell, Bs, RT, Ds) -> eval_loop(Shell, Bs0, RT) -> receive - {shell_cmd,Shell,{eval,Es}} -> + {shell_cmd,Shell,{eval,Es},W} -> Ef = {value, fun(MForFun, As) -> apply_fun(MForFun, As, Shell) end}, Lf = local_func_handler(Shell, RT, Ef), - Bs = eval_exprs(Es, Shell, Bs0, RT, Lf, Ef), + Bs = eval_exprs(Es, Shell, Bs0, RT, Lf, Ef, W), eval_loop(Shell, Bs, RT) end. restricted_eval_loop(Shell, Bs0, RT, RShMod) -> receive - {shell_cmd,Shell,{eval,Es}} -> + {shell_cmd,Shell,{eval,Es}, W} -> {LFH,NLFH} = restrict_handlers(RShMod, Shell, RT), put(restricted_expr_state, []), - Bs = eval_exprs(Es, Shell, Bs0, RT, {eval,LFH}, {value,NLFH}), + Bs = eval_exprs(Es, Shell, Bs0, RT, {eval,LFH}, {value,NLFH}, W), restricted_eval_loop(Shell, Bs, RT, RShMod) end. -eval_exprs(Es, Shell, Bs0, RT, Lf, Ef) -> +eval_exprs(Es, Shell, Bs0, RT, Lf, Ef, W) -> try - {R,Bs2} = exprs(Es, Bs0, RT, Lf, Ef), + {R,Bs2} = exprs(Es, Bs0, RT, Lf, Ef, W), Shell ! {shell_rep,self(),R}, Bs2 catch @@ -614,10 +654,10 @@ do_catch(_Class, _Reason) -> false end. -exprs(Es, Bs0, RT, Lf, Ef) -> - exprs(Es, Bs0, RT, Lf, Ef, Bs0). +exprs(Es, Bs0, RT, Lf, Ef, W) -> + exprs(Es, Bs0, RT, Lf, Ef, Bs0, W). -exprs([E0|Es], Bs1, RT, Lf, Ef, Bs0) -> +exprs([E0|Es], Bs1, RT, Lf, Ef, Bs0, W) -> UsedRecords = used_record_defs(E0, RT), RBs = record_bindings(UsedRecords, Bs1), case check_command(prep_check([E0]), RBs) of @@ -629,16 +669,20 @@ exprs([E0|Es], Bs1, RT, Lf, Ef, Bs0) -> if Es =:= [] -> VS = pp(V0, 1, RT), - io:requests([{put_chars, VS}, nl]), + [io:requests([{put_chars, VS}, nl]) || W =:= cmd], %% Don't send the result back if it will be %% discarded anyway. - V = case result_will_be_saved() of - true -> V0; - false -> ignored + V = if + W =:= pmt -> + {W,V0}; + true -> case result_will_be_saved() of + true -> V0; + false -> ignored + end end, {{value,V,Bs,get()},Bs}; true -> - exprs(Es, Bs, RT, Lf, Ef, Bs0) + exprs(Es, Bs, RT, Lf, Ef, Bs0, W) end; {error,Error} -> {{command_error,Error},Bs0} @@ -1383,7 +1427,7 @@ pp(V, I, RT) -> columns() -> case io:columns() of - {ok,N} -> N; + {ok,N} -> N; _ -> 80 end. @@ -1438,3 +1482,9 @@ results(L) when is_integer(L), L >= 0 -> catch_exception(Bool) -> set_env(stdlib, shell_catch_exception, Bool, ?DEF_CATCH_EXCEPTION). + +-type prompt_func() :: 'default' | {module(),atom()}. +-spec prompt_func(prompt_func()) -> prompt_func(). + +prompt_func(String) -> + set_env(stdlib, shell_prompt_func, String, ?DEF_PROMPT_FUNC). diff --git a/lib/stdlib/src/shell_default.erl b/lib/stdlib/src/shell_default.erl index 670f8cdb44..3fe359af0e 100644 --- a/lib/stdlib/src/shell_default.erl +++ b/lib/stdlib/src/shell_default.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% @@ -45,6 +45,7 @@ help() -> format("h() -- history\n"), format("history(N) -- set how many previous commands to keep\n"), format("results(N) -- set how many previous command results to keep\n"), + format("catch_exception(B) -- how exceptions are handled\n"), format("v(N) -- use the value of query <N>\n"), format("rd(R,D) -- define a record\n"), format("rf() -- remove all record information\n"), diff --git a/lib/stdlib/test/shell_SUITE.erl b/lib/stdlib/test/shell_SUITE.erl index 5827d5f332..da73046c2a 100644 --- a/lib/stdlib/test/shell_SUITE.erl +++ b/lib/stdlib/test/shell_SUITE.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(shell_SUITE). @@ -28,13 +28,13 @@ progex/1, progex_bit_syntax/1, progex_records/1, progex_lc/1, progex_funs/1, tickets/1, otp_5990/1, otp_6166/1, otp_6554/1, otp_6785/1, - otp_7184/1, otp_7232/1]). + otp_7184/1, otp_7232/1, otp_8393/1]). -export([restricted/1, start_restricted_from_shell/1, start_restricted_on_command_line/1,restricted_local/1]). %% Internal export. --export([otp_5435_2/0]). +-export([otp_5435_2/0, prompt1/1, prompt2/1, prompt3/1, prompt4/1]). %% %% Define to run outside of test server @@ -2256,7 +2256,7 @@ progex_funs(Config) when is_list(Config) -> ok. tickets(suite) -> - [otp_5990, otp_6166, otp_6554, otp_6785, otp_7184, otp_7232]. + [otp_5990, otp_6166, otp_6554, otp_6785, otp_7184, otp_7232, otp_8393]. otp_5990(doc) -> "OTP-5990. {erlang,is_record}."; @@ -2598,6 +2598,80 @@ otp_7232(Config) when is_list(Config) -> " end}])" = evaluate(Info, []), ok. +otp_8393(doc) -> + "OTP-8393. Prompt string."; +otp_8393(suite) -> []; +otp_8393(Config) when is_list(Config) -> + ?line _ = shell:prompt_func(default), + ?line "Bad prompt function: '> '" = + prompt_err(<<"shell:prompt_func('> ').">>), + + ?line _ = shell:prompt_func(default), + ?line "exception error: bad argument in an arithmetic expression"++_ = + prompt_err(<<"shell:prompt_func({shell_SUITE,prompt4}).">>), + + ?line _ = shell:prompt_func(default), + ?line "default.\n" = + t(<<"shell:prompt_func({shell_SUITE,prompt2}).">>), + + ?line _ = shell:prompt_func(default), + ?line "default\nl.\n" = + t(<<"shell:prompt_func({shell_SUITE,prompt3}). l.">>), + + %% Restricted shell. + Contents = <<"-module(test_restricted_shell). + -export([local_allowed/3, non_local_allowed/3]). + local_allowed(_,_,State) -> + {false,State}. + + non_local_allowed({shell,stop_restricted},[],State) -> + {true,State}; + non_local_allowed({shell,prompt_func},[_L],State) -> + {true,State}; + non_local_allowed({shell_SUITE,prompt1},[_L],State) -> + {true,State}; + non_local_allowed(_,_,State) -> + {false,State}. + ">>, + ?line Test = filename:join(?config(priv_dir, Config), + "test_restricted_shell.erl"), + ?line ok = compile_file(Config, Test, Contents, []), + ?line _ = shell:prompt_func(default), + ?line "exception exit: restricted shell starts now" = + comm_err(<<"begin shell:start_restricted(" + "test_restricted_shell) end.">>), + ?line "default.\n"++_ = + t(<<"shell:prompt_func({shell_SUITE,prompt1}).">>), + ?line "exception exit: restricted shell does not allow apple(" ++ _ = + comm_err(<<"apple(1).">>), + ?line "{shell_SUITE,prompt1}.\n" = + t(<<"shell:prompt_func(default).">>), + ?line "exception exit: restricted shell stopped"= + comm_err(<<"begin shell:stop_restricted() end.">>), + ?line undefined = + application:get_env(stdlib, restricted_shell), + + ?line NR = shell:results(20), + ?line "default\n20.\n" = + t(<<"shell:prompt_func({shell_SUITE,prompt3}). results(0).">>), + + ?line _ = shell:prompt_func(default), + ?line 0 = shell:results(NR), + ok. + +prompt1(_L) -> + "prompt> ". + +prompt2(_L) -> + {'EXIT', []}. + +prompt3(L) -> + N = proplists:get_value(history, L), + integer_to_list(N). + +prompt4(_L) -> + erlang:apply({erlang,'/'}, [1,0]). + -ifdef(not_used). exit_term(B) -> "** exception exit:" ++ Reply = t(B), @@ -2627,7 +2701,16 @@ comm_err(B) -> Reply = t(B), S0 = string:left(Reply, string:chr(Reply, $\n)-1), S1 = string:strip(S0, left, $*), - S2 = string:strip(S1, both, $ ), + S2 = string:strip(S1, both, $ ), + S = string:strip(S2, both, $"), + string:strip(S, right, $.). + +prompt_err(B) -> + Reply = t(B), + S00 = string:sub_string(Reply, string:chr(Reply, $\n)+1), + S0 = string:left(S00, string:chr(S00, $\n)-1), + S1 = string:strip(S0, left, $*), + S2 = string:strip(S1, both, $ ), S = string:strip(S2, both, $"), string:strip(S, right, $.). diff --git a/lib/wx/api_gen/gen_util.erl b/lib/wx/api_gen/gen_util.erl index eff92e10ca..859317bdef 100644 --- a/lib/wx/api_gen/gen_util.erl +++ b/lib/wx/api_gen/gen_util.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% Some utilities diff --git a/lib/wx/api_gen/gl_gen_c.erl b/lib/wx/api_gen/gl_gen_c.erl index 902d841a8f..864ce8b1ac 100644 --- a/lib/wx/api_gen/gl_gen_c.erl +++ b/lib/wx/api_gen/gl_gen_c.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%%------------------------------------------------------------------- diff --git a/lib/wx/api_gen/gl_gen_erl.erl b/lib/wx/api_gen/gl_gen_erl.erl index 66ab7ef8c5..07e4d6f783 100644 --- a/lib/wx/api_gen/gl_gen_erl.erl +++ b/lib/wx/api_gen/gl_gen_erl.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %%%------------------------------------------------------------------- diff --git a/lib/wx/c_src/Makefile.in b/lib/wx/c_src/Makefile.in index 2f04b1dbf6..5a0b4ce8ef 100644 --- a/lib/wx/c_src/Makefile.in +++ b/lib/wx/c_src/Makefile.in @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 2008-2009. All Rights Reserved. -# +# +# Copyright Ericsson AB 2008-2010. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # @@ -47,14 +47,11 @@ ERL_DIR = @ERLANG_ROOT_DIR@ ERL_INCS = -I$(ERL_DIR)/usr/include else -ERLANG_OSTYPE = @WXERL_SYS_TYPE@ - -ERL_INCS= -I$(ERL_TOP)/erts/emulator/beam \ - -I$(ERL_TOP)/erts/emulator/sys/$(ERLANG_OSTYPE) \ - -I$(ERL_TOP)/erts/include/internal \ - -I$(ERL_TOP)/erts/include/internal/$(ERLANG_OSTYPE) \ - -I$(ERL_TOP)/erts/include \ - -I$(ERL_TOP)/erts/include/$(ERLANG_OSTYPE) + +include $(ERL_TOP)/make/target.mk +include $(ERL_TOP)/make/$(TARGET)/otp_ded.mk + +ERL_INCS= $(DED_INCLUDES) endif diff --git a/lib/wx/configure.in b/lib/wx/configure.in index 2b47f86baa..855c0c975e 100755 --- a/lib/wx/configure.in +++ b/lib/wx/configure.in @@ -1,20 +1,20 @@ dnl Process this file with autoconf to produce a configure script. -*-m4-*- dnl %CopyrightBegin% -dnl -dnl Copyright Ericsson AB 2008-2009. All Rights Reserved. -dnl +dnl +dnl Copyright Ericsson AB 2008-2010. All Rights Reserved. +dnl dnl The contents of this file are subject to the Erlang Public License, dnl Version 1.1, (the "License"); you may not use this file except in dnl compliance with the License. You should have received a copy of the dnl Erlang Public License along with this software. If not, it can be dnl retrieved online at http://www.erlang.org/. -dnl +dnl dnl Software distributed under the License is distributed on an "AS IS" dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See dnl the License for the specific language governing rights and limitations dnl under the License. -dnl +dnl dnl %CopyrightEnd% AC_INIT() @@ -244,7 +244,10 @@ AC_SUBST(ERLANG_ROOT_DIR) dnl dnl Check for wxwidgets dnl -if test X"$MIXED_CYGWIN_VC" != X"yes" ; then +if test "$cross_compiling" = "yes"; then + echo "Cross compilation of the wx driver is not supported yet, wx will NOT be usable" > ./CONF_INFO + WXERL_CAN_BUILD_DRIVER=false +elif test X"$MIXED_CYGWIN_VC" != X"yes" ; then m4_include(wxwin.m4) AM_OPTIONS_WXCONFIG @@ -306,7 +309,7 @@ define(wx_warn_text,[ if test X"$WX_BUILDING_INSIDE_ERLSRC" != X"true" ; then AC_MSG_ERROR([wx_warn_text]) else - echo "wxWidgets not found, wx will NOT be useable" > ./CONF_INFO + echo "wxWidgets not found, wx will NOT be usable" > ./CONF_INFO WXERL_CAN_BUILD_DRIVER=false AC_MSG_WARN([wx_warn_text]) fi @@ -378,6 +381,8 @@ else AC_SUBST(WX_RESCOMP) fi +if test "$WXERL_CAN_BUILD_DRIVER" != "false"; then + AC_SUBST(WX_HAVE_STATIC_LIBS) AC_SUBST(RC_FILE_TYPE) @@ -544,6 +549,8 @@ if test X"$CAN_LINK_WX" != X"yes" ; then AC_MSG_WARN([Can not link wx program are all developer packages installed?]) fi +fi dnl - if test "$WXERL_CAN_BUILD_DRIVER" != "false" + AC_SUBST(WXERL_CAN_BUILD_DRIVER) ############################################################################# diff --git a/lib/wx/src/gen/wxe_funcs.hrl b/lib/wx/src/gen/wxe_funcs.hrl index 10c0a05fe9..b1d5e50647 100644 --- a/lib/wx/src/gen/wxe_funcs.hrl +++ b/lib/wx/src/gen/wxe_funcs.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/make/cross_check_erl b/make/cross_check_erl new file mode 100755 index 0000000000..cb9dadfb32 --- /dev/null +++ b/make/cross_check_erl @@ -0,0 +1,147 @@ +#!/bin/sh +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# +# Author: Rickard Green +# + +target= +build_otp= +erl_top= +force=no + +while [ $# -gt 0 ]; do + case "$1" in + -target) + shift + test $# -gt 0 || { echo "$0: Missing target" 1>&2; exit 1; } + target="$1";; + -otp) + shift + test $# -gt 0 || { echo "$0: Missing otp release" 1>&2; exit 1; } + build_otp="$1";; + -erl_top) + shift + test $# -gt 0 || { echo "$0: Missing erl top" 1>&2; exit 1; } + erl_top="$1";; + -force) + shift + test $# -gt 0 || { echo "$0: Missing force value" 1>&2; exit 1; } + force=$1;; + *) + echo "$0: Bad argument: $1" 1>&2 + exit 1;; + esac + shift +done + +test "X$target" != "X" || { echo "$0: Missing target" 1>&2; exit 1; } +test "X$build_otp" != "X" || { echo "$0: Missing otp release" 1>&2; exit 1; } +test "X$erl_top" != "X" || { echo "$0: Missing erl top" 1>&2; exit 1; } +test "X$force" != "X" || { echo "$0: Missing force value" 1>&2; exit 1; } + +cd $erl_top + +cat > cross_check_erl.erl <<\EOF +% +% Copyright Ericsson AB 2010. All Rights Reserved. +% +% The contents of this file are subject to the Erlang Public License, +% Version 1.1, (the "License"); you may not use this file except in +% compliance with the License. You should have received a copy of the +% Erlang Public License along with this software. If not, it can be +% retrieved online at http://www.erlang.org/. +% +% Software distributed under the License is distributed on an "AS IS" +% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +% the License for the specific language governing rights and limitations +% under the License. +% + +-module(cross_check_erl). + +-export([start/0]). + +start() -> + OTP = case catch erlang:system_info(otp_release) of + {'EXIT', _} -> "OTP"; + Rel -> "OTP-" ++ Rel + end, + io:format("~s~n", [OTP]), + init:stop(). + +EOF + +erlc cross_check_erl.erl 2>/dev/null \ + && used_otp=`erl -noshell -noinput -pa . -run cross_check_erl 2>/dev/null` + +res=$? + +rm -f cross_check_erl.erl cross_check_erl.beam + +test $res -eq 0 || { + cat 1>&2 <<EOF +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* ERROR: No usable Erlang/OTP system for the build machine found! Cannot +* cross compile without such a system. +* +* Either build a bootstrap system for the build machine, or provide +* an Erlang/$build_otp system in the \$PATH, and try again. For more +* information on cross compiling Erlang/$build_otp, see the +* \$ERL_TOP/xcomp/README file. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +EOF + exit 1 +} + +test "X$build_otp" = "X$used_otp" || { + test $force = yes || { + cat 1>&2 <<EOF +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* ERROR: Trying to cross compile an Erlang/$build_otp system with a different +* Erlang/$used_otp system. When cross compiling you should compile +* with an Erlang/OTP system of the same release. It is possible, +* however not recomended, to force the cross compilation even though +* the wrong Erlang/OTP system is used. For more information on this, +* and cross compiling Erlang/$build_otp in general, see the +* \$ERL_TOP/xcomp/README file. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +EOF + exit 1 + } + + cat <<EOF +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* WARNING: Cross compiling an Erlang/$build_otp system with a different +* Erlang/$used_otp system. When cross compiling you should compile +* with an Erlang/OTP system of the same release. This build might +* fail, or silently produce suboptimal code. For more information on +* cross compiling Erlang/$build_otp, see the \$ERL_TOP/xcomp/README +* file. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +EOF +} + +cat <<EOF +* +* Cross compiling Erlang/$build_otp for: $target +* +EOF + +exit 0 diff --git a/make/install_bin b/make/install_bin new file mode 100755 index 0000000000..0d3e82266e --- /dev/null +++ b/make/install_bin @@ -0,0 +1,702 @@ +#!/bin/sh +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# +# Author: Rickard Green +# + +# +# NOTE! This script needs to be portable since it is run on all platforms +# (besides win32). Keep this in mind when updating it. +# + +## set `INST_BIN_DEBUG=true' in environment when debugging the script to +## avoid removing, and creating stuff etc... + +## +## We do not reset these variables, since values may be passed either via +## environment, or command line arguments. +## +#bindir= +#exec_prefix= +#erlang_bindir= +#DESTDIR= +#EXTRA_PREFIX= +#BINDIR_SYMLINKS= +#LN_S= +tst= + +# +# When this script communicates with the user it talks of the parameters +# as they are given to configure if such exist (currently --bindir, and +# --exec-prefix); otherwise, as the variable names used in the top +# Makefile (which calls this script). +# + +path_variables="DESTDIR EXTRA_PREFIX exec_prefix bindir erlang_bindir" +DQ= + +dbg= +test "$INST_BIN_DEBUG" != "true" || dbg=true + +while [ $# -gt 1 ]; do + case "$1" in + --bindir) bindir="$2";; + --exec-prefix) exec_prefix="$2";; + --erlang-bindir) erlang_bindir="$2";; + --destdir) DESTDIR="$2";; + --extra-prefix) EXTRA_PREFIX="$2";; + --bindir-symlinks) BINDIR_SYMLINKS="$2";; + --ln_s) LN_S="$2";; + --test-file) tst="$2";; + *) break;; + esac + shift + shift +done + + +test $# -gt 0 || { + echo " ERROR: Missing files to install" 1>&2 + test "$tst" = "" || echo "{error,{arg,missing_files}}." > $tst + exit 1; +} +test "$bindir" != "" || { + echo " ERROR: Missing --bindir" 1>&2 + test "$tst" = "" || echo "{error,{arg,missing_bindir}}." > $tst + exit 1 +} +test "$exec_prefix" != "" || { + echo " ERROR: Missing --exec-prefix" 1>&2 + test "$tst" = "" || echo "{error,{arg,missing_exec_prefix}}." > $tst + exit 1 +} +test "$erlang_bindir" != "" || { + echo " ERROR: Missing erlang_bindir" 1>&2 + test "$tst" = "" || echo "{error,{arg,missing_erlang_bindir}}." > $tst + exit 1 +} + +# Make sure all paths are absolute +for dir_var in $path_variables; do + eval "dir_path=\"\$$dir_var\"" + + case "$dir_path" in + /*) ;; + "") + # Empty DESTDIR or EXTRA_PREFIX which is ok + case $dir_var in + DESTDIR|EXTRA_PREFIX) ;; + *) + echo " ERROR: Internal error: \$$dir_var is empty" 1>&2 + test "$tst" = "" || echo "{error,{empty,$dir_var}}." > $tst + exit 1;; + esac + continue;; + *) + case $dir_var in + bindir) flag="--bindir=";; + exec_prefix) flag="--exec-prefix=";; + erlang_bindir) flag="erlang_bindir=";; + DESTDIR) flag="DESTDIR=";; + EXTRA_PREFIX) flag="EXTRA_PREFIX=";; + *) flag="";; # Need to update the script... + esac + cat 1>&2 <<EOF + ERROR: Found path to a directory which was not absolute. All paths needs to + be absolute. + + $flag"$dir_path" +EOF + test "$tst" = "" || echo "{error,{not_abs,'$dir_var'}}." > $tst + exit 1;; + esac + case "$dir_path" in + *[!A-Za-z0-9/=_.-]*) DQ="\"";; + *) ;; + esac +done + +# We place temporary check files in the source dir and the target dir. These +# can later be used to verify that our modifications of the paths are +# successful. + +test "$dbg" = "true" || { + bchk_file="tmp-erlang-install-bin.$$" + ebchk_file="tmp-erlang-install-erl-bin.$$" + bchk="$DESTDIR$EXTRA_PREFIX$bindir/$bchk_file" + ebchk="$DESTDIR$EXTRA_PREFIX$erlang_bindir/$ebchk_file" + chk_txt="Temporary Erlang/OTP install file." + chk_err=no + + # Make sure we haven't got any old ones... + rm -f "$bchk" "$ebchk" + + { { echo "$chk_txt" > "$ebchk"; } 2>/dev/null && test -r "$ebchk"; } || { + cat 1>&2 <<EOF + ERROR: Cannot create files in 'erlang_bindir'. + +EOF + chk_err=no_create_erlang_bindir + } + + { { echo "$chk_txt" > "$bchk"; } 2>/dev/null && test -r "$bchk"; } || { + cat 1>&2 <<EOF + ERROR: Cannot create files in '--bindir'. + +EOF + chk_err=no_create_bindir + } + + + { test $chk_err != no || + test ! -f "$DESTDIR$EXTRA_PREFIX$bindir/$ebchk_file"; } || { + # Refuse to install in the same directory as the source... + cat 1>&2 <<EOF + ERROR: '--bindir' and 'erlang_bindir' both points to the same directory. This + can be due to symbolic directory links. + +EOF + chk_err=target_and_source_same_dir + } + + test $chk_err = no || { + cat 1>&2 <<EOF + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" + + Note that all absolute directory paths are prefixed by + \$DESTDIR\$EXTRA_PREFIX when accessed. +EOF + rm -f "$bchk" "$ebchk" + test "$tst" = "" || echo "{error,$chk_err}." > $tst + exit 1 + } +} + +dirty=no + +# Make all paths look good (remove all `.' dirs, `//', and trailing `/'). +for dir_var in $path_variables; do + eval "dir_path=\"\$$dir_var\"" + test "$dir_path" != "" || continue + + ndp= + save_IFS=$IFS + IFS=/ + for dir in $dir_path; do + case "$dir" in + "" | ".") continue;; + "..") + case $dir_var in + bindir|erlang_bindir|exec_prefix) dirty=yes;; + *) ;; + esac;; + *) ;; + esac + ndp="$ndp/$dir" + done + IFS=$save_IFS + test "$ndp" != "" || ndp="/" + eval "$dir_var=\"$ndp\"" +done + +iprfx="$DESTDIR$EXTRA_PREFIX" + +# Make sure we didn't mess up +{ $dbg test -f "$iprfx$bindir/$bchk_file" && + $dbg test -f "$iprfx$erlang_bindir/$ebchk_file"; } || { + cat 1>&2 <<EOF + ERROR: Internal error: Unsuccessfully trimmed the paths + + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + --exec-prefix="$exec_prefix" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" +EOF + $dbg rm -f "$bchk" "$ebchk" + test "$tst" = "" || echo "{error,bad_trim}." > $tst + exit 1 +} + +# Now all paths look good... + + +# $ln_s should be either 'ln -s', 'ln', or 'cp -p'. We don't want to +# maks hard links, so make sure we got 'ln -s'; otherwise, use 'cp -p' + +# This is the fallback if we haven't got 'ln -s' +ln_s="cp -p" +type=copy +paths=absolute +abspath_reason=no_ln_s +src_dir="$iprfx$erlang_bindir" + +case "X${LN_S}X" in + Xln[\ \ ]*X|X*[\ \ ]ln[\ \ ]*X) + # Got `ln'; check that we also got `-s' flag + case "X${LN_S}X" in + X*[\ \ ]-sX|X*[\ \ ]-s[\ \ ]*X) + # Ok; seems like we got `ln -s' + ln_s="ln -s" + type=link + paths="$BINDIR_SYMLINKS" + test "$BINDIR_SYMLINKS" = "absolute" && abspath_reason=request + # $DESTDIR should *not* be part of src_dir when linking + src_dir="$EXTRA_PREFIX$erlang_bindir" + ;; + *) ;; + esac;; + *) ;; +esac + +case "$paths" in + absolute|relative) ;; + *) paths=undetermined;; +esac + +# Determine if we should use absolute or relative paths for links +test $paths != absolute && { + # If $paths is undetermined, use absolute paths unless both $bindir + # and $erlang_bindir are prefixed by $exec_prefix (which is the normal + # case) + test $paths = relative || paths=absolute + abspath_reason=not_prefix + resolved_bindir="$bindir" + resolved_erlang_bindir="$erlang_bindir" + resolved_exec_prefix="$exec_prefix" + case "$bindir" in + "$exec_prefix"*) + case "$erlang_bindir" in + "$exec_prefix"*) paths=relative;; + *) ;; + esac;; + *);; + esac + # Now paths=absolute|relative + + # If we got dirty paths (contains ..) and are going for relative links, + # we need to resolve the paths + test $dirty-$paths = yes-relative && { + # Need to resolve $bindir and $erlang_bindir paths + for dir_var in bindir erlang_bindir exec_prefix; do + eval "dir_path=\"\$$dir_var\"" + + ndp="/" + save_IFS=$IFS + IFS=/ + for dir in $dir_path; do + case "$dir" in + "") ;; + "..") + test "$ndp" != "/" || { + IFS=$save_IFS + paths=absolute + abspath_reason=unreasonable_path + break 2 + } + ndp=`dirname "$ndp" 2>/dev/null` || { + IFS=$save_IFS + paths=absolute + abspath_reason=dirname_failed + break 2 + };; + *) + if test "$ndp" = "/"; then + ndp="/$dir" + else + ndp="$ndp/$dir" + fi;; + esac + done + IFS=$save_IFS + test "$ndp" != "" || ndp="/" + eval "resolved_$dir_var=\"$ndp\"" + done + } + + # If we still are going for relative and relative symbolic links have + # not been explicitly requested check that the resolved paths still + # are prefixed by exec_prefix + test $paths = relative && test "$BINDIR_SYMLINKS" != "relative" && { + paths=absolute + abspath_reason=not_prefix + case "$resolved_bindir" in + "$resolved_exec_prefix"*) + case "$resolved_erlang_bindir" in + "$resolved_exec_prefix"*) + paths=relative;; + *) ;; + esac;; + *) ;; + esac + } + + # If we still are going for relative check that resolved paths are + # reachable (might not be if the directory structure contains symbolic + # directory links). + test $paths = relative && { + ($dbg test -r "$iprfx$resolved_bindir/$bchk_file" && + $dbg test -r "$iprfx$resolved_erlang_bindir/$ebchk_file" && + $dbg cd "$iprfx$resolved_bindir" && + $dbg test -r "./$bchk_file" && + $dbg cd "$iprfx$resolved_erlang_bindir" && + $dbg test -r "./$ebchk_file") || { + paths=absolute + abspath_reason=unreachable_absolute + } + } + + + # If we still are going for relative, calculate the relative path from + # $resolved_bindir to $resolved_erlang_bindir and verify that we + # can reach $erlang_bindir from $bindir via calculated relative path + test $paths = relative && { + relpath= + common= + + save_IFS=$IFS + IFS=/ + + build=false + for dir in $resolved_erlang_bindir; do + test "$dir" != "" || continue + test $build = false || { relpath="$relpath/$dir"; continue; } + cand="${common}/$dir" + case "$resolved_bindir" in + "$cand"*) common="$cand";; + *) relpath="$dir"; build=true;; + esac + done + + check= + build=false + test "$common" != "" || build=true + + for dir in $resolved_bindir; do + test "$dir" != "" || continue + test $build = true || { + check="${check}/$dir" + test "$check" != "$common" || build=true + continue + } + if test "$relpath" = ""; then + relpath=".." + else + relpath="../$relpath" + fi + done + + IFS=$save_IFS + + test "$relpath" != "" || { + cat 1>&2 <<EOF + ERROR: Internal error: Computed relative path: . + + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + --exec-prefix="$exec_prefix" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" + BINDIR_SYMLINKS="$BINDIR_SYMLINKS" +EOF + $dbg rm -f "$bchk" "$ebchk" + test "$tst" = "" || echo "{error,empty_relpath}." > $tst + exit 1 + } + + # Verify that it works otherwise go for absolute links + if ($dbg cd "$iprfx$bindir" 2>/dev/null && \ + $dbg test -r "$relpath/$ebchk_file"); then + src_dir="$relpath" + else + abspath_reason=unreachable_relative + paths=absolute + fi + } +} + +# Don't need the temporary check files anymore +$dbg rm -f "$bchk" "$ebchk" + +# If we reverted to absolute paths we may have to abort or notify the user +# about this... +case "$paths-$BINDIR_SYMLINKS" in + absolute-absolute) # User requested absolute and got it + case "$abspath_reason" in + no_ln_s) + cat <<EOF + ERROR: Cannot install absolute symbolic links in the '--bindir' directory, + since 'ln -s' does not work. If you want to install using 'cp -p' + invoke 'make install' without setting BINDIR_SYMLINKS. + + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + --exec-prefix="$exec_prefix" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" + BINDIR_SYMLINKS="$BINDIR_SYMLINKS" + + Note that all absolute directory paths are prefixed by + \$DESTDIR\$EXTRA_PREFIX when accessed. +EOF + test "$tst" = "" || echo "{error,$abspath_reason}." > $tst + exit 1;; # Abort... + *) + ;; + esac;; + + absolute-relative) # User forced relative symbolic links, but we need + # to revert to absolute symbolic links. Print error + # message and abort. + + case "$abspath_reason" in + no_ln_s) + cat 1>&2 <<EOF + ERROR: Cannot install relative symbolic links in the '--bindir' directory, + since 'ln -s' does not work. If you want to install using 'cp -p' do + not set BINDIR_SYMLINKS, and invoke 'make install' again. + +EOF + ;; + not_prefix) + cat 1>&2 <<EOF + ERROR: Internal error: Should not have reverted to absolute paths just + because '--exec-prefix' was not a prefix of '--bindir' and/or + 'erlang_bindir' since relative symbolic links were forced. + +EOF + ;; + unreasonable_path) + cat 1>&2 <<EOF + ERROR: Refusing to install relative symbolic links, since the relative path + potentially could go via \$DESTDIR\$EXTRA_PREFIX/. Make your install + paths a bit more reasonable (preferably) or, do not invoke + 'make install' with 'BINDIR_SYMLINKS=relative'. + +EOF + ;; + unreachable_absolute) + cat 1>&2 <<EOF + ERROR: Could not find '--bindir' and/or 'erlang_bindir' after resolving paths. + The directory structure probably consists of symbolic directory links. + Refusing to install obviously incorrect relative symbolic links. In + order to install absolute symbolic links, invoke 'make install' without + 'BINDIR_SYMLINKS=relative'. + +EOF + ;; + unreachable_relative) + cat 1>&2 <<EOF + ERROR: Could not find 'erlang_bindir' from '--bindir' via computed relative + path. This probably due to symbolic directory links. Refusing to install + obviously incorrect relative symbolic links. In order to install + absolute symbolic links, invoke 'make install' without + 'BINDIR_SYMLINKS=relative'. + + Computed relative path="$relpath" +EOF + ;; + dirname_failed) + cat 1>&2 <<EOF + ERROR: Cannot install relative symbolic links since the 'dirname' command + failed while computing the relative path. The 'dirname' command is only + needed when '--bindir', 'erlang_bindir', and/or '--exec-prefix' contain + relative parts, i.e., '..' parts. If you modify your install paths, it + may be possible to install relative symbolic links. In order to install + absolute symbolic links, invoke 'make install' without + 'BINDIR_SYMLINKS=relative'. + +EOF + ;; + *) + cat 1>&2 <<EOF + ERROR: Refusing to install relative symbolic links. The error description for + \"$abspath_reason\" is however missing. + +EOF + ;; + esac + cat 1>&2 <<EOF + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + --exec-prefix="$exec_prefix" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" + BINDIR_SYMLINKS="$BINDIR_SYMLINKS" + + Note that all absolute directory paths are prefixed by + \$DESTDIR\$EXTRA_PREFIX when accessed. +EOF + test "$tst" = "" || echo "{error,$abspath_reason}." > $tst + exit 1;; # Abort... + + absolute-*) # Notify the user that we reverted to absolute symbolic links + cat <<EOF +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +EOF + case "$abspath_reason" in + no_ln_s) + cat <<EOF + NOTE: Cannot install symbolic links in the '--bindir' directory, since + 'ln -s' does not work. Will create copies using 'cp -p' instead. + +EOF + ;; + not_prefix) + cat <<EOF + NOTE: Installing absolute symbolic links in the '--bindir' directory to the + 'erlang_bindir' directory instead of relative ones. This since at least + one of these directories is not prefixed by '--exec-prefix'. It is + possible to force relative symbolic links if you want that by invoking + the install as 'make BINDIR_SYMLINKS=relative install'. + +EOF + ;; + + unreasonable_path) + cat <<EOF + NOTE: Installing absolute symbolic links in the '--bindir' directory to the + 'erlang_bindir' directory instead of relative ones. This since it + potentially would pass outside of '\$DESTDIR\$EXTRA_PREFIX/'. + +EOF + ;; + unreachable_absolute) + cat <<EOF + NOTE: Installing absolute symbolic links in the '--bindir' directory to the + 'erlang_bindir' instead of relative ones. This since at least one of + these directory could not be found after resolving paths. This is + probably due to symbolic directory links. + +EOF + ;; + unreachable_relative) + cat <<EOF + NOTE: Installing absolute symbolic links in the '--bindir' directory to the + 'erlang_bindir' directory instead of relative ones. This since the + 'erlang_bindir' directory could not be found from the '--bindir' + directory using the computed relative path. This is probably due + to symbolic directory links. + + Computed relative path="$relpath" +EOF + ;; + dirname_failed) + cat 1>&2 <<EOF + NOTE: Installing absolute symbolic links in the '--bindir' directory to the + 'erlang_bindir' directory instead of relative ones. This since the + 'dirname' command failed while computing the relative path. The + 'dirname' command is only needed when '--bindir', 'erlang_bindir', + and/or '--exec-prefix' contain relative parts, i.e., '..' parts. If + you modify your install paths, it may be possible to install relative + symbolic links. + +EOF + ;; + *) + cat 1>&2 <<EOF + NOTE: Installing absolute symbolic links in the '--bindir' directory + to the 'erlang_bindir' instead of relative ones. The notification + description for "$abspath_reason" is however missing. + +EOF + ;; + esac + + cat <<EOF + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + --exec-prefix="$exec_prefix" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" + BINDIR_SYMLINKS="$BINDIR_SYMLINKS" + + Note that all absolute directory paths are prefixed by + \$DESTDIR\$EXTRA_PREFIX when accessed. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +EOF + ;; + + *) # relative links + ;; +esac + +# Now paths=absolute|relative and src_dir is correct (relative bindir) + +# cd into "$iprfx$bindir" and do it from there... +echo cd "$DQ$iprfx$bindir$DQ" +$dbg cd "$iprfx$bindir" || { + test "$tst" = "" || echo "{error,cd_bin_failed}." > $tst + exit 1 +} + +# Verify that the source files actually exist (done in a separate pass +# before we modify anything, so we leave it untouched if it should fail). +# Note that we will not find them under $src_dir if we use absolute symbolic +# links and $DESTDIR != "". In this case (actually all cases) they can then +# be found under $iprfx$erlang_bindir +test_src_dir="$src_dir" +test "$paths-$type" != "absolute-link" || test_src_dir="$iprfx$erlang_bindir" + +for file in "$@"; do + test "$file" != "" || continue + src_file="$test_src_dir/$file" + $dbg test -f "$src_file" || { + cat 1>&2 <<EOF + ERROR: Missing source file: $src_file + + --bindir="$bindir" + erlang_bindir="$erlang_bindir" + --exec-prefix="$exec_prefix" + EXTRA_PREFIX="$EXTRA_PREFIX" + DESTDIR="$DESTDIR" + BINDIR_SYMLINKS="$BINDIR_SYMLINKS" + + Note that all absolute directory paths are prefixed by + \$DESTDIR\$EXTRA_PREFIX when accessed. +EOF + test "$tst" = "" || echo "{error,{no_srcfile,\"$src_file\"}}." > $tst + exit 1 + } +done + +# Remove after possible old install (done in a separate pass since I think +# the output looks nicer than if mixed). Note that we cannot test for existance +# in a portable way, so force remove. +for file in "$@"; do + test "$file" != "" || continue + echo rm -f "$file" + $dbg rm -f "$file" +done + +# do it +for file in "$@"; do + echo $ln_s "$DQ$src_dir/$file$DQ" "$file" + $dbg $ln_s "$src_dir/$file" "$file" || { + test "$tst" = "" || echo "{error,{$type,\"$file\",failed}}." > $tst + exit 1 + } +done + +test "$tst" = "" || echo "{ok,{$paths,\"$iprfx$bindir\",\"$src_dir\"}}." > $tst + +exit 0 # Done diff --git a/make/otp_ded.mk.in b/make/otp_ded.mk.in index 0a91a42df5..e719312473 100644 --- a/make/otp_ded.mk.in +++ b/make/otp_ded.mk.in @@ -1,22 +1,48 @@ #-*-makefile-*- ; force emacs to enter makefile-mode # ---------------------------------------------------- -# Make include file for otp +# %CopyrightBegin% # -# Copyright (C) 1996, Ericsson Telecommunications -# Author: Lars Thorsen +# Copyright Ericsson AB 2009-2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% + +# The version. +# +# Note that it is important that the version is +# explicitly expressed here. Some applications need to +# be able to check this value *before* configure has +# been run and generated otp_ded.mk +DED_MK_VSN = 1 +# ---------------------------------------------------- +# Variables needed for building Dynamic Erlang Drivers # ---------------------------------------------------- DED_CC = @CC@ +DED_GCC = @GCC@ DED_LD = @DED_LD@ DED_LDFLAGS = @DED_LDFLAGS@ -DED__NOWARN_CFLAGS = @DED_CFLAGS@ -DED_CFLAGS = @WFLAGS@ @DED_CFLAGS@ +DED__NOWARN_NOTHR_CFLAGS = @DED_CFLAGS@ +DED__NOTHR_CFLAGS = @WFLAGS@ @DED_CFLAGS@ +DED__NOWARN_CFLAGS = @DED_EMU_THR_DEFS@ @DED_CFLAGS@ +DED_THR_DEFS = @DED_THR_DEFS@ +DED_EMU_THR_DEFS = @DED_EMU_THR_DEFS@ +DED_WARN_FLAGS = @WFLAGS@ +DED_CFLAGS = @WFLAGS@ @DED_EMU_THR_DEFS@ @DED_CFLAGS@ DED_LIBS = @LIBS@ +DED_EXT = @DED_EXT@ ERLANG_OSTYPE = @ERLANG_OSTYPE@ -TARGET = @host@ PRIVDIR = ../priv OBJDIR = $(PRIVDIR)/obj/$(TARGET) LIBDIR = $(PRIVDIR)/lib/$(TARGET) -DED_SYS_INCLUDE = -I$(ERL_TOP)/erts/emulator/beam \ - -I$(ERL_TOP)/erts/emulator/sys/$(ERLANG_OSTYPE) - +DED_SYS_INCLUDE = @DED_SYS_INCLUDE@ DED_INCLUDES = $(DED_SYS_INCLUDE) diff --git a/make/unexpected_use b/make/unexpected_use new file mode 100755 index 0000000000..d7543a7d83 --- /dev/null +++ b/make/unexpected_use @@ -0,0 +1,29 @@ +#!/bin/sh +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# + +prog=`basename "$0"` || prog="$0" + +cat 1>&2 <<EOF +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + ERROR: Unexpected use of '$prog' in 'install', or 'release' phase. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +EOF + +exit 1 @@ -28,23 +28,33 @@ clearmake=false # # NOTE: lazy_configure depends on '.' always being last directory if [ -z "$ONLY_ERTS" ]; then - AUTOCONF_SUBDIRS="lib lib/*" + AUTOCONF_SUBDIRS="lib lib/* lib/test_server/src" fi AUTOCONF_SUBDIRS="$AUTOCONF_SUBDIRS erts ." +# `bootstrap_apps' should include application that are built, or +# partly built in one of the bootstrap phases. Applications that +# only get some static includes copied into the bootstrap directory +# should not be included. +bootstrap_apps="erts lib/asn1 lib/compiler lib/hipe lib/ic lib/kernel lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + +# We will quote a bit more than needed, but the important thing is that +# all that needs quoting will be quoted... +DONT_QUOTE="A-Za-z0-9/=_+-" + # Utility functions usage () { - echo "Available options:" + echo "Available options (-a switch select all applications):" echo " setup [-a] [<configure parameters>] - does autoconf, configure and boot." echo " all [-a] <dir> - does autoconf, configure, boot, release" echo " autoconf - (re)build the configure scripts" echo " configure [<configure parameters>] - does the actual configuration" - echo " smp [-a] - build a small Erlang system, smp flavor" - echo " hybrid [-a] - build a small Erlang system, hybrid flavor" - echo " boot [-a] - bootstraps and build system (after configure)" + echo " boot [-a] - bootstraps and builds the system (after configure)" echo " release <target_dir> - creates a small release to <target_dir>" echo " release [-a] <target_dir> - creates full release to <target_dir>" + echo " smp [-a] - build an Erlang system, smp flavor only" + echo " hybrid [-a] - build an Erlang system, hybrid flavor only" echo " tests <dir> - Build testsuites to <dir>" echo "" echo "These are for cleaning up an open source distribution" @@ -64,9 +74,6 @@ usage () echo "Before trying to build for vxworks, consider the following option" echo " env_vxworks <cpu> - echo environment settings for vxworks, use with eval" echo "" - echo "Before trying to cross compile, set environment via the following option" - echo "Please note that the path to the configuration file should be absolute." - echo " env_cross <absolute path to cross conf file> - echo environment settings for cross compilation, use with eval" case $version_controller in none) ;; @@ -102,84 +109,32 @@ usage () esac } -export_cross_env () -{ - if [ "x$ERL_XCOMP_CONF" != "x" ]; then - export erl_xcomp_host - export erl_xcomp_configure_flags - export erl_xcomp_cc - export erl_xcomp_ld - export erl_xcomp_cflags - export erl_xcomp_cpp - export erl_xcomp_ldflags - export erl_xcomp_ranlib - export erl_xcomp_ar - export erl_xcomp_ded_ld - export erl_xcomp_ded_ldflags - export erl_xcomp_ded_ld_runtime_library_path - export erl_xcomp_bigendian - export erl_xcomp_linux_clock_gettime_correction - export erl_xcomp_linux_nptl - export erl_xcomp_linux_usable_sigusrx - export erl_xcomp_linux_usable_sigaltstack - export erl_xcomp_poll - export erl_xcomp_kqueue - export erl_xcomp_putenv_copy - export erl_xcomp_reliable_fpe - export erl_xcomp_getaddrinfo - export erl_xcomp_gethrvtime_procfs_ioctl - export erl_xcomp_clock_gettime - export erl_xcomp_after_morecore_hook - export erl_xcomp_dlsym_brk_wrappers - fi -} - -xcomp_fail () +hide_vars () { - echo "The mandatory cross compilation variable '"$1"' is not set, aborting..." >&2 - exit 1 -} - -source_xcomp_file () -{ - case x$1 in - x/*) - ;; - x) - echo "env_cross requires path to cross compilation configuration" >&2 - exit 1;; - x*) - echo "An absoulute path to the cross compilation file is required: $1" >&2 - exit 1;; - esac - - if [ ! -f $1 ]; then - echo "No such file: $1" >&2 - exit 1 + script= + for var in "$@"; do + if [ "X$var" != "X" ]; then + script="$script test \"X\$$var\" = \"X\" || hidden_$var=\$$var; unset $var;" + fi + done + if [ "X$script" != "X" ]; then + eval "$script" fi - - . $1 + unset script } -finalize_xcomp_conf () +restore_vars () { - if test "x$erl_xcomp_host" = "x"; then - xcomp_fail erl_xcomp_host - fi - - if test "x$erl_xcomp_target" != "x"; then - echo "The 'erl_xcomp_target' configuration variable should no longer be used." >&2 - echo "For more information see the xcomp/README file." >&2 - exit 1; - fi - - OVERRIDE_TARGET=`$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host` - if test $? -ne 0; then - exit $? + script= + for var in "$@"; do + if [ "X$var" != "X" ]; then + script="$script unset $var; test \"X\$hidden_$var\" = \"X\" || { $var=\$hidden_$var; export $var; } ; unset hidden_$var;" + fi + done + if [ "X$script" != "X" ]; then + eval "$script" fi - TARGET=$OVERRIDE_TARGET - - return 0 + unset script } @@ -190,6 +145,7 @@ check_erltop () if [ -f ./otp_build -a -f ./erts/autoconf/config.guess ]; then ERLTOP_FORCED=true ERL_TOP=`/bin/pwd` + export ERL_TOP else echo "The environment variable ERL_TOP must be set." >&2 exit 1 @@ -221,27 +177,36 @@ determine_version_controller () fi fi } - # Execution of the different options # Special static config flags for certain platforms are set here set_config_flags () { + # * Extra flags to pass to configure are placed in `CONFIG_FLAGS'. + # * The command line is no longer added to `CONFIG_FLAGS' by + # `set_config_flags'. It is instead passed directly to + # `run_configure', or added to `CONFIG_FLAGS' at some other + # place. + # * `CONFIG_FLAGS' may contain flags when `set_config_flags' is + # called. These flags should survive the call to `set_config_flags' + # (in the cross compilation case the whole command line as well as + # the cross configuration have been moved here). + if target_contains linux; then XX=`echo $* | grep -v able-hipe` if [ "$*" = "$XX" ]; then - CONFIG_FLAGS="--disable-hipe" + CONFIG_FLAGS="$CONFIG_FLAGS --disable-hipe" fi fi if target_contains "univel-sysv4"; then - CONFIG_FLAGS="--x-libraries=/usr/lib/X11" + CONFIG_FLAGS="$CONFIG_FLAGS --x-libraries=/usr/lib/X11" fi if target_contains free_source; then CONFIG_FLAGS="$CONFIG_FLAGS --host=$TARGET" fi if target_contains win32; then - CONFIG_FLAGS="--build=$BUILDSYS build_alias=win32 --host=win32 --target=win32" + CONFIG_FLAGS="--build=$BUILDSYS build_alias=win32 --host=win32 --target=win32 $CONFIG_FLAGS" else # Link SSL static for all binary distributions if not overridden XX=`echo $* | grep -v dynamic-ssl-lib` @@ -255,12 +220,61 @@ set_config_flags () CONFIG_FLAGS="$CONFIG_FLAGS --cache-file=$OVERRIDE_CONFIG_CACHE" fi - CONFIG_FLAGS="$CONFIG_FLAGS $*" + env_to_config_flags $erl_build_tool_vars + export CONFIG_FLAGS; } - + +create_lib_configure_in() +{ + cd $ERL_TOP + + # Multiple versions of autoconf generates code that + # don't work on all platforms (e.g. SunOS 5.8) if + # sub directories are soft links. Internally at Ericsson + # some OTP application directories are soft links. + # An added "/." solves this problem. + + sdirs= + for lib_app in $bootstrap_apps; do + case $lib_app in + lib/*) + if [ -f "$lib_app/configure.in" ]; then + app=`echo "$lib_app" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f $app/configure || AC_CONFIG_SUBDIRS($app/.)\n" + fi;; + *) + ;; + esac + done + + sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + is_bapp=false + for bapp in $bootstrap_apps; do + test $bapp != $lib_app || { is_bapp=true; break; } + done + if [ $is_bapp = false ] && [ -f "$lib_app/configure.in" ]; then + app=`echo "$lib_app" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs} test ! -f $app/configure || AC_CONFIG_SUBDIRS($app/.)\n" + fi + done + + sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.in < lib/configure.in.src || { + echo "Failed to create lib/configure.in" + exit 1 + } +} + do_autoconf () { + create_lib_configure_in + if target_contains win32; then # Select the correct autoconf on cygwin save_want_autoconf_ver=$WANT_AUTOCONF_VER @@ -285,17 +299,8 @@ do_autoconf () ;; esac - if [ -d erts/autom4te.cache ]; then - echo "Cleaning erts/autom4te.cache" - rm -f erts/autom4te.cache/* - fi - - save_ot="$OVERRIDE_TARGET" - save_t="$TARGET" if [ ! -z "$OVERRIDE_CONFIGURE" ]; then echo "Autoconf disabled on target $TARGET, but is performed on host" >&2 - OVERRIDE_TARGET= - export OVERRIDE_TARGET # We still use erts configure for erl_interface and VxWorks case "$TARGET" in *vxworks*) @@ -305,23 +310,30 @@ do_autoconf () -e 's,lib/megaco,,'` ;; esac - TARGET=`$ERL_TOP/erts/autoconf/config.guess` fi + hide_vars OVERRIDE_TARGET TARGET + TARGET=$BUILDSYS + export TARGET + for d in $AUTOCONF_SUBDIRS; do - if [ -f $d/configure.in ]; then - echo "=== running autoconf in $d" - ( cd $d && autoconf ) || exit 1 - fi - if [ x$d = x"erts" ]; then - echo "=== running autoheader in $d" - ( cd $d && autoheader configure.in > config.h.in ) \ - || exit 1 - fi + file="$d/configure.in" + [ -f "$file" ] || continue + echo "" + [ ! -d "$d/autom4te.cache" ] || { + echo "=== cleaning $d/autom4te.cache" + rm -f "$d"/autom4te.cache/* + } + echo "=== running autoconf in $d" + ( cd "$d" && autoconf ) || exit 1 + chdr=`cat "$file" | sed -n "s|.*\(AC_CONFIG_HEADER\).*|\1|p"` + [ "$chdr" = "AC_CONFIG_HEADER" ] || continue + echo "=== running autoheader in $d" + ( cd "$d" && autoheader ) || exit 1 done - OVERRIDE_TARGET="$save_ot" - export OVERRIDE_TARGET - TARGET="$save_t" + + restore_vars OVERRIDE_TARGET TARGET + if target_contains win32; then WANT_AUTOCONF_VER=$save_want_autoconf_ver export WANT_AUTOCONF_VER @@ -338,22 +350,176 @@ mk_targetdir () fi } +run_configure () +{ + cdir="$ERL_TOP" + [ -z "$ONLY_ERTS" ] || { + cdir="$ERL_TOP/erts" + CONFIG_FLAGS="$CONFIG_FLAGS --no-recursion" + } + + echo "$cdir/configure $CONFIG_FLAGS" ${1+"$@"} + (cd "$cdir" && $config_eval ./configure $CONFIG_FLAGS ${1+"$@"}) || exit 1 +} + +env_to_config_flags () +{ + for env_var in "$@"; do + script="echo $env_var=\$$env_var; unset $env_var >/dev/null 2>&1" + env_arg=`eval $script` + case $env_arg in + "$env_var=") + ;; + *[!$DONT_QUOTE]*) + config_eval=eval + new_arg=`echo "X$env_arg" | sed "s|^X||;s|\([^$DONT_QUOTE]\)|\\\\\\\\\1|g"` + CONFIG_FLAGS="$CONFIG_FLAGS $new_arg";; + *) + CONFIG_FLAGS="$CONFIG_FLAGS $env_arg";; + esac + eval unset $env_var + done +} + +try_cross_configure () +{ + cross_configure=no + host_value= + build_value= + + # Get `erl_xcomp_vars' + . "$ERL_TOP/xcomp/erl-xcomp-vars.sh" || exit 1 + + for arg in ${1+"$@"}; do + case "$arg" in + --host=*) + host_value=`echo $x | sed "s|^--host=\(.*\)|\1|"`;; + --build=*) + build_value=`echo $x | sed "s|^--build=\(.*\)|\1|"`;; + --xcomp-conf=*) + cross_configure=yes;; + *) + ;; + esac + done + + test $cross_configure = yes || { + + test "X$host_value" = "X" || { + + test "X$build_value" != "X" || build_value="$BUILDSYS" + + build_sys=`$ERL_TOP/erts/autoconf/config.sub "$build_value"` || exit 1 + host_sys=`$ERL_TOP/erts/autoconf/config.sub "$host_value"` || exit 1 + + + test "$host_sys" = "$build_sys" || cross_configure=yes + } + } + + test $cross_configure = yes || return 1 + + # cross configure... + CONFIG_FLAGS= + + env_to_config_flags $erl_build_tool_vars $erl_xcomp_vars + + for arg in ${1+"$@"}; do + case "$arg" in + --host=*) + host_value=`echo $x | sed "s|^--host=\(.*\)|\1|"`;; + --build=*) + build_value=`echo $x | sed "s|^--build=\(.*\)|\1|"`;; + --xcomp-conf=*) + xcomp_conf=`echo "X$arg" | sed "s|^X--xcomp-conf=\(.*\)\$|\1|g"` + test "X$xcomp_conf" != "X" || { + echo "$0: Missing xcomp-conf file name" + exit 1 + } + test -f "$xcomp_conf" || { + echo "$0: Missing xcomp-conf file: $xcomp_conf" + exit 1 + } + . "$xcomp_conf" + test $? -eq 0 || { + echo "$0: Failed to read xcomp-conf file: $conf" + exit 1 + } + test "X$erl_xcomp_build" = "X" || build_value="$erl_xcomp_build" + test "X$erl_xcomp_host" = "X" || host_value="$erl_xcomp_host" + unset erl_xcomp_build + unset erl_xcomp_host + CONFIG_FLAGS="$CONFIG_FLAGS $erl_xcomp_configure_flags" + unset erl_xcomp_configure_flags + env_to_config_flags $erl_build_tool_vars $erl_xcomp_vars;; + *[!$DONT_QUOTE]*) + config_eval=eval + new_arg=`echo "X$arg" | sed "s|^X||;s|\([^$DONT_QUOTE]\)|\\\\\\\\\1|g"` + CONFIG_FLAGS="$CONFIG_FLAGS $new_arg";; + *) + CONFIG_FLAGS="$CONFIG_FLAGS $arg";; + esac + done + + CONFIG_FLAGS="--host=$host_value $CONFIG_FLAGS" + test "X$build_value" != "Xguess" || build_value="$BUILDSYS" + test "X$build_value" = "X" || CONFIG_FLAGS="--build=$build_value $CONFIG_FLAGS" + + # Configure build system for boot strap + cat <<EOF + +* +* Configuring the bootstrap build system... +* + +EOF + + # hide build tools environment which is for the cross configure + set_config_flags $CONFIG_FLAGS + hide_vars CONFIG_FLAGS + + set_config_flags + run_configure --enable-bootstrap-only + + # restore the hidden build tools environment for the cross configure + restore_vars CONFIG_FLAGS + + COMPFIX="" + cat <<EOF + +* +* Configuring the cross host system ($host_value)... +* + +EOF + # We don't pass the command line here since we already have moved it + # into CONFIG_FLAGS + run_configure + + return 0 +} + do_configure () { setup_make mk_targetdir - save_ot="$OVERRIDE_TARGET" - save_t="$TARGET" + + # Get `erl_build_tool_vars' + . "$ERL_TOP/erl-build-tool-vars.sh" || exit 1 + if [ ! -z "$OVERRIDE_CONFIGURE" ]; then case $TARGET in vxworks_*) ( cd erts/autoconf && \ $ERL_TOP/erts/autoconf/configure.vxworks $TARGET ) - echo "Configuring for build host too..." >&2 - OVERRIDE_TARGET= - export OVERRIDE_TARGET - TARGET=`$ERL_TOP/erts/autoconf/config.guess` - mk_targetdir;; + echo "Configuring for build system too..." >&2 + hide_vars OVERRIDE_TARGET TARGET + TARGET=$BUILDSYS + export TARGET + mk_targetdir + set_config_flags "$@" + run_configure "$@" + restore_vars OVERRIDE_TARGET TARGET;; *) echo "Unexpected target when ordinary configure is" \ "overridden" >&2 @@ -362,110 +528,13 @@ do_configure () exit 1;; esac else - if [ "x$OVERRIDE_TARGET" != "x" -a "x$OVERRIDE_TARGET" != "xwin32" ]; then - save_CONFIG_FLAGS="$CONFIG_FLAGS" - if [ "x$erl_xcomp_configure_flags" != "x" ]; then - set_config_flags $erl_xcomp_configure_flags - else - set_config_flags $CONFIG_FLAGS "$@" - fi - COMPFIX="" - save_CC="$CC" - save_LD="$LD" - save_CFLAGS="$CFLAGS" - save_LDFLAGS="$LDFLAGS" - save_RANLIB="$RANLIB" - save_AR="$AR" - save_DED_LD="$DED_LD" - save_DED_LDFLAGS="$DED_LDFLAGS" - save_DED_LD_FLAG_RUNTIME_LIBRARY_PATH="$DED_LD_FLAG_RUNTIME_LIBRARY_PATH" - save_CPP="$CPP" - if [ "x$erl_xcomp_cc" != "x" ]; then - CC="$erl_xcomp_cc" - fi - if [ "x$erl_xcomp_cpp" != "x" ]; then - CPP="$erl_xcomp_cpp" - fi - if [ "x$erl_xcomp_ld" != "x" ]; then - LD="$erl_xcomp_ld" - fi - if [ "x$erl_xcomp_cflags" != "x" ]; then - CFLAGS="$erl_xcomp_cflags" - fi - if [ "x$erl_xcomp_ldflags" != "x" ]; then - LDFLAGS="$erl_xcomp_ldflags" - fi - if [ "x$erl_xcomp_ranlib" != "x" ]; then - RANLIB="$erl_xcomp_ranlib" - fi - if [ "x$erl_xcomp_ar" != "x" ]; then - AR="$erl_xcomp_ar" - fi - if [ "x$erl_xcomp_ded_ld" != "x" ]; then - DED_LD="$erl_xcomp_ded_ld" - fi - if [ "x$erl_xcomp_ded_ld_runtime_library_path" != "x" ]; then - DED_LD_FLAG_RUNTIME_LIBRARY_PATH="$erl_xcomp_ded_ld_runtime_library_path" - fi - if [ "x$erl_xcomp_ded_ldflags" != "x" ]; then - DED_LDFLAGS="$erl_xcomp_ded_ldflags" - fi - export CC LD CFLAGS LDFLAGS RANLIB AR DED_LD DED_LDFLAGS DED_LD_FLAG_RUNTIME_LIBRARY_PATH CPP - - # - # The environment for compilers, cflags et al are sometimes hard - # to pass along in recursive configure, why each cross configure - # is run separately instead. This variable (crossdirs) need to - # be updated whenever a new application needs a configure - # of it's own, at least until I get the recirsive configure - # to work for the complicated environment needed by i.e. vxworks - # compilers. It's a kludge, but a working one... - # - - if [ -z "$ONLY_ERTS" ]; then - crossdirs="erts lib/common_test lib/erl_interface lib/gs lib/megaco lib/odbc lib/snmp lib/wx" - else - crossdirs="erts" - fi - - export_cross_env - - for d in $crossdirs; do - echo "== Entering $d ==" - echo "./configure --build=$BUILDSYS --host=$erl_xcomp_host $CONFIG_FLAGS" - (cd $ERL_TOP/$d; ./configure --build=$BUILDSYS --host=$erl_xcomp_host $CONFIG_FLAGS) || exit 1 - echo "== Leaving $d ==" - done - - CC="$save_CC" - LD="$save_LD" - CFLAGS="$save_CFLAGS" - LDFLAGS="$save_LDFLAGS" - RANLIB="$save_RANLIB" - AR="$save_AR" - DED_LD="$save_DED_LD" - DED_LDFLAGS="$save_DED_LDFLAGS" - DED_LD_FLAG_RUNTIME_LIBRARY_PATH="$save_DED_LD_FLAG_RUNTIME_LIBRARY_PATH" - CPP="$save_CPP" - export CC LD CFLAGS LDFLAGS RANLIB AR DED_LD DED_LDFLAGS DED_LD_FLAG_RUNTIME_LIBRARY_PATH CPP - echo "Configuring for build host too..." >&2 - OVERRIDE_TARGET= - export OVERRIDE_TARGET - TARGET=`$ERL_TOP/erts/autoconf/config.guess` - mk_targetdir - CONFIG_FLAGS="$save_CONFIG_FLAGS" + try_cross_configure "$@" + if [ $cross_configure = no ]; then + CONFIG_FLAGS= + set_config_flags "$@" + run_configure "$@" fi fi - set_config_flags $CONFIG_FLAGS "$@" - if [ -z "$ONLY_ERTS" ]; then - ./configure $CONFIG_FLAGS || exit 1 - else - echo "erts/configure $CONFIG_FLAGS" - (cd $ERL_TOP/erts; ./configure $CONFIG_FLAGS) || exit 1 - fi - OVERRIDE_TARGET="$save_ot" - export OVERRIDE_TARGET - TARGET="$save_t" } do_lazy_configure () @@ -475,7 +544,10 @@ do_lazy_configure () echo "Not supported for cross compilation" >&2 exit 1 fi - set_config_flags $CONFIG_FLAGS "$@" + CONFIG_FLAGS= + set_config_flags "$@" + CONFIGURE_FLAGS="$@" + [ "$CONFIG_FLAGS" = "" ] || CONFIGURE_FLAGS="$CONFIG_FLAGS $CONFIGURE_FLAGS" for c_dir in $AUTOCONF_SUBDIRS; do if test -f $ERL_TOP/$c_dir/configure.in; then dir=$ERL_TOP/$c_dir @@ -490,7 +562,7 @@ do_lazy_configure () $MAKE -f $ERL_TOP/make/lazy_configure.mk \ MAKE="$MAKE" TARGET=$TARGET \ ERL_TOP=$ERL_TOP \ - CONFIGURE_FLAGS="$CONFIG_FLAGS" \ + CONFIGURE_FLAGS="$CONFIGURE_FLAGS" \ CONFIGURE_DIR=$dir \ EXTRA_CONFIGURE_DEPENDENCIES=$xc_dep \ EXTRA_CONFIG_STATUS_DEPENDENCIES=$xcs_dep \ @@ -633,16 +705,6 @@ echo_env_vxworks () echo_envinfo } -echo_env_cross () -{ - source_xcomp_file $1 - finalize_xcomp_conf - echo_env_erltop - echo_setenv ERL_XCOMP_CONF $1 ';' - echo_setenv OVERRIDE_TARGET $OVERRIDE_TARGET - echo_envinfo -} - echo_env_win32 () { #echo_envinfo @@ -814,31 +876,21 @@ do_noboot_lib_and_erts () { setup_make EMULATORS=emulator + if [ X`$MAKE is_cross_configured` = Xyes ]; then + TARGET=`$MAKE target_configured` + fi if [ "x$MAKE" != "x$clearmake" ]; then $MAKE MAKE="$MAKE" TARGET=$TARGET OTP_SMALL_BUILD=$OTP_SMALL_BUILD depend || exit 1; fi $MAKE MAKE="$MAKE" TARGET=$TARGET OTP_SMALL_BUILD=$OTP_SMALL_BUILD TYPE=$TYPE FLAVOR=$FLAVOR noboot || exit 1 } -do_primary_cross () -{ - save_t="$TARGET" - save_ot="$OVERRIDE_TARGET" - OVERRIDE_TARGET= - export OVERRIDE_TARGET - TARGET=`$ERL_TOP/erts/autoconf/config.guess` - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET primary_bootstrap || exit 1; - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET all_bootstraps || exit 1 - OVERRIDE_TARGET="$save_ot" - export OVERRIDE_TARGET - TARGET="$save_t" -} - do_primary () { setup_make if [ "x$OVERRIDE_TARGET" != "x" -a "x$OVERRIDE_TARGET" != "xwin32" ]; then - do_primary_cross + echo "OVERRIDE_TARGET set" >&2 + exit 1 else $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET primary_bootstrap || exit 1; fi @@ -1029,59 +1081,54 @@ do_cancel_prel () echo '*****************************************************' } - - -do_boot_cross () -{ - SAVE_TARGET=$TARGET - SAVE_OVERRIDE_TARGET=$OVERRIDE_TARGET - OVERRIDE_TARGET= - TARGET=`$ERL_TOP/erts/autoconf/config.guess` - - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET all_bootstraps || exit 1; - - TARGET=$SAVE_TARGET - OVERRIDE_TARGET=$SAVE_OVERRIDE_TARGET - - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET libs || exit 1; - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET depend || exit 1; - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET emulator || exit 1; -} - -do_boot_emu_cross () -{ - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET emulator || exit 1; -} do_boot () { setup_make - if [ "x$OVERRIDE_TARGET" != "x" -a "x$OVERRIDE_TARGET" != "xwin32" ]; then - do_boot_cross - else - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET all || exit 1 + + # Bootstrap if we are cross compiling + if [ X`$MAKE is_cross_configured` = Xyes ]; then + TARGET=$BUILDSYS + $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT CROSS_COMPILING=no TARGET=$TARGET bootstrap || exit 1 + TARGET=`$MAKE target_configured` + elif [ "x$OVERRIDE_TARGET" != "x" -a "x$OVERRIDE_TARGET" != "xwin32" ]; then + hide_vars OVERRIDE_TARGET TARGET + TARGET=$BUILDSYS + $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET bootstrap || exit 1 + + restore_vars OVERRIDE_TARGET TARGET fi + + # Build it (including bootstrap if not cross compiling) + $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET all || exit 1 } do_boot_emu () { setup_make - if [ "x$OVERRIDE_TARGET" != "x" -a "x$OVERRIDE_TARGET" != "xwin32" ]; then - do_boot_emu_cross - else - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET emulator || exit 1 + if [ X`$MAKE is_cross_configured` = Xyes ]; then + TARGET=`$MAKE target_configured` fi + $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET emulator || exit 1 } do_release () { setup_make - $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET RELEASE_ROOT=$1 release || exit 1 + if [ X`$MAKE is_cross_configured` = Xyes ]; then + TARGET=`$MAKE target_configured` + fi + $MAKE MAKE="$MAKE" BOOTSTRAP_ROOT=$BOOTSTRAP_ROOT TARGET=$TARGET \ + RELEASE_ROOT=$1 OTP_STRICT_INSTALL=$OTP_STRICT_INSTALL \ + release || exit 1 } do_tests () { setup_make + if [ X`$MAKE is_cross_configured` = Xyes ]; then + TARGET=`$MAKE target_configured` + fi if [ X"$1" = X"" ]; then $MAKE MAKE="$MAKE" TARGET=$TARGET release_tests || exit 1 else @@ -1232,10 +1279,6 @@ esac if [ ! -z "$OVERRIDE_TARGET" ]; then TARGET="$OVERRIDE_TARGET" -else - if [ "x$erl_xcomp_host" != "x" ]; then - finalize_xcomp_conf - fi fi # Setting a bootstrap root is inherently very dangerous now that the bootstrap @@ -1263,10 +1306,6 @@ else fi export OTP_SMALL_BUILD -if [ "x$ERL_XCOMP_CONF" != "x" ]; then - . $ERL_XCOMP_CONF -fi - TYPE= case "$1" in all) diff --git a/prebuild.skip b/prebuild.skip index 1f88ed4c6d..e366c6a164 100644 --- a/prebuild.skip +++ b/prebuild.skip @@ -1,3 +1,4 @@ Makefile bin bootstrap/bin +ibin diff --git a/xcomp/README b/xcomp/README index dfda81fc8e..4cb577471a 100644 --- a/xcomp/README +++ b/xcomp/README @@ -1,10 +1,10 @@ -================================================================================ - Cross compiling Erlang/OTP -================================================================================ +=============================================================================== + Cross compiling Erlang/OTP +=============================================================================== %CopyrightBegin% -Copyright Ericsson AB 2009. All Rights Reserved. +Copyright Ericsson AB 2009-2010. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in @@ -19,200 +19,413 @@ under the License. %CopyrightEnd% -================================================================================ +=============================================================================== + +This document describes how to cross compile Erlang/OTP. Note that the support +for cross compiling Erlang/OTP is in its early stage of development, and +should be considered as experimental. You are encouraged to read the whole +document before attempting to cross compile Erlang/OTP. + +Building Erlang/OTP can be done either by using the `$ERL_TOP/otp_build' +script, or by invoking `configure' and `make' directly. The +`erl-xcomp.conf.template' file contains all available configuration variables +and can be used as a template when creating a configuration. See +`erl-xcomp-TileraMDE2.0-tilepro.conf` and `erl-xcomp-x86_64-saf-linux-gnu.conf' +for examples of working configurations. + +The configuration files can be passed to `$ERL_TOP/otp_build configure' using +the `--xcomp-conf' command line argument. Note that `configure' doesn't accept +this command line argument. When using the `configure' script directly, pass +the configuration variables as arguments to `configure' (or exported in the +environment). If the default behavior of a variable is satisfactory, the +variable doesn't need to be set. However, the `configure' script will issue a +warning when a default value is used. When a variable has been set, no warning +will be issued. + +All Erlang/OTP applications except the `wx' application can be cross compiled. +The build of the `wx' driver will currently be automatically disabled when +cross compiling. + +Note, that `$ERL_TOP/otp_build configure' will produce a default configuration +that differs from what `$ERL_TOP/configure' will produce by default. For +example, currently `--disable-dynamic-ssl-lib' is added to the +`$ERL_TOP/configure' command line arguments unless `--enable-dynamic-ssl-lib' +has been explicitly passed. The defaults used by `$ERL_TOP/otp_build configure' +may change at any time without prior notice. + +The build system, including cross compilation configuration variables used, +may be subject to non backward compatible changes without prior notice. +Current cross build system has been tested when cross compiling some Linux/GNU +systems, but has only been partly tested for more esoteric platforms. The +VxWorks example file is highly dependent on our environment and is here more +or less only for internal use. -This directory contains a configuration file template and configuration examples -for cross compiling Erlang/OTP. The configuration files contain configuration -variables and should be supplied to the $ERL_TOP/otp_build when setting up an -appropriate environment for cross compiling. The currently used configuration -variables are described later in this document. +Please submit any patches for cross compiling in a way consistent with this +system. All input is welcome as we have a very limited set of cross compiling +environments to test with. If a new configuration variable is needed, add it +to `$ERL_TOP/xcomp/erl-xcomp.conf.template', and use it in `configure.in'. +Other files that might need to be updated are: +- `$ERL_TOP/xcomp/erl-xcomp-vars.sh' +- `$ERL_TOP/erl-build-tool-vars.sh' +- `$ERL_TOP/erts/aclocal.m4' +- `$ERL_TOP/xcomp/README' +- `$ERL_TOP/xcomp/erl-xcomp-*.conf' +Note that this might be an incomplete list of files that need to be updated. -The erl-xcomp.conf.template contains all available configuration variables -and can be used as a template when creating a configuration. See the -erl-xcomp-TileraMDE2.0-tilepro.conf for an example of a working configuration -file. +General information on how to submit patches can be found at: + http://wiki.github.com/erlang/otp/submitting-patches -Instead of using the configuration files one can export the configuration -variables as ordinary environment variables before calling otp_build. If -default behavior of a variable is satisfactory, the variable need not to -be set and exported. +======= Build and Install ===================================================== -Note that the support for cross compiling is in its early stage of development, -and should be considered as experimental. The build system including cross -compilation configuration variables used may be subject to non backward -compatible changes without prior notice. It works for cross compiling some -Linux/GNU systems, but has only been partly tested for more esoteric platforms. -The VxWorks example file is highly dependent on our environment and is here -more or less only for internal use. + [1] -Please submit any patches for cross compiling in a way consistent with this -system. If a new configuration variable is needed for your system, add it to the -template file, use it in otp_build, aclocal.m4 and/or configure.in. All input is -welcome as we cannot possibly have all cross compiling environments out there to -test with. +Change directory into the top directory of the Erlang/OTP source tree. -General information on how to submit patches can be found at: - http://wiki.github.com/erlang/otp/submitting-patches + $ cd $ERL_TOP + +------- Build ----------------------------------------------------------------- + +In order to compile Erlang code, a small Erlang bootstrap system has to be +built, or an Erlang/OTP system of the same release as the one being built +has to be provided in the `$PATH'. The Erlang/OTP for the target system will +be built using this Erlang system, together with the cross compilation tools +provided. + +If you want to build using a compatible Erlang/OTP system in the `$PATH', +jump to [3]. + +-- Building a bootstrap system -- + + [2] + + $ ./configure --enable-bootstrap-only + $ make + +The `--enable-bootstrap-only' argument to `configure' isn't strictly necessary, +but will speed things up. It will only run `configure' in applications +necessary for the bootstrap, and will disable a lot of things not needed by +the bootstrap system. If you run `configure' without `--enable-boostrap-only' +you also have to run make as `make bootstrap'; otherwise, the whole system will +be built. + +-- Cross building the system -- + + [3] + + $ ./configure --build=<BUILD> --host=<HOST> [Other Configure Args] + $ make + +<BUILD> should equal the CPU-VENDOR-OS triplet of the system that you build +on. If you execute `$ERL_TOP/erts/autoconf/config.guess', it will in most +cases print the triplet you want to use for this. + +<HOST> is the system that you build for. It does not have to be a full +CPU-VENDOR-OS triplet, but can be. The full CPU-VENDOR-OS triplet will be +created by executing `$ERL_TOP/erts/autoconf/config.sub <HOST>'. If +`config.sub' fails, you need to be more specific. + +Pass the cross compilation variables as command line arguments to `configure' +using a `<VAR>=<VALUE>' syntax (or export them in the environment). Note that +you can *not* pass a configuration file using `--xcomp-conf=<FILE>' when you +invoke `configure' directly. The `--xcomp-conf=<FILE>' argument can only +be passed to `$ERL_TOP/otp_build configure'. + +`make' will verify that the Erlang/OTP system used when building is of the +same release as the system being built, and will fail if this is not the case. +It is possible, however not recommended, to force the cross compilation even +though the wrong Erlang/OTP system is used. This by invoking `make' like this: +`make ERL_XCOMP_FORCE_DIFFERENT_OTP=yes'. Note that this build might fail, +silently produce suboptimal code, or silently produce erroneous code. + +-- Installing -- + +You can either install using the installation paths determined by `configure' +[4], or install manually using [5]. + + [4] + + $ make install DESTDIR=<TEMPORARY_PREFIX> + +`make install' will install at a location specified when doing `configure'. +`configure' arguments specifying where the installation should reside are for +example: `--prefix', `--exec-prefix', `--libdir', `--bindir', etc. By default +it will install under `/usr/local'. You typically do not want to install your +cross build under `/usr/local' on your build machine. Using `DESTDIR' will +cause the installation paths to be prefixed by `$DESTDIR'. This makes it +possible to install and package the installation on the build machine without +having to place the installation in the same directory on the build machine as +it should be executed from on the target machine. + +When `make install' has finished, change directory into `$DESTDIR', package +the system, move it to the target machine, and unpack it. Note that the +installation will only be working on the target machine at the location +determined by `configure'. + +Installing manually: + + [5] + + $ make release RELEASE_ROOT=<RELEASE_DIR> + +`make release' will copy what you have built for the target machine to +`<RELEASE_DIR>'. The `Install' script will not be run. The content of +`<RELEASE_DIR>' is what by default ends up in `/usr/local/lib/erlang'. -== Build and Install =========================================================== +The `Install' script used when installing Erlang/OTP requires common Unix +tools such as `sed' to be present in your `$PATH'. If your target system +does not have such tools, you need to run the `Install' script on your +build machine before packaging Erlang/OTP. The `Install' script should +currently be invoked as follows in the directory where it resides +(the top directory): + `./Install [-cross] [-minimal|-sasl] <ERL_ROOT>' + where: + -minimal - Creates an installation that starts up a minimal amount + of applications, i.e., only `kernel' and `stdlib' are + started. The minimal system is normally enough. + -sasl - Creates an installation that also starts up the `sasl' + application. + -cross - For cross compilation. Informs the install script that it + is run on the build machine. + <ERL_ROOT> - The absolute path to the Erlang installation to use at run + time. This is often the same as the current working + directory, but does not have to be. It can follow any other + path through the file system to the same directory. +If neither `-minimal', nor `-sasl' is passed as argument you will be +prompted. - [1] $ cd $ERL_TOP +You can now either: -Either set up your cross compilation variables in the environment manually, -or set up the environment using a configuration file by executing: - [2] $ eval `./otp_build env_cross <ABSOLUTE_PATH_TO_XCONF_FILE>` + [6] -Configure and build Erlang/OTP: - [3] $ ./otp_build configure - [4] $ ./otp_build boot -a - [5] $ ./otp_build release -a <ABSOLUTE_PATH_TO_RELEASE_ROOT> +* Decide where the installation should be located on the target machine, run + the `Install' script on the build machine, and package the installed + installation. The installation just need to be unpacked at the right + location on the target machine: -The Install script used when installing Erlang/OTP requires common Unix -tools such as 'sed' to be present in your PATH. If your target system -does not have such tools, you need to run the Install script on your -build machine before packing Erlang/OTP. If so, run the Install script -like follows; otherwise skip [6] and [7]: - [6] $ cd <ABSOLUTE_PATH_TO_RELEASE_ROOT> - [7] $ ./Install -cross <ABSOLUTE_INSTALL_ROOT_ON_TARGET> # answer questions + $ cd <RELEASE_DIR> + $ ./Install -cross [-minimal|-sasl] <ABSOLUTE_INSTALL_DIR_ON_TARGET> -Pack Erlang/OTP as follows (gnu tar is assumed): - [8] $ cd <ABSOLUTE_PATH_TO_RELEASE_ROOT> - [9] $ tar -zcf <WHERE_TO_SAVE_THE_RELEASE>/<RELEASE_NAME>.tar.gz * + [7] -Install Erlang/OTP on the target system like follows. If you ran the Install -script before packing ([6] and [7]) you should skip [12]: - [10] $ cd <ABSOLUTE_INSTALL_ROOT_ON_TARGET> - [11] $ tar -zxf <WHERE_THE_PACKED_RELEASE_EXIST>/<RELEASE_NAME>.tar.gz - [12] $ ./Install <ABSOLUTE_INSTALL_ROOT_ON_TARGET> # answer questions +* Package the installation in <RELEASE_DIR>, place it wherever you want on + your target machine, and run the `Install' script on your target machine: -<ABSOLUTE_INSTALL_ROOT_ON_TARGET> usually equals current working directory -when you run the Install script on the target system, but does not have to. -It can follow another path through the file system to the same directory. -<ABSOLUTE_INSTALL_ROOT_ON_TARGET> is the path that will be used when running -Erlang/OTP and is the path that have to be available at run time. + $ cd <ABSOLUTE_INSTALL_DIR_ON_TARGET> + $ ./Install [-minimal|-sasl] <ABSOLUTE_INSTALL_DIR_ON_TARGET> -== Currently used configuration variables ====================================== +-- Building with the `otp_build' script -- --- Mandatory ------------------------------------------------------------------- + [8] -* erl_xcomp_host - Target system. The value will be passed as '--host' argument to the configure - script. It does not have to be a full CPU-VENDOR-OS triplet, but can be. The - full CPU-VENDOR-OS triplet will be created by: - $ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host + $ cd $ERL_TOP --- Optional -------------------------------------------------------------------- + [9] -* erl_xcomp_configure_flags - To override the configure flags for a special target system, you - can set this variable which overrides configure parameters on the - command line and instead uses the specified options. The variable - leaves the build-host system untouched. + $ ./otp_build configure [--build=<BUILD>] [--host=<HOST>] \ + [--with-xcomp-conf=<FILE>] [Other Configure Args] --- Optional build environment flags -- +If you have your cross compilation configuration in a file, pass it using the +`--xcomp-conf=<FILE>' command line argument. If not, pass the configuration +variables on the command line using a `<VAR>=<VALUE>' syntax (or in the +environment). -If the cross compilation tools aren't prefixed by '$erl_xcomp_host-', -you will have to use these configuration variables in order to use the -right cross compilation tools. +`--build=<BUILD>', and `--host=<HOST>' are the same as described at [3]. +The `--xcomp-conf=<FILE>' argument causes `otp_build' to read the cross +compilation configuration from `<FILE>'. All of these arguments are in this +case optional, but `<BUILD>', and `<HOST>' must be given either by passing +`--build=<BUILD>' and `--host=<HOST>' on the command line, or by setting +`erl_xcomp_build=<HOST>', and `erl_xcomp_host=<HOST>' in `<FILE>' and +passing the `--xcomp-conf=<FILE>' argument. -* erl_xcomp_cc - C compiler. +`otp_build configure' will configure both for the boostrap system on the +build machine and the cross host system. -* erl_xcomp_ld - Linker. + [10] -* erl_xcomp_cflags - C compiler flags. + $ ./otp_build boot -a -* erl_xcomp_cpp - C pre processor. + 'otp_build boot -a' will first build a bootstrap system +for the build machine and then do the cross build of the system. -* erl_xcomp_ldflags - Linker flags. + [11] -* erl_xcomp_ranlib - Ranlib program. + $ ./otp_build release -a <RELEASE_DIR> -* erl_xcomp_ar - Ar program. +'otp_build release -a' will do the same as [5], and you will after this have +to do a manual install either by doing [6], or [7]. -* erl_xcomp_ded_ld - Dynamic Erlang Driver linker. +======== Currently used configuration variables =============================== -* erl_xcomp_ded_ldflags - Dynamic Erlang Driver linker flags. +Note that you cannot define arbitrary variables in a cross compilation +configuration file. Only the ones listed below will be guaranteed to be +visible throughout the whole execution of all `configure' scripts. Other +variables needs to be defined as arguments to `configure' or exported in +the environment. -* erl_xcomp_ded_ld_runtime_library_path - Dynamic Erlang Driver runtime linker path. +-------- `otp_build' only variables ------------------------------------------- --- Optional feature, or bug tests -- +Variables in this section are only used, when configuring Erlang/OTP for +cross compilation using `$ERL_TOP/otp_build configure'. + +NOTE! These variables currently have *no* effect if you configure using the +`configure' script directly. + +* erl_xcomp_build - Build system. + This value will be passed as `--build=$erl_xcomp_build' argument to the + `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, + but can be. The full CPU-VENDOR-OS triplet will be created by: + `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build' + If `erl_xcomp_build=guess', the build system will be guessed using: + `$ERL_TOP/erts/autoconf/config.guess'. + +* erl_xcomp_host - Cross host system. + This value will be passed as `--host=$erl_xcomp_host' argument to the + `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, + but can be. The full CPU-VENDOR-OS triplet will be created by: + `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host' + +* erl_xcomp_configure_flags - Extra configure flags. + Extra flags to pass to the `configure' script. + +-------- Cross compiler and other tools to use -------------------------------- + +If the cross compilation tools are prefixed by `<HOST>-' you probably do +not need to set these variables (where `<HOST>' is what has been passed as +`--host=<HOST>' argument to `configure'). + +* CC - C compiler. + +* CFLAGS - C compiler flags. + +* STATIC_CFLAGS - Static C compiler flags. + +* CFLAG_RUNTIME_LIBRARY_PATH - C compiler runtime library path flag. + This flag should set a specific runtime library path for the shared + library at link time. Note that this is actually a linker flag, but it + needs to be passed via the compiler. + +* CPP - C pre-processor. + +* CPPFLAGS - C pre-processor flags. + +* CXX - C++ compiler. + +* CXXFLAGS - C++ compiler flags. + +* LD - Linker + +* LDFLAGS - Linker flags. + +-- Dynamic Erlang Driver linker flags. -- + +NOTE! Either define all or non of the DED_LD* variables. + +* DED_LD - Linker. + +* DED_LDFLAGS - Linker flags. + +* DED_LD_FLAG_RUNTIME_LIBRARY_PATH - Linker runtime library path flag. + This flag should set a specific runtime library path for the shared + library at link time. + +-- Other tools -- + +* RANLIB - ranlib + +* AR - ar + +-------- Cross System Root Locations ------------------------------------------ + +* erl_xcomp_sysroot - Absolute cross system root path. + The absolute path to the system root of the cross compilation + environment. Currently, the `crypto', `odbc', `ssh' and `ssl' + applications need the system root. These applications will be skipped + if the system root has not been set. The system root might be needed + for other things too. If this is the case and the system root has not + been set, `configure' will fail and request you to set it. + +* erl_xcomp_isysroot - Absolute cross include system root path. + The absolute path to the system root for includes of the cross + compilation environment. If not set, this value defaults to + `$erl_xcomp_sysroot', i.e., only set this value if the include system + root path is not the same as the system root path. + +-------- Optional feature, or bug tests --------------------------------------- These tests cannot (always) be done automatically when cross compiling. You usually does not need to set these variables. Only set these if you really know what you are doing. +The `configure' script will issue a warning when a default value is used. +When a variable has been set, no warning will be issued. + * erl_xcomp_bigendian - yes|no - If yes, the target system must be big endian. If no, little endian. This can - often be automatically detected, but not always. If not automatically - detected, configure will fail unless this variable is set. No default value - is used, i.e., configure will try to figure this out automatically. - -* erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to yes) - If yes, clock_gettime(CLOCK_MONOTONIC, _) on the target system must work. - This variable is recommended to be set to no on Linux systems with kernel - versions less than 2.6. - -* erl_xcomp_linux_nptl - yes|no (defaults to yes on Linux; otherwise, no) - If yes, the target system must have NPTL (Native POSIX Thread Library). - Older Linux systems have LinuxThreads instead of NPTL (Linux kernel - versions typically less than 2.6). - -* erl_xcomp_linux_usable_sigusrx - yes|no (defaults to yes) - If yes, the SIGUSR1 and SIGUSR2 must be usable by the ERTS. Old - LinuxThreads thread libraries (Linux kernel versions less than 2.2) used - these signals and made them unusable by the ERTS. - -* erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to yes) - If yes, sigaltstack() must be usable on the target system. sigaltstack() - on Linux kernel versions less than 2.4 are broken. - -* erl_xcomp_poll - yes|no (defaults to no on Darwin/MacOSX; otherwise, yes) - If yes, the target system must have a working poll() implementation that also - can handle devices. If no, select() will be used instead of poll(). - -* erl_xcomp_kqueue - yes|no (defaults to no) - If yes, the target system must have a working kqueue() implementation that - returns a file descriptor which can be used by poll() and/or select(). - If no and the target system has not got epoll() or /dev/poll, the kernel-poll - feature will be disabled. - -* erl_xcomp_putenv_copy - yes|no (defaults to no) - If yes, the target system must have a putenv() implementation that stores a - copy of the key/value pair. - -* erl_xcomp_reliable_fpe - yes|no (defaults to no) - If yes, the target system must have reliable floating point exceptions. - -* erl_xcomp_getaddrinfo - yes|no (defaults to no) - If yes, the target system must have a working getaddrinfo() implementation - that can handle both IPv4 and IPv6. - -* erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to no) - If yes, the target system must have a working gethrvtime() implementation - and is used with procfs ioctl(). - -* erl_xcomp_clock_gettime - yes|no (defaults to no) - If yes, the target system must have a working clock_gettime() implementation - that can be used for retrieving process CPU time. - -* erl_xcomp_after_morecore_hook - yes|no (defaults to no) - If yes, the target system must have a working __after_morecore_hook that can - be used for tracking used malloc() implementations core memory usage. - -* erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to no) - If yes, the target system must have a working dlsym(RTLD_NEXT, <S>) - implementation that can be used on 'brk' and 'sbrk' symbols used by the - malloc() implementation in use, and by this track the malloc() implementations - core memory usage. - -================================================================================ + If `yes', the target system must be big endian. If `no', little endian. + This can often be automatically detected, but not always. If not + automatically detected, `configure' will fail unless this variable is + set. No default value is used, i.e., `configure' will try to figure + this out automatically. + +* erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to `yes' on + Linux; otherwise, `no') + If `yes', `clock_gettime(CLOCK_MONOTONIC, _)' on the target system must + work. This variable is recommended to be set to `no' on Linux systems + with kernel versions less than 2.6. + +* erl_xcomp_linux_nptl - yes|no (defaults to `yes' on Linux; otherwise, `no') + If `yes', the target system must have NPTL (Native POSIX Thread Library). + Older Linux systems have LinuxThreads instead of NPTL (Linux kernel + versions typically less than 2.6). + +* erl_xcomp_linux_usable_sigusrx - yes|no (defaults to `yes') + If `yes', the `SIGUSR1' and `SIGUSR2' signals must be usable by the ERTS. + Old LinuxThreads thread libraries (Linux kernel versions less than 2.2) + used these signals and made them unusable by the ERTS. + +* erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to `yes' on Linux; + otherwise, `no') + If `yes', `sigaltstack()' must be usable on the target system. + `sigaltstack()' on Linux kernel versions less than 2.4 are broken. + +* erl_xcomp_poll - yes|no (defaults to `no' on Darwin/MacOSX; otherwise, `yes') + If `yes', the target system must have a working `poll()' implementation + that also can handle devices. If `no', `select()' will be used instead of + `poll()'. + +* erl_xcomp_kqueue - yes|no (defaults to `no') + If `yes', the target system must have a working `kqueue()' implementation + that returns a file descriptor which can be used by `poll()' and/or + `select()'. If `no' and the target system has not got `epoll()' or + `/dev/poll', the kernel-poll feature will be disabled. + +* erl_xcomp_putenv_copy - yes|no (defaults to `no') + If `yes', the target system must have a `putenv()' implementation that + stores a copy of the key/value pair. + +* erl_xcomp_reliable_fpe - yes|no (defaults to `no') + If `yes', the target system must have reliable floating point exceptions. + +* erl_xcomp_getaddrinfo - yes|no (defaults to `no') + If `yes', the target system must have a working `getaddrinfo()' + implementation that can handle both IPv4 and IPv6. + +* erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to `no') + If `yes', the target system must have a working `gethrvtime()' + implementation and is used with procfs `ioctl()'. + +* erl_xcomp_clock_gettime_cpu_time - yes|no (defaults to `no') + If `yes', the target system must have a working `clock_gettime()' + implementation that can be used for retrieving process CPU time. + +* erl_xcomp_after_morecore_hook - yes|no (defaults to `no') + If `yes', the target system must have a working `__after_morecore_hook' + that can be used for tracking used `malloc()' implementations core memory + usage. + +* erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to `no') + If `yes', the target system must have a working `dlsym(RTLD_NEXT, <S>)' + implementation that can be used on `brk' and `sbrk' symbols used by the + `malloc()' implementation in use, and by this track the `malloc()' + implementations core memory usage. + +=============================================================================== diff --git a/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf b/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf index c8e7212e1f..67da8b5abb 100644 --- a/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf +++ b/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf @@ -1,200 +1,236 @@ -### -### %CopyrightBegin% -### -### Copyright Ericsson AB 2009. All Rights Reserved. -### -### The contents of this file are subject to the Erlang Public License, -### Version 1.1, (the "License"); you may not use this file except in -### compliance with the License. You should have received a copy of the -### Erlang Public License along with this software. If not, it can be -### retrieved online at http://www.erlang.org/. -### -### Software distributed under the License is distributed on an "AS IS" -### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -### the License for the specific language governing rights and limitations -### under the License. -### -### %CopyrightEnd% -### -### File: erl-xcomp-TileraMDE2.0-tilepro.conf -### Author: Rickard Green -### - -### ---------------------------------------------------------------------------- -### When cross compiling Erlang/OTP, copy this file and set the variables -### needed below. Then pass the path to the copy of this file as an argument -### to "eval `otp_build env_cross <absolute path to erl-xcomp.conf file>`". -### ---------------------------------------------------------------------------- - -### ---------------------------------------------------------------------------- -### Variables in the following section *have* to be set. -### - - -## -## Target system. The value will be passed as '--host' argument to the configure -## script. It does not have to be a full CPU-VENDOR-OS tripplet, but can be. The -## full CPU-VENDOR-OS tripplet will be created by: -## $ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host -## +#### -*-shell-script-*- +#### +#### %CopyrightBegin% +#### +#### Copyright Ericsson AB 2009-2010. All Rights Reserved. +#### +#### The contents of this file are subject to the Erlang Public License, +#### Version 1.1, (the "License"); you may not use this file except in +#### compliance with the License. You should have received a copy of the +#### Erlang Public License along with this software. If not, it can be +#### retrieved online at http://www.erlang.org/. +#### +#### Software distributed under the License is distributed on an "AS IS" +#### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +#### the License for the specific language governing rights and limitations +#### under the License. +#### +#### %CopyrightEnd% +#### +#### File: erl-xcomp-TileraMDE2.0-tilepro.conf +#### Author: Rickard Green +#### +#### -------------------------------------------------------------------------- +#### When cross compiling Erlang/OTP using `otp_build', copy this file and set +#### the variables needed below. Then pass the path to the copy of this file as +#### an argument to `otp_build' in the configure stage: +#### `otp_build configure --xcomp-conf=<FILE>' +#### -------------------------------------------------------------------------- + +### Note that you cannot define arbitrary variables in a cross compilation +### configuration file. Only the ones listed below will be guaranteed to be +### visible throughout the whole execution of all `configure' scripts. Other +### variables needs to be defined as arguments to `configure' or exported in +### the environment. + +### ---- `otp_build' only variables ------------------------------------------- + +### Variables in this section are only used, when configuring Erlang/OTP for +### cross compilation using `$ERL_TOP/otp_build configure'. + +### NOTE! These variables currently have *no* effect if you configure using the +### `configure' script directly. + +## erl_xcomp_build - Build system. +## This value will be passed as `--build=$erl_xcomp_build' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build' +## If `erl_xcomp_build=guess', the build system will be guessed using: +## `$ERL_TOP/erts/autoconf/config.guess'. +erl_xcomp_build=guess + +## erl_xcomp_host - Cross host system. +## This value will be passed as `--host=$erl_xcomp_host' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host' erl_xcomp_host=tile -### ---------------------------------------------------------------------------- -### ---------------------------------------------------------------------------- -### To override the configure flags for a special target system, You -### can set this variable which overrides configure parameters on the -### command line and instead uses the specified options. The variable -### leaves the build-host system untouched. -### ---------------------------------------------------------------------------- +## erl_xcomp_configure_flags - Extra configure flags. +## Extra flags to pass to the `configure' script. erl_xcomp_configure_flags="--without-termcap" -###----------------------------------------------------------------------------- -### You can specify a specific CC or LD for the build target (the cross -### compiler) here along with magic CFLAGS and/or LDFLAGS if needed -### ar and ranlib might also be specified if needed. -###----------------------------------------------------------------------------- +### ---- Cross compiler and other tools to use -------------------------------- -erl_xcomp_cc= +### If the cross compilation tools are prefixed by `<HOST>-' you probably do +### not need to set these variables (where `<HOST>' is what has been passed as +### `--host=<HOST>' argument to `configure'). -erl_xcomp_ld= +## CC - C compiler. +#CC= -erl_xcomp_cflags= +## CFLAGS - C compiler flags. +#CFLAGS= -erl_xcomp_cpp= +## STATIC_CFLAGS - Static C compiler flags. +#STATIC_CFLAGS= -erl_xcomp_ldflags= +## CFLAG_RUNTIME_LIBRARY_PATH - C compiler runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. Note that this is actually a linker flag, but it +## needs to be passed via the compiler. +#CFLAG_RUNTIME_LIBRARY_PATH= -erl_xcomp_ranlib= +## CPP - C pre-processor. +#CPP= -erl_xcomp_ar= +## CPPFLAGS - C pre-processor flags. +#CPPFLAGS= -###----------------------------------------------------------------------------- -### The ded_ls and ded_ldflags variables control linking of dynamically loaded -### erlang drivers. On i.e. Linux these are set to -### $(CC) and "-shared" respectively, but other OS'es might need other -### programs and flags to build a dynamic library. -### erl_xcomp_ded_ld_runtime_library_path is the flag to set a -### specific runtime library path for the shared library at link time, -### usually this should be left empty. -###----------------------------------------------------------------------------- +## CXX - C++ compiler. +#CXX= -erl_xcomp_ded_ld= +## CXXFLAGS - C++ compiler flags. +#CXXFLAGS= -erl_xcomp_ded_ldflags= +## LD - Linker +#LD= -erl_xcomp_ded_ld_runtime_library_path= +## LDFLAGS - Linker flags. +#LDFLAGS= -### -### Optional feature, or bug tests -### -### These tests cannot (always) be done automatically when cross compiling. -### You usually does not need to set these variables. Only set these if you -### really know what you are doing. -### +### -- Dynamic Erlang Driver linker flags. -- + +### NOTE! Either define all or non of the DED_LD* variables. + +## DED_LD - Linker. +#DED_LD= + +## DED_LDFLAGS - Linker flags. +#DED_LDFLAGS= + +## DED_LD_FLAG_RUNTIME_LIBRARY_PATH - Linker runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. +#DED_LD_FLAG_RUNTIME_LIBRARY_PATH= + +### -- Other tools -- + +## RANLIB - ranlib +#RANLIB= + +## AR - ar +#AR= + +### ---- Cross System Root Locations ------------------------------------------ + +## erl_xcomp_sysroot - Absolute cross system root path. +## The absolute path to the system root of the cross compilation +## environment. Currently, the `crypto', `odbc', `ssh' and `ssl' +## applications need the system root. These applications will be skipped +## if the system root has not been set. The system root might be needed +## for other things too. If this is the case and the system root has not +## been set, `configure' will fail and request you to set it. +erl_xcomp_sysroot="$TILERA_ROOT/tile" + +## erl_xcomp_isysroot - Absolute cross include system root path. +## The absolute path to the system root for includes of the cross +## compilation environment. If not set, this value defaults to +## `$erl_xcomp_sysroot', i.e., only set this value if the include system +## root path is not the same as the system root path. +#erl_xcomp_isysroot= + +### ---- Optional feature, or bug tests --------------------------------------- + +### These tests cannot (always) be done automatically when cross compiling. You +### usually does not need to set these variables. Only set these if you really +### know what you are doing. + +### The `configure' script will issue a warning when a default value is used. +### When a variable has been set, no warning will be issued. -## ## erl_xcomp_bigendian - yes|no -## If yes, the target system must be big endian. If no, little endian. This -## can often be automatically detected, but not always. If not automatically -## detected, configure will fail unless this variable is set. No default value -## is used, i.e., configure will try to figure this out automatically. -erl_xcomp_bigendian= - -## -## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to yes) -## If yes, clock_gettime(CLOCK_MONOTONIC, _) on the target system must work. -## This variable is recommended to be set to no on Linux systems with kernel -## versions less than 2.6. -## -erl_xcomp_linux_clock_gettime_correction=yes - -## -## erl_xcomp_linux_nptl - yes|no (defaults to yes on Linux; otherwise, no) -## If yes, the target system must have NPTL (Native POSIX Thread Library). -## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel -## versions typically less than 2.6). -## -erl_xcomp_linux_nptl=yes - -## -## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to yes) -## If yes, the SIGUSR1 and SIGUSR2 must be usable by the ERTS. Old -## LinuxThreads thread libraries (Linux kernel versions less than 2.2) used -## these signals and made them unusable by the ERTS. -## -erl_xcomp_linux_usable_sigusrx=yes - -## -## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to yes) -## If yes, sigaltstack() must be usable on the target system. sigaltstack() -## on Linux kernel versions less than 2.4 are broken. -## -erl_xcomp_linux_usable_sigaltstack=yes - -## -## erl_xcomp_poll - yes|no (defaults to no on Darwin/MacOSX; otherwise, yes) -## If yes, the target system must have a working poll() implementation that -## also can handle devices. If no, select() will be used instead of poll(). -## -erl_xcomp_poll=yes - -## -## erl_xcomp_kqueue - yes|no (defaults to no) -## If yes, the target system must have a working kqueue() implementation that -## returns a file descriptor which can be used by poll() and/or select(). -## If no and the target system has not got epoll() or /dev/poll, the -## kernel-poll feature will be disabled. -## -erl_xcomp_kqueue= - -## -## erl_xcomp_putenv_copy - yes|no (defaults to no) -## If yes, the target system must have a putenv() implementation that stores a -## copy of the key/value pair. -## -erl_xcomp_putenv_copy= - -## -## erl_xcomp_reliable_fpe - yes|no (defaults to no) -## If yes, the target system must have reliable floating point exceptions. -## -erl_xcomp_reliable_fpe= - -## -## erl_xcomp_getaddrinfo - yes|no (defaults to no) -## If yes, the target system must have a working getaddrinfo() implementation -## that can handle both IPv4 and IPv6. -## +## If `yes', the target system must be big endian. If `no', little endian. +## This can often be automatically detected, but not always. If not +## automatically detected, `configure' will fail unless this variable is +## set. No default value is used, i.e., `configure' will try to figure +## this out automatically. +#erl_xcomp_bigendian= + +## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to `yes' on +## Linux; otherwise, `no') +## If `yes', `clock_gettime(CLOCK_MONOTONIC, _)' on the target system must +## work. This variable is recommended to be set to `no' on Linux systems +## with kernel versions less than 2.6. +#erl_xcomp_linux_clock_gettime_correction= + +## erl_xcomp_linux_nptl - yes|no (defaults to `yes' on Linux; otherwise, `no') +## If `yes', the target system must have NPTL (Native POSIX Thread Library). +## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel +## versions typically less than 2.6). +#erl_xcomp_linux_nptl= + +## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to `yes') +## If `yes', the `SIGUSR1' and `SIGUSR2' signals must be usable by the ERTS. +## Old LinuxThreads thread libraries (Linux kernel versions less than 2.2) +## used these signals and made them unusable by the ERTS. +#erl_xcomp_linux_usable_sigusrx= + +## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to `yes' on Linux; +## otherwise, `no') +## If `yes', `sigaltstack()' must be usable on the target system. +## `sigaltstack()' on Linux kernel versions less than 2.4 are broken. +#erl_xcomp_linux_usable_sigaltstack= + +## erl_xcomp_poll - yes|no (defaults to `no' on Darwin/MacOSX; otherwise, `yes') +## If `yes', the target system must have a working `poll()' implementation +## that also can handle devices. If `no', `select()' will be used instead of +## `poll()'. +#erl_xcomp_poll= + +## erl_xcomp_kqueue - yes|no (defaults to `no') +## If `yes', the target system must have a working `kqueue()' implementation +## that returns a file descriptor which can be used by `poll()' and/or +## `select()'. If `no' and the target system has not got `epoll()' or +## `/dev/poll', the kernel-poll feature will be disabled. +#erl_xcomp_kqueue= + +## erl_xcomp_putenv_copy - yes|no (defaults to `no') +## If `yes', the target system must have a `putenv()' implementation that +## stores a copy of the key/value pair. +#erl_xcomp_putenv_copy= + +## erl_xcomp_reliable_fpe - yes|no (defaults to `no') +## If `yes', the target system must have reliable floating point exceptions. +#erl_xcomp_reliable_fpe= + +## erl_xcomp_getaddrinfo - yes|no (defaults to `no') +## If `yes', the target system must have a working `getaddrinfo()' +## implementation that can handle both IPv4 and IPv6. erl_xcomp_getaddrinfo=yes -## -## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to no) -## If yes, the target system must have a working gethrvtime() implementation -## and is used with procfs ioctl(). -## -erl_xcomp_gethrvtime_procfs_ioctl= - -## -## erl_xcomp_clock_gettime - yes|no (defaults to no) -## If yes, the target system must have a working clock_gettime() -## implementation that can be used for retrieving process CPU time. -## -erl_xcomp_clock_gettime= - -## -## erl_xcomp_after_morecore_hook - yes|no (defaults to no) -## If yes, the target system must have a working __after_morecore_hook that -## can be used for tracking used malloc() implementations core memory usage. -## -erl_xcomp_after_morecore_hook= - -## -## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to no) -## If yes, the target system must have a working dlsym(RTLD_NEXT, <S>) -## implementation that can be used on 'brk' and 'sbrk' symbols used by the -## malloc() implementation in use, and by this track the malloc() -## implementations core memory usage. -## -erl_xcomp_dlsym_brk_wrappers= - -### ---------------------------------------------------------------------------- +## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to `no') +## If `yes', the target system must have a working `gethrvtime()' +## implementation and is used with procfs `ioctl()'. +#erl_xcomp_gethrvtime_procfs_ioctl= + +## erl_xcomp_clock_gettime_cpu_time - yes|no (defaults to `no') +## If `yes', the target system must have a working `clock_gettime()' +## implementation that can be used for retrieving process CPU time. +#erl_xcomp_clock_gettime_cpu_time= + +## erl_xcomp_after_morecore_hook - yes|no (defaults to `no') +## If `yes', the target system must have a working `__after_morecore_hook' +## that can be used for tracking used `malloc()' implementations core memory +## usage. +#erl_xcomp_after_morecore_hook= + +## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to `no') +## If `yes', the target system must have a working `dlsym(RTLD_NEXT, <S>)' +## implementation that can be used on `brk' and `sbrk' symbols used by the +## `malloc()' implementation in use, and by this track the `malloc()' +## implementations core memory usage. +#erl_xcomp_dlsym_brk_wrappers= + +#### -------------------------------------------------------------------------- diff --git a/xcomp/erl-xcomp-vars.sh b/xcomp/erl-xcomp-vars.sh new file mode 100644 index 0000000000..d9972eb3db --- /dev/null +++ b/xcomp/erl-xcomp-vars.sh @@ -0,0 +1,29 @@ +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 2010. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% +# + +# +# erl_xcomp_vars - Cross configuration variables currently reqognized by +# `configure' scripts in OTP. +# +# NOTE: +# When updating, also update $ERL_TOP/xcomp/{README,erl-xcomp.conf.template}, +# and precious variables in $ERL_TOP/erts/aclocal.m4. +# + +erl_xcomp_vars="erl_xcomp_sysroot erl_xcomp_isysroot erl_xcomp_bigendian erl_xcomp_linux_clock_gettime_correction erl_xcomp_linux_nptl erl_xcomp_linux_usable_sigusrx erl_xcomp_linux_usable_sigaltstack erl_xcomp_poll erl_xcomp_kqueue erl_xcomp_putenv_copy erl_xcomp_reliable_fpe erl_xcomp_getaddrinfo erl_xcomp_gethrvtime_procfs_ioctl erl_xcomp_clock_gettime_cpu_time erl_xcomp_after_morecore_hook erl_xcomp_dlsym_brk_wrappers" diff --git a/xcomp/erl-xcomp-vxworks_ppc32.conf b/xcomp/erl-xcomp-vxworks_ppc32.conf index 19a9327239..fbd23c2fb9 100644 --- a/xcomp/erl-xcomp-vxworks_ppc32.conf +++ b/xcomp/erl-xcomp-vxworks_ppc32.conf @@ -1,199 +1,236 @@ -### -### %CopyrightBegin% -### -### Copyright Ericsson AB 2009. All Rights Reserved. -### -### The contents of this file are subject to the Erlang Public License, -### Version 1.1, (the "License"); you may not use this file except in -### compliance with the License. You should have received a copy of the -### Erlang Public License along with this software. If not, it can be -### retrieved online at http://www.erlang.org/. -### -### Software distributed under the License is distributed on an "AS IS" -### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -### the License for the specific language governing rights and limitations -### under the License. -### -### %CopyrightEnd% -### -### File: erl-xcomp-vxworks_ppc32.conf -### Author: Rickard Green/Patrik Nyblom -### - -### ---------------------------------------------------------------------------- -### When cross compiling Erlang/OTP, copy this file and set the variables -### needed below. Then pass the path to the copy of this file as an argument -### to "eval `otp_build env_cross <absolute path to erl-xcomp.conf file>`". -### ---------------------------------------------------------------------------- - -### ---------------------------------------------------------------------------- -### Variables in the following section *have* to be set. -### - -## -## Target system. The value will be passed as '--host' argument to the configure -## script. It does not have to be a full CPU-VENDOR-OS tripplet, but can be. The -## full CPU-VENDOR-OS tripplet will be created by: -## $ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host -## +#### -*-shell-script-*- +#### +#### %CopyrightBegin% +#### +#### Copyright Ericsson AB 2009-2010. All Rights Reserved. +#### +#### The contents of this file are subject to the Erlang Public License, +#### Version 1.1, (the "License"); you may not use this file except in +#### compliance with the License. You should have received a copy of the +#### Erlang Public License along with this software. If not, it can be +#### retrieved online at http://www.erlang.org/. +#### +#### Software distributed under the License is distributed on an "AS IS" +#### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +#### the License for the specific language governing rights and limitations +#### under the License. +#### +#### %CopyrightEnd% +#### +#### File: erl-xcomp-vxworks_ppc32.conf +#### Author: Rickard Green/Patrik Nyblom +#### +#### -------------------------------------------------------------------------- +#### When cross compiling Erlang/OTP using `otp_build', copy this file and set +#### the variables needed below. Then pass the path to the copy of this file as +#### an argument to `otp_build' in the configure stage: +#### `otp_build configure --xcomp-conf=<FILE>' +#### -------------------------------------------------------------------------- + +### Note that you cannot define arbitrary variables in a cross compilation +### configuration file. Only the ones listed below will be guaranteed to be +### visible throughout the whole execution of all `configure' scripts. Other +### variables needs to be defined as arguments to `configure' or exported in +### the environment. + +### ---- `otp_build' only variables ------------------------------------------- + +### Variables in this section are only used, when configuring Erlang/OTP for +### cross compilation using `$ERL_TOP/otp_build configure'. + +### NOTE! These variables currently have *no* effect if you configure using the +### `configure' script directly. + +## erl_xcomp_build - Build system. +## This value will be passed as `--build=$erl_xcomp_build' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build' +## If `erl_xcomp_build=guess', the build system will be guessed using: +## `$ERL_TOP/erts/autoconf/config.guess'. +erl_xcomp_build=guess + +## erl_xcomp_host - Cross host system. +## This value will be passed as `--host=$erl_xcomp_host' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host' erl_xcomp_host=powerpc-wrs-vxworks -### ---------------------------------------------------------------------------- -### ---------------------------------------------------------------------------- -### To override the configure flags for a special target system, You -### can set this variable which overrides configure parameters on the -### command line and instead uses the specified options. The variable -### leaves the build-host system untouched. -### ---------------------------------------------------------------------------- -erl_xcomp_configure_flags="--without-termcap" +## erl_xcomp_configure_flags - Extra configure flags. +## Extra flags to pass to the `configure' script. +erl_xcomp_configure_flags="--disable-threads --without-termcap" -###----------------------------------------------------------------------------- -### You can specify a specific CC or LD for the build target (the cross -### compiler) here along with magic CFLAGS and/or LDFLAGS if needed -### ar and ranlib might also be specified if needed. -###----------------------------------------------------------------------------- +### ---- Cross compiler and other tools to use -------------------------------- -erl_xcomp_cc="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ccppc" +### If the cross compilation tools are prefixed by `<HOST>-' you probably do +### not need to set these variables (where `<HOST>' is what has been passed as +### `--host=<HOST>' argument to `configure'). -erl_xcomp_ld="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ldppc" +## CC - C compiler. +CC="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ccppc" -erl_xcomp_cflags="-DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DWANT_NONBLOCKING -DHAVE_SENS -DHAVE_MEMMOVE -DVXWORKS -I$WIND_BASE/vxworks-6.3/target/h -I$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/lib/gcc/powerpc-wrs-vxworks/3.4.4/include -I$WIND_BASE/vxworks-6.3/target/h/wrn/coreip -I$WIND_BASE/vxworks-6.3/target/h -mstrict-align -fvolatile -fno-builtin -mlongcall" +## CFLAGS - C compiler flags. +CFLAGS="-DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DWANT_NONBLOCKING -DHAVE_SENS -DHAVE_MEMMOVE -DVXWORKS -I$WIND_BASE/vxworks-6.3/target/h -I$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/lib/gcc/powerpc-wrs-vxworks/3.4.4/include -I$WIND_BASE/vxworks-6.3/target/h/wrn/coreip -I$WIND_BASE/vxworks-6.3/target/h -mstrict-align -fvolatile -fno-builtin -mlongcall" -erl_xcomp_cpp="$erl_xcomp_cc $erl_xcomp_cflags -E" +## STATIC_CFLAGS - Static C compiler flags. +#STATIC_CFLAGS= -erl_xcomp_ldflags="-mlongcall" +## CFLAG_RUNTIME_LIBRARY_PATH - C compiler runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. Note that this is actually a linker flag, but it +## needs to be passed via the compiler. +#CFLAG_RUNTIME_LIBRARY_PATH= -erl_xcomp_ranlib="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ranlibppc" +## CPP - C pre-processor. +CPP="$CC $CFLAGS -E" -erl_xcomp_ar="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/arppc" +## CPPFLAGS - C pre-processor flags. +#CPPFLAGS= -###----------------------------------------------------------------------------- -### The ded_ls and ded_ldflags variables control linking of dynamically loaded -### erlang drivers. On i.e. Linux these are set to -### $(CC) and "-shared" respectively, but other OS'es might need other -### programs and flags to build a dynamic library. -### erl_xcomp_ded_ld_runtime_library_path is the flag to set a -### specific runtime library path for the shared library at link time, -### usually this should be left empty. -###----------------------------------------------------------------------------- +## CXX - C++ compiler. +#CXX= -erl_xcomp_ded_ld= +## CXXFLAGS - C++ compiler flags. +#CXXFLAGS= -erl_xcomp_ded_ldflags= +## LD - Linker +LD="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ldppc" -erl_xcomp_ded_ld_runtime_library_path= +## LDFLAGS - Linker flags. +LDFLAGS="-mlongcall" -### -### Optional feature, or bug tests -### -### These tests cannot (always) be done automatically when cross compiling. -### You usually does not need to set these variables. Only set these if you -### really know what you are doing. -### +### -- Dynamic Erlang Driver linker flags. -- + +### NOTE! Either define all or non of the DED_LD* variables. + +## DED_LD - Linker. +#DED_LD= + +## DED_LDFLAGS - Linker flags. +#DED_LDFLAGS= + +## DED_LD_FLAG_RUNTIME_LIBRARY_PATH - Linker runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. +#DED_LD_FLAG_RUNTIME_LIBRARY_PATH= + +### -- Other tools -- + +## RANLIB - ranlib +RANLIB="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ranlibppc" + +## AR - ar +AR="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/arppc" + +### ---- Cross System Root Locations ------------------------------------------ + +## erl_xcomp_sysroot - Absolute cross system root path. +## The absolute path to the system root of the cross compilation +## environment. Currently, the `crypto', `odbc', `ssh' and `ssl' +## applications need the system root. These applications will be skipped +## if the system root has not been set. The system root might be needed +## for other things too. If this is the case and the system root has not +## been set, `configure' will fail and request you to set it. +#erl_xcomp_sysroot= + +## erl_xcomp_isysroot - Absolute cross include system root path. +## The absolute path to the system root for includes of the cross +## compilation environment. If not set, this value defaults to +## `$erl_xcomp_sysroot', i.e., only set this value if the include system +## root path is not the same as the system root path. +#erl_xcomp_isysroot= + +### ---- Optional feature, or bug tests --------------------------------------- + +### These tests cannot (always) be done automatically when cross compiling. You +### usually does not need to set these variables. Only set these if you really +### know what you are doing. + +### The `configure' script will issue a warning when a default value is used. +### When a variable has been set, no warning will be issued. -## ## erl_xcomp_bigendian - yes|no -## If yes, the target system must be big endian. If no, little endian. This -## can often be automatically detected, but not always. If not automatically -## detected, configure will fail unless this variable is set. No default value -## is used, i.e., configure will try to figure this out automatically. +## If `yes', the target system must be big endian. If `no', little endian. +## This can often be automatically detected, but not always. If not +## automatically detected, `configure' will fail unless this variable is +## set. No default value is used, i.e., `configure' will try to figure +## this out automatically. erl_xcomp_bigendian=yes -## -## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to yes) -## If yes, clock_gettime(CLOCK_MONOTONIC, _) on the target system must work. -## This variable is recommended to be set to no on Linux systems with kernel -## versions less than 2.6. -## -erl_xcomp_linux_clock_gettime_correction= - -## -## erl_xcomp_linux_nptl - yes|no (defaults to yes on Linux; otherwise, no) -## If yes, the target system must have NPTL (Native POSIX Thread Library). -## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel -## versions typically less than 2.6). -## -erl_xcomp_linux_nptl= - -## -## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to yes) -## If yes, the SIGUSR1 and SIGUSR2 must be usable by the ERTS. Old -## LinuxThreads thread libraries (Linux kernel versions less than 2.2) used -## these signals and made them unusable by the ERTS. -## -erl_xcomp_linux_usable_sigusrx= - -## -## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to yes) -## If yes, sigaltstack() must be usable on the target system. sigaltstack() -## on Linux kernel versions less than 2.4 are broken. -## -erl_xcomp_linux_usable_sigaltstack= - -## -## erl_xcomp_poll - yes|no (defaults to no on Darwin/MacOSX; otherwise, yes) -## If yes, the target system must have a working poll() implementation that -## also can handle devices. If no, select() will be used instead of poll(). -## -erl_xcomp_poll= - -## -## erl_xcomp_kqueue - yes|no (defaults to no) -## If yes, the target system must have a working kqueue() implementation that -## returns a file descriptor which can be used by poll() and/or select(). -## If no and the target system has not got epoll() or /dev/poll, the -## kernel-poll feature will be disabled. -## -erl_xcomp_kqueue= - -## -## erl_xcomp_putenv_copy - yes|no (defaults to no) -## If yes, the target system must have a putenv() implementation that stores a -## copy of the key/value pair. -## -erl_xcomp_putenv_copy= - -## -## erl_xcomp_reliable_fpe - yes|no (defaults to no) -## If yes, the target system must have reliable floating point exceptions. -## -erl_xcomp_reliable_fpe= - -## -## erl_xcomp_getaddrinfo - yes|no (defaults to no) -## If yes, the target system must have a working getaddrinfo() implementation -## that can handle both IPv4 and IPv6. -## -erl_xcomp_getaddrinfo= - -## -## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to no) -## If yes, the target system must have a working gethrvtime() implementation -## and is used with procfs ioctl(). -## -erl_xcomp_gethrvtime_procfs_ioctl= - -## -## erl_xcomp_clock_gettime - yes|no (defaults to no) -## If yes, the target system must have a working clock_gettime() -## implementation that can be used for retrieving process CPU time. -## -erl_xcomp_clock_gettime= - -## -## erl_xcomp_after_morecore_hook - yes|no (defaults to no) -## If yes, the target system must have a working __after_morecore_hook that -## can be used for tracking used malloc() implementations core memory usage. -## -erl_xcomp_after_morecore_hook= - -## -## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to no) -## If yes, the target system must have a working dlsym(RTLD_NEXT, <S>) -## implementation that can be used on 'brk' and 'sbrk' symbols used by the -## malloc() implementation in use, and by this track the malloc() -## implementations core memory usage. -## -erl_xcomp_dlsym_brk_wrappers= - -### ---------------------------------------------------------------------------- +## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to `yes' on +## Linux; otherwise, `no') +## If `yes', `clock_gettime(CLOCK_MONOTONIC, _)' on the target system must +## work. This variable is recommended to be set to `no' on Linux systems +## with kernel versions less than 2.6. +#erl_xcomp_linux_clock_gettime_correction= + +## erl_xcomp_linux_nptl - yes|no (defaults to `yes' on Linux; otherwise, `no') +## If `yes', the target system must have NPTL (Native POSIX Thread Library). +## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel +## versions typically less than 2.6). +#erl_xcomp_linux_nptl= + +## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to `yes') +## If `yes', the `SIGUSR1' and `SIGUSR2' signals must be usable by the ERTS. +## Old LinuxThreads thread libraries (Linux kernel versions less than 2.2) +## used these signals and made them unusable by the ERTS. +#erl_xcomp_linux_usable_sigusrx= + +## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to `yes' on Linux; +## otherwise, `no') +## If `yes', `sigaltstack()' must be usable on the target system. +## `sigaltstack()' on Linux kernel versions less than 2.4 are broken. +#erl_xcomp_linux_usable_sigaltstack= + +## erl_xcomp_poll - yes|no (defaults to `no' on Darwin/MacOSX; otherwise, `yes') +## If `yes', the target system must have a working `poll()' implementation +## that also can handle devices. If `no', `select()' will be used instead of +## `poll()'. +#erl_xcomp_poll= + +## erl_xcomp_kqueue - yes|no (defaults to `no') +## If `yes', the target system must have a working `kqueue()' implementation +## that returns a file descriptor which can be used by `poll()' and/or +## `select()'. If `no' and the target system has not got `epoll()' or +## `/dev/poll', the kernel-poll feature will be disabled. +#erl_xcomp_kqueue= + +## erl_xcomp_putenv_copy - yes|no (defaults to `no') +## If `yes', the target system must have a `putenv()' implementation that +## stores a copy of the key/value pair. +#erl_xcomp_putenv_copy= + +## erl_xcomp_reliable_fpe - yes|no (defaults to `no') +## If `yes', the target system must have reliable floating point exceptions. +#erl_xcomp_reliable_fpe= + +## erl_xcomp_getaddrinfo - yes|no (defaults to `no') +## If `yes', the target system must have a working `getaddrinfo()' +## implementation that can handle both IPv4 and IPv6. +#erl_xcomp_getaddrinfo= + +## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to `no') +## If `yes', the target system must have a working `gethrvtime()' +## implementation and is used with procfs `ioctl()'. +#erl_xcomp_gethrvtime_procfs_ioctl= + +## erl_xcomp_clock_gettime_cpu_time - yes|no (defaults to `no') +## If `yes', the target system must have a working `clock_gettime()' +## implementation that can be used for retrieving process CPU time. +#erl_xcomp_clock_gettime_cpu_time= + +## erl_xcomp_after_morecore_hook - yes|no (defaults to `no') +## If `yes', the target system must have a working `__after_morecore_hook' +## that can be used for tracking used `malloc()' implementations core memory +## usage. +#erl_xcomp_after_morecore_hook= + +## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to `no') +## If `yes', the target system must have a working `dlsym(RTLD_NEXT, <S>)' +## implementation that can be used on `brk' and `sbrk' symbols used by the +## `malloc()' implementation in use, and by this track the `malloc()' +## implementations core memory usage. +#erl_xcomp_dlsym_brk_wrappers= + +#### -------------------------------------------------------------------------- diff --git a/xcomp/erl-xcomp-x86_64-saf-linux-gnu.conf b/xcomp/erl-xcomp-x86_64-saf-linux-gnu.conf new file mode 100644 index 0000000000..b6730cff0a --- /dev/null +++ b/xcomp/erl-xcomp-x86_64-saf-linux-gnu.conf @@ -0,0 +1,236 @@ +#### -*-shell-script-*- +#### +#### %CopyrightBegin% +#### +#### Copyright Ericsson AB 2010. All Rights Reserved. +#### +#### The contents of this file are subject to the Erlang Public License, +#### Version 1.1, (the "License"); you may not use this file except in +#### compliance with the License. You should have received a copy of the +#### Erlang Public License along with this software. If not, it can be +#### retrieved online at http://www.erlang.org/. +#### +#### Software distributed under the License is distributed on an "AS IS" +#### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +#### the License for the specific language governing rights and limitations +#### under the License. +#### +#### %CopyrightEnd% +#### +#### File: erl-xcomp-x86_64-saf-linux-gnu.conf +#### Author: Rickard Green +#### +#### -------------------------------------------------------------------------- +#### When cross compiling Erlang/OTP using `otp_build', copy this file and set +#### the variables needed below. Then pass the path to the copy of this file as +#### an argument to `otp_build' in the configure stage: +#### `otp_build configure --xcomp-conf=<FILE>' +#### -------------------------------------------------------------------------- + +### Note that you cannot define arbitrary variables in a cross compilation +### configuration file. Only the ones listed below will be guaranteed to be +### visible throughout the whole execution of all `configure' scripts. Other +### variables needs to be defined as arguments to `configure' or exported in +### the environment. + +### ---- `otp_build' only variables ------------------------------------------- + +### Variables in this section are only used, when configuring Erlang/OTP for +### cross compilation using `$ERL_TOP/otp_build configure'. + +### NOTE! These variables currently have *no* effect if you configure using the +### `configure' script directly. + +## erl_xcomp_build - Build system. +## This value will be passed as `--build=$erl_xcomp_build' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build' +## If `erl_xcomp_build=guess', the build system will be guessed using: +## `$ERL_TOP/erts/autoconf/config.guess'. +erl_xcomp_build=guess + +## erl_xcomp_host - Cross host system. +## This value will be passed as `--host=$erl_xcomp_host' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host' +erl_xcomp_host=x86_64-saf-linux-gnu + +## erl_xcomp_configure_flags - Extra configure flags. +## Extra flags to pass to the `configure' script. +#erl_xcomp_configure_flags= + +### ---- Cross compiler and other tools to use -------------------------------- + +### If the cross compilation tools are prefixed by `<HOST>-' you probably do +### not need to set these variables (where `<HOST>' is what has been passed as +### `--host=<HOST>' argument to `configure'). + +## CC - C compiler. +CC=x86_64-saf-gcc + +## CFLAGS - C compiler flags. +#CFLAGS= + +## STATIC_CFLAGS - Static C compiler flags. +#STATIC_CFLAGS= + +## CFLAG_RUNTIME_LIBRARY_PATH - C compiler runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. Note that this is actually a linker flag, but it +## needs to be passed via the compiler. +#CFLAG_RUNTIME_LIBRARY_PATH= + +## CPP - C pre-processor. +#CPP= + +## CPPFLAGS - C pre-processor flags. +#CPPFLAGS= + +## CXX - C++ compiler. +CXX=x86_64-saf-g++ + +## CXXFLAGS - C++ compiler flags. +#CXXFLAGS= + +## LD - Linker +LD=x86_64-saf-ld + +## LDFLAGS - Linker flags. +#LDFLAGS= + +### -- Dynamic Erlang Driver linker flags. -- + +### NOTE! Either define all or non of the DED_LD* variables. + +## DED_LD - Linker. +#DED_LD= + +## DED_LDFLAGS - Linker flags. +#DED_LDFLAGS= + +## DED_LD_FLAG_RUNTIME_LIBRARY_PATH - Linker runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. +#DED_LD_FLAG_RUNTIME_LIBRARY_PATH= + +### -- Other tools -- + +## RANLIB - ranlib +RANLIB=x86_64-saf-ranlib + +## AR - ar +AR=x86_64-saf-ar + +### ---- Cross System Root Locations ------------------------------------------ + +## erl_xcomp_sysroot - Absolute cross system root path. +## The absolute path to the system root of the cross compilation +## environment. Currently, the `crypto', `odbc', `ssh' and `ssl' +## applications need the system root. These applications will be skipped +## if the system root has not been set. The system root might be needed +## for other things too. If this is the case and the system root has not +## been set, `configure' will fail and request you to set it. +erl_xcomp_sysroot="$SAF_SYSROOT_X86_64" + +## erl_xcomp_isysroot - Absolute cross include system root path. +## The absolute path to the system root for includes of the cross +## compilation environment. If not set, this value defaults to +## `$erl_xcomp_sysroot', i.e., only set this value if the include system +## root path is not the same as the system root path. +#erl_xcomp_isysroot= + +### ---- Optional feature, or bug tests --------------------------------------- + +### These tests cannot (always) be done automatically when cross compiling. You +### usually does not need to set these variables. Only set these if you really +### know what you are doing. + +### The `configure' script will issue a warning when a default value is used. +### When a variable has been set, no warning will be issued. + +## erl_xcomp_bigendian - yes|no +## If `yes', the target system must be big endian. If `no', little endian. +## This can often be automatically detected, but not always. If not +## automatically detected, `configure' will fail unless this variable is +## set. No default value is used, i.e., `configure' will try to figure +## this out automatically. +#erl_xcomp_bigendian= + +## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to `yes' on +## Linux; otherwise, `no') +## If `yes', `clock_gettime(CLOCK_MONOTONIC, _)' on the target system must +## work. This variable is recommended to be set to `no' on Linux systems +## with kernel versions less than 2.6. +#erl_xcomp_linux_clock_gettime_correction= + +## erl_xcomp_linux_nptl - yes|no (defaults to `yes' on Linux; otherwise, `no') +## If `yes', the target system must have NPTL (Native POSIX Thread Library). +## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel +## versions typically less than 2.6). +#erl_xcomp_linux_nptl= + +## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to `yes') +## If `yes', the `SIGUSR1' and `SIGUSR2' signals must be usable by the ERTS. +## Old LinuxThreads thread libraries (Linux kernel versions less than 2.2) +## used these signals and made them unusable by the ERTS. +#erl_xcomp_linux_usable_sigusrx= + +## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to `yes' on Linux; +## otherwise, `no') +## If `yes', `sigaltstack()' must be usable on the target system. +## `sigaltstack()' on Linux kernel versions less than 2.4 are broken. +#erl_xcomp_linux_usable_sigaltstack= + +## erl_xcomp_poll - yes|no (defaults to `no' on Darwin/MacOSX; otherwise, `yes') +## If `yes', the target system must have a working `poll()' implementation +## that also can handle devices. If `no', `select()' will be used instead of +## `poll()'. +#erl_xcomp_poll= + +## erl_xcomp_kqueue - yes|no (defaults to `no') +## If `yes', the target system must have a working `kqueue()' implementation +## that returns a file descriptor which can be used by `poll()' and/or +## `select()'. If `no' and the target system has not got `epoll()' or +## `/dev/poll', the kernel-poll feature will be disabled. +#erl_xcomp_kqueue= + +## erl_xcomp_putenv_copy - yes|no (defaults to `no') +## If `yes', the target system must have a `putenv()' implementation that +## stores a copy of the key/value pair. +#erl_xcomp_putenv_copy= + +## erl_xcomp_reliable_fpe - yes|no (defaults to `no') +## If `yes', the target system must have reliable floating point exceptions. +#erl_xcomp_reliable_fpe= + +## erl_xcomp_getaddrinfo - yes|no (defaults to `no') +## If `yes', the target system must have a working `getaddrinfo()' +## implementation that can handle both IPv4 and IPv6. +erl_xcomp_getaddrinfo=yes + +## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to `no') +## If `yes', the target system must have a working `gethrvtime()' +## implementation and is used with procfs `ioctl()'. +#erl_xcomp_gethrvtime_procfs_ioctl= + +## erl_xcomp_clock_gettime_cpu_time - yes|no (defaults to `no') +## If `yes', the target system must have a working `clock_gettime()' +## implementation that can be used for retrieving process CPU time. +#erl_xcomp_clock_gettime_cpu_time= + +## erl_xcomp_after_morecore_hook - yes|no (defaults to `no') +## If `yes', the target system must have a working `__after_morecore_hook' +## that can be used for tracking used `malloc()' implementations core memory +## usage. +erl_xcomp_after_morecore_hook=yes + +## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to `no') +## If `yes', the target system must have a working `dlsym(RTLD_NEXT, <S>)' +## implementation that can be used on `brk' and `sbrk' symbols used by the +## `malloc()' implementation in use, and by this track the `malloc()' +## implementations core memory usage. +#erl_xcomp_dlsym_brk_wrappers= + +#### -------------------------------------------------------------------------- diff --git a/xcomp/erl-xcomp.conf.template b/xcomp/erl-xcomp.conf.template index bed365e754..9242318577 100644 --- a/xcomp/erl-xcomp.conf.template +++ b/xcomp/erl-xcomp.conf.template @@ -1,198 +1,236 @@ -### -### %CopyrightBegin% -### -### Copyright Ericsson AB 2009. All Rights Reserved. -### -### The contents of this file are subject to the Erlang Public License, -### Version 1.1, (the "License"); you may not use this file except in -### compliance with the License. You should have received a copy of the -### Erlang Public License along with this software. If not, it can be -### retrieved online at http://www.erlang.org/. -### -### Software distributed under the License is distributed on an "AS IS" -### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -### the License for the specific language governing rights and limitations -### under the License. -### -### %CopyrightEnd% -### -### File: erl-xcomp.conf -### Author: Rickard Green -### - -### ---------------------------------------------------------------------------- -### When cross compiling Erlang/OTP, copy this file and set the variables -### needed below. Then pass the path to the copy of this file as an argument -### to "eval `otp_build env_cross <absolute path to erl-xcomp.conf file>`". -### ---------------------------------------------------------------------------- - -### ---------------------------------------------------------------------------- -### Variables in the following section *have* to be set. -### - -## -## Target system. The value will be passed as '--host' argument to the configure -## script. It does not have to be a full CPU-VENDOR-OS tripplet, but can be. The -## full CPU-VENDOR-OS tripplet will be created by: -## $ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host -## -erl_xcomp_host= - -### ---------------------------------------------------------------------------- -### To override the configure flags for a special target system, You -### can set this variable which overrides configure parameters on the -### command line and instead uses the specified options. The variable -### leaves the build-host system untouched. -### ---------------------------------------------------------------------------- -erl_xcomp_configure_flags= - -###----------------------------------------------------------------------------- -### You can specify a specific CC or LD for the build target (the cross -### compiler) here along with magic CFLAGS and/or LDFLAGS if needed -### ar and ranlib might also be specified if needed. -###----------------------------------------------------------------------------- - -erl_xcomp_cc= - -erl_xcomp_ld= - -erl_xcomp_cflags= - -erl_xcomp_cpp= - -erl_xcomp_ldflags= - -erl_xcomp_ranlib= - -erl_xcomp_ar= - -###----------------------------------------------------------------------------- -### The ded_ls and ded_ldflags variables control linking of dynamically loaded -### erlang drivers. On i.e. Linux these are set to -### $(CC) and "-shared" respectively, but other OS'es might need other -### programs and flags to build a dynamic library. -### erl_xcomp_ded_ld_runtime_library_path is the flag to set a -### specific runtime library path for the shared library at link time, -### usually this should be left empty. -###----------------------------------------------------------------------------- - -erl_xcomp_ded_ld= - -erl_xcomp_ded_ldflags= - -erl_xcomp_ded_ld_runtime_library_path= - -### -### Optional feature, or bug tests -### -### These tests cannot (always) be done automatically when cross compiling. -### You usually does not need to set these variables. Only set these if you -### really know what you are doing. -### - -## +#### -*-shell-script-*- +#### +#### %CopyrightBegin% +#### +#### Copyright Ericsson AB 2009-2010. All Rights Reserved. +#### +#### The contents of this file are subject to the Erlang Public License, +#### Version 1.1, (the "License"); you may not use this file except in +#### compliance with the License. You should have received a copy of the +#### Erlang Public License along with this software. If not, it can be +#### retrieved online at http://www.erlang.org/. +#### +#### Software distributed under the License is distributed on an "AS IS" +#### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +#### the License for the specific language governing rights and limitations +#### under the License. +#### +#### %CopyrightEnd% +#### +#### File: erl-xcomp.conf.template +#### Author: Rickard Green +#### +#### -------------------------------------------------------------------------- +#### When cross compiling Erlang/OTP using `otp_build', copy this file and set +#### the variables needed below. Then pass the path to the copy of this file as +#### an argument to `otp_build' in the configure stage: +#### `otp_build configure --xcomp-conf=<FILE>' +#### -------------------------------------------------------------------------- + +### Note that you cannot define arbitrary variables in a cross compilation +### configuration file. Only the ones listed below will be guaranteed to be +### visible throughout the whole execution of all `configure' scripts. Other +### variables needs to be defined as arguments to `configure' or exported in +### the environment. + +### ---- `otp_build' only variables ------------------------------------------- + +### Variables in this section are only used, when configuring Erlang/OTP for +### cross compilation using `$ERL_TOP/otp_build configure'. + +### NOTE! These variables currently have *no* effect if you configure using the +### `configure' script directly. + +## erl_xcomp_build - Build system. +## This value will be passed as `--build=$erl_xcomp_build' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build' +## If `erl_xcomp_build=guess', the build system will be guessed using: +## `$ERL_TOP/erts/autoconf/config.guess'. +#erl_xcomp_build= + +## erl_xcomp_host - Cross host system. +## This value will be passed as `--host=$erl_xcomp_host' argument to the +## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, +## but can be. The full CPU-VENDOR-OS triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host' +#erl_xcomp_host= + +## erl_xcomp_configure_flags - Extra configure flags. +## Extra flags to pass to the `configure' script. +#erl_xcomp_configure_flags= + +### ---- Cross compiler and other tools to use -------------------------------- + +### If the cross compilation tools are prefixed by `<HOST>-' you probably do +### not need to set these variables (where `<HOST>' is what has been passed as +### `--host=<HOST>' argument to `configure'). + +## CC - C compiler. +#CC= + +## CFLAGS - C compiler flags. +#CFLAGS= + +## STATIC_CFLAGS - Static C compiler flags. +#STATIC_CFLAGS= + +## CFLAG_RUNTIME_LIBRARY_PATH - C compiler runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. Note that this is actually a linker flag, but it +## needs to be passed via the compiler. +#CFLAG_RUNTIME_LIBRARY_PATH= + +## CPP - C pre-processor. +#CPP= + +## CPPFLAGS - C pre-processor flags. +#CPPFLAGS= + +## CXX - C++ compiler. +#CXX= + +## CXXFLAGS - C++ compiler flags. +#CXXFLAGS= + +## LD - Linker +#LD= + +## LDFLAGS - Linker flags. +#LDFLAGS= + +### -- Dynamic Erlang Driver linker flags. -- + +### NOTE! Either define all or non of the DED_LD* variables. + +## DED_LD - Linker. +#DED_LD= + +## DED_LDFLAGS - Linker flags. +#DED_LDFLAGS= + +## DED_LD_FLAG_RUNTIME_LIBRARY_PATH - Linker runtime library path flag. +## This flag should set a specific runtime library path for the shared +## library at link time. +#DED_LD_FLAG_RUNTIME_LIBRARY_PATH= + +### -- Other tools -- + +## RANLIB - ranlib +#RANLIB= + +## AR - ar +#AR= + +### ---- Cross System Root Locations ------------------------------------------ + +## erl_xcomp_sysroot - Absolute cross system root path. +## The absolute path to the system root of the cross compilation +## environment. Currently, the `crypto', `odbc', `ssh' and `ssl' +## applications need the system root. These applications will be skipped +## if the system root has not been set. The system root might be needed +## for other things too. If this is the case and the system root has not +## been set, `configure' will fail and request you to set it. +#erl_xcomp_sysroot= + +## erl_xcomp_isysroot - Absolute cross include system root path. +## The absolute path to the system root for includes of the cross +## compilation environment. If not set, this value defaults to +## `$erl_xcomp_sysroot', i.e., only set this value if the include system +## root path is not the same as the system root path. +#erl_xcomp_isysroot= + +### ---- Optional feature, or bug tests --------------------------------------- + +### These tests cannot (always) be done automatically when cross compiling. You +### usually does not need to set these variables. Only set these if you really +### know what you are doing. + +### The `configure' script will issue a warning when a default value is used. +### When a variable has been set, no warning will be issued. + ## erl_xcomp_bigendian - yes|no -## If yes, the target system must be big endian. If no, little endian. This -## can often be automatically detected, but not always. If not automatically -## detected, configure will fail unless this variable is set. No default value -## is used, i.e., configure will try to figure this out automatically. -erl_xcomp_bigendian= - -## -## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to yes) -## If yes, clock_gettime(CLOCK_MONOTONIC, _) on the target system must work. -## This variable is recommended to be set to no on Linux systems with kernel -## versions less than 2.6. -## -erl_xcomp_linux_clock_gettime_correction= - -## -## erl_xcomp_linux_nptl - yes|no (defaults to yes on Linux; otherwise, no) -## If yes, the target system must have NPTL (Native POSIX Thread Library). -## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel -## versions typically less than 2.6). -## -erl_xcomp_linux_nptl= - -## -## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to yes) -## If yes, the SIGUSR1 and SIGUSR2 must be usable by the ERTS. Old -## LinuxThreads thread libraries (Linux kernel versions less than 2.2) used -## these signals and made them unusable by the ERTS. -## -erl_xcomp_linux_usable_sigusrx= - -## -## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to yes) -## If yes, sigaltstack() must be usable on the target system. sigaltstack() -## on Linux kernel versions less than 2.4 are broken. -## -erl_xcomp_linux_usable_sigaltstack= - -## -## erl_xcomp_poll - yes|no (defaults to no on Darwin/MacOSX; otherwise, yes) -## If yes, the target system must have a working poll() implementation that -## also can handle devices. If no, select() will be used instead of poll(). -## -erl_xcomp_poll= - -## -## erl_xcomp_kqueue - yes|no (defaults to no) -## If yes, the target system must have a working kqueue() implementation that -## returns a file descriptor which can be used by poll() and/or select(). -## If no and the target system has not got epoll() or /dev/poll, the -## kernel-poll feature will be disabled. -## -erl_xcomp_kqueue= - -## -## erl_xcomp_putenv_copy - yes|no (defaults to no) -## If yes, the target system must have a putenv() implementation that stores a -## copy of the key/value pair. -## -erl_xcomp_putenv_copy= - -## -## erl_xcomp_reliable_fpe - yes|no (defaults to no) -## If yes, the target system must have reliable floating point exceptions. -## -erl_xcomp_reliable_fpe= - -## -## erl_xcomp_getaddrinfo - yes|no (defaults to no) -## If yes, the target system must have a working getaddrinfo() implementation -## that can handle both IPv4 and IPv6. -## -erl_xcomp_getaddrinfo= - -## -## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to no) -## If yes, the target system must have a working gethrvtime() implementation -## and is used with procfs ioctl(). -## -erl_xcomp_gethrvtime_procfs_ioctl= - -## -## erl_xcomp_clock_gettime - yes|no (defaults to no) -## If yes, the target system must have a working clock_gettime() -## implementation that can be used for retrieving process CPU time. -## -erl_xcomp_clock_gettime= - -## -## erl_xcomp_after_morecore_hook - yes|no (defaults to no) -## If yes, the target system must have a working __after_morecore_hook that -## can be used for tracking used malloc() implementations core memory usage. -## -erl_xcomp_after_morecore_hook= - -## -## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to no) -## If yes, the target system must have a working dlsym(RTLD_NEXT, <S>) -## implementation that can be used on 'brk' and 'sbrk' symbols used by the -## malloc() implementation in use, and by this track the malloc() -## implementations core memory usage. -## -erl_xcomp_dlsym_brk_wrappers= - -### ---------------------------------------------------------------------------- +## If `yes', the target system must be big endian. If `no', little endian. +## This can often be automatically detected, but not always. If not +## automatically detected, `configure' will fail unless this variable is +## set. No default value is used, i.e., `configure' will try to figure +## this out automatically. +#erl_xcomp_bigendian= + +## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to `yes' on +## Linux; otherwise, `no') +## If `yes', `clock_gettime(CLOCK_MONOTONIC, _)' on the target system must +## work. This variable is recommended to be set to `no' on Linux systems +## with kernel versions less than 2.6. +#erl_xcomp_linux_clock_gettime_correction= + +## erl_xcomp_linux_nptl - yes|no (defaults to `yes' on Linux; otherwise, `no') +## If `yes', the target system must have NPTL (Native POSIX Thread Library). +## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel +## versions typically less than 2.6). +#erl_xcomp_linux_nptl= + +## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to `yes') +## If `yes', the `SIGUSR1' and `SIGUSR2' signals must be usable by the ERTS. +## Old LinuxThreads thread libraries (Linux kernel versions less than 2.2) +## used these signals and made them unusable by the ERTS. +#erl_xcomp_linux_usable_sigusrx= + +## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to `yes' on Linux; +## otherwise, `no') +## If `yes', `sigaltstack()' must be usable on the target system. +## `sigaltstack()' on Linux kernel versions less than 2.4 are broken. +#erl_xcomp_linux_usable_sigaltstack= + +## erl_xcomp_poll - yes|no (defaults to `no' on Darwin/MacOSX; otherwise, `yes') +## If `yes', the target system must have a working `poll()' implementation +## that also can handle devices. If `no', `select()' will be used instead of +## `poll()'. +#erl_xcomp_poll= + +## erl_xcomp_kqueue - yes|no (defaults to `no') +## If `yes', the target system must have a working `kqueue()' implementation +## that returns a file descriptor which can be used by `poll()' and/or +## `select()'. If `no' and the target system has not got `epoll()' or +## `/dev/poll', the kernel-poll feature will be disabled. +#erl_xcomp_kqueue= + +## erl_xcomp_putenv_copy - yes|no (defaults to `no') +## If `yes', the target system must have a `putenv()' implementation that +## stores a copy of the key/value pair. +#erl_xcomp_putenv_copy= + +## erl_xcomp_reliable_fpe - yes|no (defaults to `no') +## If `yes', the target system must have reliable floating point exceptions. +#erl_xcomp_reliable_fpe= + +## erl_xcomp_getaddrinfo - yes|no (defaults to `no') +## If `yes', the target system must have a working `getaddrinfo()' +## implementation that can handle both IPv4 and IPv6. +#erl_xcomp_getaddrinfo= + +## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to `no') +## If `yes', the target system must have a working `gethrvtime()' +## implementation and is used with procfs `ioctl()'. +#erl_xcomp_gethrvtime_procfs_ioctl= + +## erl_xcomp_clock_gettime_cpu_time - yes|no (defaults to `no') +## If `yes', the target system must have a working `clock_gettime()' +## implementation that can be used for retrieving process CPU time. +#erl_xcomp_clock_gettime_cpu_time= + +## erl_xcomp_after_morecore_hook - yes|no (defaults to `no') +## If `yes', the target system must have a working `__after_morecore_hook' +## that can be used for tracking used `malloc()' implementations core memory +## usage. +#erl_xcomp_after_morecore_hook= + +## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to `no') +## If `yes', the target system must have a working `dlsym(RTLD_NEXT, <S>)' +## implementation that can be used on `brk' and `sbrk' symbols used by the +## `malloc()' implementation in use, and by this track the `malloc()' +## implementations core memory usage. +#erl_xcomp_dlsym_brk_wrappers= + +#### -------------------------------------------------------------------------- |