Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'actor-yield' of github.com:Takishipp/simgrid into actor-yield
authorTakishipp <toufik.boubehziz@gmail.com>
Thu, 23 Nov 2017 10:00:49 +0000 (11:00 +0100)
committerTakishipp <toufik.boubehziz@gmail.com>
Thu, 23 Nov 2017 10:00:49 +0000 (11:00 +0100)
664 files changed:
.gitignore
CMakeLists.txt
ChangeLog
NEWS
doc/doxygen/getting_started.doc
doc/doxygen/inside_extending.doc
doc/doxygen/inside_release.doc
doc/doxygen/inside_tests.doc
doc/doxygen/install_yours.doc
doc/doxygen/module-smpi.doc
doc/doxygen/module-xbt.doc
doc/doxygen/options.doc
doc/doxygen/outcomes_vizu.doc
doc/doxygen/tutorial_msg.doc
doc/doxygen/uhood_arch.doc
doc/doxygen/uhood_switch.doc
doc/manpage/smpirun.1
examples/java/app/bittorrent/Peer.java
examples/java/app/masterworker/Main.java
examples/java/app/pingpong/Main.java
examples/java/async/dsend/async-dsend.tesh
examples/java/async/waitall/async-waitall.tesh
examples/java/cloud/masterworker/Main.java
examples/java/cloud/migration/Daemon.java
examples/java/cloud/migration/XVM.java
examples/java/dht/chord/dht-chord.tesh
examples/java/dht/kademlia/Node.java
examples/java/dht/kademlia/RoutingTable.java
examples/java/energy/vm/energy-vm.tesh
examples/java/process/kill/Main.java
examples/java/process/suspend/Main.java
examples/java/task/priority/Main.java
examples/java/trace/pingpong/Main.java
examples/java/trace/pingpong/Receiver.java
examples/java/trace/pingpong/Sender.java
examples/msg/README.doc
examples/msg/app-chainsend/broadcaster.c
examples/msg/async-waitany/async-waitany.tesh
examples/msg/cloud-capping/cloud-capping.c
examples/msg/cloud-two-tasks/cloud-two-tasks.c
examples/msg/dht-kademlia/dht-kademlia.tesh
examples/msg/energy-consumption/energy-consumption.c
examples/msg/energy-ptask/energy-ptask.c
examples/msg/energy-vm/energy-vm.tesh
examples/msg/io-file/io-file.tesh
examples/msg/io-remote/io-remote.tesh
examples/msg/plugin-hostload/plugin-hostload.c
examples/msg/process-startkilltime/process-startkilltime.c
examples/msg/process-startkilltime/process-startkilltime.tesh
examples/msg/trace-categories/trace-categories.tesh
examples/msg/trace-host-user-variables/trace-host-user-variables.c
examples/msg/trace-host-user-variables/trace-host-user-variables.tesh
examples/msg/trace-link-user-variables/trace-link-user-variables.tesh
examples/msg/trace-masterworker/trace-masterworker.c
examples/msg/trace-masterworker/trace-masterworker.tesh
examples/msg/trace-platform/trace-platform.tesh
examples/msg/trace-process-migration/trace-process-migration.tesh
examples/msg/trace-route-user-variables/trace-route-user-variables.tesh
examples/platforms/config_tracing.xml
examples/platforms/energy_platform.xml
examples/s4u/CMakeLists.txt
examples/s4u/README.doc
examples/s4u/actions-comm/s4u-actions-comm.cpp
examples/s4u/actor-create/s4u-actor-create.cpp
examples/s4u/actor-execute/s4u-actor-execute.cpp [new file with mode: 0644]
examples/s4u/actor-execute/s4u-actor-execute.tesh [new file with mode: 0644]
examples/s4u/actor-lifetime/s4u-actor-lifetime.cpp [new file with mode: 0644]
examples/s4u/actor-lifetime/s4u-actor-lifetime.tesh [new file with mode: 0644]
examples/s4u/actor-lifetime/s4u-actor-lifetime_d.xml [new file with mode: 0644]
examples/s4u/actor-priority/s4u-actor-priority.cpp [new file with mode: 0644]
examples/s4u/actor-priority/s4u-actor-priority.tesh [new file with mode: 0644]
examples/s4u/actor-priority/s4u-actor-priority_d.xml [new file with mode: 0644]
examples/s4u/app-bittorrent/s4u-bittorrent.hpp
examples/s4u/app-bittorrent/s4u-peer.cpp
examples/s4u/app-bittorrent/s4u-tracker.cpp
examples/s4u/app-masterworker/s4u-app-masterworker.cpp
examples/s4u/app-token-ring/s4u-app-token-ring.cpp
examples/s4u/async-wait/s4u-async-wait.cpp
examples/s4u/async-waitall/s4u-async-waitall.cpp
examples/s4u/async-waitany/s4u-async-waitany.cpp
examples/s4u/dht-chord/node.cpp
examples/s4u/dht-chord/s4u-dht-chord.hpp
examples/s4u/energy-link/s4u-energy-link.cpp [new file with mode: 0644]
examples/s4u/energy-link/s4u-energy-link.tesh [new file with mode: 0644]
examples/s4u/io/s4u-io.cpp
examples/simdag/daxload/sd_daxload.c
examples/simdag/test/sd_test.cpp
examples/smpi/mc/bugged1_liveness.c
examples/smpi/replay/replay.tesh
examples/smpi/replay_multiple/replay_multiple.c
examples/smpi/replay_multiple/replay_multiple.tesh
examples/smpi/trace_simple/trace_simple.tesh
include/simgrid/chrono.hpp
include/simgrid/forward.h
include/simgrid/jedule/jedule.hpp
include/simgrid/jedule/jedule_events.hpp
include/simgrid/jedule/jedule_platform.hpp
include/simgrid/kernel/future.hpp
include/simgrid/msg.h
include/simgrid/plugins/energy.h
include/simgrid/s4u/Activity.hpp
include/simgrid/s4u/Actor.hpp
include/simgrid/s4u/Comm.hpp
include/simgrid/s4u/ConditionVariable.hpp
include/simgrid/s4u/Engine.hpp
include/simgrid/s4u/File.hpp
include/simgrid/s4u/Host.hpp
include/simgrid/s4u/Link.hpp
include/simgrid/s4u/Mailbox.hpp
include/simgrid/s4u/NetZone.hpp
include/simgrid/s4u/Storage.hpp
include/simgrid/s4u/VirtualMachine.hpp
include/simgrid/simdag.h
include/simgrid/simix.h
include/simgrid/simix/blocking_simcall.hpp
include/smpi/smpi.h
include/xbt.h
include/xbt/Extendable.hpp
include/xbt/algorithm.hpp
include/xbt/backtrace.h
include/xbt/base.h
include/xbt/config.h
include/xbt/config.hpp
include/xbt/cunit.h
include/xbt/dict.h
include/xbt/ex.h
include/xbt/exception.hpp
include/xbt/file.h [deleted file]
include/xbt/file.hpp [new file with mode: 0644]
include/xbt/functional.hpp
include/xbt/future.hpp
include/xbt/heap.h [deleted file]
include/xbt/log.h
include/xbt/range.hpp
include/xbt/replay.hpp
include/xbt/str.h
include/xbt/string.hpp
include/xbt/sysdep.h
include/xbt/utility.hpp
include/xbt/xbt_os_thread.h
src/bindings/java/JavaContext.cpp
src/bindings/java/JavaContext.hpp
src/bindings/java/jmsg.cpp
src/bindings/java/jmsg.hpp [moved from src/bindings/java/jmsg.h with 55% similarity]
src/bindings/java/jmsg_as.cpp
src/bindings/java/jmsg_as.hpp [moved from src/bindings/java/jmsg_as.h with 89% similarity]
src/bindings/java/jmsg_comm.cpp
src/bindings/java/jmsg_file.cpp
src/bindings/java/jmsg_host.cpp
src/bindings/java/jmsg_process.cpp
src/bindings/java/jmsg_process.h
src/bindings/java/jmsg_rngstream.cpp
src/bindings/java/jmsg_storage.cpp
src/bindings/java/jmsg_synchro.cpp
src/bindings/java/jmsg_task.cpp
src/bindings/java/jmsg_vm.cpp
src/bindings/java/jtrace.cpp
src/bindings/java/jxbt_utilities.cpp
src/bindings/java/jxbt_utilities.hpp [moved from src/bindings/java/jxbt_utilities.h with 53% similarity]
src/bindings/java/org/simgrid/msg/Msg.java
src/bindings/java/org/simgrid/msg/Process.java
src/bindings/lua/lua_debug.cpp
src/bindings/lua/lua_host.cpp
src/bindings/lua/lua_platf.cpp
src/bindings/lua/lua_private.h [deleted file]
src/bindings/lua/lua_private.hpp [new file with mode: 0644]
src/bindings/lua/lua_utils.hpp [moved from src/bindings/lua/lua_utils.h with 84% similarity]
src/bindings/lua/simgrid_lua.cpp
src/bindings/lua/simgrid_lua.hpp [moved from src/bindings/lua/simgrid_lua.h with 86% similarity]
src/include/mc/mc.h
src/include/simgrid/sg_config.h
src/include/surf/datatypes.h
src/include/surf/maxmin.hpp [moved from src/include/surf/maxmin.h with 86% similarity]
src/include/surf/surf.hpp [moved from src/include/surf/surf.h with 84% similarity]
src/include/xbt/parmap.hpp
src/instr/instr_config.cpp
src/instr/instr_interface.cpp
src/instr/instr_paje_containers.cpp
src/instr/instr_paje_containers.hpp [new file with mode: 0644]
src/instr/instr_paje_events.cpp [new file with mode: 0644]
src/instr/instr_paje_events.hpp [new file with mode: 0644]
src/instr/instr_paje_header.cpp
src/instr/instr_paje_trace.cpp
src/instr/instr_paje_types.cpp
src/instr/instr_paje_types.hpp [new file with mode: 0644]
src/instr/instr_paje_values.cpp
src/instr/instr_paje_values.hpp [new file with mode: 0644]
src/instr/instr_private.h [deleted file]
src/instr/instr_private.hpp [new file with mode: 0644]
src/instr/instr_resource_utilization.cpp
src/instr/instr_smpi.h [deleted file]
src/instr/instr_smpi.hpp [new file with mode: 0644]
src/instr/jedule/jedule_platform.cpp
src/kernel/EngineImpl.hpp
src/kernel/activity/CommImpl.cpp
src/kernel/activity/CommImpl.hpp
src/kernel/activity/ExecImpl.cpp
src/kernel/activity/ExecImpl.hpp
src/kernel/activity/MailboxImpl.cpp
src/kernel/activity/MailboxImpl.hpp
src/kernel/activity/SleepImpl.cpp
src/kernel/activity/SleepImpl.hpp
src/kernel/activity/SynchroIo.cpp
src/kernel/activity/SynchroIo.hpp
src/kernel/activity/SynchroRaw.hpp
src/kernel/context/Context.cpp
src/kernel/context/Context.hpp
src/kernel/context/ContextBoost.cpp
src/kernel/context/ContextBoost.hpp
src/kernel/context/ContextRaw.cpp
src/kernel/context/ContextRaw.hpp [new file with mode: 0644]
src/kernel/context/ContextThread.cpp
src/kernel/context/ContextThread.hpp
src/kernel/context/ContextUnix.cpp
src/kernel/context/ContextUnix.hpp [new file with mode: 0644]
src/kernel/future.cpp
src/kernel/routing/ClusterZone.cpp
src/kernel/routing/ClusterZone.hpp
src/kernel/routing/DijkstraZone.cpp
src/kernel/routing/DijkstraZone.hpp
src/kernel/routing/DragonflyZone.cpp
src/kernel/routing/DragonflyZone.hpp
src/kernel/routing/EmptyZone.cpp
src/kernel/routing/EmptyZone.hpp
src/kernel/routing/FatTreeZone.cpp
src/kernel/routing/FatTreeZone.hpp
src/kernel/routing/FloydZone.cpp
src/kernel/routing/FullZone.cpp
src/kernel/routing/NetPoint.hpp
src/kernel/routing/NetZoneImpl.cpp
src/kernel/routing/NetZoneImpl.hpp
src/kernel/routing/RoutedZone.cpp
src/kernel/routing/RoutedZone.hpp
src/kernel/routing/TorusZone.cpp
src/kernel/routing/TorusZone.hpp
src/kernel/routing/VivaldiZone.cpp
src/mc/DwarfExpression.cpp
src/mc/DwarfExpression.hpp
src/mc/LocationList.hpp
src/mc/ModelChecker.cpp
src/mc/ModelChecker.hpp
src/mc/ObjectInformation.hpp
src/mc/PageStore.cpp
src/mc/PageStore.hpp
src/mc/RegionSnapshot.cpp
src/mc/RegionSnapshot.hpp
src/mc/Session.cpp
src/mc/Session.hpp
src/mc/VisitedState.cpp
src/mc/VisitedState.hpp
src/mc/checker/Checker.cpp
src/mc/checker/Checker.hpp
src/mc/checker/CommunicationDeterminismChecker.cpp
src/mc/checker/LivenessChecker.cpp
src/mc/checker/LivenessChecker.hpp
src/mc/checker/SafetyChecker.cpp
src/mc/checker/SafetyChecker.hpp
src/mc/checker/simgrid_mc.cpp
src/mc/compare.cpp
src/mc/mc_base.cpp
src/mc/mc_checkpoint.cpp
src/mc/mc_client_api.cpp
src/mc/mc_comm_pattern.cpp
src/mc/mc_comm_pattern.hpp
src/mc/mc_config.cpp
src/mc/mc_dwarf.cpp
src/mc/mc_dwarf_attrnames.cpp
src/mc/mc_dwarf_tagnames.cpp
src/mc/mc_exit.hpp [moved from src/mc/mc_exit.h with 71% similarity]
src/mc/mc_global.cpp
src/mc/mc_hash.cpp
src/mc/mc_member.cpp
src/mc/mc_memory.cpp
src/mc/mc_mmu.hpp [moved from src/mc/mc_mmu.h with 83% similarity]
src/mc/mc_page_snapshot.cpp
src/mc/mc_private.hpp [moved from src/mc/mc_private.h with 75% similarity]
src/mc/mc_record.cpp
src/mc/mc_record.hpp [moved from src/mc/mc_record.h with 90% similarity]
src/mc/mc_replay.hpp [moved from src/mc/mc_replay.h with 76% similarity]
src/mc/mc_request.cpp
src/mc/mc_request.hpp [moved from src/mc/mc_request.h with 87% similarity]
src/mc/mc_safety.hpp [moved from src/mc/mc_safety.h with 87% similarity]
src/mc/mc_smx.cpp
src/mc/mc_smx.hpp [moved from src/mc/mc_smx.h with 95% similarity]
src/mc/mc_snapshot.cpp
src/mc/mc_snapshot.hpp [moved from src/mc/mc_snapshot.h with 59% similarity]
src/mc/mc_state.cpp
src/mc/mc_state.hpp [moved from src/mc/mc_state.h with 78% similarity]
src/mc/mc_unw.cpp
src/mc/mc_unw.hpp [moved from src/mc/mc_unw.h with 63% similarity]
src/mc/mc_unw_vmread.cpp
src/mc/remote/Channel.cpp
src/mc/remote/Channel.hpp
src/mc/remote/Client.cpp
src/mc/remote/Client.hpp
src/mc/remote/RemoteClient.cpp
src/mc/remote/RemoteClient.hpp
src/mc/remote/RemotePtr.hpp
src/mc/remote/mc_protocol.h
src/msg/instr_msg_process.cpp
src/msg/instr_msg_task.cpp
src/msg/msg_actions.cpp
src/msg/msg_deployment.cpp
src/msg/msg_environment.cpp
src/msg/msg_global.cpp
src/msg/msg_gos.cpp
src/msg/msg_host.cpp
src/msg/msg_io.cpp
src/msg/msg_mailbox.cpp
src/msg/msg_private.hpp [moved from src/msg/msg_private.h with 65% similarity]
src/msg/msg_process.cpp
src/msg/msg_synchro.cpp
src/msg/msg_task.cpp
src/msg/msg_vm.cpp
src/plugins/vm/VirtualMachineImpl.cpp
src/plugins/vm/VirtualMachineImpl.hpp
src/plugins/vm/s4u_VirtualMachine.cpp
src/s4u/s4u_actor.cpp
src/s4u/s4u_comm.cpp
src/s4u/s4u_engine.cpp
src/s4u/s4u_file.cpp
src/s4u/s4u_host.cpp
src/s4u/s4u_link.cpp
src/s4u/s4u_mailbox.cpp
src/s4u/s4u_mutex.cpp
src/s4u/s4u_netzone.cpp
src/s4u/s4u_storage.cpp
src/simdag/dax_dtd.c
src/simdag/dax_dtd.h
src/simdag/sd_daxloader.cpp
src/simdag/sd_dotloader.cpp
src/simdag/sd_task.cpp
src/simdag/simdag_private.hpp
src/simgrid/host.cpp
src/simgrid/sg_config.cpp
src/simix/ActorImpl.cpp
src/simix/ActorImpl.hpp
src/simix/libsmx.cpp
src/simix/popping.cpp
src/simix/popping_accessors.hpp [moved from src/simix/popping_accessors.h with 88% similarity]
src/simix/popping_bodies.cpp
src/simix/popping_enum.h
src/simix/popping_generated.cpp
src/simix/popping_private.hpp [moved from src/simix/popping_private.h with 70% similarity]
src/simix/simcalls.in
src/simix/simcalls.py
src/simix/smx_context.cpp
src/simix/smx_deployment.cpp
src/simix/smx_environment.cpp
src/simix/smx_global.cpp
src/simix/smx_host.cpp
src/simix/smx_host_private.hpp [moved from src/simix/smx_host_private.h with 74% similarity]
src/simix/smx_io.cpp
src/simix/smx_io_private.hpp [moved from src/simix/smx_io_private.h with 61% similarity]
src/simix/smx_network.cpp
src/simix/smx_network_private.hpp [moved from src/simix/smx_network_private.h with 93% similarity]
src/simix/smx_private.hpp [moved from src/simix/smx_private.h with 66% similarity]
src/simix/smx_synchro.cpp
src/simix/smx_synchro_private.hpp
src/smpi/bindings/smpi_f77.cpp
src/smpi/bindings/smpi_f77_coll.cpp
src/smpi/bindings/smpi_f77_comm.cpp
src/smpi/bindings/smpi_f77_request.cpp
src/smpi/bindings/smpi_f77_type.cpp
src/smpi/bindings/smpi_mpi.cpp
src/smpi/bindings/smpi_pmpi.cpp
src/smpi/bindings/smpi_pmpi_coll.cpp
src/smpi/bindings/smpi_pmpi_comm.cpp
src/smpi/bindings/smpi_pmpi_group.cpp
src/smpi/bindings/smpi_pmpi_info.cpp
src/smpi/bindings/smpi_pmpi_op.cpp
src/smpi/bindings/smpi_pmpi_request.cpp
src/smpi/bindings/smpi_pmpi_topo.cpp
src/smpi/bindings/smpi_pmpi_type.cpp
src/smpi/bindings/smpi_pmpi_win.cpp
src/smpi/colls/allgather/allgather-2dmesh.cpp
src/smpi/colls/allgather/allgather-3dmesh.cpp
src/smpi/colls/allgather/allgather-GB.cpp
src/smpi/colls/allgather/allgather-NTSLR-NB.cpp
src/smpi/colls/allgather/allgather-NTSLR.cpp
src/smpi/colls/allgather/allgather-SMP-NTS.cpp
src/smpi/colls/allgather/allgather-bruck.cpp
src/smpi/colls/allgather/allgather-loosely-lr.cpp
src/smpi/colls/allgather/allgather-mvapich-smp.cpp
src/smpi/colls/allgather/allgather-ompi-neighborexchange.cpp
src/smpi/colls/allgather/allgather-pair.cpp
src/smpi/colls/allgather/allgather-rdb.cpp
src/smpi/colls/allgather/allgather-rhv.cpp
src/smpi/colls/allgather/allgather-ring.cpp
src/smpi/colls/allgather/allgather-smp-simple.cpp
src/smpi/colls/allgather/allgather-spreading-simple.cpp
src/smpi/colls/allgatherv/allgatherv-GB.cpp
src/smpi/colls/allgatherv/allgatherv-mpich-rdb.cpp
src/smpi/colls/allgatherv/allgatherv-mpich-ring.cpp
src/smpi/colls/allgatherv/allgatherv-ompi-bruck.cpp
src/smpi/colls/allgatherv/allgatherv-ompi-neighborexchange.cpp
src/smpi/colls/allgatherv/allgatherv-pair.cpp
src/smpi/colls/allgatherv/allgatherv-ring.cpp
src/smpi/colls/allreduce/allreduce-lr.cpp
src/smpi/colls/allreduce/allreduce-mvapich-rs.cpp
src/smpi/colls/allreduce/allreduce-mvapich-two-level.cpp
src/smpi/colls/allreduce/allreduce-ompi-ring-segmented.cpp
src/smpi/colls/allreduce/allreduce-rab-rdb.cpp
src/smpi/colls/allreduce/allreduce-rab1.cpp
src/smpi/colls/allreduce/allreduce-rab2.cpp
src/smpi/colls/allreduce/allreduce-rdb.cpp
src/smpi/colls/allreduce/allreduce-redbcast.cpp
src/smpi/colls/allreduce/allreduce-smp-binomial-pipeline.cpp
src/smpi/colls/allreduce/allreduce-smp-binomial.cpp
src/smpi/colls/allreduce/allreduce-smp-rdb.cpp
src/smpi/colls/allreduce/allreduce-smp-rsag-lr.cpp
src/smpi/colls/allreduce/allreduce-smp-rsag-rab.cpp
src/smpi/colls/allreduce/allreduce-smp-rsag.cpp
src/smpi/colls/alltoall/alltoall-2dmesh.cpp
src/smpi/colls/alltoall/alltoall-3dmesh.cpp
src/smpi/colls/alltoall/alltoall-basic-linear.cpp
src/smpi/colls/alltoall/alltoall-bruck.cpp
src/smpi/colls/alltoall/alltoall-mvapich-scatter-dest.cpp
src/smpi/colls/alltoall/alltoall-pair-light-barrier.cpp
src/smpi/colls/alltoall/alltoall-pair-mpi-barrier.cpp
src/smpi/colls/alltoall/alltoall-pair-one-barrier.cpp
src/smpi/colls/alltoall/alltoall-pair.cpp
src/smpi/colls/alltoall/alltoall-rdb.cpp
src/smpi/colls/alltoall/alltoall-ring-light-barrier.cpp
src/smpi/colls/alltoall/alltoall-ring-mpi-barrier.cpp
src/smpi/colls/alltoall/alltoall-ring-one-barrier.cpp
src/smpi/colls/alltoall/alltoall-ring.cpp
src/smpi/colls/alltoallv/alltoallv-bruck.cpp
src/smpi/colls/alltoallv/alltoallv-ompi-basic-linear.cpp
src/smpi/colls/alltoallv/alltoallv-pair-light-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-pair-mpi-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-pair-one-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-pair.cpp
src/smpi/colls/alltoallv/alltoallv-ring-light-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-ring-mpi-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-ring-one-barrier.cpp
src/smpi/colls/alltoallv/alltoallv-ring.cpp
src/smpi/colls/barrier/barrier-mvapich2-pair.cpp
src/smpi/colls/barrier/barrier-ompi.cpp
src/smpi/colls/bcast/bcast-NTSB.cpp
src/smpi/colls/bcast/bcast-NTSL-Isend.cpp
src/smpi/colls/bcast/bcast-NTSL.cpp
src/smpi/colls/bcast/bcast-SMP-binary.cpp
src/smpi/colls/bcast/bcast-SMP-binomial.cpp
src/smpi/colls/bcast/bcast-SMP-linear.cpp
src/smpi/colls/bcast/bcast-arrival-pattern-aware-wait.cpp
src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp
src/smpi/colls/bcast/bcast-arrival-scatter.cpp
src/smpi/colls/bcast/bcast-binomial-tree.cpp
src/smpi/colls/bcast/bcast-flattree-pipeline.cpp
src/smpi/colls/bcast/bcast-flattree.cpp
src/smpi/colls/bcast/bcast-mvapich-smp.cpp
src/smpi/colls/bcast/bcast-ompi-pipeline.cpp
src/smpi/colls/bcast/bcast-ompi-split-bintree.cpp
src/smpi/colls/bcast/bcast-scatter-LR-allgather.cpp
src/smpi/colls/bcast/bcast-scatter-rdb-allgather.cpp
src/smpi/colls/coll_tuned_topo.cpp
src/smpi/colls/coll_tuned_topo.h [deleted file]
src/smpi/colls/coll_tuned_topo.hpp [new file with mode: 0644]
src/smpi/colls/colls_private.hpp [moved from src/smpi/colls/colls_private.h with 81% similarity]
src/smpi/colls/gather/gather-mvapich.cpp
src/smpi/colls/gather/gather-ompi.cpp
src/smpi/colls/reduce/reduce-NTSL.cpp
src/smpi/colls/reduce/reduce-arrival-pattern-aware.cpp
src/smpi/colls/reduce/reduce-binomial.cpp
src/smpi/colls/reduce/reduce-flat-tree.cpp
src/smpi/colls/reduce/reduce-mvapich-knomial.cpp
src/smpi/colls/reduce/reduce-mvapich-two-level.cpp
src/smpi/colls/reduce/reduce-ompi.cpp
src/smpi/colls/reduce/reduce-rab.cpp
src/smpi/colls/reduce/reduce-scatter-gather.cpp
src/smpi/colls/reduce_scatter/reduce_scatter-mpich.cpp
src/smpi/colls/reduce_scatter/reduce_scatter-ompi.cpp
src/smpi/colls/scatter/scatter-mvapich-two-level.cpp
src/smpi/colls/scatter/scatter-ompi.cpp
src/smpi/colls/smpi_automatic_selector.cpp
src/smpi/colls/smpi_coll.cpp
src/smpi/colls/smpi_default_selector.cpp
src/smpi/colls/smpi_intel_mpi_selector.cpp
src/smpi/colls/smpi_mpich_selector.cpp
src/smpi/colls/smpi_mvapich2_selector.cpp
src/smpi/colls/smpi_mvapich2_selector_stampede.h [deleted file]
src/smpi/colls/smpi_mvapich2_selector_stampede.hpp [new file with mode: 0644]
src/smpi/colls/smpi_openmpi_selector.cpp
src/smpi/include/SmpiHost.hpp
src/smpi/include/private.h [deleted file]
src/smpi/include/private.hpp
src/smpi/include/smpi_coll.hpp
src/smpi/include/smpi_comm.hpp
src/smpi/include/smpi_datatype.hpp
src/smpi/include/smpi_datatype_derived.hpp
src/smpi/include/smpi_f2c.hpp
src/smpi/include/smpi_group.hpp
src/smpi/include/smpi_keyvals.hpp
src/smpi/include/smpi_process.hpp
src/smpi/include/smpi_request.hpp
src/smpi/include/smpi_topo.hpp
src/smpi/include/smpi_utils.hpp [moved from src/include/smpi/smpi_utils.hpp with 66% similarity]
src/smpi/include/smpi_win.hpp
src/smpi/internals/SmpiHost.cpp
src/smpi/internals/instr_smpi.cpp
src/smpi/internals/smpi_bench.cpp
src/smpi/internals/smpi_deployment.cpp
src/smpi/internals/smpi_dvfs.cpp
src/smpi/internals/smpi_global.cpp
src/smpi/internals/smpi_memory.cpp
src/smpi/internals/smpi_process.cpp
src/smpi/internals/smpi_replay.cpp
src/smpi/internals/smpi_shared.cpp
src/smpi/internals/smpi_static_variables.cpp
src/smpi/internals/smpi_utils.cpp
src/smpi/mpi/smpi_comm.cpp
src/smpi/mpi/smpi_datatype.cpp
src/smpi/mpi/smpi_datatype_derived.cpp
src/smpi/mpi/smpi_f2c.cpp
src/smpi/mpi/smpi_group.cpp
src/smpi/mpi/smpi_keyvals.cpp
src/smpi/mpi/smpi_op.cpp
src/smpi/mpi/smpi_request.cpp
src/smpi/mpi/smpi_status.cpp
src/smpi/mpi/smpi_topo.cpp
src/smpi/mpi/smpi_win.cpp
src/smpi/smpirun.in
src/smpi/smpitools.sh
src/surf/FileImpl.cpp [deleted file]
src/surf/FileImpl.hpp [deleted file]
src/surf/HostImpl.cpp
src/surf/PropertyHolder.cpp
src/surf/PropertyHolder.hpp
src/surf/StorageImpl.cpp
src/surf/StorageImpl.hpp
src/surf/cpu_cas01.cpp
src/surf/cpu_interface.cpp
src/surf/cpu_interface.hpp
src/surf/cpu_ti.cpp
src/surf/cpu_ti.hpp
src/surf/fair_bottleneck.cpp
src/surf/instr_routing.cpp
src/surf/instr_surf.cpp
src/surf/lagrange.cpp
src/surf/maxmin.cpp
src/surf/maxmin_private.hpp
src/surf/network_cm02.cpp
src/surf/network_constant.cpp
src/surf/network_ib.cpp
src/surf/network_ib.hpp
src/surf/network_interface.cpp
src/surf/network_interface.hpp
src/surf/network_ns3.cpp
src/surf/network_ns3.hpp
src/surf/network_smpi.cpp
src/surf/network_smpi.hpp
src/surf/ns3/ns3_interface.hpp [moved from src/surf/ns3/ns3_interface.h with 86% similarity]
src/surf/ns3/ns3_simulator.cpp [moved from src/surf/ns3/ns3_simulator.cc with 91% similarity]
src/surf/ns3/ns3_simulator.hpp [moved from src/surf/ns3/ns3_simulator.h with 80% similarity]
src/surf/plugins/host_energy.cpp
src/surf/plugins/host_load.cpp
src/surf/plugins/link_energy.cpp [new file with mode: 0644]
src/surf/ptask_L07.cpp
src/surf/sg_platf.cpp
src/surf/storage_n11.cpp
src/surf/storage_n11.hpp
src/surf/surf_c_bindings.cpp
src/surf/surf_interface.cpp
src/surf/surf_interface.hpp
src/surf/surf_private.h [deleted file]
src/surf/surf_private.hpp [new file with mode: 0644]
src/surf/trace_mgr.cpp
src/surf/trace_mgr.hpp
src/surf/xml/platf.hpp
src/surf/xml/platf_private.hpp
src/surf/xml/simgrid.dtd
src/surf/xml/simgrid_dtd.c
src/surf/xml/simgrid_dtd.h
src/surf/xml/surfxml_parseplatf.cpp
src/surf/xml/surfxml_sax_cb.cpp
src/xbt/automaton/automaton.c
src/xbt/automaton/automatonparse_promela.c
src/xbt/backtrace_linux.cpp
src/xbt/config.cpp
src/xbt/cunit.cpp
src/xbt/dict_cursor.c
src/xbt/dynar.cpp
src/xbt/ex.cpp
src/xbt/graph.c
src/xbt/heap.c [deleted file]
src/xbt/heap_private.h [deleted file]
src/xbt/log.c
src/xbt/mallocator.c
src/xbt/mallocator_private.h
src/xbt/memory_map.cpp
src/xbt/mmalloc/mfree.c
src/xbt/mmalloc/mm_legacy.c
src/xbt/mmalloc/mmalloc.c
src/xbt/mmalloc/mmprivate.h
src/xbt/string.cpp
src/xbt/xbt_log_layout_format.c
src/xbt/xbt_log_layout_simple.c
src/xbt/xbt_main.cpp
src/xbt/xbt_os_file.c [deleted file]
src/xbt/xbt_os_file.cpp [new file with mode: 0644]
src/xbt/xbt_os_thread.c
src/xbt/xbt_os_time.c
src/xbt/xbt_str.cpp
teshsuite/mc/dwarf-expression/dwarf-expression.cpp
teshsuite/mc/dwarf/dwarf.cpp
teshsuite/msg/CMakeLists.txt
teshsuite/msg/cloud-sharing/cloud-sharing.tesh
teshsuite/msg/task_destroy_cancel/task_destroy_cancel.cpp
teshsuite/msg/task_progress/task_progress.cpp [new file with mode: 0644]
teshsuite/msg/task_progress/task_progress.tesh [new file with mode: 0644]
teshsuite/msg/trace_integration/test-hbp1.0-hbp3.0-hbp4.0.xml
teshsuite/msg/trace_integration/test-hbp2.5-hbp1.5.xml
teshsuite/msg/trace_integration/trace_integration.tesh
teshsuite/s4u/actor/actor.cpp
teshsuite/s4u/concurrent_rw/concurrent_rw.tesh
teshsuite/s4u/pid/pid.cpp
teshsuite/s4u/storage_client_server/storage_client_server.cpp
teshsuite/simdag/CMakeLists.txt
teshsuite/simdag/evaluate-parse-time/evaluate-parse-time.c
teshsuite/simdag/flatifier/flatifier.cpp
teshsuite/simdag/is-router/is-router.cpp
teshsuite/simdag/platforms/clusterA.xml [deleted file]
teshsuite/simdag/platforms/clusterB.xml [deleted file]
teshsuite/simdag/platforms/platform_include.xml [deleted file]
teshsuite/simix/generic_simcalls/generic_simcalls.cpp
teshsuite/smpi/coll-allgather/coll-allgather.c
teshsuite/smpi/coll-allgatherv/coll-allgatherv.c
teshsuite/smpi/coll-allreduce/coll-allreduce.c
teshsuite/smpi/coll-alltoall/coll-alltoall.c
teshsuite/smpi/coll-alltoallv/coll-alltoallv.c
teshsuite/smpi/coll-bcast/coll-bcast.c
teshsuite/smpi/isp/umpire/CMakeLists.txt
teshsuite/smpi/isp/umpire/change-send-buffer.c
teshsuite/smpi/isp/umpire/comm-translate-ranks.c
teshsuite/smpi/isp/umpire/irecv-deadlock.c
teshsuite/smpi/isp/umpire/lost-request-waitall.c
teshsuite/smpi/isp/umpire/no-error-testany.c
teshsuite/smpi/isp/umpire/wait-deadlock.c
teshsuite/smpi/macro-shared/macro-shared.c
teshsuite/smpi/mpich3-test/comm/cmsplit_type.c
teshsuite/smpi/mpich3-test/perf/CMakeLists.txt
teshsuite/smpi/mpich3-test/runtests
teshsuite/smpi/timers/timers.c
teshsuite/surf/lmm_usage/lmm_usage.cpp
teshsuite/surf/maxmin_bench/maxmin_bench.cpp
teshsuite/surf/surf_usage/surf_usage.cpp
teshsuite/xbt/CMakeLists.txt
teshsuite/xbt/heap_bench/heap_bench.c [deleted file]
teshsuite/xbt/heap_bench/heap_bench.tesh [deleted file]
teshsuite/xbt/mmalloc/mmalloc_32.tesh
teshsuite/xbt/mmalloc/mmalloc_64.tesh
teshsuite/xbt/mmalloc/mmalloc_test.cpp
teshsuite/xbt/parallel_log_crashtest/parallel_log_crashtest.c
teshsuite/xbt/parmap_bench/parmap_bench.cpp
teshsuite/xbt/parmap_test/parmap_test.cpp
tools/cmake/DefinePackages.cmake
tools/cmake/GCCFlags.cmake
tools/cmake/MaintainerMode.cmake
tools/cmake/MakeLib.cmake
tools/generate-dwarf-functions
tools/jenkins/build.sh
tools/sg_xml_unit_converter.py
tools/tesh/tesh.py

