PATH=C:\mingw\bin;C:\cygwin\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\instantclient_11_2;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Start 2014-09-25T09:43:23 ActivePerl-2000 CPAN-2.00 PATH=C:\mingw\bin;C:\cygwin\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\INSTAN~1;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Reading 'C:\cpanfly-5.20\var\cpan\Metadata' Database was generated on Thu, 25 Sep 2014 14:41:02 GMT Running make for O/OA/OALDERS/OrePAN2-0.31.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/O/OA/OALDERS/OrePAN2-0.31.tar.gz Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\O\OA\OALDERS\OrePAN2-0.31.tar.gz ok OrePAN2-0.31/Build.PL OrePAN2-0.31/Changes OrePAN2-0.31/LICENSE OrePAN2-0.31/META.json OrePAN2-0.31/README.md OrePAN2-0.31/cpanfile OrePAN2-0.31/lib/OrePAN2.pm OrePAN2-0.31/lib/OrePAN2/CLI/Indexer.pm OrePAN2-0.31/lib/OrePAN2/CLI/Inject.pm OrePAN2-0.31/lib/OrePAN2/Index.pm OrePAN2-0.31/lib/OrePAN2/Indexer.pm OrePAN2-0.31/lib/OrePAN2/Injector.pm OrePAN2-0.31/lib/OrePAN2/Repository.pm OrePAN2-0.31/lib/OrePAN2/Repository/Cache.pm OrePAN2-0.31/minil.toml OrePAN2-0.31/script/orepan2-gc OrePAN2-0.31/script/orepan2-indexer OrePAN2-0.31/script/orepan2-inject OrePAN2-0.31/script/orepan2-merge-index OrePAN2-0.31/t/00_compile.t OrePAN2-0.31/t/01_indexer.t OrePAN2-0.31/t/02_no_index.t OrePAN2-0.31/t/03_inject.t OrePAN2-0.31/t/04_repository.t OrePAN2-0.31/t/05_cache.t OrePAN2-0.31/t/06_inject_live.t OrePAN2-0.31/t/Util.pm OrePAN2-0.31/t/cli/gc.t OrePAN2-0.31/t/cli/indexer.t OrePAN2-0.31/t/cli/inject-git.t OrePAN2-0.31/t/cli/merge-index.t OrePAN2-0.31/t/dat/02.packages.details.txt OrePAN2-0.31/t/dat/02.packages.details.txt.gz OrePAN2-0.31/t/dat/Acme-Foo-0.01.tar.gz OrePAN2-0.31/t/dat/Acme-YakiniQ-0.01.tar.gz OrePAN2-0.31/t/dat/modules/02.packages.txt OrePAN2-0.31/t/index.t OrePAN2-0.31/xt/inject-git.t OrePAN2-0.31/xt/inject-spiffy-from-cpan.t OrePAN2-0.31/META.yml OrePAN2-0.31/MANIFEST CPAN.pm: Building O/OA/OALDERS/OrePAN2-0.31.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Build.PL Creating new 'Build' script for 'OrePAN2' version '0.31' ---- Unsatisfied dependencies detected during ---- ---- OALDERS/OrePAN2-0.31.tar.gz ---- Parse::LocalDistribution [requires] MetaCPAN::Client [requires] Archive::Extract [requires] IO::File::AtomicChange [requires] Running Build test Delayed until after prerequisites Running test for module 'Parse::LocalDistribution' Running make for I/IS/ISHIGAKI/Parse-LocalDistribution-0.14.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.14.tar.gz Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\I\IS\ISHIGAKI\Parse-LocalDistribution-0.14.tar.gz ok Parse-LocalDistribution-0.14/ Parse-LocalDistribution-0.14/README Parse-LocalDistribution-0.14/lib/ Parse-LocalDistribution-0.14/lib/Parse/ Parse-LocalDistribution-0.14/lib/Parse/LocalDistribution.pm Parse-LocalDistribution-0.14/t/ Parse-LocalDistribution-0.14/t/50_permissions_meta.t Parse-LocalDistribution-0.14/t/40_manifest.t Parse-LocalDistribution-0.14/t/41_manifest_skip.t Parse-LocalDistribution-0.14/t/30_no_index.t Parse-LocalDistribution-0.14/t/20_dist_not_in_the_current.t Parse-LocalDistribution-0.14/t/10_self_check.t Parse-LocalDistribution-0.14/t/00_load.t Parse-LocalDistribution-0.14/t/50_permissions_files.t Parse-LocalDistribution-0.14/META.json Parse-LocalDistribution-0.14/Changes Parse-LocalDistribution-0.14/Makefile.PL Parse-LocalDistribution-0.14/META.yml Parse-LocalDistribution-0.14/cpanfile Parse-LocalDistribution-0.14/MANIFEST Parse-LocalDistribution-0.14/xt/ Parse-LocalDistribution-0.14/xt/99_pod.t Parse-LocalDistribution-0.14/xt/99_podcoverage.t CPAN.pm: Building I/IS/ISHIGAKI/Parse-LocalDistribution-0.14.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Parse::LocalDistribution Writing MYMETA.yml and MYMETA.json >>> dmake cp lib/Parse/LocalDistribution.pm blib\lib\Parse\LocalDistribution.pm ISHIGAKI/Parse-LocalDistribution-0.14.tar.gz dmake -- OK Running make test >>> dmake test TEST_VERBOSE=1 C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00_load.t ..................... 1..1 ok 1 - use Parse::LocalDistribution; ok t/10_self_check.t ............... ok 1 - version is correct # { # 'Parse::LocalDistribution' => { # 'filemtime' => 1409592400, # 'infile' => 'C:/cpanfly-5.20/var/cpan/build/Parse-LocalDistribution-0.14-G6uN93/lib/Parse/LocalDistribution.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/cpan/build/Parse-LocalDistribution-0.14-G6uN93/lib/Parse/LocalDistribution.pm', # 'version' => '0.14' # } # } ok 2 - version is correct # { # 'Parse::LocalDistribution' => { # 'filemtime' => 1409592400, # 'infile' => 'C:/cpanfly-5.20/var/cpan/build/Parse-LocalDistribution-0.14-G6uN93/lib/Parse/LocalDistribution.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/cpan/build/Parse-LocalDistribution-0.14-G6uN93/lib/Parse/LocalDistribution.pm', # 'version' => '0.14' # } # } 1..2 ok t/20_dist_not_in_the_current.t .. ok 1 - correct version # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663413, # 'infile' => 'C:/cpanfly-5.20/var/tmp/osdtUl7yxr/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/osdtUl7yxr/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } ok 2 - correct version # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663413, # 'infile' => 'C:/cpanfly-5.20/var/tmp/osdtUl7yxr/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/osdtUl7yxr/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } 1..2 ok t/30_no_index.t ................. ok 1 - correct version ok 2 - TestParseLocalInc is ignored # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663414, # 'infile' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } # bless( { # 'DIST' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8', # 'DISTROOT' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8', # 'FORK' => 0, # 'MANIFOUND' => [ # './META.json', # './inc/ParseLocalDistInc.pm', # './lib/ParseLocalDistTest.pm' # ], # 'METAFILE' => './META.json', # 'META_CONTENT' => { # 'abstract' => '', # 'author' => [ # 'me' # ], # 'name' => 'ParseLocalDistTest', # 'no_index' => { # 'directory' => [ # 't', # 'inc' # ] # }, # 'version' => '0.01' # }, # 'VERSION_FROM_META_OK' => 0 # }, 'Parse::LocalDistribution' ) ok 3 - correct version ok 4 - TestParseLocalInc is ignored # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663414, # 'infile' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } # bless( { # 'DIST' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8', # 'DISTROOT' => 'C:/cpanfly-5.20/var/tmp/LdiY5hhXX8', # 'FORK' => 1, # 'MANIFOUND' => [ # './META.json', # './inc/ParseLocalDistInc.pm', # './lib/ParseLocalDistTest.pm' # ], # 'METAFILE' => './META.json', # 'META_CONTENT' => { # 'abstract' => '', # 'author' => [ # 'me' # ], # 'name' => 'ParseLocalDistTest', # 'no_index' => { # 'directory' => [ # 't', # 'inc' # ] # }, # 'version' => '0.01' # }, # 'VERSION_FROM_META_OK' => 0 # }, 'Parse::LocalDistribution' ) 1..4 ok t/40_manifest.t ................. ok 1 - correct version ok 2 - ParseLocalDistTest2 is ignored # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663414, # 'infile' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } # bless( { # 'DIST' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN', # 'DISTROOT' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN', # 'FORK' => 0, # 'MANIFOUND' => [ # './MANIFEST', # './lib/ParseLocalDistTest.pm' # ], # 'METAFILE' => 'No META.yml or META.json found', # 'VERSION_FROM_META_OK' => 0 # }, 'Parse::LocalDistribution' ) ok 3 - correct version ok 4 - ParseLocalDistTest2 is ignored # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663414, # 'infile' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } # bless( { # 'DIST' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN', # 'DISTROOT' => 'C:/cpanfly-5.20/var/tmp/TuycxeMEhN', # 'FORK' => 1, # 'MANIFOUND' => [ # './MANIFEST', # './lib/ParseLocalDistTest.pm' # ], # 'METAFILE' => 'No META.yml or META.json found', # 'VERSION_FROM_META_OK' => 0 # }, 'Parse::LocalDistribution' ) 1..4 ok t/41_manifest_skip.t ............ ok 1 - correct version ok 2 - ParseLocalDistTest2 is ignored # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663415, # 'infile' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } # bless( { # 'DIST' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB', # 'DISTROOT' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB', # 'FORK' => 0, # 'MANIFOUND' => [ # './MANIFEST.SKIP', # './lib/ParseLocalDistTest.pm' # ], # 'METAFILE' => 'No META.yml or META.json found', # 'VERSION_FROM_META_OK' => 0 # }, 'Parse::LocalDistribution' ) ok 3 - correct version ok 4 - ParseLocalDistTest2 is ignored # { # 'ParseLocalDistTest' => { # 'filemtime' => 1411663415, # 'infile' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB/lib/ParseLocalDistTest.pm', # 'parsed' => 1, # 'simile' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB/lib/ParseLocalDistTest.pm', # 'version' => '0.01' # } # } # bless( { # 'DIST' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB', # 'DISTROOT' => 'C:/cpanfly-5.20/var/tmp/p1u6uqxSiB', # 'FORK' => 1, # 'MANIFOUND' => [ # './MANIFEST.SKIP', # './lib/ParseLocalDistTest.pm' # ], # 'METAFILE' => 'No META.yml or META.json found', # 'VERSION_FROM_META_OK' => 0 # }, 'Parse::LocalDistribution' ) 1..4 ok t/50_permissions_files.t ........ skipped: requires PAUSE::Permissions 0.08 t/50_permissions_meta.t ......... skipped: requires PAUSE::Permissions 0.08 All tests successful. Files=8, Tests=17, 4 wallclock secs ( 0.09 usr + 0.00 sys = 0.09 CPU) Result: PASS ISHIGAKI/Parse-LocalDistribution-0.14.tar.gz dmake test TEST_VERBOSE=1 -- OK Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/I/IS/ISHIGAKI/CHECKSUMS Kenichi Ishigaki <ishigaki@cpan.org> parses local .pm files as PAUSE does >>> (cd C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93 && tar cvf - Parse-LocalDistribution-0.14.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/I/IS/ISHIGAKI/Parse-LocalDistribution-0.14.tar.gz Parse-LocalDistribution-0.14.ppd blib/ blib/lib/ blib/lib/Parse/ blib/lib/Parse/LocalDistribution.pm >>> mv C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/Parse-LocalDistribution-0.14.ppd C:/cpanfly-5.20/var/REPO/I/IS/ISHIGAKI Running test for module 'MetaCPAN::Client' Running make for M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\M\MI\MICKEY\MetaCPAN-Client-1.007000.tar.gz ok MetaCPAN-Client-1.007000 MetaCPAN-Client-1.007000/README MetaCPAN-Client-1.007000/Changes MetaCPAN-Client-1.007000/LICENSE MetaCPAN-Client-1.007000/dist.ini MetaCPAN-Client-1.007000/META.yml MetaCPAN-Client-1.007000/MANIFEST MetaCPAN-Client-1.007000/Build.PL MetaCPAN-Client-1.007000/t MetaCPAN-Client-1.007000/t/entity.t MetaCPAN-Client-1.007000/t/ua_trap.t MetaCPAN-Client-1.007000/t/request.t MetaCPAN-Client-1.007000/t/api MetaCPAN-Client-1.007000/t/api/pod.t MetaCPAN-Client-1.007000/Makefile.PL MetaCPAN-Client-1.007000/t/api/_get.t MetaCPAN-Client-1.007000/t/api/file.t MetaCPAN-Client-1.007000/t/resultset.t MetaCPAN-Client-1.007000/t/api/author.t MetaCPAN-Client-1.007000/t/api/rating.t MetaCPAN-Client-1.007000/t/api/module.t MetaCPAN-Client-1.007000/t/00-compile.t MetaCPAN-Client-1.007000/t/api/_search.t MetaCPAN-Client-1.007000/t/api/release.t MetaCPAN-Client-1.007000/examples MetaCPAN-Client-1.007000/examples/pod.pl MetaCPAN-Client-1.007000/t/api/favorite.t MetaCPAN-Client-1.007000/t/author-critic.t MetaCPAN-Client-1.007000/t/lib MetaCPAN-Client-1.007000/t/lib/Functions.pm MetaCPAN-Client-1.007000/examples/author.pl MetaCPAN-Client-1.007000/examples/module.pl MetaCPAN-Client-1.007000/examples/recent.pl MetaCPAN-Client-1.007000/examples/release.pl MetaCPAN-Client-1.007000/examples/complex.pl MetaCPAN-Client-1.007000/t/api/distribution.t MetaCPAN-Client-1.007000/examples/rev_deps.pl MetaCPAN-Client-1.007000/t/api/_get_or_search.t MetaCPAN-Client-1.007000/lib/MetaCPAN MetaCPAN-Client-1.007000/lib/MetaCPAN/Client.pm MetaCPAN-Client-1.007000/t/release-pod-syntax.t MetaCPAN-Client-1.007000/examples/distribution.pl MetaCPAN-Client-1.007000/examples/recent_today.pl MetaCPAN-Client-1.007000/t/release-pod-coverage.t MetaCPAN-Client-1.007000/lib/MetaCPAN/Client MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Pod.pm MetaCPAN-Client-1.007000/examples/author-country.pl MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/File.pm MetaCPAN-Client-1.007000/examples/author_releases.pl MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Module.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Author.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Rating.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Release.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Request.pm MetaCPAN-Client-1.007000/examples/complex-either-and.pl MetaCPAN-Client-1.007000/examples/rev_deps-recursive.pl MetaCPAN-Client-1.007000/examples/complex-either-not.pl MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Favorite.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/ResultSet.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Role MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Role/Entity.pm MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Distribution.pm Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Warning: prerequisite Search::Elasticsearch 1.10 not found. Warning: prerequisite Search::Elasticsearch::Scroll 0 not found. Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for MetaCPAN::Client Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- MICKEY/MetaCPAN-Client-1.007000.tar.gz ---- Search::Elasticsearch [requires] Search::Elasticsearch::Scroll [requires] Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Search::Elasticsearch' Running make for D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\D\DR\DRTECH\Search-Elasticsearch-1.14.tar.gz ok Search-Elasticsearch-1.14/ Search-Elasticsearch-1.14/Changes Search-Elasticsearch-1.14/lib/ Search-Elasticsearch-1.14/LICENSE Search-Elasticsearch-1.14/Makefile.PL Search-Elasticsearch-1.14/MANIFEST Search-Elasticsearch-1.14/META.json Search-Elasticsearch-1.14/META.yml Search-Elasticsearch-1.14/README Search-Elasticsearch-1.14/t/ Search-Elasticsearch-1.14/t/10_Basic/ Search-Elasticsearch-1.14/t/20_Serializer/ Search-Elasticsearch-1.14/t/30_Logger/ Search-Elasticsearch-1.14/t/40_Transport/ Search-Elasticsearch-1.14/t/50_Cxn_Pool/ Search-Elasticsearch-1.14/t/60_Cxn/ Search-Elasticsearch-1.14/t/70_Helper/ Search-Elasticsearch-1.14/t/90_Client_Spec/ Search-Elasticsearch-1.14/t/lib/ Search-Elasticsearch-1.14/t/release-eol.t Search-Elasticsearch-1.14/t/release-no-tabs.t Search-Elasticsearch-1.14/t/release-pod-syntax.t Search-Elasticsearch-1.14/t/lib/default_cxn.pl Search-Elasticsearch-1.14/t/lib/es_sync.pl Search-Elasticsearch-1.14/t/lib/es_sync_fork.pl Search-Elasticsearch-1.14/t/lib/index_test_data.pl Search-Elasticsearch-1.14/t/lib/LogCallback.pl Search-Elasticsearch-1.14/t/lib/MockCxn.pm Search-Elasticsearch-1.14/t/90_Client_Spec/00_print_version.t Search-Elasticsearch-1.14/t/70_Helper/10_bulk_add_action.t Search-Elasticsearch-1.14/t/70_Helper/20_bulk_helpers.t Search-Elasticsearch-1.14/t/70_Helper/30_bulk_flush.t Search-Elasticsearch-1.14/t/70_Helper/40_bulk_errors.t Search-Elasticsearch-1.14/t/70_Helper/50_scroll.t Search-Elasticsearch-1.14/t/70_Helper/60_reindex.t Search-Elasticsearch-1.14/t/60_Cxn/10_basic.t Search-Elasticsearch-1.14/t/60_Cxn/20_process_response.t Search-Elasticsearch-1.14/t/60_Cxn/30_http.t Search-Elasticsearch-1.14/t/60_Cxn/40_fork_httptiny.t Search-Elasticsearch-1.14/t/60_Cxn/41_fork_lwp.t Search-Elasticsearch-1.14/t/60_Cxn/42_fork_hijk.t Search-Elasticsearch-1.14/t/60_Cxn/43_fork_netcurl.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/10_static_normal.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/11_static_node_missing.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/12_static_node_fails.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/13_static_node_timesout.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/14_static_both_nodes_timeout.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/15_static_both_nodes_fail.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/16_static_nodes_starting.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/17_static_runaway_nodes.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/30_sniff_normal.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/31_sniff_new_nodes.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/32_sniff_node_fails.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/33_sniff_both_nodes_fail.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/34_sniff_node_timeout.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/35_sniff_both_nodes_timeout.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/36_sniff_nodes_starting.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/37_sniff_runaway_nodes.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/38_bad_sniff.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/39_sniff_max_content.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/50_noping_normal.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/51_noping_node_fails.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/52_noping_node_timesout.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/53_noping_all_nodes_fail.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/54_noping_nodes_starting.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/55_noping_runaway_nodes.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/56_max_retries.t Search-Elasticsearch-1.14/t/50_Cxn_Pool/70_live.t Search-Elasticsearch-1.14/t/40_Transport/10_tidy_request.t Search-Elasticsearch-1.14/t/40_Transport/20_send_body_as.t Search-Elasticsearch-1.14/t/40_Transport/30_perform_request.t Search-Elasticsearch-1.14/t/30_Logger/10_explicit.t Search-Elasticsearch-1.14/t/30_Logger/20_implicit.t Search-Elasticsearch-1.14/t/30_Logger/30_log_methods.t Search-Elasticsearch-1.14/t/30_Logger/40_trace_request.t Search-Elasticsearch-1.14/t/30_Logger/50_trace_response.t Search-Elasticsearch-1.14/t/30_Logger/60_trace_error.t Search-Elasticsearch-1.14/t/30_Logger/70_trace_comment.t Search-Elasticsearch-1.14/t/20_Serializer/10_load_cpanel.t Search-Elasticsearch-1.14/t/20_Serializer/11_load_xs.t Search-Elasticsearch-1.14/t/20_Serializer/12_load_pp.t Search-Elasticsearch-1.14/t/20_Serializer/13_preload_cpanel.t Search-Elasticsearch-1.14/t/20_Serializer/14_preload_xs.t Search-Elasticsearch-1.14/t/20_Serializer/20_xs_encode_decode.t Search-Elasticsearch-1.14/t/20_Serializer/21_xs_encode_bulk.t Search-Elasticsearch-1.14/t/20_Serializer/22_xs_encode_pretty.t Search-Elasticsearch-1.14/t/20_Serializer/30_cpanel_encode_decode.t Search-Elasticsearch-1.14/t/20_Serializer/31_cpanel_encode_bulk.t Search-Elasticsearch-1.14/t/20_Serializer/32_cpanel_encode_pretty.t Search-Elasticsearch-1.14/t/20_Serializer/40_pp_encode_decode.t Search-Elasticsearch-1.14/t/20_Serializer/41_pp_encode_bulk.t Search-Elasticsearch-1.14/t/20_Serializer/42_pp_encode_pretty.t Search-Elasticsearch-1.14/t/20_Serializer/encode_bulk.pl Search-Elasticsearch-1.14/t/20_Serializer/encode_decode.pl Search-Elasticsearch-1.14/t/20_Serializer/encode_pretty.pl Search-Elasticsearch-1.14/t/10_Basic/10_load.t Search-Elasticsearch-1.14/lib/Search/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Bulk.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Error.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Logger/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Scroll.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/TestServer.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Transport.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/API/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/API/Path.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/API/QS.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/Cpanel.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/PP.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/XS.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/API/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/API.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Bulk.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Client/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Client.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Cxn/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Cxn.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Is_Sync.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Logger.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Scroll.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Serializer/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Serializer.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Transport.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Serializer/JSON.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Sniff.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Static/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Static.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Cxn/HTTP.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Client/Direct.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/API/0_90.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Logger/LogAny.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Sniff.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Static/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Static.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Static/NoPing.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/Factory.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/Hijk.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/HTTPTiny.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/LWP.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Cat.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Cluster.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Indices.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Nodes.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Snapshot.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct/ Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct/Indices.pm Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Warning: prerequisite Hijk 0.12 not found. Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Search::Elasticsearch Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- DRTECH/Search-Elasticsearch-1.14.tar.gz ---- Hijk [requires] Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Hijk' Running make for A/AV/AVAR/Hijk-0.17.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\A\AV\AVAR\Hijk-0.17.tar.gz ok Hijk-0.17/ Hijk-0.17/META.json Hijk-0.17/Makefile.PL Hijk-0.17/README.md Hijk-0.17/inc/ Hijk-0.17/inc/Module/ Hijk-0.17/inc/Module/Install.pm Hijk-0.17/inc/Module/Install/ Hijk-0.17/inc/Module/Install/WriteAll.pm Hijk-0.17/inc/Module/Install/Metadata.pm Hijk-0.17/inc/Module/Install/Win32.pm Hijk-0.17/inc/Module/Install/Fetch.pm Hijk-0.17/inc/Module/Install/Base.pm Hijk-0.17/inc/Module/Install/CPANfile.pm Hijk-0.17/inc/Module/Install/Can.pm Hijk-0.17/inc/Module/Install/Makefile.pm Hijk-0.17/inc/Module/CPANfile/ Hijk-0.17/inc/Module/CPANfile/Prereqs.pm Hijk-0.17/inc/Module/CPANfile/Environment.pm Hijk-0.17/inc/Module/CPANfile/Requirement.pm Hijk-0.17/inc/Module/CPANfile/Prereq.pm Hijk-0.17/inc/Module/CPANfile.pm Hijk-0.17/lib/ Hijk-0.17/lib/Hijk.pm Hijk-0.17/META.yml Hijk-0.17/MANIFEST Hijk-0.17/examples/ Hijk-0.17/examples/dumbbench-thisurl.pl Hijk-0.17/examples/hijkurl Hijk-0.17/examples/bench-nginx.pl Hijk-0.17/examples/bench-chunked-response.pl Hijk-0.17/examples/bench-elasticsearch.pl Hijk-0.17/Changes Hijk-0.17/cpanfile Hijk-0.17/t/ Hijk-0.17/t/chunked-trailer-head-as-array.t Hijk-0.17/t/chunked-trailer.t Hijk-0.17/t/parse-http-connection-close-message.t Hijk-0.17/t/live-plack.t Hijk-0.17/t/bin/ Hijk-0.17/t/bin/split-in-chunks.psgi Hijk-0.17/t/bin/it-takes-time.psgi Hijk-0.17/t/parse-http-message.t Hijk-0.17/t/build_http_message.t Hijk-0.17/t/live-elasticsearch.t Hijk-0.17/t/live-couchdb.t Hijk-0.17/t/live-connect-timeout.t Hijk-0.17/t/live-invalid-domain.t Hijk-0.17/t/live-google.t Hijk-0.17/t/parse-http-message-head-as-array.t Hijk-0.17/t/chunked.t Hijk-0.17/t/parse-http-no-content-len-message.t Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building A/AV/AVAR/Hijk-0.17.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Cannot determine perl version info from lib/Hijk.pm Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Hijk Writing MYMETA.yml and MYMETA.json Merging cpanfile prereqs to MYMETA.yml Merging cpanfile prereqs to MYMETA.json >>> dmake cp lib/Hijk.pm blib\lib\Hijk.pm AVAR/Hijk-0.17.tar.gz dmake -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test >>> dmake test TEST_VERBOSE=1 C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/build_http_message.t ................... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 1..20 ok # Failed test at t/chunked-trailer-head-as-array.t line 36. # got: '0' # expected: '200' # Failed test at t/chunked-trailer-head-as-array.t line 37. # got: undef # expected: 'Wikipedia in # # chunks.' # Failed test at t/chunked-trailer-head-as-array.t line 39. # Structures begin differing at: # $got = undef # $expected = ARRAY(0x4f1618) # Failed test at t/chunked-trailer-head-as-array.t line 53. # got: '2' # expected: '64' # Failed test at t/chunked-trailer-head-as-array.t line 54. # undef # doesn't match '(?^:0 byte)' # Looks like you failed 5 tests of 5. t/chunked-trailer-head-as-array.t ........ not ok 1 not ok 2 not ok 3 not ok 4 not ok 5 1..5 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/5 subtests # Failed test at t/chunked-trailer.t line 36. # got: '0' # expected: '200' # Failed test at t/chunked-trailer.t line 37. # got: undef # expected: 'Wikipedia in # # chunks.' # Failed test at t/chunked-trailer.t line 39. # Structures begin differing at: # $got = undef # $expected = HASH(0x4f1618) # Failed test at t/chunked-trailer.t line 53. # got: '2' # expected: '64' # Failed test at t/chunked-trailer.t line 54. # undef # doesn't match '(?^:0 byte)' # Looks like you failed 5 tests of 5. t/chunked-trailer.t ...................... not ok 1 not ok 2 not ok 3 not ok 4 not ok 5 1..5 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/5 subtests # Failed test at t/chunked.t line 35. # got: '0' # expected: '200' # Failed test at t/chunked.t line 36. # got: undef # expected: 'Wikipedia in # # chunks.' # Failed test at t/chunked.t line 38. # Structures begin differing at: # $got = undef # $expected = HASH(0x4f1618) # Failed test at t/chunked.t line 53. # got: '2' # expected: '64' # Failed test at t/chunked.t line 54. # undef # doesn't match '(?^:0 byte)' # Looks like you failed 5 tests of 5. t/chunked.t .............................. not ok 1 not ok 2 not ok 3 not ok 4 not ok 5 1..5 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/5 subtests t/live-connect-timeout.t ................. skipped: Enable live testing by setting env: TEST_LIVE=1 t/live-couchdb.t ......................... skipped: Enable live testing by setting env: TEST_LIVE=1 t/live-elasticsearch.t ................... skipped: Enable live testing by setting env: TEST_LIVE=1 t/live-google.t .......................... skipped: Enable live testing by setting env: TEST_LIVE=1 t/live-invalid-domain.t .................. skipped: Enable live testing by setting env: TEST_LIVE=1 t/live-plack.t ........................... skipped: Enable live testing by setting env: TEST_LIVE=1 # Failed test at t/parse-http-connection-close-message.t line 35. # got: '0' # expected: '200' # Failed test at t/parse-http-connection-close-message.t line 36. # got: undef # expected: '' # Failed test at t/parse-http-connection-close-message.t line 38. # Structures begin differing at: # $got = undef # $expected = HASH(0x4f3618) # Failed test at t/parse-http-connection-close-message.t line 48. # got: '2' # expected: '64' # Failed test at t/parse-http-connection-close-message.t line 49. # undef # doesn't match '(?^:0 byte)' # Looks like you failed 5 tests of 5. t/parse-http-connection-close-message.t .. not ok 1 not ok 2 not ok 3 not ok 4 not ok 5 1..5 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/5 subtests # Failed test at t/parse-http-message-head-as-array.t line 33. # got: undef # expected: 'HTTP/1.1' # Failed test at t/parse-http-message-head-as-array.t line 34. # got: '0' # expected: '200' # Failed test at t/parse-http-message-head-as-array.t line 35. # got: undef # expected: 'OHAI' # Failed test at t/parse-http-message-head-as-array.t line 37. # Structures begin differing at: # $got = undef # $expected = ARRAY(0x4f3618) # Looks like you failed 4 tests of 4. t/parse-http-message-head-as-array.t ..... not ok 1 not ok 2 not ok 3 not ok 4 1..4 Dubious, test returned 4 (wstat 1024, 0x400) Failed 4/4 subtests # Failed test at t/parse-http-message.t line 33. # got: undef # expected: 'HTTP/1.1' # Failed test at t/parse-http-message.t line 34. # got: '0' # expected: '200' # Failed test at t/parse-http-message.t line 35. # got: undef # expected: 'OHAI' # Failed test at t/parse-http-message.t line 37. # Structures begin differing at: # $got = undef # $expected = HASH(0x4f1618) # Looks like you failed 4 tests of 4. t/parse-http-message.t ................... not ok 1 not ok 2 not ok 3 not ok 4 1..4 Dubious, test returned 4 (wstat 1024, 0x400) Failed 4/4 subtests # Failed test at t/parse-http-no-content-len-message.t line 35. # got: '0' # expected: '200' # Failed test at t/parse-http-no-content-len-message.t line 36. # Structures begin differing at: # $got = undef # $expected = HASH(0x4f3618) # Failed test at t/parse-http-no-content-len-message.t line 44. # got: undef # expected: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' # Failed test at t/parse-http-no-content-len-message.t line 47. # got: '2' # expected: '64' # Failed test at t/parse-http-no-content-len-message.t line 48. # undef # doesn't match '(?^:0 byte)' # Looks like you failed 5 tests of 5. t/parse-http-no-content-len-message.t .... not ok 1 not ok 2 not ok 3 not ok 4 not ok 5 1..5 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/5 subtests Test Summary Report ------------------- t/chunked-trailer-head-as-array.t (Wstat: 1280 Tests: 5 Failed: 5) Failed tests: 1-5 Non-zero exit status: 5 t/chunked-trailer.t (Wstat: 1280 Tests: 5 Failed: 5) Failed tests: 1-5 Non-zero exit status: 5 t/chunked.t (Wstat: 1280 Tests: 5 Failed: 5) Failed tests: 1-5 Non-zero exit status: 5 t/parse-http-connection-close-message.t (Wstat: 1280 Tests: 5 Failed: 5) Failed tests: 1-5 Non-zero exit status: 5 t/parse-http-message-head-as-array.t (Wstat: 1024 Tests: 4 Failed: 4) Failed tests: 1-4 Non-zero exit status: 4 t/parse-http-message.t (Wstat: 1024 Tests: 4 Failed: 4) Failed tests: 1-4 Non-zero exit status: 4 t/parse-http-no-content-len-message.t (Wstat: 1280 Tests: 5 Failed: 5) Failed tests: 1-5 Non-zero exit status: 5 Files=14, Tests=53, 3 wallclock secs ( 0.05 usr + 0.08 sys = 0.13 CPU) Result: FAIL Failed 7/14 test programs. 33/53 subtests failed. dmake: Error code 133, while making 'test_dynamic' AVAR/Hijk-0.17.tar.gz dmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports AVAR/Hijk-0.17.tar.gz Running make for D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\Search-Elasticsearch-1.14-avgbtJ Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz Warning: Prerequisite 'Hijk => 0.12' for 'DRTECH/Search-Elasticsearch-1.14.tar.gz' failed when processing 'AVAR/Hijk-0.17.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> dmake cp lib/Search/Elasticsearch/Client/Direct/Snapshot.pm blib\lib\Search\Elasticsearch\Client\Direct\Snapshot.pm cp lib/Search/Elasticsearch/Client/Direct/Cluster.pm blib\lib\Search\Elasticsearch\Client\Direct\Cluster.pm cp lib/Search/Elasticsearch/Client/Direct/Nodes.pm blib\lib\Search\Elasticsearch\Client\Direct\Nodes.pm cp lib/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm blib\lib\Search\Elasticsearch\Client\0_90\Direct\Cluster.pm cp lib/Search/Elasticsearch/Bulk.pm blib\lib\Search\Elasticsearch\Bulk.pm cp lib/Search/Elasticsearch/Client/0_90/Direct.pm blib\lib\Search\Elasticsearch\Client\0_90\Direct.pm cp lib/Search/Elasticsearch/Cxn/Factory.pm blib\lib\Search\Elasticsearch\Cxn\Factory.pm cp lib/Search/Elasticsearch/Client/Direct/Cat.pm blib\lib\Search\Elasticsearch\Client\Direct\Cat.pm cp lib/Search/Elasticsearch/Client/0_90/Direct/Indices.pm blib\lib\Search\Elasticsearch\Client\0_90\Direct\Indices.pm cp lib/Search/Elasticsearch/Client/Direct/Indices.pm blib\lib\Search\Elasticsearch\Client\Direct\Indices.pm cp lib/Search/Elasticsearch/Cxn/HTTPTiny.pm blib\lib\Search\Elasticsearch\Cxn\HTTPTiny.pm cp lib/Search/Elasticsearch.pm blib\lib\Search\Elasticsearch.pm cp lib/Search/Elasticsearch/Client/Direct.pm blib\lib\Search\Elasticsearch\Client\Direct.pm cp lib/Search/Elasticsearch/Role/Bulk.pm blib\lib\Search\Elasticsearch\Role\Bulk.pm cp lib/Search/Elasticsearch/Logger/LogAny.pm blib\lib\Search\Elasticsearch\Logger\LogAny.pm cp lib/Search/Elasticsearch/Role/API.pm blib\lib\Search\Elasticsearch\Role\API.pm cp lib/Search/Elasticsearch/Role/Cxn.pm blib\lib\Search\Elasticsearch\Role\Cxn.pm cp lib/Search/Elasticsearch/Role/API/0_90.pm blib\lib\Search\Elasticsearch\Role\API\0_90.pm cp lib/Search/Elasticsearch/CxnPool/Static/NoPing.pm blib\lib\Search\Elasticsearch\CxnPool\Static\NoPing.pm cp lib/Search/Elasticsearch/Cxn/LWP.pm blib\lib\Search\Elasticsearch\Cxn\LWP.pm cp lib/Search/Elasticsearch/Role/Cxn/HTTP.pm blib\lib\Search\Elasticsearch\Role\Cxn\HTTP.pm cp lib/Search/Elasticsearch/Role/Client.pm blib\lib\Search\Elasticsearch\Role\Client.pm cp lib/Search/Elasticsearch/Role/Client/Direct.pm blib\lib\Search\Elasticsearch\Role\Client\Direct.pm cp lib/Search/Elasticsearch/Cxn/Hijk.pm blib\lib\Search\Elasticsearch\Cxn\Hijk.pm cp lib/Search/Elasticsearch/CxnPool/Static.pm blib\lib\Search\Elasticsearch\CxnPool\Static.pm cp lib/Search/Elasticsearch/Error.pm blib\lib\Search\Elasticsearch\Error.pm cp lib/Search/Elasticsearch/CxnPool/Sniff.pm blib\lib\Search\Elasticsearch\CxnPool\Sniff.pm cp lib/Search/Elasticsearch/Serializer/JSON.pm blib\lib\Search\Elasticsearch\Serializer\JSON.pm cp lib/Search/Elasticsearch/Role/Logger.pm blib\lib\Search\Elasticsearch\Role\Logger.pm cp lib/Search/Elasticsearch/Scroll.pm blib\lib\Search\Elasticsearch\Scroll.pm cp lib/Search/Elasticsearch/Role/CxnPool/Static.pm blib\lib\Search\Elasticsearch\Role\CxnPool\Static.pm cp lib/Search/Elasticsearch/Role/CxnPool.pm blib\lib\Search\Elasticsearch\Role\CxnPool.pm cp lib/Search/Elasticsearch/Role/Serializer/JSON.pm blib\lib\Search\Elasticsearch\Role\Serializer\JSON.pm cp lib/Search/Elasticsearch/Serializer/JSON/Cpanel.pm blib\lib\Search\Elasticsearch\Serializer\JSON\Cpanel.pm cp lib/Search/Elasticsearch/Role/Serializer.pm blib\lib\Search\Elasticsearch\Role\Serializer.pm cp lib/Search/Elasticsearch/Role/Transport.pm blib\lib\Search\Elasticsearch\Role\Transport.pm cp lib/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm blib\lib\Search\Elasticsearch\Role\CxnPool\Static\NoPing.pm cp lib/Search/Elasticsearch/Role/Is_Sync.pm blib\lib\Search\Elasticsearch\Role\Is_Sync.pm cp lib/Search/Elasticsearch/Role/CxnPool/Sniff.pm blib\lib\Search\Elasticsearch\Role\CxnPool\Sniff.pm cp lib/Search/Elasticsearch/Role/Scroll.pm blib\lib\Search\Elasticsearch\Role\Scroll.pm cp lib/Search/Elasticsearch/TestServer.pm blib\lib\Search\Elasticsearch\TestServer.pm cp lib/Search/Elasticsearch/Util.pm blib\lib\Search\Elasticsearch\Util.pm cp lib/Search/Elasticsearch/Serializer/JSON/XS.pm blib\lib\Search\Elasticsearch\Serializer\JSON\XS.pm cp lib/Search/Elasticsearch/Transport.pm blib\lib\Search\Elasticsearch\Transport.pm cp lib/Search/Elasticsearch/Serializer/JSON/PP.pm blib\lib\Search\Elasticsearch\Serializer\JSON\PP.pm cp lib/Search/Elasticsearch/Util/API/QS.pm blib\lib\Search\Elasticsearch\Util\API\QS.pm cp lib/Search/Elasticsearch/Util/API/Path.pm blib\lib\Search\Elasticsearch\Util\API\Path.pm DRTECH/Search-Elasticsearch-1.14.tar.gz dmake -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test >>> dmake test TEST_VERBOSE=1 C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/10_Basic/*.t t/20_Serializer/*.t t/30_Logger/*.t t/40_Transport/*.t t/50_Cxn_Pool/*.t t/60_Cxn/*.t t/70_Helper/*.t t/90_Client_Spec/*.t t/10_Basic/10_load.t .......................... ok 1 - use Search::Elasticsearch; ok 2 - 'client' isa 'Search::Elasticsearch::Client::Direct' ok 3 - 'transport' isa 'Search::Elasticsearch::Transport' ok 4 - 'cxn_pool' isa 'Search::Elasticsearch::CxnPool::Static' ok 5 - 'cxn_factory' isa 'Search::Elasticsearch::Cxn::Factory' ok 6 - 'logger' isa 'Search::Elasticsearch::Logger::LogAny' 1..6 ok t/20_Serializer/10_load_cpanel.t .............. ok 1 # skip Cpanel::JSON::XS not installed 1..1 ok t/20_Serializer/11_load_xs.t .................. ok 1 - 'JSON::XS' isa 'JSON::XS' 1..1 ok t/20_Serializer/12_load_pp.t .................. ok 1 - 'JSON::PP' isa 'JSON::PP' 1..1 ok t/20_Serializer/13_preload_cpanel.t ........... skipped: Cpanel::JSON::XS not installed t/20_Serializer/14_preload_xs.t ............... ok 1 - 'JSON::XS' isa 'JSON::XS' 1..1 ok t/20_Serializer/20_xs_encode_decode.t ......... ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::XS' ok 2 - Enc - No args returns undef ok 3 - Enc - Undef returns undef ok 4 - Enc - Empty string returns same ok 5 - Enc - String returns same ok 6 - Enc - Unicode string returns encoded ok 7 - Enc - Unicode bytes returns same ok 8 - Enc - Hash returns JSON ok 9 - Enc - Array returns JSON ok 10 - Enc - scalar ref dies 1..10 ok t/20_Serializer/21_xs_encode_bulk.t ........... ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::XS' ok 2 - Mime type is JSON ok 3 - Enc - No args returns undef ok 4 - Enc - Undef returns undef ok 5 - Enc - Empty string returns same ok 6 - Enc - String returns same ok 7 - Enc - Unicode string returns encoded ok 8 - Enc - Unicode bytes returns same ok 9 - Enc - Hash returns JSON ok 10 - Enc - Array returns JSON ok 11 - Enc - scalar ref dies ok 12 - Dec - No args returns undef ok 13 - Dec - Undef returns undef ok 14 - Dec - Empty string returns same ok 15 - Dec - String returns same ok 16 - Dec - Unicode bytes returns decoded ok 17 - Dec - Unicode string returns same ok 18 - Dec - JSON returns hash ok 19 - Dec - JSON returns array ok 20 - Dec - invalid JSON dies 1..20 ok t/20_Serializer/22_xs_encode_pretty.t ......... ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::XS' ok 2 - Mime type is JSON ok 3 - Enc - No args returns undef ok 4 - Enc - Undef returns undef ok 5 - Enc - Empty string returns same ok 6 - Enc - String returns same ok 7 - Enc - Unicode string returns encoded ok 8 - Enc - Unicode bytes returns same ok 9 - Enc - Hash returns JSON ok 10 - Enc - Array returns JSON ok 11 - Enc - scalar ref dies ok 12 - Dec - No args returns undef ok 13 - Dec - Undef returns undef ok 14 - Dec - Empty string returns same ok 15 - Dec - String returns same ok 16 - Dec - Unicode bytes returns decoded ok 17 - Dec - Unicode string returns same ok 18 - Dec - JSON returns hash ok 19 - Dec - JSON returns array ok 20 - Dec - invalid JSON dies 1..20 ok t/20_Serializer/30_cpanel_encode_decode.t ..... skipped: Cpanel::JSON::XS not installed t/20_Serializer/31_cpanel_encode_bulk.t ....... skipped: Cpanel::JSON::XS not installed t/20_Serializer/32_cpanel_encode_pretty.t ..... skipped: Cpanel::JSON::XS not installed t/20_Serializer/40_pp_encode_decode.t ......... ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::PP' ok 2 - Enc - No args returns undef ok 3 - Enc - Undef returns undef ok 4 - Enc - Empty string returns same ok 5 - Enc - String returns same ok 6 - Enc - Unicode string returns encoded ok 7 - Enc - Unicode bytes returns same ok 8 - Enc - Hash returns JSON ok 9 - Enc - Array returns JSON ok 10 - Enc - scalar ref dies 1..10 ok t/20_Serializer/41_pp_encode_bulk.t ........... ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::PP' ok 2 - Mime type is JSON ok 3 - Enc - No args returns undef ok 4 - Enc - Undef returns undef ok 5 - Enc - Empty string returns same ok 6 - Enc - String returns same ok 7 - Enc - Unicode string returns encoded ok 8 - Enc - Unicode bytes returns same ok 9 - Enc - Hash returns JSON ok 10 - Enc - Array returns JSON ok 11 - Enc - scalar ref dies ok 12 - Dec - No args returns undef ok 13 - Dec - Undef returns undef ok 14 - Dec - Empty string returns same ok 15 - Dec - String returns same ok 16 - Dec - Unicode bytes returns decoded ok 17 - Dec - Unicode string returns same ok 18 - Dec - JSON returns hash ok 19 - Dec - JSON returns array ok 20 - Dec - invalid JSON dies 1..20 ok t/20_Serializer/42_pp_encode_pretty.t ......... ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::PP' ok 2 - Mime type is JSON ok 3 - Enc - No args returns undef ok 4 - Enc - Undef returns undef ok 5 - Enc - Empty string returns same ok 6 - Enc - String returns same ok 7 - Enc - Unicode string returns encoded ok 8 - Enc - Unicode bytes returns same ok 9 - Enc - Hash returns JSON ok 10 - Enc - Array returns JSON ok 11 - Enc - scalar ref dies ok 12 - Dec - No args returns undef ok 13 - Dec - Undef returns undef ok 14 - Dec - Empty string returns same ok 15 - Dec - String returns same ok 16 - Dec - Unicode bytes returns decoded ok 17 - Dec - Unicode string returns same ok 18 - Dec - JSON returns hash ok 19 - Dec - JSON returns array ok 20 - Dec - invalid JSON dies 1..20 ok Current cxns: ['http://localhost:9200'] Forcing ping before next use on all live cxns Ping [http://localhost:9200] before next request t/30_Logger/10_explicit.t ..................... ok 1 - 'Default Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 2 - Log as ok 3 - Trace as ok 4 - 'Default - Log to NULL' isa 'Log::Any::Adapter::Null' ok 5 - 'Default - Trace to NULL' isa 'Log::Any::Adapter::Null' ok 6 - 'Std Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 7 - 'Std - Log to Stderr' isa 'Log::Any::Adapter::Stderr' ok 8 - 'Std - Trace to Stdout' isa 'Log::Any::Adapter::Stdout' ok 9 - 'File Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 10 - 'File - Log to file' isa 'Log::Any::Adapter::File' ok 11 - 'File - Trace to file' isa 'Log::Any::Adapter::File' 1..11 ok Current cxns: ['http://localhost:9200'] Forcing ping before next use on all live cxns Ping [http://localhost:9200] before next request t/30_Logger/20_implicit.t ..................... Current cxns: ['http://localhost:9200'] Forcing ping before next use on all live cxns Ping [http://localhost:9200] before next request ok 1 - 'Default Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 2 - 'Default - Log to Stdout' isa 'Log::Any::Adapter::Stdout' ok 3 - 'Default - Trace to Stderr' isa 'Log::Any::Adapter::Stderr' ok 4 - 'Override Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 5 - 'Override - Log to Stderr' isa 'Log::Any::Adapter::Stderr' ok 6 - 'Override - Trace to Stdout' isa 'Log::Any::Adapter::Stdout' 1..6 ok t/30_Logger/30_log_methods.t .................. ok 1 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 2 - debug ok 3 - debug - method ok 4 - debug - format ok 5 - debug - params ok 6 - debugf ok 7 - debugf - method ok 8 - debugf - format ok 9 - debugf - params ok 10 - is_debug ok 11 - is_debug - method ok 12 - is_debug - format ok 13 - is_debug - params ok 14 - info ok 15 - info - method ok 16 - info - format ok 17 - info - params ok 18 - infof ok 19 - infof - method ok 20 - infof - format ok 21 - infof - params ok 22 - is_info ok 23 - is_info - method ok 24 - is_info - format ok 25 - is_info - params ok 26 - warning ok 27 - warning - method ok 28 - warning - format ok 29 - warning - params ok 30 - warningf ok 31 - warningf - method ok 32 - warningf - format ok 33 - warningf - params ok 34 - is_warning ok 35 - is_warning - method ok 36 - is_warning - format ok 37 - is_warning - params ok 38 - error ok 39 - error - method ok 40 - error - format ok 41 - error - params ok 42 - errorf ok 43 - errorf - method ok 44 - errorf - format ok 45 - errorf - params ok 46 - is_error ok 47 - is_error - method ok 48 - is_error - format ok 49 - is_error - params ok 50 - critical ok 51 - critical - method ok 52 - critical - format ok 53 - critical - params ok 54 - criticalf ok 55 - criticalf - method ok 56 - criticalf - format ok 57 - criticalf - params ok 58 - is_critical ok 59 - is_critical - method ok 60 - is_critical - format ok 61 - is_critical - params ok 62 - trace ok 63 - trace - method ok 64 - trace - format ok 65 - trace - params ok 66 - tracef ok 67 - tracef - method ok 68 - tracef - format ok 69 - tracef - params ok 70 - is_trace ok 71 - is_trace - method ok 72 - is_trace - format ok 73 - is_trace - params ok 74 - throw_error ok 75 - throw_error - vars ok 76 - throw_error - method ok 77 - throw_error - format ok 78 - throw_error - params ok 79 - throw_critical ok 80 - throw_critical - vars ok 81 - throw_critical - method ok 82 - throw_critical - format ok 83 - throw_critical - params 1..83 ok t/30_Logger/40_trace_request.t ................ ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct' ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 3 - Does Search::Elasticsearch::Role::Cxn ok 4 - No body ok 5 - No body - format ok 6 - Body ok 7 - Body - format ok 8 - Bulk ok 9 - Bulk - format ok 10 - Body string ok 11 - Body string - format 1..11 ok t/30_Logger/50_trace_response.t ............... ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct' ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 3 - Does Search::Elasticsearch::Role::Cxn ok 4 - No body ok 5 - No body - format ok 6 - Body ok 7 - Body - format 1..7 ok t/30_Logger/60_trace_error.t .................. ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct' ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 3 - Does Search::Elasticsearch::Role::Cxn ok 4 - No body ok 5 - No body - format ok 6 - Body ok 7 - Body - format 1..7 ok t/30_Logger/70_trace_comment.t ................ ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct' ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny' ok 3 - Does Search::Elasticsearch::Role::Cxn ok 4 - Comment ok 5 - Comment - format 1..5 ok t/40_Transport/10_tidy_request.t .............. ok 1 - An object of class 'Search::Elasticsearch::Transport' isa 'Search::Elasticsearch::Transport' ok 2 - Empty ok 3 - Method ok 4 - Path ok 5 - QS ok 6 - Body - Str ok 7 - Body - Hash ok 8 - Body - Array ok 9 - Body - Bulk ok 10 - MimeType 1..10 ok t/40_Transport/20_send_body_as.t .............. ok 1 - GET-empty ok 2 - GET-body ok 3 - POST-empty ok 4 - POST-eody ok 5 - source-empty ok 6 - source-body 1..6 ok t/40_Transport/30_perform_request.t ........... ok 1 - Simple request ok 2 - Request error ok 3 - Timeout error ok 4 - Timeout resolved ok 5 - Retried connection error ok 6 - Cxn then bad ping ok 7 - Initial bad ping 1..7 ok t/50_Cxn_Pool/10_static_normal.t .............. ok 1 - Ping before first use 1..1 ok t/50_Cxn_Pool/11_static_node_missing.t ........ ok 1 - One node missing ok 2 - Missing node joined - 2 1..2 ok t/50_Cxn_Pool/12_static_node_fails.t .......... ok 1 - One node throws Cxn ok 2 - Failed node recovers 1..2 ok t/50_Cxn_Pool/13_static_node_timesout.t ....... ok 1 - One node throws Timeout then recovers 1..1 ok t/50_Cxn_Pool/14_static_both_nodes_timeout.t .. ok 1 - One node throws Timeout, causing Timeout on other node 1..1 ok t/50_Cxn_Pool/15_static_both_nodes_fail.t ..... ok 1 - Both nodes fails then recover 1..1 ok t/50_Cxn_Pool/16_static_nodes_starting.t ...... ok 1 - Nodes initially unavailable 1..1 ok t/50_Cxn_Pool/17_static_runaway_nodes.t ....... ok 1 - Runaway nodes 1..1 ok t/50_Cxn_Pool/30_sniff_normal.t ............... ok 1 - Sniff before first use 1..1 ok t/50_Cxn_Pool/31_sniff_new_nodes.t ............ ok 1 - Sniff new nodes 1..1 ok t/50_Cxn_Pool/32_sniff_node_fails.t ........... ok 1 - Sniff after failure 1..1 ok t/50_Cxn_Pool/33_sniff_both_nodes_fail.t ...... ok 1 - Sniff after all nodes fail 1..1 ok t/50_Cxn_Pool/34_sniff_node_timeout.t ......... ok 1 - Sniff after timeout 1..1 ok t/50_Cxn_Pool/35_sniff_both_nodes_timeout.t ... ok 1 - Sniff after both nodes timeout 1..1 ok t/50_Cxn_Pool/36_sniff_nodes_starting.t ....... ok 1 - Sniff unavailable nodes while starting up 1..1 ok t/50_Cxn_Pool/37_sniff_runaway_nodes.t ........ ok 1 - Runaway nodes 1..1 ok t/50_Cxn_Pool/38_bad_sniff.t .................. ok 1 - Missing http_address ok 2 - Bad http_address 1..2 ok t/50_Cxn_Pool/39_sniff_max_content.t .......... ok 1 - Dynamic max content length ok 2 - Dynamic max content length 1..2 ok t/50_Cxn_Pool/50_noping_normal.t .............. ok 1 - Round robin 1..1 ok t/50_Cxn_Pool/51_noping_node_fails.t .......... ok 1 - Node fails and recovers 1..1 ok t/50_Cxn_Pool/52_noping_node_timesout.t ....... ok 1 - Node timesout and recovers 1..1 ok t/50_Cxn_Pool/53_noping_all_nodes_fail.t ...... ok 1 - All nodes fail and recover 1..1 ok t/50_Cxn_Pool/54_noping_nodes_starting.t ...... ok 1 - Nodes starting 1..1 ok t/50_Cxn_Pool/55_noping_runaway_nodes.t ....... ok 1 - Runaway nodes 1..1 ok t/50_Cxn_Pool/56_max_retries.t ................ ok 1 - Max retries 1..1 ok t/50_Cxn_Pool/70_live.t ....................... skipped: No Elasticsearch test node available t/60_Cxn/10_basic.t ........................... ok 1 - Does Search::Elasticsearch::Role::Cxn ok 2 - Cxn is live ok 3 - No ping failures ok 4 - No ping scheduled ok 5 - Cxn is dead ok 6 - Has ping failure ok 7 - Ping scheduled ok 8 - Dead timeout x 1 ok 9 - Cxn still dead ok 10 - Has 2 ping failures ok 11 - Ping scheduled ok 12 - Dead timeout x 2 ok 13 - Cxn still dead ok 14 - Has 102 ping failures ok 15 - Ping scheduled ok 16 - Max dead timeout ok 17 - Cxn is dead after force ping ok 18 - Force ping has no ping failures ok 19 - Next ping scheduled for now 1..19 ok t/60_Cxn/20_process_response.t ................ ok 1 - Does Search::Elasticsearch::Role::Cxn ok 2 - OK GET - code ok 3 - OK GET - body ok 4 - OK GET Text body - code ok 5 - OK GET Text body - body ok 6 - OK GET Empty body - code ok 7 - OK GET Empty body - body ok 8 - OK HEAD - code ok 9 - OK HEAD - body ok 10 - Missing GET ok 11 - Missing GET - code ok 12 - Missing GET - body ok 13 - Missing HEAD - code ok 14 - Missing HEAD - body ok 15 - Request error ok 16 - Conflict error ok 17 - Error has current version ok 18 - Timeout error 1..18 ok t/60_Cxn/30_http.t ............................ ok 1 - Default - default_headers ok 2 - Default - host ok 3 - Default - port ok 4 - Default - scheme ok 5 - Default - uri ok 6 - Default - userinfo ok 7 - Host - default_headers ok 8 - Host - host ok 9 - Host - port ok 10 - Host - scheme ok 11 - Host - uri ok 12 - Host - userinfo ok 13 - Host:Port - default_headers ok 14 - Host:Port - host ok 15 - Host:Port - port ok 16 - Host:Port - scheme ok 17 - Host:Port - uri ok 18 - Host:Port - userinfo ok 19 - HTTPS - default_headers ok 20 - HTTPS - host ok 21 - HTTPS - port ok 22 - HTTPS - scheme ok 23 - HTTPS - uri ok 24 - HTTPS - userinfo ok 25 - Path - default_headers ok 26 - Path - host ok 27 - Path - port ok 28 - Path - scheme ok 29 - Path - uri ok 30 - Path - userinfo ok 31 - Userinfo - default_headers ok 32 - Userinfo - host ok 33 - Userinfo - port ok 34 - Userinfo - scheme ok 35 - Userinfo - uri ok 36 - Userinfo - userinfo ok 37 - HTTPS option - default_headers ok 38 - HTTPS option - host ok 39 - HTTPS option - port ok 40 - HTTPS option - scheme ok 41 - HTTPS option - uri ok 42 - HTTPS option - userinfo ok 43 - HTTPS option with settings - default_headers ok 44 - HTTPS option with settings - host ok 45 - HTTPS option with settings - port ok 46 - HTTPS option with settings - scheme ok 47 - HTTPS option with settings - uri ok 48 - HTTPS option with settings - userinfo ok 49 - Port option - default_headers ok 50 - Port option - host ok 51 - Port option - port ok 52 - Port option - scheme ok 53 - Port option - uri ok 54 - Port option - userinfo ok 55 - Port option with settings - default_headers ok 56 - Port option with settings - host ok 57 - Port option with settings - port ok 58 - Port option with settings - scheme ok 59 - Port option with settings - uri ok 60 - Port option with settings - userinfo ok 61 - Path option - default_headers ok 62 - Path option - host ok 63 - Path option - port ok 64 - Path option - scheme ok 65 - Path option - uri ok 66 - Path option - userinfo ok 67 - Path option with settings - default_headers ok 68 - Path option with settings - host ok 69 - Path option with settings - port ok 70 - Path option with settings - scheme ok 71 - Path option with settings - uri ok 72 - Path option with settings - userinfo ok 73 - Userinfo option - default_headers ok 74 - Userinfo option - host ok 75 - Userinfo option - port ok 76 - Userinfo option - scheme ok 77 - Userinfo option - uri ok 78 - Userinfo option - userinfo ok 79 - Userinfo option with settings - default_headers ok 80 - Userinfo option with settings - host ok 81 - Userinfo option with settings - port ok 82 - Userinfo option with settings - scheme ok 83 - Userinfo option with settings - uri ok 84 - Userinfo option with settings - userinfo ok 85 - Deflate option - default_headers ok 86 - Deflate option - host ok 87 - Deflate option - port ok 88 - Deflate option - scheme ok 89 - Deflate option - uri ok 90 - Deflate option - userinfo ok 91 - Hash host - default_headers ok 92 - Hash host - host ok 93 - Hash host - port ok 94 - Hash host - scheme ok 95 - Hash host - uri ok 96 - Hash host - userinfo ok 97 - Hash port - default_headers ok 98 - Hash port - host ok 99 - Hash port - port ok 100 - Hash port - scheme ok 101 - Hash port - uri ok 102 - Hash port - userinfo ok 103 - Hash path - default_headers ok 104 - Hash path - host ok 105 - Hash path - port ok 106 - Hash path - scheme ok 107 - Hash path - uri ok 108 - Hash path - userinfo 1..108 ok t/60_Cxn/40_fork_httptiny.t ................... skipped: No Elasticsearch test node available t/60_Cxn/41_fork_lwp.t ........................ skipped: No Elasticsearch test node available t/60_Cxn/42_fork_hijk.t ....................... skipped: No Elasticsearch test node available t/60_Cxn/43_fork_netcurl.t .................... skipped: No Elasticsearch test node available t/70_Helper/10_bulk_add_action.t .............. skipped: No Elasticsearch test node available t/70_Helper/20_bulk_helpers.t ................. skipped: No Elasticsearch test node available t/70_Helper/30_bulk_flush.t ................... skipped: No Elasticsearch test node available t/70_Helper/40_bulk_errors.t .................. skipped: No Elasticsearch test node available t/70_Helper/50_scroll.t ....................... skipped: No Elasticsearch test node available t/70_Helper/60_reindex.t ...................... skipped: No Elasticsearch test node available t/90_Client_Spec/00_print_version.t ........... skipped: No Elasticsearch test node available t/release-eol.t ............................... skipped: these tests are for release candidate testing t/release-no-tabs.t ........................... skipped: these tests are for release candidate testing t/release-pod-syntax.t ........................ skipped: these tests are for release candidate testing All tests successful. Files=68, Tests=437, 34 wallclock secs ( 0.25 usr + 0.14 sys = 0.39 CPU) Result: PASS DRTECH/Search-Elasticsearch-1.14.tar.gz Tests succeeded but one dependency not OK (Hijk) DRTECH/Search-Elasticsearch-1.14.tar.gz [dependencies] -- NA Running test for module 'Search::Elasticsearch::Scroll' Running make for D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\Search-Elasticsearch-1.14-avgbtJ Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'Hijk => 0.12' for 'DRTECH/Search-Elasticsearch-1.14.tar.gz' failed when processing 'AVAR/Hijk-0.17.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Has already been made Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test Has already been tested within this command Running make for M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz Warning: Prerequisite 'Search::Elasticsearch => 1.10' for 'MICKEY/MetaCPAN-Client-1.007000.tar.gz' failed when processing 'DRTECH/Search-Elasticsearch-1.14.tar.gz' with 'make_test => NO one dependency not OK (Hijk)'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Search::Elasticsearch::Scroll => 0' for 'MICKEY/MetaCPAN-Client-1.007000.tar.gz' failed when processing 'DRTECH/Search-Elasticsearch-1.14.tar.gz' with 'make_test => NO one dependency not OK (Hijk)'. Continuing, but chances to succeed are limited. >>> dmake cp lib/MetaCPAN/Client/File.pm blib\lib\MetaCPAN\Client\File.pm cp lib/MetaCPAN/Client/Author.pm blib\lib\MetaCPAN\Client\Author.pm cp lib/MetaCPAN/Client/Role/Entity.pm blib\lib\MetaCPAN\Client\Role\Entity.pm cp lib/MetaCPAN/Client/Request.pm blib\lib\MetaCPAN\Client\Request.pm cp lib/MetaCPAN/Client/Rating.pm blib\lib\MetaCPAN\Client\Rating.pm cp lib/MetaCPAN/Client/Favorite.pm blib\lib\MetaCPAN\Client\Favorite.pm cp lib/MetaCPAN/Client/Release.pm blib\lib\MetaCPAN\Client\Release.pm cp lib/MetaCPAN/Client/Distribution.pm blib\lib\MetaCPAN\Client\Distribution.pm cp lib/MetaCPAN/Client/Pod.pm blib\lib\MetaCPAN\Client\Pod.pm cp lib/MetaCPAN/Client/ResultSet.pm blib\lib\MetaCPAN\Client\ResultSet.pm cp lib/MetaCPAN/Client/Module.pm blib\lib\MetaCPAN\Client\Module.pm cp lib/MetaCPAN/Client.pm blib\lib\MetaCPAN\Client.pm MICKEY/MetaCPAN-Client-1.007000.tar.gz dmake -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test >>> dmake test TEST_VERBOSE=1 C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/api/*.t # Failed test 'MetaCPAN/Client.pm loaded ok' # at t/00-compile.t line 48. # got: '512' # expected: '0' Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at -e line 1. # Failed test 'MetaCPAN/Client/Request.pm loaded ok' # at t/00-compile.t line 48. # got: '512' # expected: '0' Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at -e line 1. # Looks like you failed 2 tests of 12. t/00-compile.t ............ 1..12 not ok 1 - MetaCPAN/Client.pm loaded ok ok 2 - MetaCPAN/Client/Author.pm loaded ok ok 3 - MetaCPAN/Client/Distribution.pm loaded ok ok 4 - MetaCPAN/Client/Favorite.pm loaded ok ok 5 - MetaCPAN/Client/File.pm loaded ok ok 6 - MetaCPAN/Client/Module.pm loaded ok ok 7 - MetaCPAN/Client/Pod.pm loaded ok ok 8 - MetaCPAN/Client/Rating.pm loaded ok ok 9 - MetaCPAN/Client/Release.pm loaded ok not ok 10 - MetaCPAN/Client/Request.pm loaded ok ok 11 - MetaCPAN/Client/ResultSet.pm loaded ok ok 12 - MetaCPAN/Client/Role/Entity.pm loaded ok Dubious, test returned 2 (wstat 512, 0x200) Failed 2/12 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/_get.t line 8. BEGIN failed--compilation aborted at t/api/_get.t line 8. t/api/_get.t .............. 1..13 Dubious, test returned 2 (wstat 512, 0x200) Failed 13/13 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/_get_or_search.t line 8. BEGIN failed--compilation aborted at t/api/_get_or_search.t line 8. t/api/_get_or_search.t .... 1..10 Dubious, test returned 2 (wstat 512, 0x200) Failed 10/10 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/_search.t line 8. BEGIN failed--compilation aborted at t/api/_search.t line 8. t/api/_search.t ........... 1..19 Dubious, test returned 2 (wstat 512, 0x200) Failed 19/19 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/author.t line 8. BEGIN failed--compilation aborted at t/api/author.t line 8. t/api/author.t ............ Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/distribution.t line 8. BEGIN failed--compilation aborted at t/api/distribution.t line 8. t/api/distribution.t ...... 1..5 Dubious, test returned 2 (wstat 512, 0x200) Failed 5/5 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/favorite.t line 8. BEGIN failed--compilation aborted at t/api/favorite.t line 8. t/api/favorite.t .......... 1..10 Dubious, test returned 2 (wstat 512, 0x200) Failed 10/10 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/file.t line 8. BEGIN failed--compilation aborted at t/api/file.t line 8. t/api/file.t .............. 1..10 Dubious, test returned 2 (wstat 512, 0x200) Failed 10/10 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/module.t line 8. BEGIN failed--compilation aborted at t/api/module.t line 8. t/api/module.t ............ 1..10 Dubious, test returned 2 (wstat 512, 0x200) Failed 10/10 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/pod.t line 7. BEGIN failed--compilation aborted at t/api/pod.t line 7. t/api/pod.t ............... 1..5 Dubious, test returned 2 (wstat 512, 0x200) Failed 5/5 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/rating.t line 8. BEGIN failed--compilation aborted at t/api/rating.t line 8. t/api/rating.t ............ 1..7 Dubious, test returned 2 (wstat 512, 0x200) Failed 7/7 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/lib/Functions.pm line 3. BEGIN failed--compilation aborted at t/lib/Functions.pm line 3. Compilation failed in require at t/api/release.t line 8. BEGIN failed--compilation aborted at t/api/release.t line 8. t/api/release.t ........... 1..5 Dubious, test returned 2 (wstat 512, 0x200) Failed 5/5 subtests t/author-critic.t ......... skipped: these tests are for testing by the author t/entity.t ................ 1..6 ok 1 - data is missing, causing exception ok 2 - data available, not causing exception ok 3 - Subroutine _known_fields missing ok 4 - data available, not causing exception ok 5 - An object of class 'MetaCPAN::Client::FakeEntityFull' isa 'MetaCPAN::Client::FakeEntityFull' ok 6 - Correct data ok t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at t/request.t line 7. BEGIN failed--compilation aborted at t/request.t line 7. t/request.t ............... 1..7 Dubious, test returned 2 (wstat 512, 0x200) Failed 7/7 subtests Base class package "Search::Elasticsearch::Scroll" is empty. (Perhaps you need to 'use' the module which defines that package first, or make that module available in @INC (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .). at t/resultset.t line 12. BEGIN failed--compilation aborted at t/resultset.t line 12. t/resultset.t ............. 1..3 Dubious, test returned 2 (wstat 512, 0x200) Failed 3/3 subtests Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client/Request.pm line 9. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-_Nxaui\blib\lib/MetaCPAN/Client.pm line 9. Compilation failed in require at t/ua_trap.t line 34. BEGIN failed--compilation aborted at t/ua_trap.t line 34. t/ua_trap.t ............... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Test Summary Report ------------------- t/00-compile.t (Wstat: 512 Tests: 12 Failed: 2) Failed tests: 1, 10 Non-zero exit status: 2 t/api/_get.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 13 tests but ran 0. t/api/_get_or_search.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 10 tests but ran 0. t/api/_search.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 19 tests but ran 0. t/api/author.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/api/distribution.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 5 tests but ran 0. t/api/favorite.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 10 tests but ran 0. t/api/file.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 10 tests but ran 0. t/api/module.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 10 tests but ran 0. t/api/pod.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 5 tests but ran 0. t/api/rating.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 7 tests but ran 0. t/api/release.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 5 tests but ran 0. t/request.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 7 tests but ran 0. t/resultset.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 3 tests but ran 0. t/ua_trap.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=19, Tests=18, 7 wallclock secs ( 0.06 usr + 0.05 sys = 0.11 CPU) Result: FAIL Failed 15/19 test programs. 2/18 subtests failed. dmake: Error code 130, while making 'test_dynamic' MICKEY/MetaCPAN-Client-1.007000.tar.gz 2 dependencies missing (Search::Elasticsearch,Search::Elasticsearch::Scroll); additionally test harness failed dmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports MICKEY/MetaCPAN-Client-1.007000.tar.gz Running test for module 'Archive::Extract' Running make for B/BI/BINGOS/Archive-Extract-0.72.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\B\BI\BINGOS\Archive-Extract-0.72.tar.gz ok Archive-Extract-0.72/ Archive-Extract-0.72/t/ Archive-Extract-0.72/MANIFEST Archive-Extract-0.72/Makefile.PL Archive-Extract-0.72/README Archive-Extract-0.72/CHANGES Archive-Extract-0.72/lib/ Archive-Extract-0.72/META.yml Archive-Extract-0.72/META.json Archive-Extract-0.72/lib/Archive/ Archive-Extract-0.72/lib/Archive/Extract.pm Archive-Extract-0.72/t/src/ Archive-Extract-0.72/t/01_Archive-Extract.t Archive-Extract-0.72/t/src/y.par Archive-Extract-0.72/t/src/x.tar.xz Archive-Extract-0.72/t/src/x.lzma Archive-Extract-0.72/t/src/y.tar.bz2 Archive-Extract-0.72/t/src/x.gz Archive-Extract-0.72/t/src/y.txz Archive-Extract-0.72/t/src/x.ear Archive-Extract-0.72/t/src/x.txz Archive-Extract-0.72/t/src/x.bz2 Archive-Extract-0.72/t/src/x.par Archive-Extract-0.72/t/src/y.tgz Archive-Extract-0.72/t/src/y.tbz Archive-Extract-0.72/t/src/y.tar Archive-Extract-0.72/t/src/y.jar Archive-Extract-0.72/t/src/x.tar Archive-Extract-0.72/t/src/x.war Archive-Extract-0.72/t/src/y.war Archive-Extract-0.72/t/src/x.tar.gz Archive-Extract-0.72/t/src/x.zip Archive-Extract-0.72/t/src/x.Z Archive-Extract-0.72/t/src/y.ear Archive-Extract-0.72/t/src/y.zip Archive-Extract-0.72/t/src/y.tar.gz Archive-Extract-0.72/t/src/x.tgz Archive-Extract-0.72/t/src/y.tar.xz Archive-Extract-0.72/t/src/double_dir.zip Archive-Extract-0.72/t/src/x.xz Archive-Extract-0.72/t/src/x.jar Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building B/BI/BINGOS/Archive-Extract-0.72.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Archive::Extract Writing MYMETA.yml and MYMETA.json >>> dmake cp lib/Archive/Extract.pm blib\lib\Archive\Extract.pm BINGOS/Archive-Extract-0.72.tar.gz dmake -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test >>> dmake test TEST_VERBOSE=1 C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Older versions of Archive::Zip may cause File::Spec warnings # See bug #19713 in rt.cpan.org. It is safe to ignore them Setting $/ to a REGEXP reference is forbidden at ../lib/Archive/Extract.pm line 1114. # Looks like your test exited with 2 just after 86. t/01_Archive-Extract.t .. ok 1 - use Archive::Extract; ok 2 - Archive::Extract->can('types') ok 3 - Got a list of types ok 4 - Object created based on 'tgz' ok 5 - No error logged ok 6 - Object created based on 'tar' ok 7 - No error logged ok 8 - Object created based on 'gz' ok 9 - No error logged ok 10 - Object created based on 'zip' ok 11 - No error logged ok 12 - Object created based on 'bz2' ok 13 - No error logged ok 14 - Object created based on 'tbz' ok 15 - No error logged ok 16 - Object created based on 'Z' ok 17 - No error logged ok 18 - Object created based on 'lzma' ok 19 - No error logged ok 20 - Object created based on 'xz' ok 21 - No error logged ok 22 - Object created based on 'txz' ok 23 - No error logged ok 24 - No archive created based on '01_Archive-Extract.t' ok 25 - Error not captured in class method ok 26 - Error captured as warning ok 27 - Error is: unknown file type ok 28 - Archive created ok 29 - No errors yet ok 30 - Errors retrieved ok 31 - As expected ok 32 - Errors erased after ->extract() call ok 33 - Found extraction dir 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\src' ok 34 - Is expected dir 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\src' ok 35 - Found extraction dir 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\src' ok 36 - Is expected dir 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\src' ok 37 - An object of class 'Archive::Extract' isa 'Archive::Extract' ok 38 - Archive type is_gz recognized properly ok 39 - extract() for 'x.gz' reports success (PP: 0 Bin: 1) ok 40 - No errors capturing buffers ok 41 - Found correct number of output files (a) ok 42 - Found correct output file 'a' ok 43 - Output file 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\out\a' exists ok 44 - Extract dir found ok 45 - Extract dir exists ok 46 - Extract dir is expected 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\out' ok 47 # skip Unlink tests are unreliable on Win32 ok 48 # skip Unlink tests are unreliable on Win32 ok 49 # skip Unlink tests are unreliable on Win32 ok 50 # skip No buffers available ok 51 # skip No buffers available ok 52 # skip No buffers available ok 53 # skip No buffers available ok 54 # skip No buffers available ok 55 # skip No buffers available ok 56 # skip No buffers available ok 57 # skip No buffers available ok 58 # skip Unlink tests are unreliable on Win32 ok 59 # skip Unlink tests are unreliable on Win32 ok 60 # skip Unlink tests are unreliable on Win32 ok 61 - An object of class 'Archive::Extract' isa 'Archive::Extract' ok 62 - Archive type is_bz2 recognized properly ok 63 - extract() for 'x.bz2' reports success (PP: 0 Bin: 1) ok 64 - No errors capturing buffers ok 65 - Found correct number of output files (a) ok 66 - Found correct output file 'a' ok 67 - Output file 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\out\a' exists ok 68 - Extract dir found ok 69 - Extract dir exists ok 70 - Extract dir is expected 'C:\CPANFL~1.20\var\cpan\build\ARCHIV~1.72-\t\out' ok 71 # skip Unlink tests are unreliable on Win32 ok 72 # skip Unlink tests are unreliable on Win32 ok 73 # skip Unlink tests are unreliable on Win32 ok 74 # skip No buffers available ok 75 # skip No buffers available ok 76 # skip No buffers available ok 77 # skip No buffers available ok 78 # skip No buffers available ok 79 # skip No buffers available ok 80 # skip No buffers available ok 81 # skip No buffers available ok 82 # skip Unlink tests are unreliable on Win32 ok 83 # skip Unlink tests are unreliable on Win32 ok 84 # skip Unlink tests are unreliable on Win32 ok 85 - An object of class 'Archive::Extract' isa 'Archive::Extract' ok 86 - Archive type is_zip recognized properly 1..86 Dubious, test returned 2 (wstat 512, 0x200) All 86 subtests passed (less 28 skipped subtests: 58 okay) Test Summary Report ------------------- t/01_Archive-Extract.t (Wstat: 512 Tests: 86 Failed: 0) Non-zero exit status: 2 Files=1, Tests=86, 2 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) Result: FAIL Failed 1/1 test programs. 0/86 subtests failed. dmake: Error code 130, while making 'test_dynamic' BINGOS/Archive-Extract-0.72.tar.gz dmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports BINGOS/Archive-Extract-0.72.tar.gz Running test for module 'IO::File::AtomicChange' Running make for H/HI/HIROSE/IO-File-AtomicChange-0.05.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/H/HI/HIROSE/IO-File-AtomicChange-0.05.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/H/HI/HIROSE/CHECKSUMS Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\H\HI\HIROSE\IO-File-AtomicChange-0.05.tar.gz ok IO-File-AtomicChange-0.05/ IO-File-AtomicChange-0.05/lib/ IO-File-AtomicChange-0.05/lib/IO/ IO-File-AtomicChange-0.05/lib/IO/File/ IO-File-AtomicChange-0.05/lib/IO/File/AtomicChange.pm IO-File-AtomicChange-0.05/README IO-File-AtomicChange-0.05/META.json IO-File-AtomicChange-0.05/inc/ IO-File-AtomicChange-0.05/inc/Module/ IO-File-AtomicChange-0.05/inc/Module/Install/ IO-File-AtomicChange-0.05/inc/Module/Install/Can.pm IO-File-AtomicChange-0.05/inc/Module/Install/WriteAll.pm IO-File-AtomicChange-0.05/inc/Module/Install/Makefile.pm IO-File-AtomicChange-0.05/inc/Module/Install/Win32.pm IO-File-AtomicChange-0.05/inc/Module/Install/Base.pm IO-File-AtomicChange-0.05/inc/Module/Install/ReadmeFromPod.pm IO-File-AtomicChange-0.05/inc/Module/Install/Repository.pm IO-File-AtomicChange-0.05/inc/Module/Install/Metadata.pm IO-File-AtomicChange-0.05/inc/Module/Install/CPANfile.pm IO-File-AtomicChange-0.05/inc/Module/Install/Fetch.pm IO-File-AtomicChange-0.05/inc/Module/CPANfile/ IO-File-AtomicChange-0.05/inc/Module/CPANfile/Result.pm IO-File-AtomicChange-0.05/inc/Module/CPANfile/Environment.pm IO-File-AtomicChange-0.05/inc/Module/CPANfile.pm IO-File-AtomicChange-0.05/inc/Module/Install.pm IO-File-AtomicChange-0.05/META.yml IO-File-AtomicChange-0.05/xt/ IO-File-AtomicChange-0.05/xt/90_dependencies.t IO-File-AtomicChange-0.05/xt/01_podspell.t IO-File-AtomicChange-0.05/xt/perlcriticrc IO-File-AtomicChange-0.05/xt/02_perlcritic.t IO-File-AtomicChange-0.05/xt/03_pod.t IO-File-AtomicChange-0.05/Changes IO-File-AtomicChange-0.05/Makefile.PL IO-File-AtomicChange-0.05/cpanfile IO-File-AtomicChange-0.05/MANIFEST IO-File-AtomicChange-0.05/t/ IO-File-AtomicChange-0.05/t/11_append.t IO-File-AtomicChange-0.05/t/30_stat.t IO-File-AtomicChange-0.05/t/Utils.pm IO-File-AtomicChange-0.05/t/bak/ IO-File-AtomicChange-0.05/t/bak/.dummy IO-File-AtomicChange-0.05/t/10_write.t IO-File-AtomicChange-0.05/t/12_read.t IO-File-AtomicChange-0.05/t/00_compile.t IO-File-AtomicChange-0.05/t/70_not-close.t IO-File-AtomicChange-0.05/t/file/ IO-File-AtomicChange-0.05/t/file/.dummy IO-File-AtomicChange-0.05/t/20_backup.t Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building H/HI/HIROSE/IO-File-AtomicChange-0.05.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Cannot determine perl version info from lib/IO/File/AtomicChange.pm Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for IO::File::AtomicChange Writing MYMETA.yml and MYMETA.json Merging cpanfile prereqs to MYMETA.yml Merging cpanfile prereqs to MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- HIROSE/IO-File-AtomicChange-0.05.tar.gz ---- File::Sync [requires] Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'File::Sync' Running make for B/BR/BRIANSKI/File-Sync-0.11.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/B/BR/BRIANSKI/File-Sync-0.11.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/B/BR/BRIANSKI/CHECKSUMS Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\B\BR\BRIANSKI\File-Sync-0.11.tar.gz ok File-Sync-0.11/ File-Sync-0.11/MANIFEST File-Sync-0.11/t/ File-Sync-0.11/t/01_fsync.t File-Sync-0.11/t/02_error.t File-Sync-0.11/t/04_fdatasync.t File-Sync-0.11/t/03_sync.t File-Sync-0.11/Sync.xs File-Sync-0.11/Changes File-Sync-0.11/README File-Sync-0.11/META.yml File-Sync-0.11/Sync.pm File-Sync-0.11/Makefile.PL Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building B/BR/BRIANSKI/File-Sync-0.11.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Testing if you have a working C compiler and the needed header files... trying compilers: gcc... C:\cpanfly-5.20\var\tmp\cc6DD7nv.o:compile.c:(.text+0x13): undefined reference to `fdatasync' collect2: ld returned 1 exit status cc... 'cc' is not recognized as an internal or external command, operable program or batch file. gcc... C:\cpanfly-5.20\var\tmp\ccmeWIQM.o:compile.c:(.text+0x13): undefined reference to `fdatasync' collect2: ld returned 1 exit status egcs... 'egcs' is not recognized as an internal or external command, operable program or batch file. icc... 'icc' is not recognized as an internal or external command, operable program or batch file. pcc... 'pcc' is not recognized as an internal or external command, operable program or batch file. lcc... 'lcc' is not recognized as an internal or external command, operable program or batch file. fdatasync() support not detected, skipping it Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for File::Sync Writing MYMETA.yml and MYMETA.json >>> dmake cp Sync.pm blib\lib\File\Sync.pm AutoSplitting blib\lib\File\Sync.pm (blib\lib\auto\File\Sync) Running Mkbootstrap for File::Sync () C:\Perl64-5.20\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Sync.bs C:\Perl64-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib\ExtUtils\xsubpp -typemap C:\Perl64-5.20\lib\ExtUtils\typemap Sync.xs > Sync.xsc && C:\Perl64-5.20\bin\perl.exe -MExtUtils::Command -e mv -- Sync.xsc Sync.c gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\Perl64-5.20\lib\CORE" -DHAVE_SYNC Sync.c C:\Perl64-5.20\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"File::Sync\", 'DLBASE' => 'Sync', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def Sync.def --output-exp dll.exp g++ -o blib\arch\auto\File\Sync\Sync.dll -Wl,--base-file -Wl,dll.base -mdll -s -static-libgcc -static-libstdc++ -L"C:\Perl64-5.20\lib\CORE" -L"C:\MinGW\x86_64-w64-mingw32\lib" Sync.o C:\Perl64-5.20\lib\CORE\libperl520.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp Sync.o:Sync.c:(.text+0x8c): undefined reference to `fsync' Sync.o:Sync.c:(.text+0xd1): undefined reference to `fsync' Sync.o:Sync.c:(.text+0x146): undefined reference to `sync' c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/bin/ld.exe: Sync.o: bad reloc address 0x0 in section `.pdata' c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/bin/ld.exe: final link failed: Invalid operation collect2: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\File\Sync\Sync.dll' BRIANSKI/File-Sync-0.11.tar.gz dmake -- NOT OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test Can't test without successful make Running make for H/HI/HIROSE/IO-File-AtomicChange-0.05.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building H/HI/HIROSE/IO-File-AtomicChange-0.05.tar.gz Warning: Prerequisite 'File::Sync => 0' for 'HIROSE/IO-File-AtomicChange-0.05.tar.gz' failed when processing 'BRIANSKI/File-Sync-0.11.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited. >>> dmake cp lib/IO/File/AtomicChange.pm blib\lib\IO\File\AtomicChange.pm HIROSE/IO-File-AtomicChange-0.05.tar.gz dmake -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running make test >>> dmake test TEST_VERBOSE=1 C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'inc', 'blib\lib', 'blib\arch')" t/*.t # Failed test 'use IO::File::AtomicChange;' # at t/00_compile.t line 4. # Tried to use 'IO::File::AtomicChange'. # Error: Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. # BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. # Compilation failed in require at t/00_compile.t line 4. # BEGIN failed--compilation aborted at t/00_compile.t line 4. # Looks like you failed 1 test of 1. t/00_compile.t .... 1..1 not ok 1 - use IO::File::AtomicChange; Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: t\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. Compilation failed in require at t/Utils.pm line 19. BEGIN failed--compilation aborted at t/Utils.pm line 19. Compilation failed in require at t/10_write.t line 4. BEGIN failed--compilation aborted at t/10_write.t line 4. t/10_write.t ...... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: t\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. Compilation failed in require at t/Utils.pm line 19. BEGIN failed--compilation aborted at t/Utils.pm line 19. Compilation failed in require at t/11_append.t line 4. BEGIN failed--compilation aborted at t/11_append.t line 4. t/11_append.t ..... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: t\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. Compilation failed in require at t/Utils.pm line 19. BEGIN failed--compilation aborted at t/Utils.pm line 19. Compilation failed in require at t/12_read.t line 4. BEGIN failed--compilation aborted at t/12_read.t line 4. t/12_read.t ....... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: t\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. Compilation failed in require at t/Utils.pm line 19. BEGIN failed--compilation aborted at t/Utils.pm line 19. Compilation failed in require at t/20_backup.t line 4. BEGIN failed--compilation aborted at t/20_backup.t line 4. t/20_backup.t ..... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: t\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. Compilation failed in require at t/Utils.pm line 19. BEGIN failed--compilation aborted at t/Utils.pm line 19. Compilation failed in require at t/30_stat.t line 4. BEGIN failed--compilation aborted at t/30_stat.t line 4. t/30_stat.t ....... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate File/Sync.pm in @INC (you may need to install the File::Sync module) (@INC contains: t\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\inc C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\IO-File-AtomicChange-0.05-gOhWcE\blib\lib/IO/File/AtomicChange.pm line 12. Compilation failed in require at t/Utils.pm line 19. BEGIN failed--compilation aborted at t/Utils.pm line 19. Compilation failed in require at t/70_not-close.t line 4. BEGIN failed--compilation aborted at t/70_not-close.t line 4. t/70_not-close.t .. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Test Summary Report ------------------- t/00_compile.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/10_write.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/11_append.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/12_read.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/20_backup.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/30_stat.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/70_not-close.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=7, Tests=1, 1 wallclock secs ( 0.06 usr + 0.02 sys = 0.08 CPU) Result: FAIL Failed 7/7 test programs. 1/1 subtests failed. dmake: Error code 130, while making 'test_dynamic' HIROSE/IO-File-AtomicChange-0.05.tar.gz one dependency not OK (File::Sync); additionally test harness failed dmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports HIROSE/IO-File-AtomicChange-0.05.tar.gz Running Build for O/OA/OALDERS/OrePAN2-0.31.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4 Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'make' CPAN.pm: Building O/OA/OALDERS/OrePAN2-0.31.tar.gz Warning: Prerequisite 'MetaCPAN::Client => 1.006' for 'OALDERS/OrePAN2-0.31.tar.gz' failed when processing 'MICKEY/MetaCPAN-Client-1.007000.tar.gz' with 'make_test => NO 2 dependencies missing (Search::Elasticsearch,Search::Elasticsearch::Scroll); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'IO::File::AtomicChange => 0' for 'OALDERS/OrePAN2-0.31.tar.gz' failed when processing 'HIROSE/IO-File-AtomicChange-0.05.tar.gz' with 'make_test => NO one dependency not OK (File::Sync); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Archive::Extract => 0.72' for 'OALDERS/OrePAN2-0.31.tar.gz' failed when processing 'BINGOS/Archive-Extract-0.72.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> C:\Perl64-5.20\bin\perl.exe ./Build cp script/orepan2-inject blib\script\orepan2-inject cp script/orepan2-gc blib\script\orepan2-gc cp lib/OrePAN2/Repository/Cache.pm blib\lib\OrePAN2\Repository\Cache.pm cp lib/OrePAN2/Index.pm blib\lib\OrePAN2\Index.pm cp lib/OrePAN2/Injector.pm blib\lib\OrePAN2\Injector.pm cp lib/OrePAN2/Indexer.pm blib\lib\OrePAN2\Indexer.pm cp script/orepan2-indexer blib\script\orepan2-indexer cp script/orepan2-merge-index blib\script\orepan2-merge-index cp lib/OrePAN2.pm blib\lib\OrePAN2.pm cp lib/OrePAN2/Repository.pm blib\lib\OrePAN2\Repository.pm cp lib/OrePAN2/CLI/Indexer.pm blib\lib\OrePAN2\CLI\Indexer.pm cp lib/OrePAN2/CLI/Inject.pm blib\lib\OrePAN2\CLI\Inject.pm OALDERS/OrePAN2-0.31.tar.gz C:\Perl64-5.20\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl64-5.20\bin\perl.exe ./Build test verbose=1 # Failed test 'use OrePAN2::Repository;' # at t/00_compile.t line 4. # Tried to use 'OrePAN2::Repository'. # Error: Can't locate Archive/Extract.pm in @INC (you may need to install the Archive::Extract module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. # BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. # Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Repository.pm line 12. # BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Repository.pm line 12. # Compilation failed in require at t/00_compile.t line 4. # BEGIN failed--compilation aborted at t/00_compile.t line 4. # Failed test 'use OrePAN2::Repository::Cache;' # at t/00_compile.t line 4. # Tried to use 'OrePAN2::Repository::Cache'. # Error: Can't locate IO/File/AtomicChange.pm in @INC (you may need to install the IO::File::AtomicChange module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Repository/Cache.pm line 11. # BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Repository/Cache.pm line 11. # Compilation failed in require at t/00_compile.t line 4. # BEGIN failed--compilation aborted at t/00_compile.t line 4. # Looks like you failed 2 tests of 3. t/00_compile.t ....... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/3 subtests Can't locate Archive/Extract.pm in @INC (you may need to install the Archive::Extract module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. Compilation failed in require at t/01_indexer.t line 10. BEGIN failed--compilation aborted at t/01_indexer.t line 10. t/01_indexer.t ....... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate Archive/Extract.pm in @INC (you may need to install the Archive::Extract module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. Compilation failed in require at t/02_no_index.t line 10. BEGIN failed--compilation aborted at t/02_no_index.t line 10. t/02_no_index.t ...... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Injector.pm line 15. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Injector.pm line 15. Compilation failed in require at t/03_inject.t line 11. BEGIN failed--compilation aborted at t/03_inject.t line 11. t/03_inject.t ........ Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate Archive/Extract.pm in @INC (you may need to install the Archive::Extract module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Repository.pm line 12. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Repository.pm line 12. Compilation failed in require at t/04_repository.t line 6. BEGIN failed--compilation aborted at t/04_repository.t line 6. t/04_repository.t .... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: lib C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at lib/OrePAN2/Injector.pm line 15. BEGIN failed--compilation aborted at lib/OrePAN2/Injector.pm line 15. Compilation failed in require at lib/OrePAN2/CLI/Inject.pm line 9. BEGIN failed--compilation aborted at lib/OrePAN2/CLI/Inject.pm line 9. Compilation failed in require at script/orepan2-inject line 4. BEGIN failed--compilation aborted at script/orepan2-inject line 4. # Failed test at t/05_cache.t line 10. # got: '512' # expected: '0' # Failed test at t/05_cache.t line 11. # Failed test at t/05_cache.t line 13. Can't call method "mtime" on an undefined value at t/05_cache.t line 14. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 3. t/05_cache.t ......... Dubious, test returned 2 (wstat 512, 0x200) Failed 3/3 subtests Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at t/06_inject_live.t line 8. BEGIN failed--compilation aborted at t/06_inject_live.t line 8. t/06_inject_live.t ... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: lib C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at lib/OrePAN2/Injector.pm line 15. BEGIN failed--compilation aborted at lib/OrePAN2/Injector.pm line 15. Compilation failed in require at lib/OrePAN2/CLI/Inject.pm line 9. BEGIN failed--compilation aborted at lib/OrePAN2/CLI/Inject.pm line 9. Compilation failed in require at script/orepan2-inject line 4. BEGIN failed--compilation aborted at script/orepan2-inject line 4. # Failed test at t/cli/gc.t line 9. # got: '512' # expected: '0' # Failed test 'Generated tar ball' # at t/cli/gc.t line 11. No such file or directory at t/cli/gc.t line 14. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 2. t/cli/gc.t ........... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Can't locate Archive/Extract.pm in @INC (you may need to install the Archive::Extract module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Indexer.pm line 10. Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/CLI/Indexer.pm line 9. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/CLI/Indexer.pm line 9. Compilation failed in require at t/cli/indexer.t line 6. BEGIN failed--compilation aborted at t/cli/indexer.t line 6. t/cli/indexer.t ...... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\arch C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/arch C:\cpanfly-5.20\var\cpan\build\Parse-LocalDistribution-0.14-G6uN93/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Injector.pm line 15. BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\OrePAN2-0.31-PXbKH4\blib\lib/OrePAN2/Injector.pm line 15. Compilation failed in require at t/cli/inject-git.t line 7. BEGIN failed--compilation aborted at t/cli/inject-git.t line 7. t/cli/inject-git.t ... Dubious, test returned 2 (wstat 512, 0x200) No subtests run t/cli/merge-index.t .. ok t/index.t ............ ok Test Summary Report ------------------- t/00_compile.t (Wstat: 512 Tests: 3 Failed: 2) Failed tests: 2-3 Non-zero exit status: 2 t/01_indexer.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/02_no_index.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/03_inject.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/04_repository.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/05_cache.t (Wstat: 512 Tests: 3 Failed: 3) Failed tests: 1-3 Non-zero exit status: 2 Parse errors: No plan found in TAP output t/06_inject_live.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/cli/gc.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 Parse errors: No plan found in TAP output t/cli/indexer.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/cli/inject-git.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=12, Tests=15, 5 wallclock secs ( 0.08 usr + 0.05 sys = 0.13 CPU) Result: FAIL OALDERS/OrePAN2-0.31.tar.gz 3 dependencies missing (IO::File::AtomicChange,MetaCPAN::Client,Archive::Extract); additionally test harness failed C:\Perl64-5.20\bin\perl.exe ./Build test verbose=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports OALDERS/OrePAN2-0.31.tar.gz Finished 2014-09-25T09:45:06