index 9b8a4bb..e0eb0b8 100644 (file)
@@ -192,8 +192,11 @@ examples/s4u/actions-comm/s4u-actions-comm
 examples/s4u/actions-storage/s4u-actions-storage
 examples/s4u/actor-create/s4u-actor-create
 examples/s4u/actor-daemon/s4u-actor-daemon
+examples/s4u/actor-execute/s4u-actor-execute
 examples/s4u/actor-kill/s4u-actor-kill
+examples/s4u/actor-lifetime/s4u-actor-lifetime
 examples/s4u/actor-migration/s4u-actor-migration
+examples/s4u/actor-priority/s4u-actor-priority
 examples/s4u/actor-suspend/s4u-actor-suspend
 examples/s4u/app-bittorrent/s4u-bittorrent
 examples/s4u/app-masterworker/s4u-app-masterworker
@@ -206,6 +209,7 @@ examples/s4u/basic/s4u-basic
 examples/s4u/basic/s4u-basic_deployment
 examples/s4u/basic/s4u-basic_function
 examples/s4u/dht-chord/s4u-dht-chord
+examples/s4u/energy-link/s4u-energy-link
 examples/s4u/io/s4u-io
 examples/s4u/mutex/s4u-mutex
 examples/s4u/plugin-hostload/s4u-plugin-hostload
@@ -1074,7 +1078,6 @@ teshsuite/surf/lmm_usage/lmm_usage
 teshsuite/surf/maxmin_bench/maxmin_bench
 teshsuite/surf/surf_usage/surf_usage
 teshsuite/surf/surf_usage2/surf_usage2
-teshsuite/xbt/heap_bench/heap_bench
 teshsuite/xbt/log_large/log_large
 teshsuite/xbt/log_usage/log_usage
 teshsuite/xbt/mallocator/mallocator
index e2bb276..58b548b 100644 (file)
@@ -40,7 +40,7 @@ if(COMPILER_SUPPORTS_CXX11)
 else() 
   message(FATAL_ERROR 
           "The compiler ${CMAKE_CXX_COMPILER} (v${CMAKE_CXX_COMPILER_VERSION}) has no C++11 support. "
-           "Please use a decent C++ compiler.")
+          "Please install a decent C++ compiler (remove CMakeCache.txt once it's installed).")
 endif()
 
 ### And we need C11 standard, too
@@ -105,7 +105,7 @@ endif()
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "17")
+set(SIMGRID_VERSION_MINOR "18")
 set(SIMGRID_VERSION_PATCH "0")
 set(SIMGRID_VERSION_EXTRA "-DEVEL") # Extra words to add to version string (e.g. -rc1)
 
@@ -242,6 +242,7 @@ endif()
 if(WIN32)
   set(Boost_USE_STATIC_LIBS 1)
 endif()
+
 set(HAVE_PAPI 0)
 if(enable_smpi_papi)
   include(FindPAPI)
index c693d05..eb74d9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,44 @@
-SimGrid (3.17) UNRELEASED (release target: September 22 2017)
+SimGrid (3.18) NOT RELEASED YET (target: December 24 2017)
+
+ S4U
+ - Link::name() is deprecated and will be removed in v3.21, use instead
+   Link::getCname().
+ - Mailbox::getName() changed to return a std::string, use instead
+   Mailbox::getCname() to get a char*.
+ - Storage::getName() changed to return a std::string, use intead
+   Storage::getCname() to get a char*.
+
+ MSG
+ - Deprecate MSG_task_get_flops_amount(). Its semantic was weird:
+    before the start it returned the total amount of flops;
+    after it returned the ratio of remaining work. Split it:
+   MSG_task_get_initial_flops_amount() for first behavior
+   MSG_task_get_remaining_work_ratio() for the second one.
+   This fixes GitHub's #223 using PR #237. Thanks Michael Mercier.
+
+ XBT
+ - Define class simgrid::xbt::Path to manage file names.
+ - Removed unused functions:
+   - xbt/file.h: xbt_basename(), xbt_dirname(), xbt_getline()
+   - xbt/str.h: xbt_str_join()
+   - xbt/heap.h: use std::priority_queue or boost::heap instead
+
+ PLUGINS:
+ - New link_energy plugin for the consumption of the links.
+
+ XML
+ - Remove the undocumented/untested tag <include>
+
+ TRACE
+ - Remove viva specific tracing as the tool is no longer maintained
+
+SimGrid (3.17) Released October 8 2017
 
  The Drained Leaks release: (almost) no known leaks despite the tests.
 
  Even very long simulations will preserve your memory: our testsuite
  stresses SimGrid for over 45mn on fast machines for a coverage of
- over 80% of our codebase, and there is only one single known leak, of
- about 4kb.
+ over 80%, and there is only one single known leak, of about 4kb.
 
 
  S4U
@@ -52,6 +85,8 @@ SimGrid (3.17) UNRELEASED (release target: September 22 2017)
    - #222: Actor::kill() doesn't really kill and segfaults
    - #225: Actor::kill() doesn't really kill when victims are doing a join()
 
+----------------------------------------------------------------------------
+
 SimGrid (3.16) Released June 22. 2017.
 
  The Blooming Spring Release: developments are budding.
diff --git a/NEWS b/NEWS
index c5b3c32..acbd344 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,16 @@
+                    _               _____  _  ___
+__   _____ _ __ ___(_) ___  _ __   |___ / / |( _ )
+\ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |/ _ \
+ \ V /  __/ |  \__ \ | (_) | | | |  ___) || | (_) |
+  \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|\___/
+               (not released yet)
+
                     _               _____  _ _____
 __   _____ _ __ ___(_) ___  _ __   |___ / / |___  |
 \ \ / / _ \ '__/ __| |/ _ \| '_ \    |_ \ | |  / /
  \ V /  __/ |  \__ \ | (_) | | | |  ___) || | / /
   \_/ \___|_|  |___/_|\___/|_| |_| |____(_)_|/_/
-               (unreleased yet)
+               October 8 2017
 
 The Drained Leaks release: (almost) no known leaks despite the tests.
 
index 0852c34..f7a049a 100644 (file)
@@ -26,7 +26,7 @@ your version (as long as your version is as free as ours). It also
 means that SimGrid is developed by a vivid community of users and
 developers. We hope that you will come and join us!
 
-SimGrid is the result of over 15 years of research from several
+SimGrid is the result of almost 20 years of research from several
 groups, both in France and in the USA. It benefited of many funding
 from various research instances, including the ANR, Inria, CNRS,
 University of Lorraine, University of Hawai'i at Manoa, ENS Rennes and
index a0a8a97..9593489 100644 (file)
@@ -160,13 +160,13 @@ the simcall definitions from src/simix/simcalls.in, checks that both
 `simcall_<name>()` and `simcall_HANDLER()` are defined somewhere, and
 generates the following files:
 
-- smx_popping_accessors.h:
+- popping_accessors.hpp:
   Helper functions to get and set simcall arguments and results
-- smx_popping_bodies.cpp:
+- popping_bodies.cpp:
   The BODY function of each simcall
-- smx_popping_enum.c:
+- popping_enum.h:
   Definition of type `enum e_smx_simcall_t` (one value per existing simcall)
-- smx_popping_generated.cpp:
+- popping_generated.cpp:
   Definitions of `simcall_names[]` (debug name of each simcall), and
   SIMIX_simcall_enter() that deals with the simcall from within the kernel
 
index 57075d1..5fbed80 100644 (file)
@@ -8,6 +8,8 @@
 Please apply the following checklist before releasing.
 
 - Sources
+  - The external patches (Debian, etc) are integrated.
+    The COPYING file is aligned with Debian's copyright file.
   - The version number is correctly marked in CMakeLists.txt, in macros
     SIMGRID_VERSION_MAJOR and friends. 
   - The "make distcheck" target works (testing that every files needed
@@ -33,7 +35,7 @@ This should be done from a clean git repository because some files are
 included through globbing. The best is to use a clean checkout:
 \verbatim
 cd /tmp
-git clone ~/Code/simgrid
+git clone --depth=1 ~/Code/simgrid
 cd simgrid
 cmake . && make dist
 \endverbatim
@@ -90,8 +92,9 @@ the settings icon of the release you want to change.
   - emacs org/site/download.org and C-c C-c the first source block to refresh the download.
   - emacs org/site/documentation.org and edit the version links.
   - make -C org all sync
-  - git commit && git push
+  - git commit -a && git push
 - Announce the release
+ - Document the tag on https://github.com/simgrid/simgrid/releases
  - Mail the simgrid-user mailing list
     - the NEWS chunk in the mail;
     - the ChangeLog chunk as attachment
index a31e13f..38732f6 100644 (file)
@@ -261,8 +261,10 @@ We have 2 interesting projects on Jenkins:
     is the main project, running the tests that we spoke about.\n It is
     configured (on Jenkins) to run the script <tt>tools/jenkins/build.sh</tt>
 \li <a href="https://ci.inria.fr/simgrid/job/SimGrid-DynamicAnalysis/">SimGrid-DynamicAnalysis</a>
-    runs the tests both under valgrind to find the memory errors and
-    under gcovr to report the achieved test coverage.\n It is configured
+    should be called "nightly" because it does not only run dynamic
+    tests, but a whole bunch of long lasting tests: valgrind (memory
+    errors), gcovr (coverage), Sanitizers (bad pointer usage, threading
+    errors, use of unspecified C constructs) and the clang static analyzer.\n It is configured
     (on Jenkins) to run the script <tt>tools/jenkins/DynamicAnalysis.sh</tt>
 
 In each case, SimGrid gets built in
@@ -282,6 +284,31 @@ order to disable the "ModelChecker" build on host
 (label=="small-netbsd-64-clang").implies(build_mode!="ModelChecker")
 \endverbatim
 
+Just for the record, the slaves were created from the available
+template with the following commands:
+\verbatim
+#debian/ubuntu
+apt-get install gcc g++ gfortran automake cmake libboost-dev openjdk-8-jdk openjdk-8-jre libxslt-dev libxml2-dev libevent-dev libunwind-dev libdw-dev htop git python3 xsltproc libboost-context-dev
+#for dynamicanalysis: 
+apt-get install jacoco libjacoco-java libns3-dev pcregrep gcovr ant lua5.3-dev sloccount
+
+#fedora
+dnf install libboost-devel openjdk-8-jdk openjdk-8-jre libxslt-devel libxml2-devel xsltproc git python3 libdw-devel libevent-devel libunwind-devel htop lua5.3-devel
+
+#netbsd
+pkg_add cmake gcc7 boost boost-headers automake openjdk8 libxslt libxml2 libunwind git htop python36
+
+#opensuse
+zypper install cmake automake clang boost-devel java-1_8_0-openjdk-devel libxslt-devel libxml2-devel xsltproc git python3 libdw-devel libevent-devel libunwind-devel htop binutils ggc7-fortran
+
+#freebsd
+pkg install boost-libs cmake openjdk8 automake libxslt libxml2 libunwind git htop python3  automake gcc6 flang elfutils libevent
+#+ clang-devel from ports
+
+#osx
+brew install cmake boost libunwind-headers libxslt git python3 
+\endverbatim
+
 \subsection inside_tests_travis Travis
 
 Travis is a free (as in free beer) Continuous Integration system that
index 4d4383b..da754cd 100644 (file)
@@ -22,18 +22,25 @@ documentation.
 Here is a `CMakeLists.txt` that you can use as a starting point for
 your project. It builds two simulators from a given set of source files.
 
+You first need to copy the `FindSimGrid.cmake` (at the root of the
+SimGrid tree) into the `cmake/Modules` directory of your project.
+
 @verbatim
 project(MyFirstScheduler)
 
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+find_package(SimGrid REQUIRED)
+include_directories(${SimGrid_INCLUDE_DIR})
+
 set(SIMULATOR_SOURCES main.c other.c util.c)
 add_executable(my_simulator ${SIMULATOR_SOURCES})
-target_link_libraries(my_simulator simgrid)
+target_link_libraries(my_simulator ${SimGrid_LIBRARY})
 
 set(OTHER_SOURCES blah.c bar.c foo.h)
 add_executable(other_xp ${OTHER_SOURCES})
-target_link_libraries(other_xp simgrid)
+target_link_libraries(other_xp ${SimGrid_LIBRARY})
 @endverbatim
 
 @section install_yours_makefile Building your project with Makefile
index ae3d115..238ba47 100644 (file)
@@ -412,7 +412,7 @@ changed to use smpi version of the calls instead (MPI_Send will become smpi_mpi_
 
 Example: adding a "pair" version of the Alltoall collective.
 
- - Implement it in a file called alltoall-pair.c in the src/smpi/colls folder. This file should include colls_private.h.
+ - Implement it in a file called alltoall-pair.c in the src/smpi/colls folder. This file should include colls_private.hpp.
 
  - The name of the new algorithm function should be smpi_coll_tuned_alltoall_pair, with the same signature as MPI_Alltoall.
 
index 395f744..d2ce9de 100644 (file)
@@ -17,7 +17,6 @@
       - \ref XBT_dynar
       - \ref XBT_dict
       - \ref XBT_swag
-      - \ref XBT_heap
     - \ref XBT_misc
       - \ref XBT_graph
 
@@ -66,7 +65,6 @@
      /** @defgroup XBT_dynar  Dynar: generic dynamic array */
      /** @defgroup XBT_dict   Dict: generic dictionnary */
      /** @defgroup XBT_swag   Swag: O(1) set datatype */
-     /** @defgroup XBT_heap Heap: generic heap data structure */
 /** @} */
 
 
index 64ce0db..17acadd 100644 (file)
@@ -1272,10 +1272,10 @@ is registered and will clean up some variables and terminate/cleanup the tracing
 
 TODO: Add when this should be used.
 
-\subsection options_generic_path XML file inclusion path
+\subsection options_generic_path Profile files' search path
 
 It is possible to specify a list of directories to search into for the
-\<include\> tag in XML files by using the \b path configuration
+trace files (see @ref pf_trace) by using the \b path configuration
 item. To add several directory to the path, set the configuration
 item several times, as in \verbatim
 --cfg=path:toto --cfg=path:tutu
index d8a7ad3..59f5958 100644 (file)
@@ -121,9 +121,8 @@ tracing/uncategorized
 tracing/filename
 </b>:
   A file with this name will be created to register the simulation. The file
-  is in the Paje format and can be analyzed using Viva or Paje visualization
+  is in the Paje format and can be analyzed using Paje visualization
   tools. More information can be found in these webpages:
-     <a href="http://github.com/schnorr/viva/">http://github.com/schnorr/viva/</a>
      <a href="http://github.com/schnorr/pajeng/">http://github.com/schnorr/pajeng/</a>
 \verbatim
 --cfg=tracing/filename:mytracefile.trace
@@ -326,24 +325,6 @@ TODO
 TODO
 \endverbatim
 
-\li <b>\c
-viva/categorized
-</b>:
-  This option generates a graph configuration file for Viva considering
-  categorized resource utilization.
-\verbatim
---cfg=viva/categorized:graph_categorized.plist
-\endverbatim
-
-\li <b>\c
-viva/uncategorized
-</b>:
-  This option generates a graph configuration file for Viva considering
-  uncategorized resource utilization.
-\verbatim
---cfg=viva/uncategorized:graph_uncategorized.plist
-\endverbatim
-
 Please pass \verbatim --help-tracing \endverbatim to your simulator
 for the updated list of tracing options.
 
@@ -362,7 +343,6 @@ simulator):
           --cfg=tracing:yes \
           --cfg=tracing/uncategorized:yes \
           --cfg=tracing/filename:mytracefile.trace \
-          --cfg=viva/uncategorized:uncat.plist
 \endverbatim
 
 \li I want to trace only a subset of my MSG (or SimDAG) tasks.
@@ -377,7 +357,6 @@ recompiling, run your simulator with the following parameters:
           --cfg=tracing:yes \
           --cfg=tracing/categorized:yes \
           --cfg=tracing/filename:mytracefile.trace \
-          --cfg=viva/categorized:cat.plist
 \endverbatim
 
 
@@ -453,23 +432,6 @@ several options to analyze this trace file:
   file format</a>. Consider this option if you need to understand the
   causality of your distributed simulation.
 
-- Visualize the behavior of your simulation with treemaps (specially
-  if your simulation has a platform with several thousand resources),
-  provided by the <a href="http://github.com/schnorr/viva/">Viva</a>
-  visualization tool. See <a
-  href="https://github.com/schnorr/viva/wiki">Viva's wiki</a> for
-  further details on what is a treemap and how to use it.
-
-- Correlate the behavior of your simulator with the platform topology
-  with an interactive, force-directed, and hierarchical graph
-  visualization, provided by <a
-  href="http://github.com/schnorr/viva/">Viva</a>.  Check <a
-  href="https://github.com/schnorr/viva/wiki">Viva's wiki</a> for
-  further details. This <a
-  href="http://hal.inria.fr/hal-00738321/">research report</a>,
-  published at ISPASS 2013, has a detailed description of this
-  visualization technique.
-
 - You can also check our online <a
   href="http://simgrid.gforge.inria.fr/tutorials.html"> tutorial
   section</a> that contains a dedicated tutorial with several
@@ -484,123 +446,4 @@ several options to analyze this trace file:
   href="http://lists.gforge.inria.fr/pipermail/simgrid-user/">mailing
   list archive</a> for old messages regarding tracing and analysis.
 
-\subsection tracing_viva_analysis Viva Visualization Tool
-
-This subsection describe some of the concepts regarding the <a
-href="http://github.com/schnorr/viva/">Viva Visualization Tool</a> and
-its relation with SimGrid traces. You should refer to Viva's website
-for further details on all its visualization techniques.
-
-\subsubsection tracing_viva_time_slice Time Slice
-
-The analysis of a trace file using the tool always takes into account
-the concept of the <em>time-slice</em>.  This concept means that what
-is being visualized in the screen is always calculated considering a
-specific time frame, with its beggining and end timestamp. The
-time-slice is configured by the user and can be changed dynamically
-through the window called <em>Time Interval</em> that is opened
-whenever a trace file is being analyzed. Users are capable to select
-the beggining and size of the time slice.
-
-\subsubsection tracing_viva_graph Hierarchical Graph View
-
-As stated above (see section \ref tracing_tracing_analyzing), one
-possibility to analyze SimGrid traces is to use Viva's graph view with
-a graph configuration to customize the graph according to the
-traces. A valid graph configuration (we are using the non-XML <a
-href="http://en.wikipedia.org/wiki/Property_list">Property List
-Format</a> to describe the configuration) can be created for any
-SimGrid-based simulator using the
-<em>--cfg=viva/uncategorized:graph_uncategorized.plist</em> or
-<em>--cfg=viva/categorized:graph_categorized.plist</em> (if the
-simulator defines resource utilization categories) when executing the
-simulation.
-
-\subsubsection basic_conf Basic Graph Configuration
-
-The basic description of the configuration is as follows:
-\verbatim
-{
-  node = (LINK, HOST, );
-  edge = (HOST-LINK, LINK-HOST, LINK-LINK, );
-\endverbatim
-
-The nodes of the graph will be created based on the <i>node</i>
-parameter, which in this case is the different <em>"HOST"</em>s and
-<em>"LINK"</em>s of the platform used to simulate. The <i>edge</i>
-parameter indicates that the edges of the graph will be created based
-on the <em>"HOST-LINK"</em>s, <em>"LINK-HOST"</em>s, and
-<em>"LINK-LINK"</em>s of the platform.  After the definition of these
-two parameters, the configuration must detail how the nodes
-(<em>HOST</em>s and <em>LINK</em>s) should be drawn.
-
-For that, the configuration must have an entry for each of
-the types used. For <em>HOST</em>, as basic configuration, we have:
-
-\verbatim
-  HOST = {
-    type = square;
-    size = power;
-    values = (power_used);
-  };
-\endverbatim
-
-The parameter <em>size</em> indicates which variable from the trace
-file will be used to define the size of the node HOST in the
-visualization. If the simulation was executed with availability
-traces, the size of the nodes will be changed according to these
-traces. The parameter <em>type</em> indicates which geometrical shape
-will be used to represent HOST, and the <em>values</em> parameter
-indicates which values from the trace will be used to fill the shape.
-
-For <em>LINK</em> we have:
-
-\verbatim
-  LINK = {
-    type = rhombus;
-    size = bandwidth;
-    values = (bandwidth_used);
-  };
-}
-\endverbatim
-
-The same configuration parameters are used here: <em>type</em> (with a
-rhombus), the <em>size</em> (whose value is from trace's bandwidth
-variable) and the <em>values</em>.
-
-\subsubsection custom_graph Customizing the Graph Representation
-
-Viva is capable to handle a customized graph representation based on
-the variables present in the trace file. In the case of SimGrid, every
-time a category is created for tasks, two variables in the trace file
-are defined: one to indicate node utilization (how much power was used
-by that task category), and another to indicate link utilization (how
-much bandwidth was used by that category). For instance, if the user
-declares a category named <i>request</i>, there will be variables
-named <b>p</b><i>request</i> and a <b>b</b><i>request</i> (<b>p</b>
-for power and <b>b</b> for bandwidth). It is important to notice that
-the variable <i>prequest</i> in this case is only available for HOST,
-and <i>brequest</i> is only available for LINK. <b>Example</b>:
-suppose there are two categories for tasks: request and compute. To
-create a customized graph representation with a proportional
-separation of host and link utilization, use as configuration for HOST
-and LINK this:
-
-\verbatim
-  HOST = {
-    type = square;
-    size = power;
-    values = (prequest, pcomputation);
-  };
-  LINK = {
-    type = rhombus;
-    size = bandwidth;
-    values = (brequest, bcomputation);
-  };
-\endverbatim
-
-This configuration enables the analysis of resource utilization by MSG
-tasks through the identification of load-balancing issues and network
-bottlenecks, for instance.
-
 */
index 6adb7d3..3149ffc 100644 (file)
@@ -113,7 +113,6 @@ provided by the [online documentation][fn:4] and by several tutorials:
 Several tools can be used to visualize the result of SimGrid
 simulations and get a better understanding of simulations.
 
-- [viva][fn:1] will be useful to make fancy graph or treemap visualizations.
 - [pajeng][fn:5] provides a Gantt-chart visualization.
 - [Vite][fn:6] also provides a Gantt-chart visualization.
 
@@ -122,7 +121,7 @@ may have to install from the source on other systems. Check the
 documentation of each software for more details.
 
 ~~~~{.sh}
-sudo apt-get install viva pajeng vite
+sudo apt-get install pajeng vite
 ~~~~
 
 \section intro_start Let's get started
@@ -158,16 +157,7 @@ specify the full path to simgrid-colorizer on the above line, such as
 \c /opt/simgrid/bin/simgrid-colorizer. If you did not install it at all,
 you can find it in <simgrid_root_directory>/bin/colorize.
 
-For a really fancy output, you should use [viva/triva][fn:1]:
-
-~~~~{.sh}
-./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
-    --cfg=tracing/uncategorized:yes --cfg=viva/uncategorized:uncat.plist
-LANG=C ; viva simgrid.trace uncat.plist
-~~~~
-
-For a more classical Gantt-Chart visualization, you can produce a
-[Paje][fn:5] trace:
+For a classical Gantt-Chart visualization, you can produce a [Paje][fn:5] trace:
 
 ~~~~{.sh}
 ./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
@@ -317,7 +307,7 @@ tasks processed). These debug messages can be activated as follows:
 ## Using the Tracing Mechanism
 
 SimGrid can trace all resource consumption and the outcome can be
-displayed with viva as illustrated in the section \ref intro_setup. However, when several
+displayed as illustrated in the section \ref intro_setup. However, when several
 masters are deployed, it is hard to understand what happens.
 
 ~~~~{.xml}
@@ -349,18 +339,7 @@ void TRACE_category(const char *category);
 void MSG_task_set_category (msg_task_t task, const char *category);
 ~~~~
 
-The outcome can then be visualized as follows:
-
-~~~~{.sh}
-./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes\
-    --cfg=tracing/categorized:yes --cfg=viva/categorized:viva_cat.plist
-LANG=C; viva simgrid.trace viva_cat.plist
-~~~~
-
-Right now, you should realize that nothing is behaving like you
-expect. Most workers are idle even though input data are ridiculous
-and there are several masters deployed on the platform. Using a
-Gantt-chart visualization may help:
+The outcome can then be visualized as a Gantt-chart as follows:
 
 ~~~~{.sh}
 ./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes \
@@ -368,8 +347,10 @@ Gantt-chart visualization may help:
 pajeng simgrid.trace
 ~~~~
 
-OK, so it should now be obvious that round robin is actually
-very bad.
+Right now, you should realize that nothing is behaving like you expect. Most
+workers are idle even though input data are ridiculous and there are several
+masters deployed on the platform. So it should now be obvious that round robin
+is actually very bad.
 
 ## Improving the Scheduling
 
@@ -436,8 +417,8 @@ bytes that you manage to distribute and process in one hour on
 \section intro_todo TODO: Points to improve for the next time
 
 - Propose equivalent exercises and skeleton in java.
-- Propose a virtualbox image with everything (simgrid, pajeng, viva,
-  ...) already set up.
+- Propose a virtualbox image with everything (simgrid, pajeng, ...) already set
+  up.
 - Ease the installation on mac OS X (binary installer) and
   windows.
 - Explain that programming in C or java and having a working
index 9c0e265..e75eb78 100644 (file)
@@ -75,7 +75,7 @@ It is a portable library providing some grounding features such as \ref
 XBT_log, \ref XBT_ex and \ref XBT_config.
 
 XBT also encompass the following convenient C data structures:
-\ref XBT_dynar, \ref XBT_dict, \ref XBT_heap, and
+\ref XBT_dynar, \ref XBT_dict, and
 \ref XBT_swag. The code is being migrated in C++ so you should probably want
 to use standard C++ containers instead of them if possible.
 
index 3515d8c..684eacb 100644 (file)
@@ -371,7 +371,7 @@ this generates a bunch of C++ files:
   responsible for wrapping the parameters in the `struct s_smx_simcall`;
   and wrapping out the result;
 
-* [accessors](https://github.com/simgrid/simgrid/blob/4ae2fd01d8cc55bf83654e29f294335e3cb1f022/src/simix/popping_accessors.h)
+* [accessors](https://github.com/simgrid/simgrid/blob/4ae2fd01d8cc55bf83654e29f294335e3cb1f022/src/simix/popping_accessors.hpp)
    to get/set values of of `struct s_smx_simcall`;
 
 * a simulation-kernel-side [big switch](https://github.com/simgrid/simgrid/blob/4ae2fd01d8cc55bf83654e29f294335e3cb1f022/src/simix/popping_generated.cpp#L106)
@@ -629,7 +629,7 @@ which can be exposed using the same API as `std::condition_variable`:
 @code{cpp}
 class ConditionVariable {
 private:
-  friend s_smx_cond;
+  friend s_smx_cond_t;
   smx_cond_t cond_;
   ConditionVariable(smx_cond_t cond) : cond_(cond) {}
 public:
index 89783e1..abdf45c 100644 (file)
@@ -64,9 +64,6 @@ Group MPI processes by location.
 \fB\-trace-resource\fR
 Trace resource utilization.
 .TP
-\fB\-trace-viva\fR
-Generate configuration for Viva's GraphView.
-.TP
 \fB\-trace-file\fR <tracefile>
 Name of the tracefile
 
index 43be4d4..8c07d84 100644 (file)
@@ -325,6 +325,9 @@ public class Peer extends Process {
           }
         }
       break;
+      default:
+        Msg.error("Unexpected message type: " + message.type);
+        break;
     }
     if (remotePeer != null) {
       remotePeer.addSpeedValue(1 / (Msg.getClock() - beginReceiveTime));
index d252ee4..4c051d6 100644 (file)
@@ -21,8 +21,8 @@ class Main {
     /* initialize the MSG simulation. Must be done before anything else (even logging). */
     Msg.init(args);
 
-    String platf  = args.length > 1 ? args[0] : "examples/java/platform.xml";
-    String deploy =  args.length > 1 ? args[1] : "examples/java/masterworker/masterworkerDeployment.xml";
+    String platf  = args.length > 1 ? args[0] : "../platforms/small_platform.xml";
+    String deploy =  args.length > 1 ? args[1] : "app/masterworker/masterworker.xml";
 
     Msg.verb("Platform: "+platf+"; Deployment:"+deploy+"; Current directory: "+new File(".").getAbsolutePath());
 
index 8e56aed..2030da9 100644 (file)
@@ -25,8 +25,8 @@ class Main {
     
     File f = new File(platfFile); 
     if (!f.exists()) {
-       System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir"));
-       System.err.println("Usage  : Main ../platforms/platform.xml");
+      Msg.error("File " + platfFile + " does not exist in " + System.getProperty("user.dir"));
+      Msg.error("Usage  : Main ../platforms/platform.xml");
     }
     
     Msg.createEnvironment(platfFile);
index c886a64..94b0015 100644 (file)
@@ -17,9 +17,9 @@ $ java -classpath ${classpath:=.} async/dsend/Main ${srcdir:=.}/../platforms/sma
 > [  0.000000] (1:Sender@Boivin) Sending "Task_5" to "Jupiter"
 > [  0.000000] (1:Sender@Boivin) Sending "Task_6" to "Tremblay"
 > [  0.000000] (1:Sender@Boivin) All tasks have been (asynchronously) dispatched. Let's sleep for 20s so that nobody gets a message from a terminated process.
-> [  1.933362] (2:Receiver@Bourassa) Received a task. I'm done. See you!
-> [  1.933362] (4:Receiver@Ginette) Received a task. I'm done. See you!
 > [  1.933362] (6:Receiver@Jupiter) Received a task. I'm done. See you!
+> [  1.933362] (4:Receiver@Ginette) Received a task. I'm done. See you!
+> [  1.933362] (2:Receiver@Bourassa) Received a task. I'm done. See you!
 > [  2.449247] (7:Receiver@Tremblay) Received a task. I'm done. See you!
 > [  2.964768] (3:Receiver@Fafard) Received a task. I'm done. See you!
 > [  4.162002] (5:Receiver@Jacquelin) Received a task. I'm done. See you!
index d518e7d..9f7ccea 100644 (file)
@@ -16,9 +16,9 @@ $ java -classpath ${classpath:=.} async/waitall/Main ${srcdir:=.}/../platforms/s
 > [  0.000000] (1:Sender@Boivin) Start the Sending 'Task_5' to 'Jupiter'
 > [  0.000000] (1:Sender@Boivin) Start the Sending 'Task_6' to 'Tremblay'
 > [  0.000000] (1:Sender@Boivin) All tasks have been (asynchronously) dispatched. Let's wait for their completion.
-> [  1.933362] (2:Receiver@Bourassa) I got my task, good bye.
-> [  1.933362] (4:Receiver@Ginette) I got my task, good bye.
 > [  1.933362] (6:Receiver@Jupiter) I got my task, good bye.
+> [  1.933362] (4:Receiver@Ginette) I got my task, good bye.
+> [  1.933362] (2:Receiver@Bourassa) I got my task, good bye.
 > [  2.449247] (7:Receiver@Tremblay) I got my task, good bye.
 > [  2.964768] (3:Receiver@Fafard) I got my task, good bye.
 > [  4.162002] (5:Receiver@Jacquelin) I got my task, good bye.
index a99dc21..5623ffa 100644 (file)
@@ -29,8 +29,8 @@ class Main {
     
     File f = new File(platfFile); 
     if (!f.exists()) {
-       System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir"));
-       System.err.println("Usage  : Main ../platforms/platform.xml");
+      Msg.error("File " + platfFile + " does not exist in " + System.getProperty("user.dir"));
+      Msg.error("Usage  : Main ../platforms/platform.xml");
     }
     
     Msg.createEnvironment(platfFile);
index d3c2af2..6e1bae9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014. The SimGrid Team.
+/* Copyright (c) 2014-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -24,7 +24,7 @@ public class Daemon extends Process {
     } catch (HostFailureException e) {
       e.printStackTrace();
     } catch (TaskCancelledException e) {
-      System.out.println("task cancelled");
+      Msg.info("task cancelled");
       suspend(); // Suspend the process
     }
     currentTask = new Task(this.getHost().getName()+"-daemon-"+(i++), this.getHost().getSpeed()*100, 0);
index 414c980..10407a6 100644 (file)
@@ -47,7 +47,7 @@ public class XVM extends VM {
   }
 
   public int getLoad(){
-    System.out.println("Remaining comp:" + this.daemon.getRemaining());
+    Msg.info("Remaining comp:" + this.daemon.getRemaining());
     return this.currentLoad;
   }
 
index 85328dc..4ab498e 100644 (file)
@@ -4,7 +4,7 @@
 
 $ java -classpath ${classpath:=.} dht/chord/Main ${srcdir:=.}/../platforms/cluster.xml ${srcdir:=.}/dht/chord/chord.xml
 > [0.000000] [java/INFO] Using regular java threads.
-> [1046.787586] [java/INFO] MSG_main finished; Cleaning up the simulation...
+> [1046.732943] [java/INFO] MSG_main finished; Cleaning up the simulation...
 > [node-1.acme.org:dht.chord.Node:(2) 0.000000] [java/INFO] Joining the ring with id 366680 knowing node 42
 > [node-2.acme.org:dht.chord.Node:(3) 0.000000] [java/INFO] Joining the ring with id 533744 knowing node 366680
 > [node-3.acme.org:dht.chord.Node:(4) 0.000000] [java/INFO] Joining the ring with id 1319738 knowing node 42
index 841e9d1..a690a01 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -77,6 +77,7 @@ public class Node extends Process {
         }
       }
       catch (Exception e) {
+        Msg.debug("Caught exception: " + e);
       }
     }
     Msg.info(findNodeSuccedded + "/"  + (findNodeSuccedded + findNodeFailed) + " FIND_NODE have succedded.");
@@ -256,6 +257,7 @@ public class Node extends Process {
         waitFor(1);
       }
       catch (Exception ex) {
+        Msg.debug("Caught exception: " + ex);
       }
     } while (Msg.getClock() < timeout && !destinationFound);
   }
index c5f88b2..ed1552e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -67,7 +67,8 @@ public class RoutingTable {
       Msg.debug("Adding " + id + " to my routing table");
       bucket.add(id);
       if (bucket.size() > Common.BUCKET_SIZE)  {
-        //TODO: Ping the least seen guy and remove him if he is offline.
+        // TODO
+        Msg.debug("Should ping the least seen guy and remove him if he is offline.");
       }
     }
   }
index 3afdf2d..7bae428 100644 (file)
@@ -8,12 +8,12 @@ $ java -classpath ${classpath:=.} energy/vm/Main ${srcdir:=.}/../platforms/energ
 > [MyHost1:energy VM runner:(1) 0.000000] [java/INFO] Create two tasks on Host3: both inside a VM
 > [MyHost1:energy VM runner:(1) 0.000000] [java/INFO] Wait 5 seconds. The tasks are still running (they run for 3 seconds, but 2 tasks are co-located, so they run for 6 seconds)
 > [MyHost1:energy VM runner:(1) 5.000000] [java/INFO] Wait another 5 seconds. The tasks stop at some point in between
-> [MyHost3:p31:(6) 6.000000] [java/INFO] This worker is done.
-> [MyHost3:p312:(7) 6.000000] [java/INFO] This worker is done.
 > [MyHost2:p22:(5) 6.000000] [java/INFO] This worker is done.
+> [MyHost3:p312:(7) 6.000000] [java/INFO] This worker is done.
+> [MyHost3:p31:(6) 6.000000] [java/INFO] This worker is done.
 > [vmHost1:p12:(3) 6.000000] [java/INFO] This worker is done.
-> [vmHost3:p21:(4) 6.000000] [java/INFO] This worker is done.
 > [vmHost1:p11:(2) 6.000000] [java/INFO] This worker is done.
+> [vmHost3:p21:(4) 6.000000] [java/INFO] This worker is done.
 > [10.000000] [surf_energy/INFO] Total energy consumption: 4320.000000 Joules (used hosts: 4320.000000 Joules; unused/idle hosts: 0.000000)
 > [10.000000] [java/INFO] MSG_main finished; Cleaning up the simulation...
 > [10.000000] [surf_energy/INFO] Energy consumption of host MyHost1: 1120.000000 Joules
index 71d281b..96cf864 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014. The SimGrid Team.
+/* Copyright (c) 2006-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -24,7 +24,7 @@ public class Main {
       Killer killer = new Killer("Jacquelin","killer");
       killer.start();
     } catch (MsgException e){
-      System.out.println("Create processes failed!");
+      Msg.error("Create processes failed!");
     }
 
     /*  execute the simulation. */
index 04510e8..3eb4064 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -25,9 +25,9 @@ public class Main {
     try {
         DreamMaster process1 = new DreamMaster("Jacquelin","DreamMaster");
         process1.start();
-      } catch (MsgException e){
-        System.out.println("Create processes failed!");
-      }
+    } catch (MsgException e){
+      Msg.error("Create processes failed!");
+    }
 
     /*  execute the simulation. */
     Msg.run();
index fd301f3..272898f 100644 (file)
@@ -17,7 +17,7 @@ public class Main {
     Msg.init(args);
     if(args.length < 2) {
       Msg.info("Usage   : Priority platform_file deployment_file");
-      Msg.info("example : Priority ../platforms/platform.xml priorityDeployment.xml");
+      Msg.info("example : Priority ../platforms/small_platform.xml priority.xml");
       System.exit(1);
     }
 
index 782f68f..37f866f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2007, 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2007, 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -10,6 +10,8 @@ import org.simgrid.msg.MsgException;
 import org.simgrid.trace.Trace;
 
 public class Main  {
+  public static final String PM_STATE = "PM_STATE";
+
   private Main() {
     throw new IllegalAccessError("Utility class");
   }
@@ -29,11 +31,11 @@ public class Main  {
     new Receiver ("Tremblay", "Receiver", null).start();
 
     /* Initialize some state for the hosts */
-    Trace.hostStateDeclare ("PM_STATE"); 
-    Trace.hostStateDeclareValue ("PM_STATE", "waitingPing", "0 0 1");
-    Trace.hostStateDeclareValue ("PM_STATE", "sendingPong", "0 1 0");
-    Trace.hostStateDeclareValue ("PM_STATE", "sendingPing", "0 1 1");
-    Trace.hostStateDeclareValue ("PM_STATE", "waitingPong", "1 0 0");
+    Trace.hostStateDeclare (PM_STATE);
+    Trace.hostStateDeclareValue (PM_STATE, "waitingPing", "0 0 1");
+    Trace.hostStateDeclareValue (PM_STATE, "sendingPong", "0 1 0");
+    Trace.hostStateDeclareValue (PM_STATE, "sendingPing", "0 1 1");
+    Trace.hostStateDeclareValue (PM_STATE, "waitingPong", "1 0 0");
 
     /*  execute the simulation. */
     Msg.run();
index 4a1f26e..58e82b9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2007, 2012-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2007, 2012-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -15,6 +15,7 @@ import org.simgrid.trace.Trace;
 public class Receiver extends Process {
   private static final double COMM_SIZE_LAT = 1;
   private static final double COMM_SIZE_BW = 100000000;
+  private static final String PM_STATE = Main.PM_STATE;
 
   public Receiver(String hostname, String name, String[]args) throws HostNotFoundException {
     super(hostname,name,args);
@@ -22,7 +23,7 @@ public class Receiver extends Process {
 
   public void main(String[] args) throws MsgException {
     Msg.info("hello!");
-    Trace.hostPushState (getHost().getName(), "PM_STATE", "waitingPing");
+    Trace.hostPushState (getHost().getName(), PM_STATE, "waitingPing");
 
     /* Wait for the ping */ 
     Msg.info("try to get a task");
@@ -41,15 +42,15 @@ public class Receiver extends Process {
     Msg.info(" --- bw "+ COMM_SIZE_BW/communicationTime + " ----");
 
     /* Send the pong */
-    Trace.hostPushState (getHost().getName(), "PM_STATE", "sendingPong");
+    Trace.hostPushState (getHost().getName(), PM_STATE, "sendingPong");
     double computeDuration = 0;
     PingPongTask pong = new PingPongTask("no name",computeDuration,COMM_SIZE_LAT);
     pong.setTime(time);
     pong.send(ping.getSource().getName());
 
     /* Pop the two states */
-    Trace.hostPopState (getHost().getName(), "PM_STATE");
-    Trace.hostPopState (getHost().getName(), "PM_STATE");
+    Trace.hostPopState (getHost().getName(), PM_STATE);
+    Trace.hostPopState (getHost().getName(), PM_STATE);
 
     Msg.info("goodbye!");
   }
index 6af47fa..c97be48 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2014, 2016. The SimGrid Team.
+/* Copyright (c) 2006-2014, 2016-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -16,7 +16,7 @@ import org.simgrid.trace.Trace;
 public class Sender extends Process {
   private static final double COMM_SIZE_LAT = 1;
   private static final double COMM_SIZE_BW = 100000000;
-  private static final String PM_STATE = "PM_STATE";
+  private static final String PM_STATE = Main.PM_STATE;
 
   public Sender(String hostname, String name, String[] args) throws HostNotFoundException {
     super(hostname,name,args);
index 0e5654a..63afa51 100644 (file)
@@ -117,7 +117,7 @@ options to see the task executions:
     to that are used to classify its tasks. When the program is executed,
     the tracing mechanism registers the resource utilization of hosts
     and links according to these categories. Recommanded options:
-    @verbatim --cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:viva_cat.plist --cfg=viva/uncategorized:viva_uncat.plist
+    @verbatim --cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes
     @endverbatim
     
   - <b>Master Workers tracing</b>.
@@ -126,7 +126,7 @@ options to see the task executions:
     using several tracing features. It traces resource usage, sorted
     out in several categories; Trace marks and user variables are also
     used. Recommanded options:
-    @verbatim --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:viva_cat.plist --cfg=viva/uncategorized:viva_uncat.plist
+    @verbatim --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes
     @endverbatim
     
   - <b>Process migration tracing</b>.
@@ -139,7 +139,7 @@ options to see the task executions:
 
 TODO: These tracing examples should be integrated in the examples to
 not duplicate the C files. A full command line to see the result in
-the right tool (viva/vite/FrameSoc) should be given along with some
+the right tool (vite/FrameSoc) should be given along with some
 screenshots.
 
 @subsection msg_ex_tracing_user_variables Tracing user variables
index 79612fc..23c4484 100644 (file)
@@ -79,6 +79,7 @@ broadcaster_t broadcaster_init(xbt_dynar_t host_list, unsigned int piece_count)
   int status;
   broadcaster_t bc = xbt_new(s_broadcaster_t, 1);
 
+  bc->first             = NULL;
   bc->piece_count = piece_count;
   bc->current_piece = 0;
   bc->host_list = host_list;
index 6637734..97c19dd 100644 (file)
@@ -17,18 +17,18 @@ $ $SG_TEST_EXENV ${bindir:=.}/async-waitany ${srcdir:=.}/small_platform.xml ${sr
 > [ 10.000000] (3:receiver@Jupiter) Wait to receive task 1
 > [ 10.000000] (3:receiver@Jupiter) Wait to receive task 2
 > [ 10.423774] (2:receiver@Fafard) Processing "Task_4"
-> [ 10.469435] (3:receiver@Jupiter) Processing "Task_3"
+> [ 10.469435] (3:receiver@Jupiter) Processing "Task_5"
 > [ 11.079116] (2:receiver@Fafard) "Task_4" done
 > [ 11.079116] (2:receiver@Fafard) Processing "Task_0"
-> [ 11.124778] (3:receiver@Jupiter) "Task_3" done
+> [ 11.124778] (3:receiver@Jupiter) "Task_5" done
 > [ 11.124778] (3:receiver@Jupiter) Processing "Task_1"
 > [ 11.734459] (2:receiver@Fafard) "Task_0" done
 > [ 11.734459] (2:receiver@Fafard) Processing "Task_2"
 > [ 11.780120] (3:receiver@Jupiter) "Task_1" done
-> [ 11.780120] (3:receiver@Jupiter) Processing "Task_5"
+> [ 11.780120] (3:receiver@Jupiter) Processing "Task_3"
 > [ 12.389801] (2:receiver@Fafard) "Task_2" done
 > [ 12.415509] (2:receiver@Fafard) I'm done. See you!
-> [ 12.435462] (3:receiver@Jupiter) "Task_5" done
+> [ 12.435462] (3:receiver@Jupiter) "Task_3" done
 > [ 12.454477] (0:maestro@) Simulation time 12.4545
 > [ 12.454477] (1:sender@Tremblay) Goodbye now!
 > [ 12.454477] (3:receiver@Jupiter) I'm done. See you!
index 73b3eda..e84ac2c 100644 (file)
@@ -76,8 +76,8 @@ static void test_dynamic_change(void)
   MSG_process_create("worker0", worker_busy_loop_main, &task0, (msg_host_t)vm0);
   MSG_process_create("worker1", worker_busy_loop_main, &task1, (msg_host_t)vm1);
 
-  double task0_remain_prev = MSG_task_get_flops_amount(task0);
-  double task1_remain_prev = MSG_task_get_flops_amount(task1);
+  double task0_remain_prev = MSG_task_get_remaining_work_ratio(task0);
+  double task1_remain_prev = MSG_task_get_remaining_work_ratio(task1);
 
   const double cpu_speed = MSG_host_get_speed(pm0);
   for (int i = 0; i < 10; i++) {
@@ -86,8 +86,8 @@ static void test_dynamic_change(void)
     MSG_vm_set_bound(vm1, new_bound);
     MSG_process_sleep(100);
 
-    double task0_remain_now = MSG_task_get_flops_amount(task0);
-    double task1_remain_now = MSG_task_get_flops_amount(task1);
+    double task0_remain_now = MSG_task_get_remaining_work_ratio(task0);
+    double task1_remain_now = MSG_task_get_remaining_work_ratio(task1);
 
     double task0_flops_per_sec = task0_remain_prev - task0_remain_now;
     double task1_flops_per_sec = task1_remain_prev - task1_remain_now;
index e8b2d0b..1b0f499 100644 (file)
@@ -63,7 +63,7 @@ static int master_main(int argc, char *argv[])
 
   while(MSG_get_clock()<100) {
     if (atask != NULL)
-      XBT_INFO("aTask remaining duration: %g", MSG_task_get_flops_amount(atask));
+      XBT_INFO("aTask remaining duration: %g", MSG_task_get_remaining_work_ratio(atask));
     MSG_process_sleep(1);
   }
 
index 17c786b..cecf9b6 100644 (file)
@@ -18,10 +18,10 @@ $ $SG_TEST_EXENV ${bindir:=.}/dht-kademlia ${srcdir:=.}/cluster.xml ${srcdir:=.}
 > [  0.000000] (12:node@node-11.acme.org) Hi, I'm going to join the network with id 2047
 > [  0.000000] (13:node@node-12.acme.org) Hi, I'm going to join the network with id 4095
 > [780.000000] ( 7:node@node-6.acme.org) 5/5 FIND_NODE have succeeded
-> [780.000000] ( 9:node@node-8.acme.org) 5/5 FIND_NODE have succeeded
-> [780.000000] ( 3:node@node-2.acme.org) 6/6 FIND_NODE have succeeded
+> [780.000000] ( 9:node@node-8.acme.org) 6/6 FIND_NODE have succeeded
+> [780.000000] ( 3:node@node-2.acme.org) 5/5 FIND_NODE have succeeded
 > [780.000000] ( 2:node@node-1.acme.org) 6/6 FIND_NODE have succeeded
-> [780.000000] (11:node@node-10.acme.org) 5/5 FIND_NODE have succeeded
+> [780.000000] (11:node@node-10.acme.org) 6/6 FIND_NODE have succeeded
 > [780.000000] ( 1:node@node-0.acme.org) 7/7 FIND_NODE have succeeded
 > [780.000000] ( 5:node@node-4.acme.org) 6/6 FIND_NODE have succeeded
 > [780.000000] (13:node@node-12.acme.org) 6/6 FIND_NODE have succeeded
index cf5c638..19b93a6 100644 (file)
@@ -26,7 +26,7 @@ static int dvfs(int argc, char *argv[])
   // Run a task
   start = MSG_get_clock();
   msg_task_t task1 = MSG_task_create ("t1", 100E6, 0, NULL);
-  XBT_INFO("Run a task of %.0E flops",MSG_task_get_flops_amount(task1));
+  XBT_INFO("Run a task of %.0E flops", MSG_task_get_initial_flops_amount(task1));
   MSG_task_execute (task1);
   MSG_task_destroy(task1);
   XBT_INFO("Task done (duration: %.2f s). Current peak speed=%.0E flop/s; Current consumption: from %.0fW to %.0fW"
@@ -43,7 +43,7 @@ static int dvfs(int argc, char *argv[])
   // Run a second task
   start = MSG_get_clock();
   task1 = MSG_task_create ("t2", 100E6, 0, NULL);
-  XBT_INFO("Run a task of %.0E flops",MSG_task_get_flops_amount(task1));
+  XBT_INFO("Run a task of %.0E flops", MSG_task_get_initial_flops_amount(task1));
   MSG_task_execute (task1);
   MSG_task_destroy(task1);
   XBT_INFO("Task done (duration: %.2f s). Current peak speed=%.0E flop/s; Energy dissipated=%.0f J",
index 2764151..d368bb1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2016. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -38,7 +38,8 @@ static int runner(int argc, char *argv[])
     MSG_parallel_task_create("parallel task", hosts_count, hosts, computation_amounts, communication_amounts, NULL);
   MSG_parallel_task_execute(ptask);
   MSG_task_destroy(ptask);
-  /* The arrays communication_amounts and computation_amounts are not to be freed manually */
+  xbt_free(communication_amounts);
+  xbt_free(computation_amounts);
 
   XBT_INFO("We can do the same with a timeout of one second enabled.");
   computation_amounts   = xbt_new0(double, hosts_count);
@@ -53,6 +54,8 @@ static int runner(int argc, char *argv[])
   msg_error_t errcode = MSG_parallel_task_execute_with_timeout(ptask, 1 /* timeout (in seconds)*/);
   xbt_assert(errcode == MSG_TIMEOUT, "Woops, this did not timeout as expected... Please report that bug.");
   MSG_task_destroy(ptask);
+  xbt_free(communication_amounts);
+  xbt_free(computation_amounts);
 
   XBT_INFO("Then, build a parallel task involving only computations and no communication (1 Gflop per node)");
   computation_amounts = xbt_new0(double, hosts_count);
@@ -61,6 +64,7 @@ static int runner(int argc, char *argv[])
   ptask = MSG_parallel_task_create("parallel exec", hosts_count, hosts, computation_amounts, NULL/* no comm */, NULL);
   MSG_parallel_task_execute(ptask);
   MSG_task_destroy(ptask);
+  xbt_free(computation_amounts);
 
   XBT_INFO("Then, build a parallel task with no computation nor communication (synchro only)");
   computation_amounts = xbt_new0(double, hosts_count);
@@ -68,8 +72,10 @@ static int runner(int argc, char *argv[])
   ptask = MSG_parallel_task_create("parallel sync", hosts_count, hosts, computation_amounts, communication_amounts, NULL);
   MSG_parallel_task_execute(ptask);
   MSG_task_destroy(ptask);
+  xbt_free(communication_amounts);
+  xbt_free(computation_amounts);
 
-   XBT_INFO("Finally, trick the ptask to do a 'remote execution', on host %s", MSG_host_get_name(hosts[1]));
+  XBT_INFO("Finally, trick the ptask to do a 'remote execution', on host %s", MSG_host_get_name(hosts[1]));
   computation_amounts = xbt_new0(double, 1);
   computation_amounts[0] = 1e9; // 1 Gflop
   msg_host_t *remote = xbt_new(msg_host_t,1);
@@ -77,10 +83,11 @@ static int runner(int argc, char *argv[])
   ptask = MSG_parallel_task_create("remote exec", 1, remote, computation_amounts, NULL/* no comm */, NULL);
   MSG_parallel_task_execute(ptask);
   MSG_task_destroy(ptask);
-  free(remote);
+  xbt_free(remote);
+  xbt_free(computation_amounts);
 
   XBT_INFO("Goodbye now!");
-  free(hosts);
+  xbt_free(hosts);
   return 0;
 }
 
index 965e8ac..2735dac 100644 (file)
@@ -9,12 +9,12 @@ $ ${bindir:=.}/energy-vm/energy-vm$EXEEXT ${srcdir:=.}/../platforms/energy_platf
 > [  0.000000] (1:dvfs@MyHost1) Create two tasks on Host3: both inside a VM
 > [  0.000000] (1:dvfs@MyHost1) Wait 5 seconds. The tasks are still running (they run for 3 seconds, but 2 tasks are co-located, so they run for 6 seconds)
 > [  5.000000] (1:dvfs@MyHost1) Wait another 5 seconds. The tasks stop at some point in between
-> [  6.000000] (6:p31@MyHost3) This worker is done.
-> [  6.000000] (7:p32@MyHost3) This worker is done.
 > [  6.000000] (5:p22@MyHost2) This worker is done.
+> [  6.000000] (7:p32@MyHost3) This worker is done.
+> [  6.000000] (6:p31@MyHost3) This worker is done.
 > [  6.000000] (3:p12@vm_host1) This worker is done.
-> [  6.000000] (4:p21@vm_host3) This worker is done.
 > [  6.000000] (2:p11@vm_host1) This worker is done.
+> [  6.000000] (4:p21@vm_host3) This worker is done.
 > [ 10.000000] (0:maestro@) Total energy consumption: 4320.000000 Joules (used hosts: 4320.000000 Joules; unused/idle hosts: 0.000000)
 > [ 10.000000] (0:maestro@) Total simulation time: 10.00; Host2 and Host3 must have the exact same energy consumption; Host1 is multi-core and will differ.
 > [ 10.000000] (0:maestro@) Energy consumption of host MyHost1: 1120.000000 Joules
index e0483eb..d3700af 100644 (file)
@@ -5,9 +5,6 @@ $ ${bindir:=.}/io-file ${srcdir:=.}/storage/storage.xml "--log=root.fmt:[%10.6r]
 > [  0.000000] (1:host@alice)  Open file 'c:\Windows\setupact.log'
 > [  0.000000] (2:host@bob)    Open file '/home/doc/simgrid/examples/platforms/nancy.xml'
 > [  0.000000] (3:host@carl)   Open file '/home/doc/simgrid/examples/platforms/g5k_cabinets.xml'
-> [  0.000000] (1:host@alice)  Capacity of the storage element 'c:\Windows\setupact.log' is stored on: 2391537133 / 536870912000
-> [  0.000000] (2:host@bob)    Capacity of the storage element '/home/doc/simgrid/examples/platforms/nancy.xml' is stored on: 36933331 / 536870912000
-> [  0.000000] (3:host@carl)   Capacity of the storage element '/home/doc/simgrid/examples/platforms/g5k_cabinets.xml' is stored on: 36933331 / 536870912000
 > [  0.000000] (4:host@denise) File Descriptor information:
 >              Full path: '/home/doc/simgrid/examples/platforms/g5k.xml'
 >              Size: 17028
@@ -16,6 +13,9 @@ $ ${bindir:=.}/io-file ${srcdir:=.}/storage/storage.xml "--log=root.fmt:[%10.6r]
 >              Storage Type: 'single_SSD'
 >              File Descriptor Id: 0
 > [  0.000000] (4:host@denise)         Open file '/home/doc/simgrid/examples/platforms/g5k.xml'
+> [  0.000000] (1:host@alice)  Capacity of the storage element 'c:\Windows\setupact.log' is stored on: 2391537133 / 536870912000
+> [  0.000000] (2:host@bob)    Capacity of the storage element '/home/doc/simgrid/examples/platforms/nancy.xml' is stored on: 36933331 / 536870912000
+> [  0.000000] (3:host@carl)   Capacity of the storage element '/home/doc/simgrid/examples/platforms/g5k_cabinets.xml' is stored on: 36933331 / 536870912000
 > [  0.000000] (4:host@denise)         Capacity of the storage element '/home/doc/simgrid/examples/platforms/g5k.xml' is stored on: 13221994 / 536870912000
 > [  0.000040] (2:host@bob)    Have read 4028 from '/home/doc/simgrid/examples/platforms/nancy.xml'
 > [  0.000085] (4:host@denise)         Have read 17028 from '/home/doc/simgrid/examples/platforms/g5k.xml'
index 46b251e..390369c 100644 (file)
@@ -4,9 +4,6 @@ $ ${bindir:=.}/io-remote$EXEEXT ${srcdir:=.}/storage/remote_io.xml ${srcdir:=.}/
 > [  0.000000] (0@     ) Init: 12 MiB used on 'Disk1'
 > [  0.000000] (0@     ) Init: 2280 MiB used on 'Disk2'
 > [  0.000000] (1@alice) Opened file 'c:\Windows\setupact.log'
-> [  0.000000] (2@  bob) Opened file '/scratch/lib/libsimgrid.so.3.6.2'
-> [  0.000000] (3@ carl) Opened file '/scratch/lib/libsimgrid.so.3.6.2'
-> [  0.000000] (4@ dave) Opened file 'c:\Windows\bootstat.dat'
 > [  0.000000] (1@alice) File Descriptor information:
 >              Full path: 'c:\Windows\setupact.log'
 >              Size: 101663
@@ -14,6 +11,8 @@ $ ${bindir:=.}/io-remote$EXEEXT ${srcdir:=.}/storage/remote_io.xml ${srcdir:=.}/
 >              Storage Id: 'Disk2'
 >              Storage Type: 'SATA-II_HDD'
 >              File Descriptor Id: 0
+> [  0.000000] (1@alice) Try to read 101663 from 'c:\Windows\setupact.log'
+> [  0.000000] (2@  bob) Opened file '/scratch/lib/libsimgrid.so.3.6.2'
 > [  0.000000] (2@  bob) File Descriptor information:
 >              Full path: '/scratch/lib/libsimgrid.so.3.6.2'
 >              Size: 12710497
@@ -21,6 +20,8 @@ $ ${bindir:=.}/io-remote$EXEEXT ${srcdir:=.}/storage/remote_io.xml ${srcdir:=.}/
 >              Storage Id: 'Disk1'
 >              Storage Type: 'SATA-II_HDD'
 >              File Descriptor Id: 0
+> [  0.000000] (2@  bob) Try to read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'
+> [  0.000000] (3@ carl) Opened file '/scratch/lib/libsimgrid.so.3.6.2'
 > [  0.000000] (3@ carl) File Descriptor information:
 >              Full path: '/scratch/lib/libsimgrid.so.3.6.2'
 >              Size: 12710497
@@ -28,6 +29,8 @@ $ ${bindir:=.}/io-remote$EXEEXT ${srcdir:=.}/storage/remote_io.xml ${srcdir:=.}/
 >              Storage Id: 'Disk1'
 >              Storage Type: 'SATA-II_HDD'
 >              File Descriptor Id: 0
+> [  0.000000] (3@ carl) Try to read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'
+> [  0.000000] (4@ dave) Opened file 'c:\Windows\bootstat.dat'
 > [  0.000000] (4@ dave) File Descriptor information:
 >              Full path: 'c:\Windows\bootstat.dat'
 >              Size: 67584
@@ -35,9 +38,6 @@ $ ${bindir:=.}/io-remote$EXEEXT ${srcdir:=.}/storage/remote_io.xml ${srcdir:=.}/
 >              Storage Id: 'Disk2'
 >              Storage Type: 'SATA-II_HDD'
 >              File Descriptor Id: 0
-> [  0.000000] (1@alice) Try to read 101663 from 'c:\Windows\setupact.log'
-> [  0.000000] (2@  bob) Try to read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'
-> [  0.000000] (3@ carl) Try to read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'
 > [  0.000000] (4@ dave) Try to read 67584 from 'c:\Windows\bootstat.dat'
 > [  0.001469] (4@ dave) Have read 67584 from 'c:\Windows\bootstat.dat'. Offset is now at: 67584
 > [  0.001469] (4@ dave) Seek back to the begining of the stream...
index 717c54b..e458d27 100644 (file)
@@ -27,7 +27,7 @@ static int execute_load_test(int argc, char* argv[])
   // Run a task
   start            = MSG_get_clock();
   msg_task_t task1 = MSG_task_create("t1", 100E6, 0, NULL);
-  XBT_INFO("Run a task of %.0E flops", MSG_task_get_flops_amount(task1));
+  XBT_INFO("Run a task of %.0E flops", MSG_task_get_initial_flops_amount(task1));
   MSG_task_execute(task1);
   MSG_task_destroy(task1);
 
@@ -44,7 +44,7 @@ static int execute_load_test(int argc, char* argv[])
   // Run a second task
   start = MSG_get_clock();
   task1 = MSG_task_create("t2", 100E6, 0, NULL);
-  XBT_INFO("Run a task of %.0E flops", MSG_task_get_flops_amount(task1));
+  XBT_INFO("Run a task of %.0E flops", MSG_task_get_initial_flops_amount(task1));
   MSG_task_execute(task1);
   MSG_task_destroy(task1);
   XBT_INFO("Done working on my task; this took %.2fs; current peak speed: %.0E flop/s; number of flops computed so "
index 6e12c39..cb11383 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2016. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -8,7 +8,8 @@
 XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example");
 
 /* Executed on process termination*/
-static int my_onexit(void* ignored1, void *ignored2) {
+static int my_onexit(XBT_ATTRIB_UNUSED void* ignored1, XBT_ATTRIB_UNUSED void* ignored2)
+{
   XBT_INFO("Exiting now (done sleeping or got killed)."); /* - Just display an informative message (see tesh file) */
   return 0;
 }
index b7c58ae..220fffc 100644 (file)
@@ -33,6 +33,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/process-startkilltime ${srcdir:=.}/cluster.xml ${s
 
 p Test1 Process with kill time
 
+! output sort
 $ $SG_TEST_EXENV ${bindir:=.}/process-startkilltime ${srcdir:=.}/cluster.xml ${srcdir:=.}/../msg/process-startkilltime/kill_d.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
 > [  0.000000] (1:sleeper@node-1.acme.org) Hello! I go to sleep.
 > [  0.000000] (2:sleeper@node-2.acme.org) Hello! I go to sleep.
@@ -45,6 +46,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/process-startkilltime ${srcdir:=.}/cluster.xml ${s
 
 p Test2 Process with start and kill times
 
+! output sort
 $ $SG_TEST_EXENV ${bindir:=.}/process-startkilltime ${srcdir:=.}/cluster.xml ${srcdir:=.}/../msg/process-startkilltime/start_kill_d.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
 > [  0.000000] (1:sleeper@node-0.acme.org) Hello! I go to sleep.
 > [  1.000000] (2:sleeper@node-1.acme.org) Hello! I go to sleep.
index f2836b6..ebe181c 100644 (file)
@@ -2,43 +2,9 @@
 
 p Tracing multiple categories master/worker application
 
-$ $SG_TEST_EXENV ${bindir:=.}/trace-categories$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:categories.cat.plist --cfg=viva/uncategorized:categories.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-categories$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'categories.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'categories.cat.plist'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'categories.uncat.plist'
-
-$ $SG_TEST_EXENV cat categories.cat.plist
->   node = ("LINK","HOST");
->   edge = ("0-LINK4-LINK4","0-LINK4-HOST1","0-HOST1-LINK4");
->
->   host = {
->     type = "square";
->     size = "power";
->     values = ("pcompute","pdata","pfinalize","prequest");
->   };
->   link = {
->     type = "rhombus";
->     size = "bandwidth";
->     values = ("bcompute","bdata","bfinalize","brequest");
->   };
-
-$ $SG_TEST_EXENV cat categories.uncat.plist
->   node = ("LINK","HOST");
->   edge = ("0-LINK4-LINK4","0-LINK4-HOST1","0-HOST1-LINK4");
->
->   host = {
->     type = "square";
->     size = "power";
->     values = ("power_used");
->   };
->   link = {
->     type = "rhombus";
->     size = "bandwidth";
->     values = ("bandwidth_used");
->   };
-
-$ rm -rf categories.trace categories.cat.plist categories.uncat.plist
index 89ec48d..4917717 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010, 2012-2016. The SimGrid Team. All rights reserved.    */
+/* Copyright (c) 2010, 2012-2017. The SimGrid Team. All rights reserved.    */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -77,38 +77,24 @@ int main(int argc, char *argv[])
     xbt_dynar_free (&link_variables);
   }
 
-  //create a customized viva graph configuration file
-  FILE *fp = fopen ("viva_graph.plist", "w");
-  if (fp == NULL){
-    return 1;
-  }
-  fprintf (fp, "{\n node = (");
   xbt_dynar_t nodes_type = TRACE_get_node_types ();
   if (nodes_type){
     XBT_INFO ("Node types in the trace:");
     char *node_type;
     xbt_dynar_foreach (nodes_type, cursor, node_type){
       XBT_INFO ("%s", node_type);
-      fprintf (fp, "%s, ", node_type);
     }
     xbt_dynar_free (&nodes_type);
   }
-  fprintf (fp, ");\n edge = (");
   xbt_dynar_t edges_type = TRACE_get_edge_types ();
   if (edges_type){
     XBT_INFO ("Node types in the trace:");
     char *edge_type;
     xbt_dynar_foreach (edges_type, cursor, edge_type){
       XBT_INFO ("%s", edge_type);
-      fprintf (fp, "%s, ", edge_type);
     }
     xbt_dynar_free (&edges_type);
   }
-  fprintf (fp, ");\n");
-  fprintf (fp, " host = {\n  type = square;\n  size = HDD_capacity; \n  values = (HDD_utilization);\n };\n");
-  fprintf (fp, " link = {\n  type = rhombus;\n  size = bandwidth;\n };\n");
-  fprintf (fp, "}\n");
-  fclose (fp);
 
   return 0;
 }
index 431b774..4331c82 100644 (file)
@@ -16,9 +16,7 @@ $ $SG_TEST_EXENV ${bindir:=.}/trace-host-user-variables$EXEEXT --cfg=tracing:yes
 > [0.004078] [msg_test/INFO] 0-LINK3-HOST1
 > [0.004078] [msg_test/INFO] 0-LINK3-LINK3
 
-$ rm -f viva_graph.plist
+$ rm -f simgrid.trace
 
 p Not tracing user variables
 $ $SG_TEST_EXENV ${bindir:=.}/trace-host-user-variables$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
-
-$ rm -f simgrid.trace viva_graph.plist
index 130aff3..9cf7435 100644 (file)
@@ -208,98 +208,98 @@ $ tail -n +3 simgrid.trace
 > 8 0 5 30 0.035083
 > 8 0 4 31 498000000.000000
 > 8 0 5 31 0.000015
-> 15 0 6 0 topology 19 0
-> 16 0 6 0 topology 20 0
-> 15 0 6 0 topology 15 1
-> 16 0 6 0 topology 9 1
-> 15 0 6 0 topology 27 2
-> 16 0 6 0 topology 18 2
-> 15 0 7 0 topology 5 3
-> 16 0 7 0 topology 24 3
+> 15 0 6 0 topology 12 0
+> 16 0 6 0 topology 16 0
+> 15 0 6 0 topology 9 1
+> 16 0 6 0 topology 16 1
+> 15 0 6 0 topology 16 2
+> 16 0 6 0 topology 14 2
+> 15 0 6 0 topology 21 3
+> 16 0 6 0 topology 19 3
 > 15 0 6 0 topology 8 4
-> 16 0 6 0 topology 10 4
-> 15 0 6 0 topology 21 5
-> 16 0 6 0 topology 22 5
-> 15 0 7 0 topology 1 6
-> 16 0 7 0 topology 9 6
-> 15 0 6 0 topology 23 7
-> 16 0 6 0 topology 24 7
-> 15 0 7 0 topology 1 8
-> 16 0 7 0 topology 15 8
-> 15 0 7 0 topology 1 9
-> 16 0 7 0 topology 11 9
-> 15 0 6 0 topology 26 10
-> 16 0 6 0 topology 27 10
-> 15 0 7 0 topology 5 11
-> 16 0 7 0 topology 18 11
-> 15 0 8 0 topology 11 12
-> 16 0 8 0 topology 2 12
-> 15 0 6 0 topology 28 13
-> 16 0 6 0 topology 29 13
-> 15 0 6 0 topology 12 14
-> 16 0 6 0 topology 16 14
-> 15 0 6 0 topology 9 15
-> 16 0 6 0 topology 16 15
-> 15 0 6 0 topology 14 16
-> 16 0 6 0 topology 13 16
-> 15 0 6 0 topology 29 17
-> 16 0 6 0 topology 11 17
-> 15 0 7 0 topology 3 18
-> 16 0 7 0 topology 30 18
-> 15 0 6 0 topology 11 19
-> 16 0 6 0 topology 15 19
+> 16 0 6 0 topology 19 4
+> 15 0 6 0 topology 19 5
+> 16 0 6 0 topology 20 5
+> 15 0 6 0 topology 8 6
+> 16 0 6 0 topology 20 6
+> 15 0 6 0 topology 27 7
+> 16 0 6 0 topology 18 7
+> 15 0 7 0 topology 5 8
+> 16 0 7 0 topology 18 8
+> 15 0 7 0 topology 4 9
+> 16 0 7 0 topology 18 9
+> 15 0 7 0 topology 2 10
+> 16 0 7 0 topology 18 10
+> 15 0 6 0 topology 16 11
+> 16 0 6 0 topology 21 11
+> 15 0 6 0 topology 21 12
+> 16 0 6 0 topology 22 12
+> 15 0 6 0 topology 9 13
+> 16 0 6 0 topology 12 13
+> 15 0 6 0 topology 15 14
+> 16 0 6 0 topology 9 14
+> 15 0 7 0 topology 1 15
+> 16 0 7 0 topology 9 15
+> 15 0 6 0 topology 20 16
+> 16 0 6 0 topology 23 16
+> 15 0 6 0 topology 23 17
+> 16 0 6 0 topology 24 17
+> 15 0 7 0 topology 5 18
+> 16 0 7 0 topology 24 18
+> 15 0 7 0 topology 4 19
+> 16 0 7 0 topology 24 19
 > 15 0 7 0 topology 2 20
 > 16 0 7 0 topology 24 20
-> 15 0 8 0 topology 18 21
-> 16 0 8 0 topology 6 21
-> 15 0 8 0 topology 10 22
-> 16 0 8 0 topology 5 22
-> 15 0 6 0 topology 8 23
-> 16 0 6 0 topology 19 23
-> 15 0 6 0 topology 12 24
-> 16 0 6 0 topology 25 24
-> 15 0 7 0 topology 4 25
-> 16 0 7 0 topology 24 25
-> 15 0 6 0 topology 16 26
-> 16 0 6 0 topology 14 26
-> 15 0 8 0 topology 17 27
-> 16 0 8 0 topology 4 27
-> 15 0 6 0 topology 12 28
-> 16 0 6 0 topology 17 28
-> 15 0 6 0 topology 9 29
-> 16 0 6 0 topology 17 29
-> 15 0 6 0 topology 21 30
-> 16 0 6 0 topology 19 30
-> 15 0 6 0 topology 22 31
-> 16 0 6 0 topology 25 31
-> 15 0 8 0 topology 24 32
-> 16 0 8 0 topology 7 32
-> 15 0 7 0 topology 3 33
-> 16 0 7 0 topology 28 33
-> 15 0 6 0 topology 25 34
-> 16 0 6 0 topology 26 34
-> 15 0 6 0 topology 8 35
-> 16 0 6 0 topology 20 35
-> 15 0 8 0 topology 13 36
-> 16 0 8 0 topology 3 36
-> 15 0 7 0 topology 2 37
-> 16 0 7 0 topology 18 37
-> 15 0 6 0 topology 9 38
-> 16 0 6 0 topology 12 38
-> 15 0 6 0 topology 14 39
-> 16 0 6 0 topology 8 39
-> 15 0 6 0 topology 20 40
-> 16 0 6 0 topology 23 40
-> 15 0 7 0 topology 4 41
-> 16 0 7 0 topology 18 41
-> 15 0 6 0 topology 13 42
-> 16 0 6 0 topology 8 42
-> 15 0 6 0 topology 11 43
-> 16 0 6 0 topology 8 43
-> 15 0 6 0 topology 16 44
-> 16 0 6 0 topology 21 44
-> 15 0 6 0 topology 30 45
-> 16 0 6 0 topology 28 45
+> 15 0 6 0 topology 11 21
+> 16 0 6 0 topology 15 21
+> 15 0 7 0 topology 1 22
+> 16 0 7 0 topology 15 22
+> 15 0 6 0 topology 12 23
+> 16 0 6 0 topology 17 23
+> 15 0 6 0 topology 9 24
+> 16 0 6 0 topology 17 24
+> 15 0 6 0 topology 22 25
+> 16 0 6 0 topology 25 25
+> 15 0 6 0 topology 12 26
+> 16 0 6 0 topology 25 26
+> 15 0 6 0 topology 25 27
+> 16 0 6 0 topology 26 27
+> 15 0 6 0 topology 26 28
+> 16 0 6 0 topology 27 28
+> 15 0 6 0 topology 14 29
+> 16 0 6 0 topology 8 29
+> 15 0 6 0 topology 13 30
+> 16 0 6 0 topology 8 30
+> 15 0 6 0 topology 11 31
+> 16 0 6 0 topology 8 31
+> 15 0 6 0 topology 8 32
+> 16 0 6 0 topology 10 32
+> 15 0 6 0 topology 30 33
+> 16 0 6 0 topology 28 33
+> 15 0 7 0 topology 3 34
+> 16 0 7 0 topology 28 34
+> 15 0 6 0 topology 28 35
+> 16 0 6 0 topology 29 35
+> 15 0 7 0 topology 3 36
+> 16 0 7 0 topology 30 36
+> 15 0 6 0 topology 14 37
+> 16 0 6 0 topology 13 37
+> 15 0 6 0 topology 29 38
+> 16 0 6 0 topology 11 38
+> 15 0 7 0 topology 1 39
+> 16 0 7 0 topology 11 39
+> 15 0 8 0 topology 24 40
+> 16 0 8 0 topology 7 40
+> 15 0 8 0 topology 10 41
+> 16 0 8 0 topology 5 41
+> 15 0 8 0 topology 13 42
+> 16 0 8 0 topology 3 42
+> 15 0 8 0 topology 17 43
+> 16 0 8 0 topology 4 43
+> 15 0 8 0 topology 18 44
+> 16 0 8 0 topology 6 44
+> 15 0 8 0 topology 11 45
+> 16 0 8 0 topology 2 45
 > 1 9 3 Link_Capacity "1 1 1"
 > 1 10 3 Link_Utilization "0.9 0.1 0.1"
 > 8 0 9 8 12.340000
@@ -566,36 +566,36 @@ $ tail -n +3 simgrid.trace
 > 10 0.412439 10 8 5.600000
 > 10 0.412439 10 9 3.400000
 > 10 0.412439 10 8 5.600000
-> 7 0.412439 1 6
-> 7 0.412439 1 3
-> 7 0.412439 3 28
-> 7 0.412439 3 29
-> 7 0.412439 3 23
-> 7 0.412439 3 30
-> 7 0.412439 3 24
-> 7 0.412439 3 18
-> 7 0.412439 1 1
+> 7 0.412439 3 16
+> 7 0.412439 3 14
 > 7 0.412439 3 19
 > 7 0.412439 3 20
+> 7 0.412439 3 18
 > 7 0.412439 3 21
 > 7 0.412439 3 22
-> 7 0.412439 3 25
-> 7 0.412439 3 26
-> 7 0.412439 3 31
-> 7 0.412439 3 27
-> 7 0.412439 3 16
-> 7 0.412439 3 14
 > 7 0.412439 3 12
 > 7 0.412439 3 9
 > 7 0.412439 3 15
+> 7 0.412439 3 23
+> 7 0.412439 3 24
 > 7 0.412439 3 17
+> 7 0.412439 3 25
+> 7 0.412439 3 26
+> 7 0.412439 3 27
 > 7 0.412439 3 8
 > 7 0.412439 3 10
+> 7 0.412439 3 28
+> 7 0.412439 3 29
 > 7 0.412439 3 13
+> 7 0.412439 3 30
 > 7 0.412439 3 11
-> 7 0.412439 1 5
-> 7 0.412439 1 2
 > 7 0.412439 1 7
+> 7 0.412439 1 5
+> 7 0.412439 1 3
 > 7 0.412439 1 4
+> 7 0.412439 1 6
+> 7 0.412439 1 2
+> 7 0.412439 1 1
+> 7 0.412439 3 31
 
 $ rm -f simgrid.trace
index 2ebf78d..56cb7a3 100644 (file)
@@ -53,9 +53,9 @@ static int worker(int argc, char *argv[])
       MSG_task_destroy(task);
       break;
     }
-    //adding the value returned by MSG_task_get_compute_duration(task)
-    //to the variable "task_computation"
-    TRACE_host_variable_add(MSG_host_get_name(MSG_host_self()), "task_computation", MSG_task_get_flops_amount(task));
+    // adding the value returned by MSG_task_get_compute_duration(task) to the variable "task_computation"
+    TRACE_host_variable_add(MSG_host_get_name(MSG_host_self()), "task_computation",
+                            MSG_task_get_initial_flops_amount(task));
     MSG_task_execute(task);
     MSG_task_destroy(task);
     task = NULL;
index d17cce3..0ce739d 100644 (file)
@@ -1,14 +1,12 @@
 #! ./tesh
 
 p Tracing master/worker application
-$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:trace-masterworker.cat.plist --cfg=viva/uncategorized:trace-masterworker.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'trace-masterworker.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'trace-masterworker.cat.plist'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'trace-masterworker.uncat.plist'
 > [4.214821] [msg_trace_masterworker/INFO] Declared tracing categories:
 > [4.214821] [msg_trace_masterworker/INFO] compute
 > [4.214821] [msg_trace_masterworker/INFO] finalize
@@ -24,8 +22,6 @@ $ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT ${srcdir:=.}/config_trac
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'trace-masterworker.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'trace-masterworker.cat.plist'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'trace-masterworker.uncat.plist'
 > [4.214821] [msg_trace_masterworker/INFO] Declared tracing categories:
 > [4.214821] [msg_trace_masterworker/INFO] compute
 > [4.214821] [msg_trace_masterworker/INFO] finalize
@@ -38,15 +34,13 @@ p Not tracing master/worker application
 $ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
 
 p Testing tracing by process
-$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/msg/process:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:trace-masterworker.cat.plist --cfg=viva/uncategorized:trace-masterworker.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/msg/process:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes  ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'trace-masterworker.trace'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'trace-masterworker.cat.plist'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'trace-masterworker.uncat.plist'
 > [4.214821] [msg_trace_masterworker/INFO] Declared tracing categories:
 > [4.214821] [msg_trace_masterworker/INFO] compute
 > [4.214821] [msg_trace_masterworker/INFO] finalize
@@ -55,34 +49,5 @@ $ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=
 > [4.214821] [msg_trace_masterworker/INFO] Declared marks:
 > [4.214821] [msg_trace_masterworker/INFO] msmark
 
-$ $SG_TEST_EXENV cat trace-masterworker.uncat.plist
->   node = ("LINK","HOST");
->   edge = ("0-LINK13-LINK13","0-LINK13-HOST1","0-HOST1-LINK13");
->
->   host = {
->     type = "square";
->     size = "power";
->     values = ("power_used");
->   };
->   link = {
->     type = "rhombus";
->     size = "bandwidth";
->     values = ("bandwidth_used");
->   };
 
-$ $SG_TEST_EXENV cat trace-masterworker.cat.plist
->   node = ("LINK","HOST");
->   edge = ("0-LINK13-LINK13","0-LINK13-HOST1","0-HOST1-LINK13");
->
->   host = {
->     type = "square";
->     size = "power";
->     values = ("pcompute","pfinalize","preport","prequest");
->   };
->   link = {
->     type = "rhombus";
->     size = "bandwidth";
->     values = ("bcompute","bfinalize","breport","brequest");
->   };
-
-$ rm -rf trace-masterworker.trace trace-masterworker.cat.plist trace-masterworker.uncat.plist
+$ rm -rf trace-masterworker.trace
index 1be528a..92cd632 100644 (file)
@@ -209,129 +209,129 @@ $ tail -n +3 trace_platform.trace
 > 8 0 5 30 0.035083
 > 8 0 4 31 498000000.000000
 > 8 0 5 31 0.000015
-> 15 0 6 0 topology 19 0
-> 16 0 6 0 topology 20 0
-> 15 0 6 0 topology 15 1
-> 16 0 6 0 topology 9 1
-> 15 0 6 0 topology 27 2
-> 16 0 6 0 topology 18 2
-> 15 0 7 0 topology 5 3
-> 16 0 7 0 topology 24 3
+> 15 0 6 0 topology 12 0
+> 16 0 6 0 topology 16 0
+> 15 0 6 0 topology 9 1
+> 16 0 6 0 topology 16 1
+> 15 0 6 0 topology 16 2
+> 16 0 6 0 topology 14 2
+> 15 0 6 0 topology 21 3
+> 16 0 6 0 topology 19 3
 > 15 0 6 0 topology 8 4
-> 16 0 6 0 topology 10 4
-> 15 0 6 0 topology 21 5
-> 16 0 6 0 topology 22 5
-> 15 0 7 0 topology 1 6
-> 16 0 7 0 topology 9 6
-> 15 0 6 0 topology 23 7
-> 16 0 6 0 topology 24 7
-> 15 0 7 0 topology 1 8
-> 16 0 7 0 topology 15 8
-> 15 0 7 0 topology 1 9
-> 16 0 7 0 topology 11 9
-> 15 0 6 0 topology 26 10
-> 16 0 6 0 topology 27 10
-> 15 0 7 0 topology 5 11
-> 16 0 7 0 topology 18 11
-> 15 0 8 0 topology 11 12
-> 16 0 8 0 topology 2 12
-> 15 0 6 0 topology 28 13
-> 16 0 6 0 topology 29 13
-> 15 0 6 0 topology 12 14
-> 16 0 6 0 topology 16 14
-> 15 0 6 0 topology 9 15
-> 16 0 6 0 topology 16 15
-> 15 0 6 0 topology 14 16
-> 16 0 6 0 topology 13 16
-> 15 0 6 0 topology 29 17
-> 16 0 6 0 topology 11 17
-> 15 0 7 0 topology 3 18
-> 16 0 7 0 topology 30 18
-> 15 0 6 0 topology 11 19
-> 16 0 6 0 topology 15 19
+> 16 0 6 0 topology 19 4
+> 15 0 6 0 topology 19 5
+> 16 0 6 0 topology 20 5
+> 15 0 6 0 topology 8 6
+> 16 0 6 0 topology 20 6
+> 15 0 6 0 topology 27 7
+> 16 0 6 0 topology 18 7
+> 15 0 7 0 topology 5 8
+> 16 0 7 0 topology 18 8
+> 15 0 7 0 topology 4 9
+> 16 0 7 0 topology 18 9
+> 15 0 7 0 topology 2 10
+> 16 0 7 0 topology 18 10
+> 15 0 6 0 topology 16 11
+> 16 0 6 0 topology 21 11
+> 15 0 6 0 topology 21 12
+> 16 0 6 0 topology 22 12
+> 15 0 6 0 topology 9 13
+> 16 0 6 0 topology 12 13
+> 15 0 6 0 topology 15 14
+> 16 0 6 0 topology 9 14
+> 15 0 7 0 topology 1 15
+> 16 0 7 0 topology 9 15
+> 15 0 6 0 topology 20 16
+> 16 0 6 0 topology 23 16
+> 15 0 6 0 topology 23 17
+> 16 0 6 0 topology 24 17
+> 15 0 7 0 topology 5 18
+> 16 0 7 0 topology 24 18
+> 15 0 7 0 topology 4 19
+> 16 0 7 0 topology 24 19
 > 15 0 7 0 topology 2 20
 > 16 0 7 0 topology 24 20
-> 15 0 8 0 topology 18 21
-> 16 0 8 0 topology 6 21
-> 15 0 8 0 topology 10 22
-> 16 0 8 0 topology 5 22
-> 15 0 6 0 topology 8 23
-> 16 0 6 0 topology 19 23
-> 15 0 6 0 topology 12 24
-> 16 0 6 0 topology 25 24
-> 15 0 7 0 topology 4 25
-> 16 0 7 0 topology 24 25
-> 15 0 6 0 topology 16 26
-> 16 0 6 0 topology 14 26
-> 15 0 8 0 topology 17 27
-> 16 0 8 0 topology 4 27
-> 15 0 6 0 topology 12 28
-> 16 0 6 0 topology 17 28
-> 15 0 6 0 topology 9 29
-> 16 0 6 0 topology 17 29
-> 15 0 6 0 topology 21 30
-> 16 0 6 0 topology 19 30
-> 15 0 6 0 topology 22 31
-> 16 0 6 0 topology 25 31
-> 15 0 8 0 topology 24 32
-> 16 0 8 0 topology 7 32
-> 15 0 7 0 topology 3 33
-> 16 0 7 0 topology 28 33
-> 15 0 6 0 topology 25 34
-> 16 0 6 0 topology 26 34
-> 15 0 6 0 topology 8 35
-> 16 0 6 0 topology 20 35
-> 15 0 8 0 topology 13 36
-> 16 0 8 0 topology 3 36
-> 15 0 7 0 topology 2 37
-> 16 0 7 0 topology 18 37
-> 15 0 6 0 topology 9 38
-> 16 0 6 0 topology 12 38
-> 15 0 6 0 topology 14 39
-> 16 0 6 0 topology 8 39
-> 15 0 6 0 topology 20 40
-> 16 0 6 0 topology 23 40
-> 15 0 7 0 topology 4 41
-> 16 0 7 0 topology 18 41
-> 15 0 6 0 topology 13 42
-> 16 0 6 0 topology 8 42
-> 15 0 6 0 topology 11 43
-> 16 0 6 0 topology 8 43
-> 15 0 6 0 topology 16 44
-> 16 0 6 0 topology 21 44
-> 15 0 6 0 topology 30 45
-> 16 0 6 0 topology 28 45
-> 7 0 1 6
-> 7 0 1 3
-> 7 0 3 28
-> 7 0 3 29
-> 7 0 3 23
-> 7 0 3 30
-> 7 0 3 24
-> 7 0 3 18
-> 7 0 1 1
+> 15 0 6 0 topology 11 21
+> 16 0 6 0 topology 15 21
+> 15 0 7 0 topology 1 22
+> 16 0 7 0 topology 15 22
+> 15 0 6 0 topology 12 23
+> 16 0 6 0 topology 17 23
+> 15 0 6 0 topology 9 24
+> 16 0 6 0 topology 17 24
+> 15 0 6 0 topology 22 25
+> 16 0 6 0 topology 25 25
+> 15 0 6 0 topology 12 26
+> 16 0 6 0 topology 25 26
+> 15 0 6 0 topology 25 27
+> 16 0 6 0 topology 26 27
+> 15 0 6 0 topology 26 28
+> 16 0 6 0 topology 27 28
+> 15 0 6 0 topology 14 29
+> 16 0 6 0 topology 8 29
+> 15 0 6 0 topology 13 30
+> 16 0 6 0 topology 8 30
+> 15 0 6 0 topology 11 31
+> 16 0 6 0 topology 8 31
+> 15 0 6 0 topology 8 32
+> 16 0 6 0 topology 10 32
+> 15 0 6 0 topology 30 33
+> 16 0 6 0 topology 28 33
+> 15 0 7 0 topology 3 34
+> 16 0 7 0 topology 28 34
+> 15 0 6 0 topology 28 35
+> 16 0 6 0 topology 29 35
+> 15 0 7 0 topology 3 36
+> 16 0 7 0 topology 30 36
+> 15 0 6 0 topology 14 37
+> 16 0 6 0 topology 13 37
+> 15 0 6 0 topology 29 38
+> 16 0 6 0 topology 11 38
+> 15 0 7 0 topology 1 39
+> 16 0 7 0 topology 11 39
+> 15 0 8 0 topology 24 40
+> 16 0 8 0 topology 7 40
+> 15 0 8 0 topology 10 41
+> 16 0 8 0 topology 5 41
+> 15 0 8 0 topology 13 42
+> 16 0 8 0 topology 3 42
+> 15 0 8 0 topology 17 43
+> 16 0 8 0 topology 4 43
+> 15 0 8 0 topology 18 44
+> 16 0 8 0 topology 6 44
+> 15 0 8 0 topology 11 45
+> 16 0 8 0 topology 2 45
+> 7 0 3 16
+> 7 0 3 14
 > 7 0 3 19
 > 7 0 3 20
+> 7 0 3 18
 > 7 0 3 21
 > 7 0 3 22
-> 7 0 3 25
-> 7 0 3 26
-> 7 0 3 31
-> 7 0 3 27
-> 7 0 3 16
-> 7 0 3 14
 > 7 0 3 12
 > 7 0 3 9
 > 7 0 3 15
+> 7 0 3 23
+> 7 0 3 24
 > 7 0 3 17
+> 7 0 3 25
+> 7 0 3 26
+> 7 0 3 27
 > 7 0 3 8
 > 7 0 3 10
+> 7 0 3 28
+> 7 0 3 29
 > 7 0 3 13
+> 7 0 3 30
 > 7 0 3 11
-> 7 0 1 5
-> 7 0 1 2
 > 7 0 1 7
+> 7 0 1 5
+> 7 0 1 3
 > 7 0 1 4
+> 7 0 1 6
+> 7 0 1 2
+> 7 0 1 1
+> 7 0 3 31
 
 $ rm -f trace_platform.trace
 
@@ -5265,21 +5265,21 @@ $ tail -n +3 trace_platform.trace
 > 6 0 4795 6 4390 "gw_AS_toulouse"
 > 6 0 4796 12 4795 "gw_toulouse"
 > 6 0 4797 3 4390 "link_gw_toulouse"
-> 4 20 1 3 2 L1-LINK3-ROUTER2
-> 4 21 1 3 3 L1-LINK3-LINK3
-> 4 22 1 2 3 L1-ROUTER2-LINK3
+> 4 20 1 3 3 L1-LINK3-LINK3
+> 4 21 1 2 3 L1-ROUTER2-LINK3
+> 4 22 1 3 2 L1-LINK3-ROUTER2
 > 4 23 6 9 9 L2-LINK9-LINK9
-> 4 24 6 7 9 L2-HOST7-LINK9
-> 4 25 6 12 9 L2-ROUTER12-LINK9
+> 4 24 6 12 9 L2-ROUTER12-LINK9
+> 4 25 6 7 9 L2-HOST7-LINK9
 > 4 26 1 3 12 L1-LINK3-ROUTER12
 > 4 27 1 12 3 L1-ROUTER12-LINK3
 > 4 28 13 16 16 L3-LINK16-LINK16
-> 4 29 13 14 16 L3-HOST14-LINK16
-> 4 30 13 19 16 L3-ROUTER19-LINK16
+> 4 29 13 19 16 L3-ROUTER19-LINK16
+> 4 30 13 14 16 L3-HOST14-LINK16
 > 4 31 6 9 19 L2-LINK9-ROUTER19
 > 4 32 6 19 9 L2-ROUTER19-LINK9
-> 4 33 1 19 3 L1-ROUTER19-LINK3
-> 4 34 1 3 19 L1-LINK3-ROUTER19
+> 4 33 1 3 19 L1-LINK3-ROUTER19
+> 4 34 1 19 3 L1-ROUTER19-LINK3
 > 4 35 0 3 3 0-LINK3-LINK3
 > 4 36 0 2 3 0-ROUTER2-LINK3
 > 8 0 4 12 1250000000.000000
@@ -13094,5386 +13094,5386 @@ $ tail -n +3 trace_platform.trace
 > 8 0 5 4794 0.000100
 > 8 0 4 4797 1250000000.000000
 > 8 0 5 4797 0.000100
-> 15 0 20 1 topology 17 0
-> 16 0 20 1 topology 8 0
-> 15 0 20 1 topology 18 1
-> 16 0 20 1 topology 9 1
-> 15 0 21 1 topology 15 2
-> 16 0 21 1 topology 18 2
-> 15 0 22 1 topology 3 3
-> 16 0 22 1 topology 15 3
-> 15 0 22 1 topology 2 4
-> 16 0 22 1 topology 12 4
-> 15 0 21 1 topology 14 5
-> 16 0 21 1 topology 15 5
-> 15 0 21 1 topology 15 6
-> 16 0 21 1 topology 17 6
-> 15 0 21 1 topology 12 7
-> 16 0 21 1 topology 14 7
-> 15 0 21 1 topology 16 8
-> 16 0 21 1 topology 18 8
-> 15 0 22 1 topology 6 9
-> 16 0 22 1 topology 16 9
-> 15 0 22 1 topology 9 10
-> 16 0 22 1 topology 19 10
-> 15 0 20 1 topology 15 11
-> 16 0 20 1 topology 6 11
-> 15 0 21 1 topology 12 12
-> 16 0 21 1 topology 13 12
-> 15 0 22 1 topology 3 13
-> 16 0 22 1 topology 14 13
-> 15 0 21 1 topology 16 14
-> 16 0 21 1 topology 17 14
-> 15 0 21 1 topology 12 15
-> 16 0 21 1 topology 15 15
-> 15 0 20 1 topology 14 16
-> 16 0 20 1 topology 5 16
-> 15 0 22 1 topology 3 17
-> 16 0 22 1 topology 13 17
-> 15 0 21 1 topology 15 18
-> 16 0 21 1 topology 16 18
-> 15 0 22 1 topology 9 19
-> 16 0 22 1 topology 20 19
-> 15 0 20 1 topology 20 20
-> 16 0 20 1 topology 10 20
-> 15 0 21 1 topology 18 21
-> 16 0 21 1 topology 19 21
-> 15 0 21 1 topology 13 22
-> 16 0 21 1 topology 14 22
-> 15 0 20 1 topology 19 23
-> 16 0 20 1 topology 11 23
-> 15 0 20 1 topology 12 24
-> 16 0 20 1 topology 3 24
-> 15 0 20 1 topology 16 25
-> 16 0 20 1 topology 7 25
-> 15 0 21 1 topology 13 26
-> 16 0 21 1 topology 15 26
-> 15 0 21 1 topology 18 27
-> 16 0 21 1 topology 20 27
-> 15 0 21 1 topology 20 28
-> 16 0 21 1 topology 19 28
-> 15 0 22 1 topology 6 29
-> 16 0 22 1 topology 18 29
-> 15 0 21 1 topology 17 30
-> 16 0 21 1 topology 18 30
-> 15 0 20 1 topology 13 31
-> 16 0 20 1 topology 4 31
-> 15 0 22 1 topology 6 32
-> 16 0 22 1 topology 17 32
-> 15 0 23 22 topology 96 33
+> 15 0 20 1 topology 15 0
+> 16 0 20 1 topology 16 0
+> 15 0 21 1 topology 6 1
+> 16 0 21 1 topology 16 1
+> 15 0 21 1 topology 2 2
+> 16 0 21 1 topology 12 2
+> 15 0 20 1 topology 16 3
+> 16 0 20 1 topology 17 3
+> 15 0 20 1 topology 15 4
+> 16 0 20 1 topology 17 4
+> 15 0 21 1 topology 6 5
+> 16 0 21 1 topology 17 5
+> 15 0 20 1 topology 16 6
+> 16 0 20 1 topology 18 6
+> 15 0 20 1 topology 17 7
+> 16 0 20 1 topology 18 7
+> 15 0 20 1 topology 15 8
+> 16 0 20 1 topology 18 8
+> 15 0 21 1 topology 6 9
+> 16 0 21 1 topology 18 9
+> 15 0 20 1 topology 18 10
+> 16 0 20 1 topology 19 10
+> 15 0 20 1 topology 20 11
+> 16 0 20 1 topology 19 11
+> 15 0 21 1 topology 9 12
+> 16 0 21 1 topology 19 12
+> 15 0 20 1 topology 18 13
+> 16 0 20 1 topology 20 13
+> 15 0 21 1 topology 9 14
+> 16 0 21 1 topology 20 14
+> 15 0 20 1 topology 12 15
+> 16 0 20 1 topology 15 15
+> 15 0 20 1 topology 13 16
+> 16 0 20 1 topology 15 16
+> 15 0 20 1 topology 14 17
+> 16 0 20 1 topology 15 17
+> 15 0 21 1 topology 3 18
+> 16 0 21 1 topology 15 18
+> 15 0 20 1 topology 12 19
+> 16 0 20 1 topology 13 19
+> 15 0 21 1 topology 3 20
+> 16 0 21 1 topology 13 20
+> 15 0 20 1 topology 12 21
+> 16 0 20 1 topology 14 21
+> 15 0 20 1 topology 13 22
+> 16 0 20 1 topology 14 22
+> 15 0 21 1 topology 3 23
+> 16 0 21 1 topology 14 23
+> 15 0 22 1 topology 16 24
+> 16 0 22 1 topology 7 24
+> 15 0 22 1 topology 17 25
+> 16 0 22 1 topology 8 25
+> 15 0 22 1 topology 15 26
+> 16 0 22 1 topology 6 26
+> 15 0 22 1 topology 18 27
+> 16 0 22 1 topology 9 27
+> 15 0 22 1 topology 13 28
+> 16 0 22 1 topology 4 28
+> 15 0 22 1 topology 12 29
+> 16 0 22 1 topology 3 29
+> 15 0 22 1 topology 14 30
+> 16 0 22 1 topology 5 30
+> 15 0 22 1 topology 19 31
+> 16 0 22 1 topology 11 31
+> 15 0 22 1 topology 20 32
+> 16 0 22 1 topology 10 32
+> 15 0 23 22 topology 52 33
 > 16 0 23 22 topology 177 33
-> 15 0 24 22 topology 32 34
-> 16 0 24 22 topology 34 34
-> 15 0 24 22 topology 113 35
-> 16 0 24 22 topology 115 35
-> 15 0 23 22 topology 156 36
+> 15 0 23 22 topology 51 34
+> 16 0 23 22 topology 177 34
+> 15 0 23 22 topology 55 35
+> 16 0 23 22 topology 177 35
+> 15 0 23 22 topology 54 36
 > 16 0 23 22 topology 177 36
-> 15 0 24 22 topology 62 37
-> 16 0 24 22 topology 64 37
-> 15 0 23 22 topology 78 38
+> 15 0 23 22 topology 58 37
+> 16 0 23 22 topology 177 37
+> 15 0 23 22 topology 57 38
 > 16 0 23 22 topology 177 38
-> 15 0 24 22 topology 170 39
-> 16 0 24 22 topology 172 39
-> 15 0 23 22 topology 49 40
+> 15 0 23 22 topology 61 39
+> 16 0 23 22 topology 177 39
+> 15 0 23 22 topology 60 40
 > 16 0 23 22 topology 177 40
-> 15 0 24 22 topology 119 41
-> 16 0 24 22 topology 121 41
-> 15 0 23 22 topology 138 42
+> 15 0 23 22 topology 64 41
+> 16 0 23 22 topology 177 41
+> 15 0 23 22 topology 63 42
 > 16 0 23 22 topology 177 42
-> 15 0 24 22 topology 68 43
-> 16 0 24 22 topology 70 43
-> 15 0 24 22 topology 125 44
-> 16 0 24 22 topology 127 44
-> 15 0 23 22 topology 27 45
+> 15 0 23 22 topology 67 43
+> 16 0 23 22 topology 177 43
+> 15 0 23 22 topology 66 44
+> 16 0 23 22 topology 177 44
+> 15 0 23 22 topology 70 45
 > 16 0 23 22 topology 177 45
-> 15 0 24 22 topology 74 46
-> 16 0 24 22 topology 76 46
-> 15 0 24 22 topology 131 47
-> 16 0 24 22 topology 133 47
-> 15 0 23 22 topology 115 48
+> 15 0 23 22 topology 69 46
+> 16 0 23 22 topology 177 46
+> 15 0 23 22 topology 73 47
+> 16 0 23 22 topology 177 47
+> 15 0 23 22 topology 72 48
 > 16 0 23 22 topology 177 48
-> 15 0 24 22 topology 137 49
-> 16 0 24 22 topology 139 49
-> 15 0 23 22 topology 67 50
+> 15 0 23 22 topology 76 49
+> 16 0 23 22 topology 177 49
+> 15 0 23 22 topology 75 50
 > 16 0 23 22 topology 177 50
-> 15 0 23 22 topology 151 51
+> 15 0 23 22 topology 79 51
 > 16 0 23 22 topology 177 51
-> 15 0 23 22 topology 103 52
+> 15 0 23 22 topology 78 52
 > 16 0 23 22 topology 177 52
-> 15 0 24 22 topology 44 53
-> 16 0 24 22 topology 45 53
-> 15 0 23 22 topology 139 54
+> 15 0 23 22 topology 25 53
+> 16 0 23 22 topology 177 53
+> 15 0 23 22 topology 24 54
 > 16 0 23 22 topology 177 54
-> 15 0 23 22 topology 81 55
+> 15 0 23 22 topology 82 55
 > 16 0 23 22 topology 177 55
-> 15 0 23 22 topology 141 56
+> 15 0 23 22 topology 81 56
 > 16 0 23 22 topology 177 56
-> 15 0 23 22 topology 63 57
+> 15 0 23 22 topology 85 57
 > 16 0 23 22 topology 177 57
-> 15 0 23 22 topology 123 58
+> 15 0 23 22 topology 84 58
 > 16 0 23 22 topology 177 58
-> 15 0 23 22 topology 40 59
+> 15 0 23 22 topology 88 59
 > 16 0 23 22 topology 177 59
-> 15 0 23 22 topology 105 60
+> 15 0 23 22 topology 87 60
 > 16 0 23 22 topology 177 60
-> 15 0 23 22 topology 165 61
+> 15 0 23 22 topology 91 61
 > 16 0 23 22 topology 177 61
-> 15 0 24 22 topology 41 62
-> 16 0 24 22 topology 43 62
-> 15 0 24 22 topology 23 63
-> 16 0 24 22 topology 24 63
-> 15 0 24 22 topology 53 64
-> 16 0 24 22 topology 54 64
-> 15 0 23 22 topology 36 65
+> 15 0 23 22 topology 90 62
+> 16 0 23 22 topology 177 62
+> 15 0 23 22 topology 94 63
+> 16 0 23 22 topology 177 63
+> 15 0 23 22 topology 93 64
+> 16 0 23 22 topology 177 64
+> 15 0 23 22 topology 97 65
 > 16 0 23 22 topology 177 65
-> 15 0 24 22 topology 113 66
-> 16 0 24 22 topology 114 66
-> 15 0 23 22 topology 58 67
+> 15 0 23 22 topology 96 66
+> 16 0 23 22 topology 177 66
+> 15 0 23 22 topology 100 67
 > 16 0 23 22 topology 177 67
-> 15 0 24 22 topology 89 68
-> 16 0 24 22 topology 90 68
-> 15 0 23 22 topology 142 69
+> 15 0 23 22 topology 99 68
+> 16 0 23 22 topology 177 68
+> 15 0 23 22 topology 103 69
 > 16 0 23 22 topology 177 69
-> 15 0 24 22 topology 65 70
-> 16 0 24 22 topology 66 70
-> 15 0 23 22 topology 94 71
+> 15 0 23 22 topology 102 70
+> 16 0 23 22 topology 177 70
+> 15 0 23 22 topology 106 71
 > 16 0 23 22 topology 177 71
-> 15 0 24 22 topology 173 72
-> 16 0 24 22 topology 174 72
-> 15 0 24 22 topology 149 73
-> 16 0 24 22 topology 150 73
-> 15 0 23 22 topology 130 74
+> 15 0 23 22 topology 105 72
+> 16 0 23 22 topology 177 72
+> 15 0 23 22 topology 109 73
+> 16 0 23 22 topology 177 73
+> 15 0 23 22 topology 108 74
 > 16 0 23 22 topology 177 74
-> 15 0 24 22 topology 125 75
-> 16 0 24 22 topology 126 75
-> 15 0 24 22 topology 47 76
-> 16 0 24 22 topology 48 76
-> 15 0 24 22 topology 101 77
-> 16 0 24 22 topology 102 77
-> 15 0 23 22 topology 166 78
+> 15 0 23 22 topology 28 75
+> 16 0 23 22 topology 177 75
+> 15 0 23 22 topology 27 76
+> 16 0 23 22 topology 177 76
+> 15 0 23 22 topology 112 77
+> 16 0 23 22 topology 177 77
+> 15 0 23 22 topology 111 78
 > 16 0 23 22 topology 177 78
-> 15 0 24 22 topology 77 79
-> 16 0 24 22 topology 78 79
-> 15 0 24 22 topology 161 80
-> 16 0 24 22 topology 162 80
-> 15 0 24 22 topology 26 81
-> 16 0 24 22 topology 28 81
-> 15 0 23 22 topology 90 82
+> 15 0 23 22 topology 115 79
+> 16 0 23 22 topology 177 79
+> 15 0 23 22 topology 114 80
+> 16 0 23 22 topology 177 80
+> 15 0 23 22 topology 118 81
+> 16 0 23 22 topology 177 81
+> 15 0 23 22 topology 117 82
 > 16 0 23 22 topology 177 82
-> 15 0 24 22 topology 137 83
-> 16 0 24 22 topology 138 83
-> 15 0 23 22 topology 31 84
+> 15 0 23 22 topology 121 83
+> 16 0 23 22 topology 177 83
+> 15 0 23 22 topology 120 84
 > 16 0 23 22 topology 177 84
-> 15 0 24 22 topology 83 85
-> 16 0 24 22 topology 85 85
-> 15 0 23 22 topology 150 86
+> 15 0 23 22 topology 124 85
+> 16 0 23 22 topology 177 85
+> 15 0 23 22 topology 123 86
 > 16 0 23 22 topology 177 86
-> 15 0 23 22 topology 72 87
+> 15 0 23 22 topology 127 87
 > 16 0 23 22 topology 177 87
-> 15 0 24 22 topology 140 88
-> 16 0 24 22 topology 142 88
-> 15 0 24 22 topology 89 89
-> 16 0 24 22 topology 91 89
-> 15 0 23 22 topology 132 90
+> 15 0 23 22 topology 126 88
+> 16 0 23 22 topology 177 88
+> 15 0 23 22 topology 130 89
+> 16 0 23 22 topology 177 89
+> 15 0 23 22 topology 129 90
 > 16 0 23 22 topology 177 90
-> 15 0 24 22 topology 146 91
-> 16 0 24 22 topology 148 91
-> 15 0 24 22 topology 95 92
-> 16 0 24 22 topology 97 92
-> 15 0 24 22 topology 152 93
-> 16 0 24 22 topology 154 93
-> 15 0 24 22 topology 26 94
-> 16 0 24 22 topology 27 94
-> 15 0 24 22 topology 101 95
-> 16 0 24 22 topology 103 95
-> 15 0 24 22 topology 158 96
-> 16 0 24 22 topology 160 96
-> 15 0 23 22 topology 85 97
+> 15 0 23 22 topology 133 91
+> 16 0 23 22 topology 177 91
+> 15 0 23 22 topology 132 92
+> 16 0 23 22 topology 177 92
+> 15 0 23 22 topology 136 93
+> 16 0 23 22 topology 177 93
+> 15 0 23 22 topology 135 94
+> 16 0 23 22 topology 177 94
+> 15 0 23 22 topology 139 95
+> 16 0 23 22 topology 177 95
+> 15 0 23 22 topology 138 96
+> 16 0 23 22 topology 177 96
+> 15 0 23 22 topology 31 97
 > 16 0 23 22 topology 177 97
-> 15 0 24 22 topology 107 98
-> 16 0 24 22 topology 109 98
-> 15 0 23 22 topology 45 99
+> 15 0 23 22 topology 30 98
+> 16 0 23 22 topology 177 98
+> 15 0 23 22 topology 142 99
 > 16 0 23 22 topology 177 99
-> 15 0 24 22 topology 164 100
-> 16 0 24 22 topology 166 100
-> 15 0 23 22 topology 121 101
+> 15 0 23 22 topology 141 100
+> 16 0 23 22 topology 177 100
+> 15 0 23 22 topology 145 101
 > 16 0 23 22 topology 177 101
-> 15 0 23 22 topology 73 102
+> 15 0 23 22 topology 144 102
 > 16 0 23 22 topology 177 102
-> 15 0 23 22 topology 157 103
+> 15 0 23 22 topology 148 103
 > 16 0 23 22 topology 177 103
-> 15 0 23 22 topology 109 104
+> 15 0 23 22 topology 147 104
 > 16 0 23 22 topology 177 104
-> 15 0 23 22 topology 57 105
+> 15 0 23 22 topology 151 105
 > 16 0 23 22 topology 177 105
-> 15 0 23 22 topology 117 106
+> 15 0 23 22 topology 150 106
 > 16 0 23 22 topology 177 106
-> 15 0 23 22 topology 99 107
+> 15 0 23 22 topology 154 107
 > 16 0 23 22 topology 177 107
-> 15 0 24 22 topology 35 108
-> 16 0 24 22 topology 37 108
-> 15 0 23 22 topology 159 109
+> 15 0 23 22 topology 153 108
+> 16 0 23 22 topology 177 108
+> 15 0 23 22 topology 157 109
 > 16 0 23 22 topology 177 109
-> 15 0 23 22 topology 46 110
+> 15 0 23 22 topology 156 110
 > 16 0 23 22 topology 177 110
-> 15 0 24 22 topology 80 111
-> 16 0 24 22 topology 81 111
-> 15 0 24 22 topology 29 112
-> 16 0 24 22 topology 30 112
-> 15 0 23 22 topology 30 113
+> 15 0 23 22 topology 160 111
+> 16 0 23 22 topology 177 111
+> 15 0 23 22 topology 159 112
+> 16 0 23 22 topology 177 112
+> 15 0 23 22 topology 163 113
 > 16 0 23 22 topology 177 113
-> 15 0 24 22 topology 56 114
-> 16 0 24 22 topology 57 114
-> 15 0 24 22 topology 140 115
-> 16 0 24 22 topology 141 115
-> 15 0 23 22 topology 112 116
+> 15 0 23 22 topology 162 114
+> 16 0 23 22 topology 177 114
+> 15 0 23 22 topology 166 115
+> 16 0 23 22 topology 177 115
+> 15 0 23 22 topology 165 116
 > 16 0 23 22 topology 177 116
-> 15 0 24 22 topology 116 117
-> 16 0 24 22 topology 117 117
-> 15 0 23 22 topology 64 118
+> 15 0 23 22 topology 169 117
+> 16 0 23 22 topology 177 117
+> 15 0 23 22 topology 168 118
 > 16 0 23 22 topology 177 118
-> 15 0 24 22 topology 92 119
-> 16 0 24 22 topology 93 119
-> 15 0 23 22 topology 148 120
+> 15 0 23 22 topology 34 119
+> 16 0 23 22 topology 177 119
+> 15 0 23 22 topology 33 120
 > 16 0 23 22 topology 177 120
-> 15 0 24 22 topology 68 121
-> 16 0 24 22 topology 69 121
-> 15 0 23 22 topology 100 122
+> 15 0 23 22 topology 172 121
+> 16 0 23 22 topology 177 121
+> 15 0 23 22 topology 171 122
 > 16 0 23 22 topology 177 122
-> 15 0 24 22 topology 152 123
-> 16 0 24 22 topology 153 123
-> 15 0 23 22 topology 136 124
+> 15 0 23 22 topology 175 123
+> 16 0 23 22 topology 177 123
+> 15 0 23 22 topology 174 124
 > 16 0 23 22 topology 177 124
-> 15 0 24 22 topology 128 125
-> 16 0 24 22 topology 129 125
-> 15 0 24 22 topology 104 126
-> 16 0 24 22 topology 105 126
-> 15 0 23 22 topology 84 127
+> 15 0 23 22 topology 37 125
+> 16 0 23 22 topology 177 125
+> 15 0 23 22 topology 36 126
+> 16 0 23 22 topology 177 126
+> 15 0 23 22 topology 40 127
 > 16 0 23 22 topology 177 127
-> 15 0 24 22 topology 53 128
-> 16 0 24 22 topology 55 128
-> 15 0 23 22 topology 144 129
+> 15 0 23 22 topology 39 128
+> 16 0 23 22 topology 177 128
+> 15 0 23 22 topology 43 129
 > 16 0 23 22 topology 177 129
-> 15 0 24 22 topology 164 130
-> 16 0 24 22 topology 165 130
-> 15 0 23 22 topology 66 131
+> 15 0 23 22 topology 42 130
+> 16 0 23 22 topology 177 130
+> 15 0 23 22 topology 46 131
 > 16 0 23 22 topology 177 131
-> 15 0 24 22 topology 110 132
-> 16 0 24 22 topology 112 132
-> 15 0 23 22 topology 126 133
+> 15 0 23 22 topology 45 132
+> 16 0 23 22 topology 177 132
+> 15 0 23 22 topology 49 133
 > 16 0 23 22 topology 177 133
-> 15 0 24 22 topology 59 134
-> 16 0 24 22 topology 61 134
-> 15 0 23 22 topology 37 135
-> 16 0 23 22 topology 177 135
-> 15 0 24 22 topology 116 136
-> 16 0 24 22 topology 118 136
-> 15 0 23 22 topology 108 137
-> 16 0 23 22 topology 177 137
-> 15 0 24 22 topology 65 138
-> 16 0 24 22 topology 67 138
-> 15 0 24 22 topology 173 139
-> 16 0 24 22 topology 175 139
-> 15 0 23 22 topology 168 140
-> 16 0 23 22 topology 177 140
-> 15 0 24 22 topology 122 141
-> 16 0 24 22 topology 124 141
-> 15 0 24 22 topology 71 142
-> 16 0 24 22 topology 73 142
-> 15 0 24 22 topology 44 143
-> 16 0 24 22 topology 46 143
-> 15 0 24 22 topology 128 144
-> 16 0 24 22 topology 130 144
-> 15 0 24 22 topology 77 145
-> 16 0 24 22 topology 79 145
-> 15 0 23 22 topology 55 146
-> 16 0 23 22 topology 177 146
-> 15 0 24 22 topology 32 147
-> 16 0 24 22 topology 33 147
-> 15 0 24 22 topology 134 148
-> 16 0 24 22 topology 136 148
-> 15 0 23 22 topology 39 149
-> 16 0 23 22 topology 177 149
-> 15 0 23 22 topology 91 150
-> 16 0 23 22 topology 177 150
-> 15 0 25 22 topology 176 151
-> 16 0 25 22 topology 177 151
-> 15 0 23 22 topology 175 152
-> 16 0 23 22 topology 177 152
-> 15 0 23 22 topology 127 153
-> 16 0 23 22 topology 177 153
-> 15 0 23 22 topology 79 154
-> 16 0 23 22 topology 177 154
-> 15 0 23 22 topology 163 155
-> 16 0 23 22 topology 177 155
-> 15 0 23 22 topology 51 156
-> 16 0 23 22 topology 177 156
-> 15 0 23 22 topology 111 157
-> 16 0 23 22 topology 177 157
-> 15 0 23 22 topology 28 158
-> 16 0 23 22 topology 177 158
-> 15 0 23 22 topology 171 159
-> 16 0 23 22 topology 177 159
-> 15 0 23 22 topology 93 160
-> 16 0 23 22 topology 177 160
-> 15 0 24 22 topology 29 161
-> 16 0 24 22 topology 31 161
-> 15 0 23 22 topology 153 162
-> 16 0 23 22 topology 177 162
-> 15 0 23 22 topology 75 163
-> 16 0 23 22 topology 177 163
-> 15 0 23 22 topology 135 164
-> 16 0 23 22 topology 177 164
-> 15 0 23 22 topology 24 165
-> 16 0 23 22 topology 177 165
-> 15 0 24 22 topology 83 166
-> 16 0 24 22 topology 84 166
-> 15 0 23 22 topology 82 167
-> 16 0 23 22 topology 177 167
-> 15 0 24 22 topology 59 168
-> 16 0 24 22 topology 60 168
-> 15 0 24 22 topology 143 169
-> 16 0 24 22 topology 144 169
-> 15 0 24 22 topology 35 170
-> 16 0 24 22 topology 36 170
-> 15 0 23 22 topology 118 171
-> 16 0 23 22 topology 177 171
-> 15 0 24 22 topology 119 172
-> 16 0 24 22 topology 120 172
-> 15 0 23 22 topology 48 173
-> 16 0 23 22 topology 177 173
-> 15 0 23 22 topology 70 174
-> 16 0 23 22 topology 177 174
-> 15 0 23 22 topology 154 175
-> 16 0 23 22 topology 177 175
-> 15 0 24 22 topology 95 176
-> 16 0 24 22 topology 96 176
-> 15 0 23 22 topology 106 177
-> 16 0 23 22 topology 177 177
-> 15 0 24 22 topology 71 178
-> 16 0 24 22 topology 72 178
-> 15 0 24 22 topology 155 179
-> 16 0 24 22 topology 156 179
-> 15 0 24 22 topology 131 180
-> 16 0 24 22 topology 132 180
-> 15 0 24 22 topology 107 181
-> 16 0 24 22 topology 108 181
-> 15 0 24 22 topology 80 182
-> 16 0 24 22 topology 82 182
-> 15 0 23 22 topology 60 183
-> 16 0 23 22 topology 177 183
-> 15 0 23 22 topology 120 184
-> 16 0 23 22 topology 177 184
-> 15 0 24 22 topology 167 185
-> 16 0 24 22 topology 168 185
-> 15 0 24 22 topology 86 186
-> 16 0 24 22 topology 88 186
-> 15 0 23 22 topology 102 187
-> 16 0 23 22 topology 177 187
-> 15 0 24 22 topology 143 188
-> 16 0 24 22 topology 145 188
-> 15 0 23 22 topology 43 189
-> 16 0 23 22 topology 177 189
-> 15 0 23 22 topology 162 190
-> 16 0 23 22 topology 177 190
-> 15 0 24 22 topology 92 191
-> 16 0 24 22 topology 94 191
-> 15 0 24 22 topology 38 192
-> 16 0 24 22 topology 40 192
-> 15 0 24 22 topology 149 193
-> 16 0 24 22 topology 151 193
-> 15 0 24 22 topology 98 194
-> 16 0 24 22 topology 100 194
-> 15 0 24 22 topology 155 195
-> 16 0 24 22 topology 157 195
-> 15 0 24 22 topology 104 196
-> 16 0 24 22 topology 106 196
-> 15 0 23 22 topology 33 197
-> 16 0 23 22 topology 177 197
-> 15 0 24 22 topology 161 198
-> 16 0 24 22 topology 163 198
-> 15 0 23 22 topology 61 199
-> 16 0 23 22 topology 177 199
-> 15 0 23 22 topology 145 200
-> 16 0 23 22 topology 177 200
-> 15 0 24 22 topology 38 201
-> 16 0 24 22 topology 39 201
-> 15 0 23 22 topology 97 202
-> 16 0 23 22 topology 177 202
-> 15 0 24 22 topology 167 203
-> 16 0 24 22 topology 169 203
-> 15 0 23 22 topology 133 204
-> 16 0 23 22 topology 177 204
-> 15 0 23 22 topology 169 205
-> 16 0 23 22 topology 177 205
-> 15 0 24 22 topology 23 206
-> 16 0 24 22 topology 25 206
-> 15 0 23 22 topology 87 207
-> 16 0 23 22 topology 177 207
-> 15 0 23 22 topology 147 208
-> 16 0 23 22 topology 177 208
-> 15 0 23 22 topology 69 209
-> 16 0 23 22 topology 177 209
-> 15 0 23 22 topology 34 210
-> 16 0 23 22 topology 177 210
-> 15 0 23 22 topology 129 211
-> 16 0 23 22 topology 177 211
-> 15 0 24 22 topology 50 212
-> 16 0 24 22 topology 51 212
-> 15 0 24 22 topology 47 213
-> 16 0 24 22 topology 49 213
-> 15 0 24 22 topology 110 214
-> 16 0 24 22 topology 111 214
-> 15 0 23 22 topology 52 215
-> 16 0 23 22 topology 177 215
-> 15 0 24 22 topology 86 216
-> 16 0 24 22 topology 87 216
-> 15 0 23 22 topology 88 217
-> 16 0 23 22 topology 177 217
-> 15 0 24 22 topology 62 218
-> 16 0 24 22 topology 63 218
-> 15 0 23 22 topology 42 219
-> 16 0 23 22 topology 177 219
-> 15 0 24 22 topology 170 220
-> 16 0 24 22 topology 171 220
-> 15 0 23 22 topology 172 221
-> 16 0 23 22 topology 177 221
-> 15 0 24 22 topology 146 222
-> 16 0 24 22 topology 147 222
-> 15 0 23 22 topology 124 223
-> 16 0 23 22 topology 177 223
-> 15 0 24 22 topology 122 224
-> 16 0 24 22 topology 123 224
-> 15 0 24 22 topology 41 225
-> 16 0 24 22 topology 42 225
-> 15 0 23 22 topology 76 226
-> 16 0 23 22 topology 177 226
-> 15 0 23 22 topology 160 227
-> 16 0 23 22 topology 177 227
-> 15 0 24 22 topology 98 228
-> 16 0 24 22 topology 99 228
-> 15 0 24 22 topology 74 229
-> 16 0 24 22 topology 75 229
-> 15 0 24 22 topology 158 230
-> 16 0 24 22 topology 159 230
-> 15 0 23 22 topology 54 231
-> 16 0 23 22 topology 177 231
-> 15 0 24 22 topology 50 232
-> 16 0 24 22 topology 52 232
-> 15 0 24 22 topology 134 233
-> 16 0 24 22 topology 135 233
-> 15 0 23 22 topology 114 234
-> 16 0 23 22 topology 177 234
-> 15 0 23 22 topology 25 235
-> 16 0 23 22 topology 177 235
-> 15 0 24 22 topology 56 236
-> 16 0 24 22 topology 58 236
-> 15 0 23 22 topology 174 237
-> 16 0 23 22 topology 177 237
-> 15 0 24 179 topology 285 238
-> 16 0 24 179 topology 286 238
-> 15 0 23 179 topology 383 239
+> 15 0 23 22 topology 48 134
+> 16 0 23 22 topology 177 134
+> 15 0 24 22 topology 176 135
+> 16 0 24 22 topology 177 135
+> 15 0 25 22 topology 50 136
+> 16 0 25 22 topology 52 136
+> 15 0 25 22 topology 50 137
+> 16 0 25 22 topology 51 137
+> 15 0 25 22 topology 53 138
+> 16 0 25 22 topology 55 138
+> 15 0 25 22 topology 53 139
+> 16 0 25 22 topology 54 139
+> 15 0 25 22 topology 56 140
+> 16 0 25 22 topology 58 140
+> 15 0 25 22 topology 56 141
+> 16 0 25 22 topology 57 141
+> 15 0 25 22 topology 59 142
+> 16 0 25 22 topology 61 142
+> 15 0 25 22 topology 59 143
+> 16 0 25 22 topology 60 143
+> 15 0 25 22 topology 62 144
+> 16 0 25 22 topology 64 144
+> 15 0 25 22 topology 62 145
+> 16 0 25 22 topology 63 145
+> 15 0 25 22 topology 65 146
+> 16 0 25 22 topology 67 146
+> 15 0 25 22 topology 65 147
+> 16 0 25 22 topology 66 147
+> 15 0 25 22 topology 68 148
+> 16 0 25 22 topology 70 148
+> 15 0 25 22 topology 68 149
+> 16 0 25 22 topology 69 149
+> 15 0 25 22 topology 71 150
+> 16 0 25 22 topology 73 150
+> 15 0 25 22 topology 71 151
+> 16 0 25 22 topology 72 151
+> 15 0 25 22 topology 74 152
+> 16 0 25 22 topology 76 152
+> 15 0 25 22 topology 74 153
+> 16 0 25 22 topology 75 153
+> 15 0 25 22 topology 77 154
+> 16 0 25 22 topology 79 154
+> 15 0 25 22 topology 77 155
+> 16 0 25 22 topology 78 155
+> 15 0 25 22 topology 23 156
+> 16 0 25 22 topology 25 156
+> 15 0 25 22 topology 23 157
+> 16 0 25 22 topology 24 157
+> 15 0 25 22 topology 80 158
+> 16 0 25 22 topology 82 158
+> 15 0 25 22 topology 80 159
+> 16 0 25 22 topology 81 159
+> 15 0 25 22 topology 83 160
+> 16 0 25 22 topology 85 160
+> 15 0 25 22 topology 83 161
+> 16 0 25 22 topology 84 161
+> 15 0 25 22 topology 86 162
+> 16 0 25 22 topology 88 162
+> 15 0 25 22 topology 86 163
+> 16 0 25 22 topology 87 163
+> 15 0 25 22 topology 89 164
+> 16 0 25 22 topology 91 164
+> 15 0 25 22 topology 89 165
+> 16 0 25 22 topology 90 165
+> 15 0 25 22 topology 92 166
+> 16 0 25 22 topology 94 166
+> 15 0 25 22 topology 92 167
+> 16 0 25 22 topology 93 167
+> 15 0 25 22 topology 95 168
+> 16 0 25 22 topology 97 168
+> 15 0 25 22 topology 95 169
+> 16 0 25 22 topology 96 169
+> 15 0 25 22 topology 98 170
+> 16 0 25 22 topology 100 170
+> 15 0 25 22 topology 98 171
+> 16 0 25 22 topology 99 171
+> 15 0 25 22 topology 101 172
+> 16 0 25 22 topology 103 172
+> 15 0 25 22 topology 101 173
+> 16 0 25 22 topology 102 173
+> 15 0 25 22 topology 104 174
+> 16 0 25 22 topology 106 174
+> 15 0 25 22 topology 104 175
+> 16 0 25 22 topology 105 175
+> 15 0 25 22 topology 107 176
+> 16 0 25 22 topology 109 176
+> 15 0 25 22 topology 107 177
+> 16 0 25 22 topology 108 177
+> 15 0 25 22 topology 26 178
+> 16 0 25 22 topology 28 178
+> 15 0 25 22 topology 26 179
+> 16 0 25 22 topology 27 179
+> 15 0 25 22 topology 110 180
+> 16 0 25 22 topology 112 180
+> 15 0 25 22 topology 110 181
+> 16 0 25 22 topology 111 181
+> 15 0 25 22 topology 113 182
+> 16 0 25 22 topology 115 182
+> 15 0 25 22 topology 113 183
+> 16 0 25 22 topology 114 183
+> 15 0 25 22 topology 116 184
+> 16 0 25 22 topology 118 184
+> 15 0 25 22 topology 116 185
+> 16 0 25 22 topology 117 185
+> 15 0 25 22 topology 119 186
+> 16 0 25 22 topology 121 186
+> 15 0 25 22 topology 119 187
+> 16 0 25 22 topology 120 187
+> 15 0 25 22 topology 122 188
+> 16 0 25 22 topology 124 188
+> 15 0 25 22 topology 122 189
+> 16 0 25 22 topology 123 189
+> 15 0 25 22 topology 125 190
+> 16 0 25 22 topology 127 190
+> 15 0 25 22 topology 125 191
+> 16 0 25 22 topology 126 191
+> 15 0 25 22 topology 128 192
+> 16 0 25 22 topology 130 192
+> 15 0 25 22 topology 128 193
+> 16 0 25 22 topology 129 193
+> 15 0 25 22 topology 131 194
+> 16 0 25 22 topology 133 194
+> 15 0 25 22 topology 131 195
+> 16 0 25 22 topology 132 195
+> 15 0 25 22 topology 134 196
+> 16 0 25 22 topology 136 196
+> 15 0 25 22 topology 134 197
+> 16 0 25 22 topology 135 197
+> 15 0 25 22 topology 137 198
+> 16 0 25 22 topology 139 198
+> 15 0 25 22 topology 137 199
+> 16 0 25 22 topology 138 199
+> 15 0 25 22 topology 29 200
+> 16 0 25 22 topology 31 200
+> 15 0 25 22 topology 29 201
+> 16 0 25 22 topology 30 201
+> 15 0 25 22 topology 140 202
+> 16 0 25 22 topology 142 202
+> 15 0 25 22 topology 140 203
+> 16 0 25 22 topology 141 203
+> 15 0 25 22 topology 143 204
+> 16 0 25 22 topology 145 204
+> 15 0 25 22 topology 143 205
+> 16 0 25 22 topology 144 205
+> 15 0 25 22 topology 146 206
+> 16 0 25 22 topology 148 206
+> 15 0 25 22 topology 146 207
+> 16 0 25 22 topology 147 207
+> 15 0 25 22 topology 149 208
+> 16 0 25 22 topology 151 208
+> 15 0 25 22 topology 149 209
+> 16 0 25 22 topology 150 209
+> 15 0 25 22 topology 152 210
+> 16 0 25 22 topology 154 210
+> 15 0 25 22 topology 152 211
+> 16 0 25 22 topology 153 211
+> 15 0 25 22 topology 155 212
+> 16 0 25 22 topology 157 212
+> 15 0 25 22 topology 155 213
+> 16 0 25 22 topology 156 213
+> 15 0 25 22 topology 158 214
+> 16 0 25 22 topology 160 214
+> 15 0 25 22 topology 158 215
+> 16 0 25 22 topology 159 215
+> 15 0 25 22 topology 161 216
+> 16 0 25 22 topology 163 216
+> 15 0 25 22 topology 161 217
+> 16 0 25 22 topology 162 217
+> 15 0 25 22 topology 164 218
+> 16 0 25 22 topology 166 218
+> 15 0 25 22 topology 164 219
+> 16 0 25 22 topology 165 219
+> 15 0 25 22 topology 167 220
+> 16 0 25 22 topology 169 220
+> 15 0 25 22 topology 167 221
+> 16 0 25 22 topology 168 221
+> 15 0 25 22 topology 32 222
+> 16 0 25 22 topology 34 222
+> 15 0 25 22 topology 32 223
+> 16 0 25 22 topology 33 223
+> 15 0 25 22 topology 170 224
+> 16 0 25 22 topology 172 224
+> 15 0 25 22 topology 170 225
+> 16 0 25 22 topology 171 225
+> 15 0 25 22 topology 173 226
+> 16 0 25 22 topology 175 226
+> 15 0 25 22 topology 173 227
+> 16 0 25 22 topology 174 227
+> 15 0 25 22 topology 35 228
+> 16 0 25 22 topology 37 228
+> 15 0 25 22 topology 35 229
+> 16 0 25 22 topology 36 229
+> 15 0 25 22 topology 38 230
+> 16 0 25 22 topology 40 230
+> 15 0 25 22 topology 38 231
+> 16 0 25 22 topology 39 231
+> 15 0 25 22 topology 41 232
+> 16 0 25 22 topology 43 232
+> 15 0 25 22 topology 41 233
+> 16 0 25 22 topology 42 233
+> 15 0 25 22 topology 44 234
+> 16 0 25 22 topology 46 234
+> 15 0 25 22 topology 44 235
+> 16 0 25 22 topology 45 235
+> 15 0 25 22 topology 47 236
+> 16 0 25 22 topology 49 236
+> 15 0 25 22 topology 47 237
+> 16 0 25 22 topology 48 237
+> 15 0 23 179 topology 209 238
+> 16 0 23 179 topology 460 238
+> 15 0 23 179 topology 208 239
 > 16 0 23 179 topology 460 239
-> 15 0 24 179 topology 444 240
-> 16 0 24 179 topology 446 240
-> 15 0 24 179 topology 264 241
-> 16 0 24 179 topology 265 241
-> 15 0 23 179 topology 277 242
+> 15 0 23 179 topology 212 240
+> 16 0 23 179 topology 460 240
+> 15 0 23 179 topology 211 241
+> 16 0 23 179 topology 460 241
+> 15 0 23 179 topology 215 242
 > 16 0 23 179 topology 460 242
-> 15 0 23 179 topology 397 243
+> 15 0 23 179 topology 214 243
 > 16 0 23 179 topology 460 243
-> 15 0 23 179 topology 319 244
+> 15 0 23 179 topology 218 244
 > 16 0 23 179 topology 460 244
-> 15 0 24 179 topology 438 245
-> 16 0 24 179 topology 439 245
-> 15 0 24 179 topology 330 246
-> 16 0 24 179 topology 332 246
-> 15 0 24 179 topology 198 247
-> 16 0 24 179 topology 200 247
-> 15 0 23 179 topology 439 248
+> 15 0 23 179 topology 217 245
+> 16 0 23 179 topology 460 245
+> 15 0 23 179 topology 221 246
+> 16 0 23 179 topology 460 246
+> 15 0 23 179 topology 220 247
+> 16 0 23 179 topology 460 247
+> 15 0 23 179 topology 224 248
 > 16 0 23 179 topology 460 248
-> 15 0 24 179 topology 255 249
-> 16 0 24 179 topology 257 249
-> 15 0 24 179 topology 396 250
-> 16 0 24 179 topology 398 250
-> 15 0 24 179 topology 243 251
-> 16 0 24 179 topology 244 251
-> 15 0 23 179 topology 302 252
+> 15 0 23 179 topology 223 249
+> 16 0 23 179 topology 460 249
+> 15 0 23 179 topology 227 250
+> 16 0 23 179 topology 460 250
+> 15 0 23 179 topology 226 251
+> 16 0 23 179 topology 460 251
+> 15 0 23 179 topology 230 252
 > 16 0 23 179 topology 460 252
-> 15 0 24 179 topology 321 253
-> 16 0 24 179 topology 323 253
-> 15 0 24 179 topology 222 254
-> 16 0 24 179 topology 223 254
-> 15 0 23 179 topology 338 255
+> 15 0 23 179 topology 229 253
+> 16 0 23 179 topology 460 253
+> 15 0 23 179 topology 233 254
+> 16 0 23 179 topology 460 254
+> 15 0 23 179 topology 232 255
 > 16 0 23 179 topology 460 255
-> 15 0 24 179 topology 417 256
-> 16 0 24 179 topology 418 256
-> 15 0 23 179 topology 374 257
+> 15 0 23 179 topology 236 256
+> 16 0 23 179 topology 460 256
+> 15 0 23 179 topology 235 257
 > 16 0 23 179 topology 460 257
-> 15 0 24 179 topology 396 258
-> 16 0 24 179 topology 397 258
-> 15 0 23 179 topology 410 259
+> 15 0 23 179 topology 182 258
+> 16 0 23 179 topology 460 258
+> 15 0 23 179 topology 181 259
 > 16 0 23 179 topology 460 259
-> 15 0 24 179 topology 207 260
-> 16 0 24 179 topology 209 260
-> 15 0 23 179 topology 446 261
+> 15 0 23 179 topology 239 260
+> 16 0 23 179 topology 460 260
+> 15 0 23 179 topology 238 261
 > 16 0 23 179 topology 460 261
-> 15 0 24 179 topology 375 262
-> 16 0 24 179 topology 376 262
-> 15 0 23 179 topology 304 263
+> 15 0 23 179 topology 242 262
+> 16 0 23 179 topology 460 262
+> 15 0 23 179 topology 241 263
 > 16 0 23 179 topology 460 263
-> 15 0 23 179 topology 226 264
+> 15 0 23 179 topology 245 264
 > 16 0 23 179 topology 460 264
-> 15 0 24 179 topology 354 265
-> 16 0 24 179 topology 355 265
-> 15 0 24 179 topology 273 266
-> 16 0 24 179 topology 275 266
-> 15 0 23 179 topology 424 267
+> 15 0 23 179 topology 244 265
+> 16 0 23 179 topology 460 265
+> 15 0 23 179 topology 248 266
+> 16 0 23 179 topology 460 266
+> 15 0 23 179 topology 247 267
 > 16 0 23 179 topology 460 267
-> 15 0 23 179 topology 346 268
+> 15 0 23 179 topology 251 268
 > 16 0 23 179 topology 460 268
-> 15 0 24 179 topology 183 269
-> 16 0 24 179 topology 184 269
-> 15 0 24 179 topology 339 270
-> 16 0 24 179 topology 341 270
-> 15 0 24 179 topology 189 271
-> 16 0 24 179 topology 190 271
-> 15 0 24 179 topology 264 272
-> 16 0 24 179 topology 266 272
-> 15 0 23 179 topology 199 273
+> 15 0 23 179 topology 250 269
+> 16 0 23 179 topology 460 269
+> 15 0 23 179 topology 254 270
+> 16 0 23 179 topology 460 270
+> 15 0 23 179 topology 253 271
+> 16 0 23 179 topology 460 271
+> 15 0 23 179 topology 257 272
+> 16 0 23 179 topology 460 272
+> 15 0 23 179 topology 256 273
 > 16 0 23 179 topology 460 273
-> 15 0 23 179 topology 329 274
+> 15 0 23 179 topology 260 274
 > 16 0 23 179 topology 460 274
-> 15 0 24 179 topology 195 275
-> 16 0 24 179 topology 196 275
-> 15 0 24 179 topology 405 276
-> 16 0 24 179 topology 407 276
-> 15 0 24 179 topology 333 277
-> 16 0 24 179 topology 334 277
-> 15 0 23 179 topology 365 278
+> 15 0 23 179 topology 259 275
+> 16 0 23 179 topology 460 275
+> 15 0 23 179 topology 263 276
+> 16 0 23 179 topology 460 276
+> 15 0 23 179 topology 262 277
+> 16 0 23 179 topology 460 277
+> 15 0 23 179 topology 266 278
 > 16 0 23 179 topology 460 278
-> 15 0 23 179 topology 233 279
+> 15 0 23 179 topology 265 279
 > 16 0 23 179 topology 460 279
-> 15 0 24 179 topology 201 280
-> 16 0 24 179 topology 202 280
-> 15 0 23 179 topology 401 281
+> 15 0 23 179 topology 185 280
+> 16 0 23 179 topology 460 280
+> 15 0 23 179 topology 184 281
 > 16 0 23 179 topology 460 281
-> 15 0 24 179 topology 312 282
-> 16 0 24 179 topology 313 282
-> 15 0 23 179 topology 437 283
+> 15 0 23 179 topology 269 282
+> 16 0 23 179 topology 460 282
+> 15 0 23 179 topology 268 283
 > 16 0 23 179 topology 460 283
-> 15 0 23 179 topology 211 284
+> 15 0 23 179 topology 272 284
 > 16 0 23 179 topology 460 284
-> 15 0 24 179 topology 291 285
-> 16 0 24 179 topology 292 285
-> 15 0 23 179 topology 331 286
+> 15 0 23 179 topology 271 285
+> 16 0 23 179 topology 460 285
+> 15 0 23 179 topology 275 286
 > 16 0 23 179 topology 460 286
-> 15 0 23 179 topology 253 287
+> 15 0 23 179 topology 274 287
 > 16 0 23 179 topology 460 287
-> 15 0 24 179 topology 189 288
-> 16 0 24 179 topology 191 288
-> 15 0 24 179 topology 216 289
-> 16 0 24 179 topology 218 289
-> 15 0 23 179 topology 451 290
+> 15 0 23 179 topology 278 288
+> 16 0 23 179 topology 460 288
+> 15 0 23 179 topology 277 289
+> 16 0 23 179 topology 460 289
+> 15 0 23 179 topology 281 290
 > 16 0 23 179 topology 460 290
-> 15 0 23 179 topology 373 291
+> 15 0 23 179 topology 280 291
 > 16 0 23 179 topology 460 291
-> 15 0 23 179 topology 206 292
+> 15 0 23 179 topology 284 292
 > 16 0 23 179 topology 460 292
-> 15 0 23 179 topology 295 293
+> 15 0 23 179 topology 283 293
 > 16 0 23 179 topology 460 293
-> 15 0 24 179 topology 357 294
-> 16 0 24 179 topology 359 294
-> 15 0 24 179 topology 444 295
-> 16 0 24 179 topology 445 295
-> 15 0 24 179 topology 282 296
-> 16 0 24 179 topology 284 296
-> 15 0 23 179 topology 415 297
+> 15 0 23 179 topology 287 294
+> 16 0 23 179 topology 460 294
+> 15 0 23 179 topology 286 295
+> 16 0 23 179 topology 460 295
+> 15 0 23 179 topology 290 296
+> 16 0 23 179 topology 460 296
+> 15 0 23 179 topology 289 297
 > 16 0 23 179 topology 460 297
-> 15 0 23 179 topology 184 298
+> 15 0 23 179 topology 293 298
 > 16 0 23 179 topology 460 298
-> 15 0 24 179 topology 423 299
-> 16 0 24 179 topology 425 299
-> 15 0 24 179 topology 270 300
-> 16 0 24 179 topology 271 300
-> 15 0 24 179 topology 348 301
-> 16 0 24 179 topology 350 301
-> 15 0 23 179 topology 224 302
+> 15 0 23 179 topology 292 299
+> 16 0 23 179 topology 460 299
+> 15 0 23 179 topology 296 300
+> 16 0 23 179 topology 460 300
+> 15 0 23 179 topology 295 301
+> 16 0 23 179 topology 460 301
+> 15 0 23 179 topology 188 302
 > 16 0 23 179 topology 460 302
-> 15 0 24 179 topology 249 303
-> 16 0 24 179 topology 250 303
-> 15 0 23 179 topology 392 304
+> 15 0 23 179 topology 187 303
+> 16 0 23 179 topology 460 303
+> 15 0 23 179 topology 299 304
 > 16 0 23 179 topology 460 304
-> 15 0 23 179 topology 260 305
+> 15 0 23 179 topology 298 305
 > 16 0 23 179 topology 460 305
-> 15 0 24 179 topology 228 306
-> 16 0 24 179 topology 229 306
-> 15 0 23 179 topology 428 307
+> 15 0 23 179 topology 302 306
+> 16 0 23 179 topology 460 306
+> 15 0 23 179 topology 301 307
 > 16 0 23 179 topology 460 307
-> 15 0 23 179 topology 296 308
+> 15 0 23 179 topology 305 308
 > 16 0 23 179 topology 460 308
-> 15 0 24 179 topology 414 309
-> 16 0 24 179 topology 416 309
-> 15 0 24 179 topology 423 310
-> 16 0 24 179 topology 424 310
-> 15 0 23 179 topology 238 311
+> 15 0 23 179 topology 304 309
+> 16 0 23 179 topology 460 309
+> 15 0 23 179 topology 308 310
+> 16 0 23 179 topology 460 310
+> 15 0 23 179 topology 307 311
 > 16 0 23 179 topology 460 311
-> 15 0 24 179 topology 402 312
-> 16 0 24 179 topology 403 312
-> 15 0 23 179 topology 358 313
+> 15 0 23 179 topology 311 312
+> 16 0 23 179 topology 460 312
+> 15 0 23 179 topology 310 313
 > 16 0 23 179 topology 460 313
-> 15 0 23 179 topology 280 314
+> 15 0 23 179 topology 314 314
 > 16 0 23 179 topology 460 314
-> 15 0 23 179 topology 197 315
+> 15 0 23 179 topology 313 315
 > 16 0 23 179 topology 460 315
-> 15 0 24 179 topology 381 316
-> 16 0 24 179 topology 382 316
-> 15 0 24 179 topology 300 317
-> 16 0 24 179 topology 302 317
-> 15 0 23 179 topology 400 318
+> 15 0 23 179 topology 317 316
+> 16 0 23 179 topology 460 316
+> 15 0 23 179 topology 316 317
+> 16 0 23 179 topology 460 317
+> 15 0 23 179 topology 320 318
 > 16 0 23 179 topology 460 318
-> 15 0 23 179 topology 322 319
+> 15 0 23 179 topology 319 319
 > 16 0 23 179 topology 460 319
-> 15 0 24 179 topology 225 320
-> 16 0 24 179 topology 227 320
-> 15 0 24 179 topology 207 321
-> 16 0 24 179 topology 208 321
-> 15 0 23 179 topology 442 322
+> 15 0 23 179 topology 323 320
+> 16 0 23 179 topology 460 320
+> 15 0 23 179 topology 322 321
+> 16 0 23 179 topology 460 321
+> 15 0 23 179 topology 326 322
 > 16 0 23 179 topology 460 322
-> 15 0 24 179 topology 366 323
-> 16 0 24 179 topology 368 323
-> 15 0 23 179 topology 215 324
+> 15 0 23 179 topology 325 323
+> 16 0 23 179 topology 460 323
+> 15 0 23 179 topology 191 324
 > 16 0 23 179 topology 460 324
-> 15 0 24 179 topology 291 325
-> 16 0 24 179 topology 293 325
-> 15 0 23 179 topology 251 326
+> 15 0 23 179 topology 190 325
+> 16 0 23 179 topology 460 325
+> 15 0 23 179 topology 329 326
 > 16 0 23 179 topology 460 326
-> 15 0 24 179 topology 432 327
-> 16 0 24 179 topology 434 327
-> 15 0 24 179 topology 360 328
-> 16 0 24 179 topology 361 328
-> 15 0 23 179 topology 419 329
+> 15 0 23 179 topology 328 327
+> 16 0 23 179 topology 460 327
+> 15 0 23 179 topology 332 328
+> 16 0 23 179 topology 460 328
+> 15 0 23 179 topology 331 329
 > 16 0 23 179 topology 460 329
-> 15 0 23 179 topology 287 330
+> 15 0 23 179 topology 335 330
 > 16 0 23 179 topology 460 330
-> 15 0 23 179 topology 455 331
+> 15 0 23 179 topology 334 331
 > 16 0 23 179 topology 460 331
-> 15 0 23 179 topology 323 332
+> 15 0 23 179 topology 338 332
 > 16 0 23 179 topology 460 332
-> 15 0 24 179 topology 339 333
-> 16 0 24 179 topology 340 333
-> 15 0 24 179 topology 180 334
-> 16 0 24 179 topology 182 334
-> 15 0 24 179 topology 318 335
-> 16 0 24 179 topology 319 335
-> 15 0 23 179 topology 188 336
+> 15 0 23 179 topology 337 333
+> 16 0 23 179 topology 460 333
+> 15 0 23 179 topology 341 334
+> 16 0 23 179 topology 460 334
+> 15 0 23 179 topology 340 335
+> 16 0 23 179 topology 460 335
+> 15 0 23 179 topology 344 336
 > 16 0 23 179 topology 460 336
-> 15 0 23 179 topology 307 337
+> 15 0 23 179 topology 343 337
 > 16 0 23 179 topology 460 337
-> 15 0 24 179 topology 243 338
-> 16 0 24 179 topology 245 338
-> 15 0 23 179 topology 229 339
+> 15 0 23 179 topology 347 338
+> 16 0 23 179 topology 460 338
+> 15 0 23 179 topology 346 339
 > 16 0 23 179 topology 460 339
-> 15 0 23 179 topology 427 340
+> 15 0 23 179 topology 350 340
 > 16 0 23 179 topology 460 340
 > 15 0 23 179 topology 349 341
 > 16 0 23 179 topology 460 341
-> 15 0 24 179 topology 309 342
-> 16 0 24 179 topology 311 342
-> 15 0 24 179 topology 204 343
-> 16 0 24 179 topology 206 343
-> 15 0 24 179 topology 234 344
-> 16 0 24 179 topology 236 344
-> 15 0 24 179 topology 450 345
-> 16 0 24 179 topology 452 345
-> 15 0 24 179 topology 297 346
-> 16 0 24 179 topology 298 346
-> 15 0 23 179 topology 242 347
+> 15 0 23 179 topology 353 342
+> 16 0 23 179 topology 460 342
+> 15 0 23 179 topology 352 343
+> 16 0 23 179 topology 460 343
+> 15 0 23 179 topology 356 344
+> 16 0 23 179 topology 460 344
+> 15 0 23 179 topology 355 345
+> 16 0 23 179 topology 460 345
+> 15 0 23 179 topology 194 346
+> 16 0 23 179 topology 460 346
+> 15 0 23 179 topology 193 347
 > 16 0 23 179 topology 460 347
-> 15 0 23 179 topology 202 348
+> 15 0 23 179 topology 359 348
 > 16 0 23 179 topology 460 348
-> 15 0 24 179 topology 375 349
-> 16 0 24 179 topology 377 349
-> 15 0 23 179 topology 278 350
+> 15 0 23 179 topology 358 349
+> 16 0 23 179 topology 460 349
+> 15 0 23 179 topology 362 350
 > 16 0 23 179 topology 460 350
-> 15 0 24 179 topology 276 351
-> 16 0 24 179 topology 277 351
-> 15 0 23 179 topology 314 352
+> 15 0 23 179 topology 361 351
+> 16 0 23 179 topology 460 351
+> 15 0 23 179 topology 365 352
 > 16 0 23 179 topology 460 352
-> 15 0 24 179 topology 255 353
-> 16 0 24 179 topology 256 353
-> 15 0 25 179 topology 459 354
-> 16 0 25 179 topology 460 354
-> 15 0 23 179 topology 350 355
+> 15 0 23 179 topology 364 353
+> 16 0 23 179 topology 460 353
+> 15 0 23 179 topology 368 354
+> 16 0 23 179 topology 460 354
+> 15 0 23 179 topology 367 355
 > 16 0 23 179 topology 460 355
-> 15 0 24 179 topology 441 356
-> 16 0 24 179 topology 443 356
-> 15 0 24 179 topology 234 357
-> 16 0 24 179 topology 235 357
-> 15 0 24 179 topology 450 358
-> 16 0 24 179 topology 451 358
-> 15 0 23 179 topology 386 359
+> 15 0 23 179 topology 371 356
+> 16 0 23 179 topology 460 356
+> 15 0 23 179 topology 370 357
+> 16 0 23 179 topology 460 357
+> 15 0 23 179 topology 374 358
+> 16 0 23 179 topology 460 358
+> 15 0 23 179 topology 373 359
 > 16 0 23 179 topology 460 359
-> 15 0 23 179 topology 214 360
+> 15 0 23 179 topology 377 360
 > 16 0 23 179 topology 460 360
-> 15 0 24 179 topology 429 361
-> 16 0 24 179 topology 430 361
-> 15 0 23 179 topology 334 362
+> 15 0 23 179 topology 376 361
+> 16 0 23 179 topology 460 361
+> 15 0 23 179 topology 380 362
 > 16 0 23 179 topology 460 362
-> 15 0 23 179 topology 256 363
+> 15 0 23 179 topology 379 363
 > 16 0 23 179 topology 460 363
-> 15 0 24 179 topology 408 364
-> 16 0 24 179 topology 409 364
-> 15 0 24 179 topology 327 365
-> 16 0 24 179 topology 329 365
-> 15 0 23 179 topology 454 366
+> 15 0 23 179 topology 383 364
+> 16 0 23 179 topology 460 364
+> 15 0 23 179 topology 382 365
+> 16 0 23 179 topology 460 365
+> 15 0 23 179 topology 386 366
 > 16 0 23 179 topology 460 366
-> 15 0 23 179 topology 376 367
+> 15 0 23 179 topology 385 367
 > 16 0 23 179 topology 460 367
-> 15 0 24 179 topology 252 368
-> 16 0 24 179 topology 254 368
-> 15 0 24 179 topology 393 369
-> 16 0 24 179 topology 395 369
-> 15 0 24 179 topology 213 370
-> 16 0 24 179 topology 214 370
-> 15 0 23 179 topology 187 371
+> 15 0 23 179 topology 197 368
+> 16 0 23 179 topology 460 368
+> 15 0 23 179 topology 196 369
+> 16 0 23 179 topology 460 369
+> 15 0 23 179 topology 389 370
+> 16 0 23 179 topology 460 370
+> 15 0 23 179 topology 388 371
 > 16 0 23 179 topology 460 371
-> 15 0 23 179 topology 269 372
+> 15 0 23 179 topology 392 372
 > 16 0 23 179 topology 460 372
-> 15 0 24 179 topology 318 373
-> 16 0 24 179 topology 320 373
-> 15 0 23 179 topology 305 374
+> 15 0 23 179 topology 391 373
+> 16 0 23 179 topology 460 373
+> 15 0 23 179 topology 395 374
 > 16 0 23 179 topology 460 374
-> 15 0 24 179 topology 387 375
-> 16 0 24 179 topology 388 375
-> 15 0 23 179 topology 341 376
+> 15 0 23 179 topology 394 375
+> 16 0 23 179 topology 460 375
+> 15 0 23 179 topology 398 376
 > 16 0 23 179 topology 460 376
-> 15 0 24 179 topology 384 377
-> 16 0 24 179 topology 386 377
-> 15 0 24 179 topology 366 378
-> 16 0 24 179 topology 367 378
-> 15 0 23 179 topology 377 379
+> 15 0 23 179 topology 397 377
+> 16 0 23 179 topology 460 377
+> 15 0 23 179 topology 401 378
+> 16 0 23 179 topology 460 378
+> 15 0 23 179 topology 400 379
 > 16 0 23 179 topology 460 379
-> 15 0 23 179 topology 413 380
+> 15 0 23 179 topology 404 380
 > 16 0 23 179 topology 460 380
-> 15 0 23 179 topology 241 381
+> 15 0 23 179 topology 403 381
 > 16 0 23 179 topology 460 381
-> 15 0 24 179 topology 345 382
-> 16 0 24 179 topology 346 382
-> 15 0 24 179 topology 324 383
-> 16 0 24 179 topology 325 383
-> 15 0 23 179 topology 361 384
+> 15 0 23 179 topology 407 382
+> 16 0 23 179 topology 460 382
+> 15 0 23 179 topology 406 383
+> 16 0 23 179 topology 460 383
+> 15 0 23 179 topology 410 384
 > 16 0 23 179 topology 460 384
-> 15 0 23 179 topology 283 385
+> 15 0 23 179 topology 409 385
 > 16 0 23 179 topology 460 385
-> 15 0 24 179 topology 270 386
-> 16 0 24 179 topology 272 386
-> 15 0 24 179 topology 195 387
-> 16 0 24 179 topology 197 387
-> 15 0 23 179 topology 403 388
+> 15 0 23 179 topology 413 386
+> 16 0 23 179 topology 460 386
+> 15 0 23 179 topology 412 387
+> 16 0 23 179 topology 460 387
+> 15 0 23 179 topology 416 388
 > 16 0 23 179 topology 460 388
-> 15 0 23 179 topology 325 389
+> 15 0 23 179 topology 415 389
 > 16 0 23 179 topology 460 389
-> 15 0 24 179 topology 336 390
-> 16 0 24 179 topology 338 390
-> 15 0 23 179 topology 445 391
+> 15 0 23 179 topology 200 390
+> 16 0 23 179 topology 460 390
+> 15 0 23 179 topology 199 391
 > 16 0 23 179 topology 460 391
-> 15 0 24 179 topology 261 392
-> 16 0 24 179 topology 263 392
-> 15 0 24 179 topology 402 393
-> 16 0 24 179 topology 404 393
-> 15 0 24 179 topology 303 394
-> 16 0 24 179 topology 304 394
-> 15 0 23 179 topology 332 395
+> 15 0 23 179 topology 419 392
+> 16 0 23 179 topology 460 392
+> 15 0 23 179 topology 418 393
+> 16 0 23 179 topology 460 393
+> 15 0 23 179 topology 422 394
+> 16 0 23 179 topology 460 394
+> 15 0 23 179 topology 421 395
 > 16 0 23 179 topology 460 395
-> 15 0 23 179 topology 368 396
+> 15 0 23 179 topology 425 396
 > 16 0 23 179 topology 460 396
-> 15 0 24 179 topology 282 397
-> 16 0 24 179 topology 283 397
-> 15 0 23 179 topology 236 398
+> 15 0 23 179 topology 424 397
+> 16 0 23 179 topology 460 397
+> 15 0 23 179 topology 428 398
 > 16 0 23 179 topology 460 398
-> 15 0 23 179 topology 404 399
+> 15 0 23 179 topology 427 399
 > 16 0 23 179 topology 460 399
-> 15 0 24 179 topology 261 400
-> 16 0 24 179 topology 262 400
-> 15 0 23 179 topology 440 401
+> 15 0 23 179 topology 431 400
+> 16 0 23 179 topology 460 400
+> 15 0 23 179 topology 430 401
 > 16 0 23 179 topology 460 401
-> 15 0 23 179 topology 268 402
+> 15 0 23 179 topology 434 402
 > 16 0 23 179 topology 460 402
-> 15 0 24 179 topology 456 403
-> 16 0 24 179 topology 457 403
-> 15 0 24 179 topology 213 404
-> 16 0 24 179 topology 215 404
-> 15 0 23 179 topology 388 405
+> 15 0 23 179 topology 433 403
+> 16 0 23 179 topology 460 403
+> 15 0 23 179 topology 437 404
+> 16 0 23 179 topology 460 404
+> 15 0 23 179 topology 436 405
 > 16 0 23 179 topology 460 405
-> 15 0 23 179 topology 310 406
+> 15 0 23 179 topology 440 406
 > 16 0 23 179 topology 460 406
-> 15 0 23 179 topology 232 407
+> 15 0 23 179 topology 439 407
 > 16 0 23 179 topology 460 407
-> 15 0 24 179 topology 435 408
-> 16 0 24 179 topology 436 408
-> 15 0 23 179 topology 430 409
+> 15 0 23 179 topology 443 408
+> 16 0 23 179 topology 460 408
+> 15 0 23 179 topology 442 409
 > 16 0 23 179 topology 460 409
-> 15 0 23 179 topology 352 410
+> 15 0 23 179 topology 446 410
 > 16 0 23 179 topology 460 410
-> 15 0 24 179 topology 414 411
-> 16 0 24 179 topology 415 411
-> 15 0 24 179 topology 279 412
-> 16 0 24 179 topology 281 412
-> 15 0 24 179 topology 420 413
-> 16 0 24 179 topology 422 413
-> 15 0 24 179 topology 240 414
-> 16 0 24 179 topology 241 414
-> 15 0 24 179 topology 345 415
-> 16 0 24 179 topology 347 415
-> 15 0 24 179 topology 219 416
-> 16 0 24 179 topology 220 416
-> 15 0 23 179 topology 205 417
+> 15 0 23 179 topology 445 411
+> 16 0 23 179 topology 460 411
+> 15 0 23 179 topology 203 412
+> 16 0 23 179 topology 460 412
+> 15 0 23 179 topology 202 413
+> 16 0 23 179 topology 460 413
+> 15 0 23 179 topology 449 414
+> 16 0 23 179 topology 460 414
+> 15 0 23 179 topology 448 415
+> 16 0 23 179 topology 460 415
+> 15 0 23 179 topology 452 416
+> 16 0 23 179 topology 460 416
+> 15 0 23 179 topology 451 417
 > 16 0 23 179 topology 460 417
-> 15 0 23 179 topology 359 418
+> 15 0 23 179 topology 455 418
 > 16 0 23 179 topology 460 418
-> 15 0 23 179 topology 227 419
+> 15 0 23 179 topology 454 419
 > 16 0 23 179 topology 460 419
-> 15 0 23 179 topology 395 420
+> 15 0 23 179 topology 458 420
 > 16 0 23 179 topology 460 420
-> 15 0 23 179 topology 263 421
+> 15 0 23 179 topology 457 421
 > 16 0 23 179 topology 460 421
-> 15 0 24 179 topology 411 422
-> 16 0 24 179 topology 413 422
-> 15 0 23 179 topology 431 423
+> 15 0 23 179 topology 206 422
+> 16 0 23 179 topology 460 422
+> 15 0 23 179 topology 205 423
 > 16 0 23 179 topology 460 423
-> 15 0 24 179 topology 393 424
-> 16 0 24 179 topology 394 424
-> 15 0 24 179 topology 372 425
-> 16 0 24 179 topology 373 425
-> 15 0 23 179 topology 217 426
-> 16 0 23 179 topology 460 426
-> 15 0 24 179 topology 186 427
-> 16 0 24 179 topology 188 427
-> 15 0 24 179 topology 351 428
-> 16 0 24 179 topology 352 428
-> 15 0 23 179 topology 337 429
-> 16 0 23 179 topology 460 429
-> 15 0 24 179 topology 297 430
-> 16 0 24 179 topology 299 430
-> 15 0 23 179 topology 259 431
-> 16 0 23 179 topology 460 431
-> 15 0 23 179 topology 200 432
-> 16 0 23 179 topology 460 432
-> 15 0 24 179 topology 222 433
-> 16 0 24 179 topology 224 433
-> 15 0 23 179 topology 457 434
-> 16 0 23 179 topology 460 434
-> 15 0 23 179 topology 379 435
-> 16 0 23 179 topology 460 435
-> 15 0 24 179 topology 363 436
-> 16 0 24 179 topology 365 436
-> 15 0 24 179 topology 288 437
-> 16 0 24 179 topology 290 437
-> 15 0 23 179 topology 190 438
-> 16 0 23 179 topology 460 438
-> 15 0 23 179 topology 218 439
-> 16 0 23 179 topology 460 439
-> 15 0 24 179 topology 429 440
-> 16 0 24 179 topology 431 440
-> 15 0 24 179 topology 330 441
-> 16 0 24 179 topology 331 441
-> 15 0 23 179 topology 254 442
-> 16 0 23 179 topology 460 442
-> 15 0 23 179 topology 422 443
-> 16 0 23 179 topology 460 443
-> 15 0 24 179 topology 354 444
-> 16 0 24 179 topology 356 444
-> 15 0 24 179 topology 309 445
-> 16 0 24 179 topology 310 445
-> 15 0 23 179 topology 290 446
-> 16 0 23 179 topology 460 446
-> 15 0 23 179 topology 458 447
-> 16 0 23 179 topology 460 447
-> 15 0 23 179 topology 326 448
-> 16 0 23 179 topology 460 448
-> 15 0 24 179 topology 288 449
-> 16 0 24 179 topology 289 449
-> 15 0 23 179 topology 244 450
-> 16 0 23 179 topology 460 450
-> 15 0 24 179 topology 240 451
-> 16 0 24 179 topology 242 451
-> 15 0 23 179 topology 191 452
-> 16 0 23 179 topology 460 452
-> 15 0 23 179 topology 364 453
-> 16 0 23 179 topology 460 453
-> 15 0 23 179 topology 286 454
-> 16 0 23 179 topology 460 454
-> 15 0 23 179 topology 406 455
-> 16 0 23 179 topology 460 455
-> 15 0 24 179 topology 441 456
-> 16 0 24 179 topology 442 456
-> 15 0 24 179 topology 306 457
-> 16 0 24 179 topology 308 457
-> 15 0 24 179 topology 180 458
-> 16 0 24 179 topology 181 458
-> 15 0 24 179 topology 231 459
-> 16 0 24 179 topology 233 459
-> 15 0 24 179 topology 447 460
-> 16 0 24 179 topology 449 460
-> 15 0 24 179 topology 267 461
-> 16 0 24 179 topology 268 461
-> 15 0 24 179 topology 186 462
-> 16 0 24 179 topology 187 462
-> 15 0 23 179 topology 209 463
-> 16 0 23 179 topology 460 463
-> 15 0 24 179 topology 372 464
-> 16 0 24 179 topology 374 464
-> 15 0 24 179 topology 246 465
-> 16 0 24 179 topology 247 465
-> 15 0 23 179 topology 245 466
-> 16 0 23 179 topology 460 466
-> 15 0 24 179 topology 192 467
-> 16 0 24 179 topology 193 467
-> 15 0 23 179 topology 281 468
-> 16 0 23 179 topology 460 468
-> 15 0 24 179 topology 225 469
-> 16 0 24 179 topology 226 469
-> 15 0 24 179 topology 198 470
-> 16 0 24 179 topology 199 470
-> 15 0 23 179 topology 449 471
-> 16 0 23 179 topology 460 471
-> 15 0 23 179 topology 317 472
-> 16 0 23 179 topology 460 472
-> 15 0 24 179 topology 438 473
-> 16 0 24 179 topology 440 473
-> 15 0 24 179 topology 420 474
-> 16 0 24 179 topology 421 474
-> 15 0 24 179 topology 204 475
-> 16 0 24 179 topology 205 475
-> 15 0 23 179 topology 353 476
-> 16 0 23 179 topology 460 476
-> 15 0 24 179 topology 399 477
-> 16 0 24 179 topology 400 477
-> 15 0 23 179 topology 271 478
-> 16 0 23 179 topology 460 478
-> 15 0 23 179 topology 182 479
-> 16 0 23 179 topology 460 479
-> 15 0 24 179 topology 378 480
-> 16 0 24 179 topology 379 480
-> 15 0 23 179 topology 391 481
-> 16 0 23 179 topology 460 481
-> 15 0 23 179 topology 313 482
-> 16 0 23 179 topology 460 482
-> 15 0 23 179 topology 235 483
-> 16 0 23 179 topology 460 483
-> 15 0 24 179 topology 249 484
-> 16 0 24 179 topology 251 484
-> 15 0 23 179 topology 433 485
-> 16 0 23 179 topology 460 485
-> 15 0 23 179 topology 355 486
-> 16 0 23 179 topology 460 486
-> 15 0 24 179 topology 390 487
-> 16 0 24 179 topology 392 487
-> 15 0 24 179 topology 201 488
-> 16 0 24 179 topology 203 488
-> 15 0 24 179 topology 315 489
-> 16 0 24 179 topology 317 489
-> 15 0 23 179 topology 272 490
-> 16 0 23 179 topology 460 490
-> 15 0 24 179 topology 456 491
-> 16 0 24 179 topology 458 491
-> 15 0 24 179 topology 357 492
-> 16 0 24 179 topology 358 492
-> 15 0 23 179 topology 308 493
-> 16 0 23 179 topology 460 493
-> 15 0 24 179 topology 381 494
-> 16 0 24 179 topology 383 494
-> 15 0 23 179 topology 344 495
-> 16 0 23 179 topology 460 495
-> 15 0 24 179 topology 336 496
-> 16 0 24 179 topology 337 496
-> 15 0 23 179 topology 380 497
-> 16 0 23 179 topology 460 497
-> 15 0 24 179 topology 315 498
-> 16 0 24 179 topology 316 498
-> 15 0 23 179 topology 416 499
-> 16 0 23 179 topology 460 499
-> 15 0 23 179 topology 298 500
-> 16 0 23 179 topology 460 500
-> 15 0 24 179 topology 294 501
-> 16 0 24 179 topology 295 501
-> 15 0 23 179 topology 220 502
-> 16 0 23 179 topology 460 502
-> 15 0 24 179 topology 267 503
-> 16 0 24 179 topology 269 503
-> 15 0 23 179 topology 418 504
-> 16 0 23 179 topology 460 504
-> 15 0 23 179 topology 340 505
-> 16 0 23 179 topology 460 505
-> 15 0 23 179 topology 262 506
-> 16 0 23 179 topology 460 506
-> 15 0 23 179 topology 382 507
-> 16 0 23 179 topology 460 507
-> 15 0 24 179 topology 333 508
-> 16 0 24 179 topology 335 508
-> 15 0 24 179 topology 258 509
-> 16 0 24 179 topology 260 509
-> 15 0 23 179 topology 193 510
-> 16 0 23 179 topology 460 510
-> 15 0 24 179 topology 399 511
-> 16 0 24 179 topology 401 511
-> 15 0 23 179 topology 299 512
-> 16 0 23 179 topology 460 512
-> 15 0 24 179 topology 273 513
-> 16 0 24 179 topology 274 513
-> 15 0 23 179 topology 335 514
-> 16 0 23 179 topology 460 514
-> 15 0 24 179 topology 324 515
-> 16 0 24 179 topology 326 515
-> 15 0 24 179 topology 252 516
-> 16 0 24 179 topology 253 516
-> 15 0 23 179 topology 371 517
-> 16 0 23 179 topology 460 517
-> 15 0 24 179 topology 231 518
-> 16 0 24 179 topology 232 518
-> 15 0 24 179 topology 447 519
-> 16 0 24 179 topology 448 519
-> 15 0 23 179 topology 407 520
-> 16 0 23 179 topology 460 520
-> 15 0 24 179 topology 426 521
-> 16 0 24 179 topology 427 521
-> 15 0 23 179 topology 443 522
-> 16 0 23 179 topology 460 522
-> 15 0 24 179 topology 210 523
-> 16 0 24 179 topology 212 523
-> 15 0 23 179 topology 247 524
-> 16 0 23 179 topology 460 524
-> 15 0 24 179 topology 405 525
-> 16 0 24 179 topology 406 525
-> 15 0 23 179 topology 367 526
-> 16 0 23 179 topology 460 526
-> 15 0 24 179 topology 192 527
-> 16 0 24 179 topology 194 527
-> 15 0 23 179 topology 289 528
-> 16 0 23 179 topology 460 528
-> 15 0 24 179 topology 384 529
-> 16 0 24 179 topology 385 529
-> 15 0 24 179 topology 276 530
-> 16 0 24 179 topology 278 530
-> 15 0 23 179 topology 409 531
-> 16 0 23 179 topology 460 531
-> 15 0 24 179 topology 417 532
-> 16 0 24 179 topology 419 532
-> 15 0 24 179 topology 210 533
-> 16 0 24 179 topology 211 533
-> 15 0 24 179 topology 342 534
-> 16 0 24 179 topology 344 534
-> 15 0 23 179 topology 362 535
-> 16 0 23 179 topology 460 535
-> 15 0 23 179 topology 230 536
-> 16 0 23 179 topology 460 536
-> 15 0 24 179 topology 408 537
-> 16 0 24 179 topology 410 537
-> 15 0 23 179 topology 398 538
-> 16 0 23 179 topology 460 538
-> 15 0 24 179 topology 363 539
-> 16 0 24 179 topology 364 539
-> 15 0 23 179 topology 266 540
-> 16 0 23 179 topology 460 540
-> 15 0 23 179 topology 434 541
-> 16 0 23 179 topology 460 541
-> 15 0 24 179 topology 342 542
-> 16 0 24 179 topology 343 542
-> 15 0 24 179 topology 321 543
-> 16 0 24 179 topology 322 543
-> 15 0 23 179 topology 274 544
-> 16 0 23 179 topology 460 544
-> 15 0 23 179 topology 394 545
-> 16 0 23 179 topology 460 545
-> 15 0 23 179 topology 316 546
-> 16 0 23 179 topology 460 546
-> 15 0 24 179 topology 219 547
-> 16 0 24 179 topology 221 547
-> 15 0 23 179 topology 203 548
-> 16 0 23 179 topology 460 548
-> 15 0 23 179 topology 436 549
-> 16 0 23 179 topology 460 549
-> 15 0 24 179 topology 360 550
-> 16 0 24 179 topology 362 550
-> 15 0 24 179 topology 285 551
-> 16 0 24 179 topology 287 551
-> 15 0 24 179 topology 426 552
-> 16 0 24 179 topology 428 552
-> 15 0 24 179 topology 300 553
-> 16 0 24 179 topology 301 553
-> 15 0 23 179 topology 221 554
-> 16 0 23 179 topology 460 554
-> 15 0 23 179 topology 389 555
-> 16 0 23 179 topology 460 555
-> 15 0 24 179 topology 351 556
-> 16 0 24 179 topology 353 556
-> 15 0 23 179 topology 257 557
-> 16 0 23 179 topology 460 557
-> 15 0 24 179 topology 279 558
-> 16 0 24 179 topology 280 558
-> 15 0 23 179 topology 425 559
-> 16 0 23 179 topology 460 559
-> 15 0 23 179 topology 293 560
-> 16 0 23 179 topology 460 560
-> 15 0 24 179 topology 258 561
-> 16 0 24 179 topology 259 561
-> 15 0 24 179 topology 453 562
-> 16 0 24 179 topology 454 562
-> 15 0 24 179 topology 183 563
-> 16 0 24 179 topology 185 563
-> 15 0 24 179 topology 237 564
-> 16 0 24 179 topology 239 564
-> 15 0 23 179 topology 301 565
-> 16 0 23 179 topology 460 565
-> 15 0 23 179 topology 223 566
-> 16 0 23 179 topology 460 566
-> 15 0 24 179 topology 432 567
-> 16 0 24 179 topology 433 567
-> 15 0 23 179 topology 194 568
-> 16 0 23 179 topology 460 568
-> 15 0 23 179 topology 421 569
-> 16 0 23 179 topology 460 569
-> 15 0 23 179 topology 343 570
-> 16 0 23 179 topology 460 570
-> 15 0 24 179 topology 411 571
-> 16 0 24 179 topology 412 571
-> 15 0 23 179 topology 265 572
-> 16 0 23 179 topology 460 572
-> 15 0 24 179 topology 303 573
-> 16 0 24 179 topology 305 573
-> 15 0 23 179 topology 385 574
-> 16 0 23 179 topology 460 574
-> 15 0 24 179 topology 228 575
-> 16 0 24 179 topology 230 575
-> 15 0 24 179 topology 237 576
-> 16 0 24 179 topology 238 576
-> 15 0 24 179 topology 369 577
-> 16 0 24 179 topology 371 577
-> 15 0 23 179 topology 212 578
-> 16 0 23 179 topology 460 578
-> 15 0 24 179 topology 216 579
-> 16 0 24 179 topology 217 579
-> 15 0 23 179 topology 196 580
-> 16 0 23 179 topology 460 580
-> 15 0 23 179 topology 248 581
-> 16 0 23 179 topology 460 581
-> 15 0 24 179 topology 294 582
-> 16 0 24 179 topology 296 582
-> 15 0 23 179 topology 284 583
-> 16 0 23 179 topology 460 583
-> 15 0 24 179 topology 435 584
-> 16 0 24 179 topology 437 584
-> 15 0 24 179 topology 390 585
-> 16 0 24 179 topology 391 585
-> 15 0 23 179 topology 452 586
-> 16 0 23 179 topology 460 586
-> 15 0 23 179 topology 320 587
-> 16 0 23 179 topology 460 587
-> 15 0 24 179 topology 369 588
-> 16 0 24 179 topology 370 588
-> 15 0 23 179 topology 356 589
-> 16 0 23 179 topology 460 589
-> 15 0 23 179 topology 208 590
-> 16 0 23 179 topology 460 590
-> 15 0 24 179 topology 348 591
-> 16 0 24 179 topology 349 591
-> 15 0 23 179 topology 328 592
-> 16 0 23 179 topology 460 592
-> 15 0 23 179 topology 185 593
-> 16 0 23 179 topology 460 593
-> 15 0 23 179 topology 250 594
-> 16 0 23 179 topology 460 594
-> 15 0 23 179 topology 448 595
-> 16 0 23 179 topology 460 595
-> 15 0 23 179 topology 370 596
-> 16 0 23 179 topology 460 596
-> 15 0 24 179 topology 246 597
-> 16 0 24 179 topology 248 597
-> 15 0 23 179 topology 292 598
-> 16 0 23 179 topology 460 598
-> 15 0 24 179 topology 387 599
-> 16 0 24 179 topology 389 599
-> 15 0 23 179 topology 412 600
-> 16 0 23 179 topology 460 600
-> 15 0 23 179 topology 181 601
-> 16 0 23 179 topology 460 601
-> 15 0 24 179 topology 312 602
-> 16 0 24 179 topology 314 602
-> 15 0 23 179 topology 239 603
-> 16 0 23 179 topology 460 603
-> 15 0 24 179 topology 453 604
-> 16 0 24 179 topology 455 604
-> 15 0 24 179 topology 327 605
-> 16 0 24 179 topology 328 605
-> 15 0 23 179 topology 275 606
-> 16 0 23 179 topology 460 606
-> 15 0 24 179 topology 378 607
-> 16 0 24 179 topology 380 607
-> 15 0 24 179 topology 306 608
-> 16 0 24 179 topology 307 608
-> 15 0 23 179 topology 311 609
-> 16 0 23 179 topology 460 609
-> 15 0 23 179 topology 347 610
-> 16 0 23 179 topology 460 610
-> 15 0 24 462 topology 469 611
-> 16 0 24 462 topology 471 611
-> 15 0 23 462 topology 474 612
+> 15 0 24 179 topology 459 424
+> 16 0 24 179 topology 460 424
+> 15 0 25 179 topology 207 425
+> 16 0 25 179 topology 209 425
+> 15 0 25 179 topology 207 426
+> 16 0 25 179 topology 208 426
+> 15 0 25 179 topology 210 427
+> 16 0 25 179 topology 212 427
+> 15 0 25 179 topology 210 428
+> 16 0 25 179 topology 211 428
+> 15 0 25 179 topology 213 429
+> 16 0 25 179 topology 215 429
+> 15 0 25 179 topology 213 430
+> 16 0 25 179 topology 214 430
+> 15 0 25 179 topology 216 431
+> 16 0 25 179 topology 218 431
+> 15 0 25 179 topology 216 432
+> 16 0 25 179 topology 217 432
+> 15 0 25 179 topology 219 433
+> 16 0 25 179 topology 221 433
+> 15 0 25 179 topology 219 434
+> 16 0 25 179 topology 220 434
+> 15 0 25 179 topology 222 435
+> 16 0 25 179 topology 224 435
+> 15 0 25 179 topology 222 436
+> 16 0 25 179 topology 223 436
+> 15 0 25 179 topology 225 437
+> 16 0 25 179 topology 227 437
+> 15 0 25 179 topology 225 438
+> 16 0 25 179 topology 226 438
+> 15 0 25 179 topology 228 439
+> 16 0 25 179 topology 230 439
+> 15 0 25 179 topology 228 440
+> 16 0 25 179 topology 229 440
+> 15 0 25 179 topology 231 441
+> 16 0 25 179 topology 233 441
+> 15 0 25 179 topology 231 442
+> 16 0 25 179 topology 232 442
+> 15 0 25 179 topology 234 443
+> 16 0 25 179 topology 236 443
+> 15 0 25 179 topology 234 444
+> 16 0 25 179 topology 235 444
+> 15 0 25 179 topology 180 445
+> 16 0 25 179 topology 182 445
+> 15 0 25 179 topology 180 446
+> 16 0 25 179 topology 181 446
+> 15 0 25 179 topology 237 447
+> 16 0 25 179 topology 239 447
+> 15 0 25 179 topology 237 448
+> 16 0 25 179 topology 238 448
+> 15 0 25 179 topology 240 449
+> 16 0 25 179 topology 242 449
+> 15 0 25 179 topology 240 450
+> 16 0 25 179 topology 241 450
+> 15 0 25 179 topology 243 451
+> 16 0 25 179 topology 245 451
+> 15 0 25 179 topology 243 452
+> 16 0 25 179 topology 244 452
+> 15 0 25 179 topology 246 453
+> 16 0 25 179 topology 248 453
+> 15 0 25 179 topology 246 454
+> 16 0 25 179 topology 247 454
+> 15 0 25 179 topology 249 455
+> 16 0 25 179 topology 251 455
+> 15 0 25 179 topology 249 456
+> 16 0 25 179 topology 250 456
+> 15 0 25 179 topology 252 457
+> 16 0 25 179 topology 254 457
+> 15 0 25 179 topology 252 458
+> 16 0 25 179 topology 253 458
+> 15 0 25 179 topology 255 459
+> 16 0 25 179 topology 257 459
+> 15 0 25 179 topology 255 460
+> 16 0 25 179 topology 256 460
+> 15 0 25 179 topology 258 461
+> 16 0 25 179 topology 260 461
+> 15 0 25 179 topology 258 462
+> 16 0 25 179 topology 259 462
+> 15 0 25 179 topology 261 463
+> 16 0 25 179 topology 263 463
+> 15 0 25 179 topology 261 464
+> 16 0 25 179 topology 262 464
+> 15 0 25 179 topology 264 465
+> 16 0 25 179 topology 266 465
+> 15 0 25 179 topology 264 466
+> 16 0 25 179 topology 265 466
+> 15 0 25 179 topology 183 467
+> 16 0 25 179 topology 185 467
+> 15 0 25 179 topology 183 468
+> 16 0 25 179 topology 184 468
+> 15 0 25 179 topology 267 469
+> 16 0 25 179 topology 269 469
+> 15 0 25 179 topology 267 470
+> 16 0 25 179 topology 268 470
+> 15 0 25 179 topology 270 471
+> 16 0 25 179 topology 272 471
+> 15 0 25 179 topology 270 472
+> 16 0 25 179 topology 271 472
+> 15 0 25 179 topology 273 473
+> 16 0 25 179 topology 275 473
+> 15 0 25 179 topology 273 474
+> 16 0 25 179 topology 274 474
+> 15 0 25 179 topology 276 475
+> 16 0 25 179 topology 278 475
+> 15 0 25 179 topology 276 476
+> 16 0 25 179 topology 277 476
+> 15 0 25 179 topology 279 477
+> 16 0 25 179 topology 281 477
+> 15 0 25 179 topology 279 478
+> 16 0 25 179 topology 280 478
+> 15 0 25 179 topology 282 479
+> 16 0 25 179 topology 284 479
+> 15 0 25 179 topology 282 480
+> 16 0 25 179 topology 283 480
+> 15 0 25 179 topology 285 481
+> 16 0 25 179 topology 287 481
+> 15 0 25 179 topology 285 482
+> 16 0 25 179 topology 286 482
+> 15 0 25 179 topology 288 483
+> 16 0 25 179 topology 290 483
+> 15 0 25 179 topology 288 484
+> 16 0 25 179 topology 289 484
+> 15 0 25 179 topology 291 485
+> 16 0 25 179 topology 293 485
+> 15 0 25 179 topology 291 486
+> 16 0 25 179 topology 292 486
+> 15 0 25 179 topology 294 487
+> 16 0 25 179 topology 296 487
+> 15 0 25 179 topology 294 488
+> 16 0 25 179 topology 295 488
+> 15 0 25 179 topology 186 489
+> 16 0 25 179 topology 188 489
+> 15 0 25 179 topology 186 490
+> 16 0 25 179 topology 187 490
+> 15 0 25 179 topology 297 491
+> 16 0 25 179 topology 299 491
+> 15 0 25 179 topology 297 492
+> 16 0 25 179 topology 298 492
+> 15 0 25 179 topology 300 493
+> 16 0 25 179 topology 302 493
+> 15 0 25 179 topology 300 494
+> 16 0 25 179 topology 301 494
+> 15 0 25 179 topology 303 495
+> 16 0 25 179 topology 305 495
+> 15 0 25 179 topology 303 496
+> 16 0 25 179 topology 304 496
+> 15 0 25 179 topology 306 497
+> 16 0 25 179 topology 308 497
+> 15 0 25 179 topology 306 498
+> 16 0 25 179 topology 307 498
+> 15 0 25 179 topology 309 499
+> 16 0 25 179 topology 311 499
+> 15 0 25 179 topology 309 500
+> 16 0 25 179 topology 310 500
+> 15 0 25 179 topology 312 501
+> 16 0 25 179 topology 314 501
+> 15 0 25 179 topology 312 502
+> 16 0 25 179 topology 313 502
+> 15 0 25 179 topology 315 503
+> 16 0 25 179 topology 317 503
+> 15 0 25 179 topology 315 504
+> 16 0 25 179 topology 316 504
+> 15 0 25 179 topology 318 505
+> 16 0 25 179 topology 320 505
+> 15 0 25 179 topology 318 506
+> 16 0 25 179 topology 319 506
+> 15 0 25 179 topology 321 507
+> 16 0 25 179 topology 323 507
+> 15 0 25 179 topology 321 508
+> 16 0 25 179 topology 322 508
+> 15 0 25 179 topology 324 509
+> 16 0 25 179 topology 326 509
+> 15 0 25 179 topology 324 510
+> 16 0 25 179 topology 325 510
+> 15 0 25 179 topology 189 511
+> 16 0 25 179 topology 191 511
+> 15 0 25 179 topology 189 512
+> 16 0 25 179 topology 190 512
+> 15 0 25 179 topology 327 513
+> 16 0 25 179 topology 329 513
+> 15 0 25 179 topology 327 514
+> 16 0 25 179 topology 328 514
+> 15 0 25 179 topology 330 515
+> 16 0 25 179 topology 332 515
+> 15 0 25 179 topology 330 516
+> 16 0 25 179 topology 331 516
+> 15 0 25 179 topology 333 517
+> 16 0 25 179 topology 335 517
+> 15 0 25 179 topology 333 518
+> 16 0 25 179 topology 334 518
+> 15 0 25 179 topology 336 519
+> 16 0 25 179 topology 338 519
+> 15 0 25 179 topology 336 520
+> 16 0 25 179 topology 337 520
+> 15 0 25 179 topology 339 521
+> 16 0 25 179 topology 341 521
+> 15 0 25 179 topology 339 522
+> 16 0 25 179 topology 340 522
+> 15 0 25 179 topology 342 523
+> 16 0 25 179 topology 344 523
+> 15 0 25 179 topology 342 524
+> 16 0 25 179 topology 343 524
+> 15 0 25 179 topology 345 525
+> 16 0 25 179 topology 347 525
+> 15 0 25 179 topology 345 526
+> 16 0 25 179 topology 346 526
+> 15 0 25 179 topology 348 527
+> 16 0 25 179 topology 350 527
+> 15 0 25 179 topology 348 528
+> 16 0 25 179 topology 349 528
+> 15 0 25 179 topology 351 529
+> 16 0 25 179 topology 353 529
+> 15 0 25 179 topology 351 530
+> 16 0 25 179 topology 352 530
+> 15 0 25 179 topology 354 531
+> 16 0 25 179 topology 356 531
+> 15 0 25 179 topology 354 532
+> 16 0 25 179 topology 355 532
+> 15 0 25 179 topology 192 533
+> 16 0 25 179 topology 194 533
+> 15 0 25 179 topology 192 534
+> 16 0 25 179 topology 193 534
+> 15 0 25 179 topology 357 535
+> 16 0 25 179 topology 359 535
+> 15 0 25 179 topology 357 536
+> 16 0 25 179 topology 358 536
+> 15 0 25 179 topology 360 537
+> 16 0 25 179 topology 362 537
+> 15 0 25 179 topology 360 538
+> 16 0 25 179 topology 361 538
+> 15 0 25 179 topology 363 539
+> 16 0 25 179 topology 365 539
+> 15 0 25 179 topology 363 540
+> 16 0 25 179 topology 364 540
+> 15 0 25 179 topology 366 541
+> 16 0 25 179 topology 368 541
+> 15 0 25 179 topology 366 542
+> 16 0 25 179 topology 367 542
+> 15 0 25 179 topology 369 543
+> 16 0 25 179 topology 371 543
+> 15 0 25 179 topology 369 544
+> 16 0 25 179 topology 370 544
+> 15 0 25 179 topology 372 545
+> 16 0 25 179 topology 374 545
+> 15 0 25 179 topology 372 546
+> 16 0 25 179 topology 373 546
+> 15 0 25 179 topology 375 547
+> 16 0 25 179 topology 377 547
+> 15 0 25 179 topology 375 548
+> 16 0 25 179 topology 376 548
+> 15 0 25 179 topology 378 549
+> 16 0 25 179 topology 380 549
+> 15 0 25 179 topology 378 550
+> 16 0 25 179 topology 379 550
+> 15 0 25 179 topology 381 551
+> 16 0 25 179 topology 383 551
+> 15 0 25 179 topology 381 552
+> 16 0 25 179 topology 382 552
+> 15 0 25 179 topology 384 553
+> 16 0 25 179 topology 386 553
+> 15 0 25 179 topology 384 554
+> 16 0 25 179 topology 385 554
+> 15 0 25 179 topology 195 555
+> 16 0 25 179 topology 197 555
+> 15 0 25 179 topology 195 556
+> 16 0 25 179 topology 196 556
+> 15 0 25 179 topology 387 557
+> 16 0 25 179 topology 389 557
+> 15 0 25 179 topology 387 558
+> 16 0 25 179 topology 388 558
+> 15 0 25 179 topology 390 559
+> 16 0 25 179 topology 392 559
+> 15 0 25 179 topology 390 560
+> 16 0 25 179 topology 391 560
+> 15 0 25 179 topology 393 561
+> 16 0 25 179 topology 395 561
+> 15 0 25 179 topology 393 562
+> 16 0 25 179 topology 394 562
+> 15 0 25 179 topology 396 563
+> 16 0 25 179 topology 398 563
+> 15 0 25 179 topology 396 564
+> 16 0 25 179 topology 397 564
+> 15 0 25 179 topology 399 565
+> 16 0 25 179 topology 401 565
+> 15 0 25 179 topology 399 566
+> 16 0 25 179 topology 400 566
+> 15 0 25 179 topology 402 567
+> 16 0 25 179 topology 404 567
+> 15 0 25 179 topology 402 568
+> 16 0 25 179 topology 403 568
+> 15 0 25 179 topology 405 569
+> 16 0 25 179 topology 407 569
+> 15 0 25 179 topology 405 570
+> 16 0 25 179 topology 406 570
+> 15 0 25 179 topology 408 571
+> 16 0 25 179 topology 410 571
+> 15 0 25 179 topology 408 572
+> 16 0 25 179 topology 409 572
+> 15 0 25 179 topology 411 573
+> 16 0 25 179 topology 413 573
+> 15 0 25 179 topology 411 574
+> 16 0 25 179 topology 412 574
+> 15 0 25 179 topology 414 575
+> 16 0 25 179 topology 416 575
+> 15 0 25 179 topology 414 576
+> 16 0 25 179 topology 415 576
+> 15 0 25 179 topology 198 577
+> 16 0 25 179 topology 200 577
+> 15 0 25 179 topology 198 578
+> 16 0 25 179 topology 199 578
+> 15 0 25 179 topology 417 579
+> 16 0 25 179 topology 419 579
+> 15 0 25 179 topology 417 580
+> 16 0 25 179 topology 418 580
+> 15 0 25 179 topology 420 581
+> 16 0 25 179 topology 422 581
+> 15 0 25 179 topology 420 582
+> 16 0 25 179 topology 421 582
+> 15 0 25 179 topology 423 583
+> 16 0 25 179 topology 425 583
+> 15 0 25 179 topology 423 584
+> 16 0 25 179 topology 424 584
+> 15 0 25 179 topology 426 585
+> 16 0 25 179 topology 428 585
+> 15 0 25 179 topology 426 586
+> 16 0 25 179 topology 427 586
+> 15 0 25 179 topology 429 587
+> 16 0 25 179 topology 431 587
+> 15 0 25 179 topology 429 588
+> 16 0 25 179 topology 430 588
+> 15 0 25 179 topology 432 589
+> 16 0 25 179 topology 434 589
+> 15 0 25 179 topology 432 590
+> 16 0 25 179 topology 433 590
+> 15 0 25 179 topology 435 591
+> 16 0 25 179 topology 437 591
+> 15 0 25 179 topology 435 592
+> 16 0 25 179 topology 436 592
+> 15 0 25 179 topology 438 593
+> 16 0 25 179 topology 440 593
+> 15 0 25 179 topology 438 594
+> 16 0 25 179 topology 439 594
+> 15 0 25 179 topology 441 595
+> 16 0 25 179 topology 443 595
+> 15 0 25 179 topology 441 596
+> 16 0 25 179 topology 442 596
+> 15 0 25 179 topology 444 597
+> 16 0 25 179 topology 446 597
+> 15 0 25 179 topology 444 598
+> 16 0 25 179 topology 445 598
+> 15 0 25 179 topology 201 599
+> 16 0 25 179 topology 203 599
+> 15 0 25 179 topology 201 600
+> 16 0 25 179 topology 202 600
+> 15 0 25 179 topology 447 601
+> 16 0 25 179 topology 449 601
+> 15 0 25 179 topology 447 602
+> 16 0 25 179 topology 448 602
+> 15 0 25 179 topology 450 603
+> 16 0 25 179 topology 452 603
+> 15 0 25 179 topology 450 604
+> 16 0 25 179 topology 451 604
+> 15 0 25 179 topology 453 605
+> 16 0 25 179 topology 455 605
+> 15 0 25 179 topology 453 606
+> 16 0 25 179 topology 454 606
+> 15 0 25 179 topology 456 607
+> 16 0 25 179 topology 458 607
+> 15 0 25 179 topology 456 608
+> 16 0 25 179 topology 457 608
+> 15 0 25 179 topology 204 609
+> 16 0 25 179 topology 206 609
+> 15 0 25 179 topology 204 610
+> 16 0 25 179 topology 205 610
+> 15 0 23 462 topology 492 611
+> 16 0 23 462 topology 494 611
+> 15 0 23 462 topology 491 612
 > 16 0 23 462 topology 494 612
-> 15 0 23 462 topology 486 613
+> 15 0 23 462 topology 4