From a3a65e6d544d0af6ee4e1dbbc5414d38fb04be15 Mon Sep 17 00:00:00 2001 From: asanoaozora Date: Thu, 21 Dec 2017 11:20:30 +0100 Subject: start implementation of Franca2Wamp for FTS --- src/freetextsearch-service-wamp/CMakeLists.txt | 135 + .../FreeTextSearchStubImpl.cpp | 241 + .../FreeTextSearchStubImpl.hpp | 78 + src/freetextsearch-service-wamp/main.cpp | 52 + .../workdir/.crossbar/.gitignore | 3 + .../workdir/.crossbar/config.json | 131 + .../workdir/commonapi.ini | 11 + .../workdir/runRESTClient.sh | 11 + .../workdir/runServer.sh | 3 + src/freetextsearch-service/CMakeLists.txt | 2 +- .../FreeTextSearchStubImpl.hpp | 6 +- test/poi-service/script/paris/bicycle.xml | 1284 +- test/poi-service/script/paris/fuel-station.xml | 1100 +- test/poi-service/script/paris/museum-and-hotel.xml | 14348 ++++++++++++------- test/poi-service/script/paris/station.xml | 2948 ++-- 15 files changed, 13786 insertions(+), 6567 deletions(-) create mode 100644 src/freetextsearch-service-wamp/CMakeLists.txt create mode 100644 src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp create mode 100644 src/freetextsearch-service-wamp/FreeTextSearchStubImpl.hpp create mode 100644 src/freetextsearch-service-wamp/main.cpp create mode 100644 src/freetextsearch-service-wamp/workdir/.crossbar/.gitignore create mode 100644 src/freetextsearch-service-wamp/workdir/.crossbar/config.json create mode 100644 src/freetextsearch-service-wamp/workdir/commonapi.ini create mode 100755 src/freetextsearch-service-wamp/workdir/runRESTClient.sh create mode 100755 src/freetextsearch-service-wamp/workdir/runServer.sh mode change 100755 => 100644 test/poi-service/script/paris/bicycle.xml mode change 100755 => 100644 test/poi-service/script/paris/fuel-station.xml mode change 100755 => 100644 test/poi-service/script/paris/museum-and-hotel.xml mode change 100755 => 100644 test/poi-service/script/paris/station.xml diff --git a/src/freetextsearch-service-wamp/CMakeLists.txt b/src/freetextsearch-service-wamp/CMakeLists.txt new file mode 100644 index 0000000..d4e036c --- /dev/null +++ b/src/freetextsearch-service-wamp/CMakeLists.txt @@ -0,0 +1,135 @@ +########################################################################### +# @licence app begin@ +# SPDX-License-Identifier: MPL-2.0 +# +# Component Name: freetextsearch-server +# +# Author: Philippe Colliot +# +# Copyright (C) 2016, PCA Peugeot Citroën +# +# License: +# This Source Code Form is subject to the terms of the +# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with +# this file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# @licence end@ +########################################################################### +project(freetextsearch-server-wamp) +message(STATUS ${PROJECT_NAME}) + +cmake_minimum_required(VERSION 2.8) + +option(DBUS_LIB_PATH + "Path to the patched DBus library") +option(FRANCA_WAMP_GENERATOR + "Franca to Wamp generator") + +set(CMAKE_VERBOSE_MAKEFILE on) +set(CMAKE_CXX_FLAGS "-Wall -O0 -std=c++0x -D_GLIBCXX_USE_NANOSLEEP -pthread") + +set(API_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../api") +set(FRANCA_DIR "${API_DIR}/franca") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) + +set(PARENT_API freetextsearchservice) +set(ROOT_API navigation) +set(API_VERSION_MAJOR 1) +set(API_VERSION "v${API_VERSION_MAJOR}") +set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") +set(PRJ_SRC_GEN_PATH ${COMMONAPI_GEN_DIR}/${API_VERSION}/org/genivi/${ROOT_API}/${PARENT_API}) +set(PRJ_SRC_GEN_NAVIGATION_TYPES_PATH ${COMMONAPI_GEN_DIR}/org/genivi/${ROOT_API}) + +# DBus Path +if(DBUS_LIB_PATH) + message(STATUS "DBUS_LIB_PATH = " ${DBUS_LIB_PATH}) + set(DBUS_INCLUDE_DIRS ${DBUS_LIB_PATH}/include/dbus-1.0 ${DBUS_LIB_PATH}/lib/dbus-1.0/include) + set(DBUS_LIBDIR ${DBUS_LIB_PATH}/lib) + set(DBUS_LIBRARIES ${DBUS_LIB_PATH}/lib/libdbus-1.so) +else() + message(FATAL_ERROR "Please specify the path to your patched DBus library using -DDBUS_LIB_PATH=yourPath") +endif() + +# Franca to wamp generator +file(GLOB FIDL_FILES + ${FRANCA_DIR}/CommonTypes.fidl + ${FRANCA_DIR}/navigation/NavigationTypes.fidl + ${FRANCA_DIR}/navigation/freetextsearchservice/*.fidl + ) +if(FRANCA_WAMP_GENERATOR) + foreach(RAW_FILE ${FIDL_FILES}) + message(STATUS "Generate Wamp stuff for: " ${RAW_FILE}) + execute_process( + COMMAND java -jar ${FRANCA_WAMP_GENERATOR} -f ${RAW_FILE} -o ${COMMONAPI_GEN_DIR} + ) + endforeach() +else() + message(FATAL_ERROR "Please specify the Franca Wamp generator using -DFRANCA_WAMP_GENERATOR=") +endif() + +# Packages +find_package(PkgConfig REQUIRED) +find_package(CommonAPI 3.1.9 REQUIRED) +find_package(CommonAPI-DBus 3.1.9 REQUIRED) +find_package(CommonAPI-WAMP REQUIRED) + +pkg_check_modules(COMMONAPI "CommonAPI >= 3.1.9") +pkg_check_modules(COMMONAPI_DBUS "CommonAPI-DBus >= 3.1.9") +pkg_check_modules(SQLITE3 REQUIRED sqlite3) +pkg_check_modules(GOBJECT gobject-2.0) +pkg_check_modules(GLIB REQUIRED glib-2.0) + +# Source Files +FILE(GLOB PRJ_LOCAL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) + +add_subdirectory(${FRANCA_DIR}/navigation/freetextsearchservice "${CMAKE_CURRENT_BINARY_DIR}/franca") + +FILE(GLOB PRJ_STUB_GEN_SRCS ${PRJ_SRC_GEN_PATH}/*Stub*.cpp) +FILE(GLOB PRJ_STUB_GEN_TYPES ${PRJ_SRC_GEN_NAVIGATION_TYPES_PATH}/*Types*.cpp) +FILE(GLOB PRJ_WAMP_LIB_SRCS ${PRJ_SRC_GEN_PATH}/*Wamp*.cpp) + +set(PRJ_SRCS ${PRJ_LOCAL_SRCS} ${PRJ_STUB_GEN_SRCS} ${PRJ_STUB_GEN_TYPES}) + +include_directories( + ${PRJ_SRC_GEN_PATH} + ${DBUS_INCLUDE_DIRS} + ${COMMONAPI_GEN_DIR} + ${COMMONAPI_INCLUDE_DIRS} + ${COMMONAPI_DBUS_INCLUDE_DIRS} + ${COMMONAPI_WAMP_INCLUDE_DIRS} + ${WAMP_INCLUDE_DIRS} + ${GOBJECT_INCLUDE_DIRS} + ${GLIB_INCLUDE_DIRS} + ${SQLITE3_INCLUDE_DIRS} +) + +link_directories( + ${DBUS_LIBDIR} + ${COMMONAPI_LIBDIR} + ${COMMONAPI_DBUS_LIBDIR} + ${COMMONAPI_WAMP_LIBDIR} + ${WAMP_LIBDIR} + ${GOBJECT_LIBRARY_DIRS} + ${GLIB_LIBRARY_DIRS} + ${SQLITE3_LIBRARY_DIRS} +) + +set(LIBRARIES + ${DBUS_LIBRARIES} + ${COMMONAPI_LIBRARIES} + ${COMMONAPI_DBUS_LIBRARIES} + ${GOBJECT_LIBRARIES} + ${GLIB_LIBRARIES} + ${SQLITE3_LIBRARIES} +) + +# Build service +set(LINK_LIBRARIES -Wl,--no-as-needed -Wl,--as-needed CommonAPI) +add_executable(${PROJECT_NAME} ${PRJ_SRCS}) +target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES}) +install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + +# Build gluecode.so +add_library (${PROJECT_NAME}-wamp SHARED ${PRJ_WAMP_LIB_SRCS}) +target_link_libraries(${PROJECT_NAME}-wamp CommonAPI-WAMP ${WAMP_LIBRARIES}) + diff --git a/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp b/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp new file mode 100644 index 0000000..ef5b302 --- /dev/null +++ b/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.cpp @@ -0,0 +1,241 @@ +/** + * @licence app begin@ + * SPDX-License-Identifier: MPL-2.0 + * + * \copyright Copyright (C) 2015, 2016 TomTom International B.V. + * \copyright Copyright (C) 2016, PCA Peugeot Citroen + * \author Peter Goedegebure (Peter.Goedegebure@tomtom.com) + * \author Philippe Colliot + * \author Morteza Damavandpeyma + * This Source Code Form is subject to the terms of the + * Mozilla Public License (MPL), v. 2.0. + * If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * For further information see http://www.genivi.org/. + * + * List of changes: + * , , + * + * @licence end@ + */ +#include "FreeTextSearchStubImpl.hpp" + +using namespace v4::org::genivi::navigation; +using namespace v1::org::genivi::navigation::freetextsearchservice; +using namespace v4::org::genivi; + +NavigationTypes::Handle nextHandle = 1; + +void FreeTextSearchStubImpl::getVersion( + const std::shared_ptr _client, + getVersionReply_t _reply) +{ + std::cout << "getVersion called." << std::endl; + + CommonTypes::Version* version = new CommonTypes::Version(0, 1, 0, "today"); + _reply(*version); +} + +void FreeTextSearchStubImpl::ftsRequest( + const std::shared_ptr _client, + FreeTextSearch::FtsString _inputString, + NavigationTypes::Coordinate2D _searchLocation, + FreeTextSearch::ShapeList _searchShapes, FreeTextSearch::PageSize _pageSize, + FreeTextSearch::SearchOptions _searchOptions, + FreeTextSearch::FtsString _searchConditions, + FreeTextSearch::FuzzyLevel _fuzzyLevel, ftsRequestReply_t _reply) +{ + std::cout << "ftsRequest called." << std::endl; + iSearchIsInProgress = true; + + // Create new session handle. + iSessionHandle++; + + // Start from first page + iPageId = 0; + + _reply(FreeTextSearch::ftsRequestError::OK, iSessionHandle, iPageId); + + // Note: inputString is ignored, use fixed results. + // Note: searchLocation is ignored, use fixed results. + // TODO: introduce a value for 'not specified' for searchLocation (Coordinate2D). + // Note: searchShapes is ignored, use fixed results. + // Note: pageSize is ignored, use fixed size of 2. First page: 2 addresses (moreAvailable), 1 POI (no moreAvailable). + // Note: searchOptions is ignored, use fixed results. + // Note: searchConditions is ignored, use fixed results, + // Note: fuzzyLevel is ignored, used fixed results. + + FreeTextSearch::Addresses addresses; + FreeTextSearch::Address* addressPtr; + FreeTextSearch::FtsStringList* places; + FreeTextSearch::FtsStringList* postalCodes; + FreeTextSearch::StreetDetails* streetDetailsPtr; + + addressPtr = new FreeTextSearch::Address(); + NavigationTypes::LocationHandle locationHandle1 = 1234; + addressPtr->setLocationHandle(locationHandle1); + addressPtr->setCountryCode("NLD"); + addressPtr->setStateCode(""); + places = new FreeTextSearch::FtsStringList(); + places->push_back("Eindhoven"); + addressPtr->setPlaces(*places); + postalCodes = new FreeTextSearch::FtsStringList(); + postalCodes->push_back("5657 EB"); + addressPtr->setPostalCodes(*postalCodes); + streetDetailsPtr = new FreeTextSearch::StreetDetails(); + streetDetailsPtr->setStreetName("Luchthavenweg"); + streetDetailsPtr->setHouseNumber("48"); + streetDetailsPtr->setHouseNumberFromInput(""); + FreeTextSearch::AddressDetails addressDetails(*streetDetailsPtr); + addressPtr->setAddressDetails(addressDetails); + addressPtr->setMapCode("L2D.3Z"); + NavigationTypes::Coordinate2D* coordinate1 = new NavigationTypes::Coordinate2D(51.455664, 5.396336); + addressPtr->setCoordinate(*coordinate1); + addressPtr->setDistance(4566); + addressPtr->setScore(1000); + addressPtr->setFuzzyMatch(false); + addresses.push_back(*addressPtr); + + addressPtr = new FreeTextSearch::Address(); + NavigationTypes::LocationHandle locationHandle2 = 9876; + addressPtr->setLocationHandle(locationHandle2); + addressPtr->setCountryCode("NLD"); + addressPtr->setStateCode(""); + places = new FreeTextSearch::FtsStringList(); + places->push_back("'s Hertogenbosch"); + addressPtr->setPlaces(*places); + postalCodes = new FreeTextSearch::FtsStringList(); + postalCodes->push_back(""); + addressPtr->setPostalCodes(*postalCodes); + streetDetailsPtr = new FreeTextSearch::StreetDetails(); + streetDetailsPtr->setStreetName(""); + streetDetailsPtr->setHouseNumber(""); + streetDetailsPtr->setHouseNumberFromInput(""); + FreeTextSearch::AddressDetails addressDetails2(*streetDetailsPtr); + addressPtr->setAddressDetails(addressDetails2); + addressPtr->setMapCode(""); + NavigationTypes::Coordinate2D* coordinate2 = new NavigationTypes::Coordinate2D(52.434356, 17.555336); + addressPtr->setCoordinate(*coordinate2); + addressPtr->setDistance(196534); + addressPtr->setScore(578); + addressPtr->setFuzzyMatch(true); + addresses.push_back(*addressPtr); + + fireFtsResultAddressesSelective(iSessionHandle, iPageId, addresses, true); + + FreeTextSearch::POIs pois; + FreeTextSearch::POI* poiPtr; + poiPtr = new FreeTextSearch::POI(); + NavigationTypes::LocationHandle locationHandle3 = 102934; + poiPtr->setLocationHandle(locationHandle3); + FreeTextSearch::POICategoryCode poiCategoryCode = 754; + poiPtr->setCategoryCode(poiCategoryCode); + FreeTextSearch::FtsStringList* brandNames; + brandNames = new FreeTextSearch::FtsStringList(); + brandNames->push_back("TomTom"); + brandNames->push_back("Bandit"); + poiPtr->setBrandNames(*brandNames); + poiPtr->setPoiName("TomTom Eindhoven"); + poiPtr->setAddress("Luchthavenweg 48, 5657 EB Eindhoven"); + places = new FreeTextSearch::FtsStringList(); + places->push_back("Eindhoven"); + poiPtr->setPlace(*places); + postalCodes = new FreeTextSearch::FtsStringList(); + postalCodes->push_back("5657 EB"); + poiPtr->setPostalCode(*postalCodes); + poiPtr->setMapCode("L2D.3Z"); + poiPtr->setCountryCode("NLD"); + poiPtr->setStateCode(""); + poiPtr->setTelephone("+31 40 84 44899"); + poiPtr->setCoordinate(*coordinate1); + poiPtr->setDistance(1000); + poiPtr->setScore(1); + poiPtr->setFuzzyMatch(false); + poiPtr->setHasParents(false); + poiPtr->setHasChildren(false); + poiPtr->setDetourDistance(100); + poiPtr->setDetourTime(200); + + pois.push_back(*poiPtr); + fireFtsResultPoisSelective(iSessionHandle, iPageId, pois, false); + + FreeTextSearch::POICategories poiCategories; + fireFtsResultPoiSuggestionsSelective(iSessionHandle, iPageId, poiCategories); + + fireFtsDoneSelective(iSessionHandle, iPageId, FreeTextSearch::FtsStatus::OK); + iSearchIsInProgress = false; +} + +void FreeTextSearchStubImpl::ftsNextPage( + const std::shared_ptr _client, + NavigationTypes::Handle _sessionHandle, + FreeTextSearch::SearchOptions _searchOptions, ftsNextPageReply_t _reply) +{ + std::cout << "ftsNextPage called." << std::endl; + if (iSearchIsInProgress) + { + std::cout << "There is a search in progress" << std::endl; + _reply(FreeTextSearch::ftsNextPageError::Literal::AlreadyInProgress, -1); + return; + } + + iSearchIsInProgress = true; + // Note: searchOptions are ignored; always 1 address returned. + + // Get the next page. + iPageId++; + _reply(FreeTextSearch::ftsNextPageError::Literal::OK, iPageId); + + FreeTextSearch::Addresses addresses; + FreeTextSearch::Address* addressPtr; + addressPtr = new FreeTextSearch::Address(); + NavigationTypes::LocationHandle locationHandle = 74658; + addressPtr->setLocationHandle(locationHandle); + addressPtr->setCountryCode("NLD"); + addressPtr->setStateCode(""); + FreeTextSearch::FtsStringList* places; + places = new FreeTextSearch::FtsStringList(); + places->push_back("Amsterdam"); + addressPtr->setPlaces(*places); + FreeTextSearch::FtsStringList* postalCodes; + postalCodes = new FreeTextSearch::FtsStringList(); + postalCodes->push_back(""); + addressPtr->setPostalCodes(*postalCodes); + addressPtr->setMapCode(""); + FreeTextSearch::StreetDetails* streetDetailsPtr; + streetDetailsPtr = new FreeTextSearch::StreetDetails(); + streetDetailsPtr->setStreetName(""); + streetDetailsPtr->setHouseNumber(""); + streetDetailsPtr->setHouseNumberFromInput(""); + FreeTextSearch::AddressDetails addressDetails(*streetDetailsPtr); + addressPtr->setAddressDetails(addressDetails); + NavigationTypes::Coordinate2D* coordinate = new NavigationTypes::Coordinate2D(50.123456, 9.838374); + addressPtr->setCoordinate(*coordinate); + addressPtr->setDistance(3009); + addressPtr->setScore(33); + addressPtr->setFuzzyMatch(false); + addresses.push_back(*addressPtr); + fireFtsResultAddressesSelective(iSessionHandle, iPageId, addresses, false); + + fireFtsDoneSelective(iSessionHandle, iPageId, FreeTextSearch::FtsStatus::OK); + iSearchIsInProgress = false; +} + +void FreeTextSearchStubImpl::ftsCancel( + const std::shared_ptr _client, + NavigationTypes::Handle _sessionHandle, ftsCancelReply_t _reply) +{ + std::cout << "ftsCancel called." << std::endl; + _reply(FreeTextSearch::ftsCancelError::Literal::OK); +} + +void FreeTextSearchStubImpl::deleteLocationHandles( + const std::shared_ptr _client, + FreeTextSearch::LocationHandleList _locationHandleList, + deleteLocationHandlesReply_t _reply) +{ + std::cout << "deleteLocationHandles called." << std::endl; + _reply(); +} + diff --git a/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.hpp b/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.hpp new file mode 100644 index 0000000..0562b62 --- /dev/null +++ b/src/freetextsearch-service-wamp/FreeTextSearchStubImpl.hpp @@ -0,0 +1,78 @@ +/** + * @licence app begin@ + * SPDX-License-Identifier: MPL-2.0 + * + * \copyright Copyright (C) 2015, 2016 TomTom International B.V. + * \copyright Copyright (C) 2016, PCA Peugeot Citroen + * \author Peter Goedegebure (Peter.Goedegebure@tomtom.com) + * \author Philippe Colliot + * \author Morteza Damavandpeyma + * This Source Code Form is subject to the terms of the + * Mozilla Public License (MPL), v. 2.0. + * If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * For further information see http://www.genivi.org/. + * + * List of changes: + * , , + * + * @licence end@ + */ + +#ifndef FREETEXTSEARCHSTUBIMPL_H_ +#define FREETEXTSEARCHSTUBIMPL_H_ + +#include +#include +#include +#include +#include + +namespace v1 { +namespace org { +namespace genivi { +namespace navigation { +namespace freetextsearchservice { + +class FreeTextSearchStubImpl: public FreeTextSearchStubDefault +{ + +public: + void getVersion(const std::shared_ptr _client, + getVersionReply_t _reply) override; + + void ftsRequest(const std::shared_ptr _client, + FreeTextSearch::FtsString _inputString, + v4::org::genivi::navigation::NavigationTypes::Coordinate2D _searchLocation, + FreeTextSearch::ShapeList _searchShapes, + FreeTextSearch::PageSize _pageSize, + FreeTextSearch::SearchOptions _searchOptions, + FreeTextSearch::FtsString _searchConditions, + FreeTextSearch::FuzzyLevel _fuzzyLevel, ftsRequestReply_t _reply) + override; + + void ftsNextPage(const std::shared_ptr _client, + v4::org::genivi::navigation::NavigationTypes::Handle _sessionHandle, + FreeTextSearch::SearchOptions _searchOptions, ftsNextPageReply_t _reply) + override; + + void ftsCancel(const std::shared_ptr _client, + v4::org::genivi::navigation::NavigationTypes::Handle _sessionHandle, ftsCancelReply_t _reply) override; + + void deleteLocationHandles(const std::shared_ptr _client, + FreeTextSearch::LocationHandleList _locationHandleList, + deleteLocationHandlesReply_t _reply) override; +private: + v4::org::genivi::navigation::NavigationTypes::Handle iSessionHandle = 0; + FreeTextSearch::PageId iPageId = 0; + bool iSearchIsInProgress = false; + +}; +} // namespace freetextsearchservice +} // namespace navigation +} // namespace genivi +} // namespace org +} // namespace v1 + +#endif /* FREETEXTSEARCHSTUBIMPL_H_ */ diff --git a/src/freetextsearch-service-wamp/main.cpp b/src/freetextsearch-service-wamp/main.cpp new file mode 100644 index 0000000..4f3d058 --- /dev/null +++ b/src/freetextsearch-service-wamp/main.cpp @@ -0,0 +1,52 @@ +/** +* @licence app begin@ +* SPDX-License-Identifier: MPL-2.0 +* +* \copyright Copyright (C) 2015, 2016 TomTom International B.V. +* \copyright Copyright (C) 2016, PCA Peugeot Citroen +* \author Peter Goedegebure (Peter.Goedegebure@tomtom.com) +* \author Philippe Colliot +* \author Morteza Damavandpeyma +* This Source Code Form is subject to the terms of the +* Mozilla Public License (MPL), v. 2.0. +* If a copy of the MPL was not distributed with this file, +* You can obtain one at http://mozilla.org/MPL/2.0/. +* +* For further information see http://www.genivi.org/. +* +* List of changes: +* , , +* +* @licence end@ +*/ + +#include +#include + +#include +#include "FreeTextSearchStubImpl.hpp" + +int main() +{ + CommonAPI::Runtime::setProperty("LibraryBase", "FreeTextSearch"); + + std::shared_ptr runtime = CommonAPI::Runtime::get(); + + std::string domain = "local"; + std::string instance = "org.genivi.navigation.freetextsearchservice"; + std::string connection = "service"; + + // create service and register it at runtime + std::shared_ptr myService = + std::make_shared(); + runtime->registerService(domain, instance, myService); + std::cout << "Successfully Registered FTS Service!" << std::endl; + + while (true) { + std::cout << "Waiting for calls... (Abort with CTRL+C)" << std::endl; + std::this_thread::sleep_for(std::chrono::seconds(60)); + } + + return 0; +} + diff --git a/src/freetextsearch-service-wamp/workdir/.crossbar/.gitignore b/src/freetextsearch-service-wamp/workdir/.crossbar/.gitignore new file mode 100644 index 0000000..a6c0313 --- /dev/null +++ b/src/freetextsearch-service-wamp/workdir/.crossbar/.gitignore @@ -0,0 +1,3 @@ +key.priv +key.pub +node.pid diff --git a/src/freetextsearch-service-wamp/workdir/.crossbar/config.json b/src/freetextsearch-service-wamp/workdir/.crossbar/config.json new file mode 100644 index 0000000..0635149 --- /dev/null +++ b/src/freetextsearch-service-wamp/workdir/.crossbar/config.json @@ -0,0 +1,131 @@ +{ + "version": 2, + "workers": [ + { + "type": "router", + "realms": [ + { + "name": "realm1", + "roles": [ + { + "name": "public", + "permissions": [ + { + "uri": "", + "match": "prefix", + "allow": { + "call": true, + "register": true, + "publish": true, + "subscribe": true + }, + "disclose": { + "caller": false, + "publisher": false + }, + "cache": true + } + ] + }, + { + "name": "user", + "permissions": [ + { + "uri": "", + "match": "prefix", + "allow": { + "call": true, + "register": true, + "publish": true, + "subscribe": true + }, + "disclose": { + "caller": false, + "publisher": false + }, + "cache": true + } + ] + } + ] + } + ], + "transports": [ + { + "type": "web", + "endpoint": { + "type": "tcp", + "port": 8080 + }, + "paths": { + "/": { + "type": "static", + "directory": "../web" + }, + "ws": { + "type": "websocket", + "auth": { + "anonymous": { + "type": "static", + "role": "public" + } + } + }, + "call": { + "type": "caller", + "realm": "realm1", + "role": "public", + "options": { + "debug": true + } + } + } + }, + { + "type": "rawsocket", + "endpoint": { + "type": "tcp", + "port": 8000 + }, + "auth": { + "anonymous": { + "type": "static", + "role": "public" + }, + "wampcra": { + "type": "static", + "users": { + "homer": { + "secret": "secret123", + "role": "user" + } + } + } + } + }, + { + "type": "rawsocket", + "endpoint": { + "type": "unix", + "path": "/tmp/crossbar.sock" + }, + "auth": { + "anonymous": { + "type": "static", + "role": "public" + }, + "wampcra": { + "type": "static", + "users": { + "homer": { + "secret": "secret123", + "role": "user" + } + } + } + } + } + ] + } + ] +} diff --git a/src/freetextsearch-service-wamp/workdir/commonapi.ini b/src/freetextsearch-service-wamp/workdir/commonapi.ini new file mode 100644 index 0000000..2458c3c --- /dev/null +++ b/src/freetextsearch-service-wamp/workdir/commonapi.ini @@ -0,0 +1,11 @@ +[default] +binding=wamp + +[logging] +console=true +level=verbose +dlt=false + + +[stub] +local:org.genivi.navigation.freetextsearchservice:v0_7:org.genivi.navigation.freetextsearchservice=../../build/libFreeTextSearch-wamp.so diff --git a/src/freetextsearch-service-wamp/workdir/runRESTClient.sh b/src/freetextsearch-service-wamp/workdir/runRESTClient.sh new file mode 100755 index 0000000..487b8c2 --- /dev/null +++ b/src/freetextsearch-service-wamp/workdir/runRESTClient.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# NOTE: the first argument (here: 7) is the client id for the communication +# the second and third argument are the actual arguments for the add2() method +# the return value will be another struct containing the sum and the difference of the add2 arguments + +curl -H "Content-Type: application/json" \ + -d '{"procedure": "local:org.genivi.navigation.freetextsearchservice:v0_7:org.genivi.navigation.freetextsearchservice.add2", "args": [7, 33, 22]}' \ + http://127.0.0.1:8080/call + +echo diff --git a/src/freetextsearch-service-wamp/workdir/runServer.sh b/src/freetextsearch-service-wamp/workdir/runServer.sh new file mode 100755 index 0000000..75be95b --- /dev/null +++ b/src/freetextsearch-service-wamp/workdir/runServer.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +../../build/FreeTextSearchService diff --git a/src/freetextsearch-service/CMakeLists.txt b/src/freetextsearch-service/CMakeLists.txt index 028365f..9ca9886 100644 --- a/src/freetextsearch-service/CMakeLists.txt +++ b/src/freetextsearch-service/CMakeLists.txt @@ -32,7 +32,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) set(PARENT_API freetextsearchservice) set(ROOT_API navigation) -set(API_VERSION_MAJOR 0) +set(API_VERSION_MAJOR 1) set(API_VERSION "v${API_VERSION_MAJOR}") set(COMMONAPI_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/src-gen") set(PRJ_SRC_GEN_PATH ${COMMONAPI_GEN_DIR}/${API_VERSION}/org/genivi/${ROOT_API}/${PARENT_API}) diff --git a/src/freetextsearch-service/FreeTextSearchStubImpl.hpp b/src/freetextsearch-service/FreeTextSearchStubImpl.hpp index a6fbce3..2badb58 100644 --- a/src/freetextsearch-service/FreeTextSearchStubImpl.hpp +++ b/src/freetextsearch-service/FreeTextSearchStubImpl.hpp @@ -26,10 +26,10 @@ #include #include #include -#include -#include +#include +#include -using namespace v0::org::genivi::navigation::freetextsearchservice; +using namespace v1::org::genivi::navigation::freetextsearchservice; using namespace v4::org::genivi::navigation; using namespace v4::org::genivi; diff --git a/test/poi-service/script/paris/bicycle.xml b/test/poi-service/script/paris/bicycle.xml old mode 100755 new mode 100644 index 03a6ce5..cced5c1 --- a/test/poi-service/script/paris/bicycle.xml +++ b/test/poi-service/script/paris/bicycle.xml @@ -1,31 +1,44 @@ - + The data included in this document is from www.openstreetmap.org. The data is made available under ODbL. - + + + + + + - - - - + + + + + + + - + - + + + + + + + - @@ -33,33 +46,64 @@ + + + + + + + + + + - - + + + + + + - - + + + + + + + + + + + + + + + + + + + - + @@ -69,9 +113,15 @@ + + + + + + + - @@ -81,65 +131,88 @@ - - + + + + + + + + + + + + + + + - - + + + + + - + - + - - - - - - - - - - - - - + + + + + + + + + - - + + + + + + - + + + + - + - - + + + + + + @@ -149,119 +222,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + - - - - - - - - + + + + + + - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + - - - - + + + + + + + - - + + + - - + + + + + - + + + + - + @@ -271,7 +426,15 @@ + + + + + + + + @@ -283,19 +446,31 @@ - - - + + + + + + + + + - + + + + + + + @@ -317,29 +492,68 @@ - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + @@ -369,101 +583,111 @@ - - - - - - - - - - - - - - - - - - - - - + - + + - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - + + + + + - + + + + - + + + + + + - - + + + + + + + + + + + - + - + + + + + + @@ -473,31 +697,41 @@ - - + + + + + + - + + - + - - + + + + - + + + + @@ -510,30 +744,38 @@ - - - - + + + + + - - + + + - - - - - + + + + + + + + + + + - + @@ -555,46 +797,50 @@ - - - - - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + @@ -604,35 +850,32 @@ - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + - + + @@ -645,9 +888,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -655,17 +932,14 @@ - - - - - + + @@ -674,7 +948,7 @@ - + @@ -696,35 +970,50 @@ + + + + + + + - - - - + + + + + - + + + + - + - - - - + + + + + + + + @@ -739,67 +1028,540 @@ + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/poi-service/script/paris/fuel-station.xml b/test/poi-service/script/paris/fuel-station.xml old mode 100755 new mode 100644 index 737022a..c02b24a --- a/test/poi-service/script/paris/fuel-station.xml +++ b/test/poi-service/script/paris/fuel-station.xml @@ -1,107 +1,190 @@ - + The data included in this document is from www.openstreetmap.org. The data is made available under ODbL. - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - + + + + - - - + + + + + + + + + + + + - + + + + + + + + + + @@ -110,74 +193,128 @@ + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + - - - + + - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + - + + + @@ -185,9 +322,12 @@ + - + + + @@ -197,6 +337,13 @@ + + + + + + + @@ -208,8 +355,19 @@ + + + + + + + + + + + @@ -229,10 +387,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -287,6 +471,10 @@ + + + + @@ -301,8 +489,16 @@ + + + + + + + + @@ -329,10 +525,17 @@ + + + + + + + @@ -353,22 +556,59 @@ + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + - + + + + + + @@ -378,6 +618,12 @@ + + + + + + @@ -389,39 +635,79 @@ + + + + + + + - - - - - + + + + + - + + + + - + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + @@ -430,12 +716,13 @@ - + - + + @@ -450,6 +737,10 @@ + + + + @@ -469,55 +760,80 @@ + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + - + + + + + + + @@ -525,26 +841,54 @@ + + + + + + + + + - + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + @@ -558,7 +902,9 @@ + + @@ -567,14 +913,35 @@ + + + + + + + + + + + + + + + + + + + + + @@ -585,11 +952,25 @@ + + + + + + + + + + + + + + @@ -597,23 +978,46 @@ - + + + + + + + + + + + + + - + + + + + + + + + + + - - + + + @@ -623,7 +1027,8 @@ - + + @@ -632,39 +1037,30 @@ - + + - - - - - - - - - - - - - - - + + + + + - + @@ -674,8 +1070,9 @@ + - + @@ -684,168 +1081,208 @@ - + + - - - - - + - - + + + + - + + + + - - + + + + + + + - + - - - + + + + + + - + + - + - + + + + + + - + - + + - - + + + - + - + + - + - + - - - - - + + + + + + - - - - - - - + - + + - - - - + + + - + - - - + - - - - - + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - + + + + + + + + + + + + + + + + + + + + - + + + - - - - - - + + + + + + + - + + - + - - - - + + + - + + + + + + + + + + + + + + - - - - - - + @@ -859,11 +1296,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -874,11 +1339,36 @@ + + + + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -890,9 +1380,16 @@ + + + + + + + @@ -903,6 +1400,13 @@ + + + + + + + @@ -918,7 +1422,8 @@ - + + @@ -939,8 +1444,9 @@ - - + + + @@ -974,8 +1480,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -989,7 +1524,13 @@ + + + + + + @@ -1001,8 +1542,17 @@ - + + + + + + + + + + @@ -1029,14 +1579,21 @@ - - + + + + + + + + + @@ -1060,6 +1617,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1069,8 +1655,18 @@ - - + + + + + + + + + + + + @@ -1082,7 +1678,12 @@ + + + + + @@ -1104,7 +1705,10 @@ + + + @@ -1121,7 +1725,10 @@ + + + @@ -1145,8 +1752,20 @@ - + + + + + + + + + + + + + @@ -1158,12 +1777,20 @@ + + + + + - + + + + @@ -1174,10 +1801,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/poi-service/script/paris/museum-and-hotel.xml b/test/poi-service/script/paris/museum-and-hotel.xml old mode 100755 new mode 100644 index 2917142..44b3843 --- a/test/poi-service/script/paris/museum-and-hotel.xml +++ b/test/poi-service/script/paris/museum-and-hotel.xml @@ -1,24 +1,38 @@ - + The data included in this document is from www.openstreetmap.org. The data is made available under ODbL. - + - - + + - - - - - + + + + + + + + + + + + + + + + + + - + + @@ -45,10 +59,10 @@ - - + + - + @@ -71,9 +85,10 @@ - + + @@ -82,8 +97,8 @@ - - + + @@ -103,11 +118,14 @@ - - + + + + + @@ -115,7 +133,7 @@ - + @@ -125,35 +143,41 @@ + - + + - + + + + - - + + + - - + + @@ -162,6 +186,7 @@ + @@ -171,6 +196,7 @@ + @@ -200,15 +226,16 @@ - + - + + @@ -234,8 +261,9 @@ - + + @@ -243,27 +271,41 @@ + + + + + + + + + - + - - + + + - + + - + - + + - - + + + + @@ -294,10 +336,6 @@ - - - - @@ -318,30 +356,20 @@ - - - - - - - - - - - - + + @@ -398,8 +426,8 @@ - - + + @@ -425,7 +453,11 @@ - + + + + + @@ -442,8 +474,8 @@ - - + + @@ -453,9 +485,10 @@ - + - + + @@ -468,18 +501,10 @@ - - - - - - - - @@ -490,10 +515,12 @@ + - + + @@ -510,8 +537,15 @@ - + + + + + + + + @@ -519,22 +553,32 @@ - - + + + + + + + + + + + + @@ -562,7 +606,7 @@ - + @@ -579,14 +623,17 @@ + + + - + @@ -600,7 +647,7 @@ - + @@ -609,25 +656,30 @@ - - + + - - + + + + + - - + + + + @@ -637,19 +689,30 @@ - - + + + + + - + + + + + - + + + + - - + + + @@ -659,6 +722,7 @@ + @@ -669,13 +733,20 @@ + + + + + + + @@ -693,12 +764,13 @@ - + - + + @@ -712,6 +784,7 @@ + @@ -742,10 +815,10 @@ - + - + @@ -780,6 +853,7 @@ + @@ -833,86 +907,90 @@ + + - - - - - + + - + - + + + + - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + + + + + + - + - - - - - + + + + + @@ -921,21 +999,25 @@ + + + + @@ -955,9 +1037,10 @@ - + + - + @@ -965,8 +1048,8 @@ - - + + @@ -995,18 +1078,19 @@ - + + + + + - + - - - - - + + @@ -1023,17 +1107,21 @@ - - + + + + - + + - + + @@ -1072,11 +1160,21 @@ - + + + + + + + + + + - + + @@ -1118,7 +1216,15 @@ + + + + + + + + @@ -1149,18 +1255,6 @@ - - - - - - - - - - - - @@ -1169,18 +1263,20 @@ - + - + + + @@ -1208,12 +1304,6 @@ - - - - - - @@ -1352,10 +1442,10 @@ - - + + - + @@ -1366,7 +1456,6 @@ - @@ -1378,20 +1467,22 @@ - + + + - + - + - - + + @@ -1409,11 +1500,14 @@ + + + - + @@ -1428,33 +1522,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1472,10 +1539,8 @@ - - @@ -1487,7 +1552,6 @@ - @@ -1524,6 +1588,14 @@ + + + + + + + + @@ -1554,6 +1626,7 @@ + @@ -1578,7 +1651,6 @@ - @@ -1598,8 +1670,28 @@ + + + + + + + + + + + + + + + + + + + + @@ -1608,9 +1700,9 @@ - + - + @@ -1657,103 +1749,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1772,1076 +1785,59 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2855,6 +1851,7 @@ + @@ -2941,30 +1938,28 @@ - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + @@ -2994,6 +1989,12 @@ + + + + + + @@ -3004,12 +2005,35 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -3028,6 +2052,25 @@ + + + + + + + + + + + + + + + + + + + @@ -3318,6 +2361,9 @@ + + + @@ -3325,6 +2371,23 @@ + + + + + + + + + + + + + + + + + @@ -3332,13 +2395,23 @@ + + + + + + + + + + @@ -3349,15 +2422,50 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + @@ -3377,7 +2485,7 @@ - + @@ -3408,8 +2516,12 @@ + + + + @@ -3435,23 +2547,6 @@ - - - - - - - - - - - - - - - - - @@ -3464,7 +2559,8 @@ - + + @@ -3508,11 +2604,6 @@ - - - - - @@ -3521,6 +2612,20 @@ + + + + + + + + + + + + + + @@ -3528,16 +2633,33 @@ + + + + + + + + + + + + + + + + + @@ -3555,16 +2677,6 @@ - - - - - - - - - - @@ -3932,7 +3044,7 @@ - + @@ -3968,19 +3080,35 @@ + + + + + + + + - + + + + + + + + + - - - + + + - + @@ -3988,7 +3116,7 @@ - + @@ -4004,7 +3132,9 @@ + + @@ -4032,7 +3162,18 @@ - + + + + + + + + + + + + @@ -4040,25 +3181,22 @@ - - - - + - + @@ -4073,12 +3211,9 @@ - - - @@ -4102,150 +3237,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - @@ -4300,7 +3298,7 @@ - + @@ -4412,8 +3410,8 @@ - - + + @@ -4427,20 +3425,33 @@ - + + + + + + - + + + + + + + + - + + @@ -4463,6 +3474,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -4482,141 +3514,260 @@ - - - + + + + + + + + - - + - - - - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4747,36 +3898,146 @@ + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4805,56 +4066,94 @@ + + + + - + + + + + - + + + + + + + + + - + + - + + + + + + + + + + + + + + + + + + - + + + + + + - - + @@ -4945,11 +4244,31 @@ + + + + + + + + + + + + + + + + + + + + @@ -4963,25 +4282,21 @@ - - - - - - - - - + + + + + @@ -4998,11 +4313,39 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5022,10 +4365,10 @@ - + - + @@ -5033,12 +4376,14 @@ - - + + - + + + @@ -5049,15 +4394,20 @@ + + + + + + - @@ -5066,6 +4416,10 @@ + + + + @@ -5118,6 +4472,22 @@ + + + + + + + + + + + + + + + + @@ -5125,15 +4495,11 @@ + - - - - - @@ -5141,12 +4507,14 @@ - - + + + + @@ -5177,63 +4545,41 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + @@ -5242,17 +4588,26 @@ + + + + + + + + + @@ -5269,6 +4624,7 @@ + @@ -5299,7 +4655,9 @@ + + @@ -5337,55 +4695,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + - + - + @@ -5410,7 +4803,7 @@ - + @@ -5420,6 +4813,7 @@ + @@ -5448,82 +4842,79 @@ + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + - @@ -5533,57 +4924,56 @@ - - + - - - + - + - - - - + - - + - - - - + - - - + + + + + + + + + + + + @@ -5602,12 +4992,6 @@ - - - - - - @@ -5654,36 +5038,153 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5692,33 +5193,47 @@ + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -5742,9 +5257,10 @@ - + + @@ -5766,6 +5282,14 @@ + + + + + + + + @@ -5773,7 +5297,7 @@ - + @@ -5781,46 +5305,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5833,6 +5421,13 @@ + + + + + + + @@ -5842,15 +5437,16 @@ - - + + + + - - + - + @@ -5859,22 +5455,9 @@ + - - - - - - - - - - - - - - @@ -5885,6 +5468,11 @@ + + + + + @@ -5895,6 +5483,10 @@ + + + + @@ -5930,11 +5522,31 @@ + + + + + + + + + + + + + + + + + + + + @@ -5945,57 +5557,66 @@ + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + - - - - - + + + + - - - + + + + + + + + + + @@ -6035,21 +5656,20 @@ - + - - - + + + - - - - + + + @@ -6062,8 +5682,9 @@ - + + @@ -6097,87 +5718,163 @@ - + + - - - + + + + + + - - - - - + + + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6193,18 +5890,20 @@ - + - + + + @@ -6217,11 +5916,26 @@ + + + + - + + + + + + + + + + + + @@ -6231,14 +5945,44 @@ - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6265,14 +6009,29 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -6358,11 +6117,9 @@ - - @@ -6370,11 +6127,9 @@ - - @@ -6390,7 +6145,6 @@ - @@ -6399,9 +6153,7 @@ - - @@ -6418,7 +6170,6 @@ - @@ -6483,10 +6234,11 @@ + - + @@ -6495,13 +6247,11 @@ - - @@ -6520,13 +6270,10 @@ - - - @@ -6543,7 +6290,6 @@ - @@ -6555,26 +6301,33 @@ - + - + - + + + + + + + + @@ -6583,19 +6336,31 @@ + + + + + + + + + + + + @@ -6748,14 +6513,34 @@ + + + + + + + + + + + + + + + + + + + + + - - + @@ -6770,19 +6555,94 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6791,18 +6651,24 @@ - - + + + + + - + + + + @@ -6896,10 +6762,18 @@ + + + + + + + + @@ -6912,6 +6786,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -6919,26 +6816,39 @@ + + + + + + + + + + + + + @@ -6957,26 +6867,24 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -6999,6 +6907,13 @@ + + + + + + + @@ -7045,7 +6960,12 @@ - + + + + + + @@ -7133,6 +7053,21 @@ + + + + + + + + + + + + + + + @@ -7166,11 +7101,15 @@ - + + + + + @@ -7185,34 +7124,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7246,10 +7233,24 @@ + - - + + + + + + + + + + + + + + + @@ -7379,11 +7380,11 @@ - + - + @@ -7411,9 +7412,9 @@ - + - + @@ -7448,7 +7449,7 @@ - + @@ -7460,11 +7461,16 @@ + + + + - + + @@ -7488,20 +7494,8 @@ - - - - - - - - - - - - @@ -7516,6 +7510,18 @@ + + + + + + + + + + + + @@ -7538,7 +7544,6 @@ - @@ -7564,63 +7569,53 @@ - - - - - - + - + - + - - + - + - + - - - - + + - - - + @@ -7629,107 +7624,76 @@ - - - - - - - + - - - - - - + - - - - - - - - - - + - - - - - - - - + + - - + - + + - - - - + - - @@ -7775,8 +7739,18 @@ + + + + + + + + + + @@ -7786,19 +7760,22 @@ + - + + - + + @@ -7809,7 +7786,7 @@ - + @@ -7916,16 +7893,16 @@ - + - + - + @@ -7935,11 +7912,11 @@ + - - + @@ -7948,9 +7925,12 @@ - + + + + - + @@ -7981,6 +7961,9 @@ + + + @@ -8014,14 +7997,6 @@ - - - - - - - - @@ -8037,80 +8012,82 @@ - + - + - + - + - + - + - + - + - + - + + + + - - + - + - + @@ -8144,9 +8121,16 @@ + + + + + + + @@ -8157,6 +8141,14 @@ + + + + + + + + @@ -8187,22 +8179,16 @@ - - - - - - - - + - + + @@ -8297,7 +8283,13 @@ - + + + + + + + @@ -8314,12 +8306,17 @@ - + - - + + + + + + + @@ -8327,6 +8324,7 @@ + @@ -8381,6 +8379,9 @@ + + + @@ -8388,28 +8389,105 @@ - - - + + + + + + - - - + + + - - - + + + - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8418,51 +8496,83 @@ + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + - + - + + + + + + + + - - - + + + + + + + + + + + + + + @@ -8470,8 +8580,15 @@ - - + + + + + + + + + @@ -8502,35 +8619,154 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + @@ -8544,6 +8780,21 @@ + + + + + + + + + + + + + + + @@ -8569,15 +8820,13 @@ - + - + - - + - @@ -8592,7 +8841,7 @@ - + @@ -8621,45 +8870,46 @@ - - - - - - - - - + + + + + - + + - - + + + + + - + - - + + + @@ -8682,8 +8932,16 @@ - + + + + + + + + + @@ -8691,11 +8949,6 @@ - - - - - @@ -8722,12 +8975,15 @@ + + + @@ -8736,6 +8992,7 @@ + @@ -8745,33 +9002,49 @@ + + + + + + + + + + + + + + + + @@ -8795,6 +9068,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -8807,17 +9102,20 @@ - + + + + @@ -8859,9 +9157,12 @@ + - + + + @@ -8884,10 +9185,11 @@ + - + @@ -8922,7 +9224,12 @@ + + + + + @@ -8979,10 +9286,13 @@ + - + + + @@ -8990,18 +9300,22 @@ + + + - + + @@ -9009,82 +9323,85 @@ - - - - - + + + + - - + + - + - + + - - - - - - + - + + - - + + + + - + + - + + - + + - + + - + - + + @@ -9094,28 +9411,24 @@ - - - - - - - - - - - + + + + + + - + + @@ -9125,48 +9438,44 @@ + - + + + + - + - + + - - - - - - - - - - - - - - + - + + + + + @@ -9175,9 +9484,10 @@ - + + @@ -9187,17 +9497,18 @@ + - + + + - - - - + + @@ -9223,22 +9534,16 @@ - + - - + + - - - - - - @@ -9256,6 +9561,18 @@ + + + + + + + + + + + + @@ -9279,6 +9596,7 @@ + @@ -9286,24 +9604,17 @@ - + - + - - - - - - - - - + + @@ -9330,6 +9641,7 @@ + @@ -9392,23 +9704,13 @@ - - - - - - - - - - - + @@ -9417,7 +9719,7 @@ - + @@ -9426,25 +9728,6 @@ - - - - - - - - - - - - - - - - - - - @@ -9455,6 +9738,7 @@ + @@ -9464,6 +9748,7 @@ + @@ -9474,10 +9759,6 @@ - - - - @@ -9529,7 +9810,14 @@ - + + + + + + + + @@ -9547,30 +9835,23 @@ - - - - - - - - - - - - - - + + + + + + + - + @@ -9593,11 +9874,9 @@ - - @@ -9606,17 +9885,17 @@ - - + + - - + + @@ -9643,15 +9922,25 @@ - + - - + + + + + + + + + + + + @@ -9696,6 +9985,18 @@ + + + + + + + + + + + + @@ -9743,7 +10044,7 @@ - + @@ -9773,12 +10074,13 @@ - + + @@ -9788,7 +10090,8 @@ - + + @@ -9816,9 +10119,12 @@ - + + + + @@ -9844,15 +10150,15 @@ - - + + - + @@ -9861,7 +10167,7 @@ - + @@ -9869,7 +10175,7 @@ - + @@ -9884,6 +10190,7 @@ + @@ -9893,15 +10200,14 @@ - - - - + + + @@ -9932,33 +10238,50 @@ + + + + + + + + + + + + + + + + + - - - + + - + - + + @@ -9988,20 +10311,31 @@ + + + + + - + + + + + + + @@ -10024,13 +10358,10 @@ - - - - - - - + + + + @@ -10054,27 +10385,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -10092,6 +10402,21 @@ + + + + + + + + + + + + + + + @@ -10099,22 +10424,24 @@ - - - + + + + - + + + + + + - - - - @@ -10147,6 +10474,19 @@ + + + + + + + + + + + + + @@ -10162,8 +10502,9 @@ - + + @@ -10173,16 +10514,13 @@ + - - - - @@ -10191,6 +10529,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -10228,17 +10588,26 @@ - - + + + + + + + + + - + + - + + @@ -10247,7 +10616,7 @@ - + @@ -10275,6 +10644,9 @@ + + + @@ -10282,14 +10654,25 @@ + + + + + + + + + + + @@ -10378,11 +10761,6 @@ - - - - - @@ -10391,6 +10769,7 @@ + @@ -10400,6 +10779,7 @@ + @@ -10430,8 +10810,8 @@ - - + + @@ -10453,13 +10833,6 @@ - - - - - - - @@ -10481,9 +10854,9 @@ - - - + + + @@ -10499,18 +10872,18 @@ - - - + + + - - - + + + @@ -10524,18 +10897,18 @@ - - - + + + - - - + + + @@ -10558,15 +10931,20 @@ + + + - - - + + + + + + - @@ -10577,14 +10955,14 @@ + + - - - - + + @@ -10616,7 +10994,7 @@ - + @@ -10626,15 +11004,12 @@ - - - - + @@ -10642,12 +11017,12 @@ - + - + @@ -10656,31 +11031,19 @@ - - - - - - - - - - - - - - - - + + + + + - @@ -10697,9 +11060,12 @@ - + + + + - + @@ -10708,15 +11074,17 @@ - - - - - - + + + + + + + + @@ -10753,7 +11121,7 @@ - + @@ -10771,7 +11139,9 @@ - + + + @@ -10785,24 +11155,26 @@ - + - - + - + + - + + + @@ -10811,6 +11183,14 @@ + + + + + + + + @@ -10847,10 +11227,6 @@ - - - - @@ -10865,6 +11241,11 @@ + + + + + @@ -10875,34 +11256,19 @@ - - - - - - - - - - - - - - - - + @@ -10918,11 +11284,11 @@ - + - + @@ -10931,7 +11297,7 @@ - + @@ -10939,12 +11305,13 @@ - + + @@ -10973,11 +11340,6 @@ - - - - - @@ -11031,9 +11393,10 @@ - + + - + @@ -11048,14 +11411,15 @@ + - + - + @@ -11068,6 +11432,14 @@ + + + + + + + + @@ -11100,7 +11472,7 @@ - + @@ -11124,23 +11496,27 @@ - + - + + + + + - + - + @@ -11154,11 +11530,6 @@ - - - - - @@ -11175,25 +11546,36 @@ + - + - + + + + + + + + + + + - + @@ -11210,9 +11592,9 @@ - + - + @@ -11272,8 +11654,10 @@ + + @@ -11289,12 +11673,14 @@ + + - + @@ -11302,6 +11688,7 @@ + @@ -11326,6 +11713,7 @@ + @@ -11340,63 +11728,41 @@ + - + - - - - - - + + - + - - - - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + @@ -11404,19 +11770,25 @@ + - + + + + + + - + - + @@ -11447,7 +11819,7 @@ - + @@ -11468,14 +11840,23 @@ - + + + + + + + + + + - + @@ -11491,18 +11872,18 @@ + - - - - - - + + + + + @@ -11512,6 +11893,7 @@ + @@ -11522,6 +11904,18 @@ + + + + + + + + + + + + @@ -11534,7 +11928,7 @@ - + @@ -11546,15 +11940,6 @@ - - - - - - - - - @@ -11580,6 +11965,10 @@ + + + + @@ -11606,18 +11995,11 @@ - - - - - - - - + @@ -11648,7 +12030,12 @@ - + + + + + + @@ -11657,7 +12044,7 @@ - + @@ -11692,6 +12079,7 @@ + @@ -11711,25 +12099,37 @@ - - - + + + + + + + - + + + + + + + + + - - + + - + @@ -11739,6 +12139,10 @@ + + + + @@ -11749,6 +12153,18 @@ + + + + + + + + + + + + @@ -11778,7 +12194,7 @@ - + @@ -11790,6 +12206,7 @@ + @@ -11801,6 +12218,7 @@ + @@ -11814,7 +12232,7 @@ - + @@ -11859,14 +12277,10 @@ + + - - - - - - @@ -11882,21 +12296,18 @@ - + - - - + - @@ -11950,33 +12361,11 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + - - @@ -11985,7 +12374,8 @@ - + + @@ -12007,7 +12397,8 @@ - + + @@ -12019,19 +12410,23 @@ - + + + + - + + + + + - - - - + @@ -12041,8 +12436,8 @@ - - + + @@ -12054,6 +12449,10 @@ + + + + @@ -12066,16 +12465,26 @@ + + + + + + + + + - + + @@ -12112,6 +12521,18 @@ + + + + + + + + + + + + @@ -12130,7 +12551,7 @@ - + @@ -12143,6 +12564,8 @@ + + @@ -12150,7 +12573,7 @@ - + @@ -12189,16 +12612,11 @@ - + - - - - - @@ -12230,169 +12648,2517 @@ - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12414,14 +15180,19 @@ + + + - - + + + + @@ -12429,9 +15200,10 @@ - + + + - @@ -12447,6 +15219,7 @@ + @@ -12454,8 +15227,10 @@ + + @@ -12479,13 +15254,19 @@ + + + + + + @@ -12499,10 +15280,12 @@ - - + + + - + + @@ -12523,47 +15306,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12586,7 +15328,7 @@ - + @@ -12638,7 +15380,7 @@ - + @@ -12654,7 +15396,7 @@ - + @@ -12662,11 +15404,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12683,6 +15451,7 @@ + @@ -12706,6 +15475,7 @@ + @@ -12731,6 +15501,7 @@ + @@ -12764,6 +15535,7 @@ + @@ -12773,9 +15545,12 @@ - + + + + @@ -12784,6 +15559,7 @@ + @@ -12806,6 +15582,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12820,112 +15636,40 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + - - + + + + + + + + + + + + + + @@ -12950,1109 +15694,39 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14098,10 +15772,28 @@ + + + + + + + + + + + + + + + + + + @@ -14130,6 +15822,7 @@ + @@ -14148,6 +15841,7 @@ + @@ -14164,6 +15858,7 @@ + @@ -14177,6 +15872,7 @@ + @@ -14202,14 +15898,40 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14281,6 +16003,7 @@ + @@ -14370,8 +16093,10 @@ + + @@ -14474,12 +16199,20 @@ + + + + + + + - + + @@ -14512,6 +16245,7 @@ + @@ -14533,6 +16267,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14545,8 +16307,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14560,6 +16371,7 @@ + @@ -14572,11 +16384,12 @@ + - + @@ -14599,8 +16412,11 @@ - + + + + @@ -14634,10 +16450,12 @@ + + @@ -14675,9 +16493,51 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14694,30 +16554,16 @@ + - - + + + - + + - - - - - - - - - - - - - - - - - @@ -14994,16 +16840,23 @@ + + + + - - + + + + + @@ -15040,7 +16893,7 @@ - + @@ -15048,6 +16901,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -15058,6 +16933,7 @@ + @@ -15094,13 +16970,19 @@ + + + + - + + + @@ -15113,29 +16995,29 @@ + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - @@ -15152,11 +17034,27 @@ + + + + + + + + + + + + + + + - + + @@ -15170,144 +17068,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -15316,6 +17076,7 @@ + @@ -15326,6 +17087,7 @@ + @@ -15345,13 +17107,17 @@ - + + + + + - + @@ -15372,17 +17138,22 @@ + + + + - + - + + @@ -15410,7 +17181,7 @@ - + @@ -15438,6 +17209,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15460,78 +17258,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -15560,6 +17286,7 @@ + @@ -15580,6 +17307,7 @@ + @@ -15667,25 +17395,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15698,9 +17454,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15716,6 +17519,7 @@ + @@ -15723,8 +17527,11 @@ + + + @@ -15738,9 +17545,519 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15752,10 +18069,57 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + @@ -15780,6 +18144,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -15815,15 +18199,78 @@ + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15834,31 +18281,11 @@ + - - - - - - - - - - - - - - - - - - - - - @@ -15902,6 +18329,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -15913,11 +18363,15 @@ + + - + + + - + @@ -16031,6 +18485,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -16049,6 +18524,24 @@ + + + + + + + + + + + + + + + + + + @@ -16064,28 +18557,16 @@ + - + + + - - - - - - - - - - - - - - - - - - + + + @@ -16131,6 +18612,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16143,54 +18656,13 @@ + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -16198,7 +18670,10 @@ + + + @@ -16216,7 +18691,7 @@ - + @@ -16269,7 +18744,32 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16298,6 +18798,7 @@ + @@ -16326,11 +18827,26 @@ + + + + + + + + + + + + + + + @@ -16347,17 +18863,24 @@ - + + + + + + + + @@ -16397,6 +18920,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16404,12 +18966,12 @@ - - - - - + + + + + @@ -16417,6 +18979,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16427,40 +19069,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - + + @@ -16494,8 +19124,9 @@ + - + @@ -16525,10 +19156,13 @@ - + + + + @@ -16543,7 +19177,9 @@ - + + + @@ -16551,78 +19187,47 @@ - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + @@ -16631,19 +19236,14 @@ - - - - - @@ -16656,27 +19256,20 @@ - - - - - - - @@ -16685,10 +19278,8 @@ - - @@ -16700,16 +19291,44 @@ + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16734,35 +19353,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16778,41 +19368,223 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16824,17 +19596,72 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16848,6 +19675,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16857,11 +19742,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16885,26 +19811,13 @@ + - - - - - - - - - - - - - - @@ -16918,10 +19831,11 @@ + - - + + @@ -16963,6 +19877,7 @@ + @@ -16985,6 +19900,7 @@ + @@ -16992,6 +19908,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17026,13 +19982,66 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17137,6 +20146,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17156,11 +20203,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17170,19 +20265,42 @@ + - + - + + + + + + + + + + + + + + + + + + + + + + + @@ -17234,22 +20352,109 @@ + - - - - - - - - - - + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17336,6 +20541,7 @@ + @@ -17380,32 +20586,20 @@ + + + - + - + + - - - - - - - - - - - - - - - - @@ -17428,6 +20622,7 @@ + @@ -17456,6 +20651,7 @@ + @@ -17479,6 +20675,7 @@ + @@ -17574,7 +20771,8 @@ - + + @@ -17594,30 +20792,14 @@ - + - + - - - - - - - - - - - - - - - - @@ -17686,6 +20868,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17709,6 +20917,7 @@ + @@ -17802,7 +21011,7 @@ - + @@ -17889,12 +21098,42 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17904,11 +21143,12 @@ - + + @@ -17926,25 +21166,184 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17965,6 +21364,7 @@ + @@ -17972,42 +21372,53 @@ + - - + + + + + - - - - - - - - + + + + + + + + + + + + - + + + + - + + + - - - - - + + + - + + - @@ -18091,10 +21502,12 @@ - + + + @@ -18114,8 +21527,10 @@ + + @@ -18134,6 +21549,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18168,12 +21636,42 @@ + + + + + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + @@ -18184,6 +21682,7 @@ + @@ -18224,40 +21723,43 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + @@ -18268,6 +21770,7 @@ + @@ -18305,10 +21808,12 @@ + + @@ -18344,6 +21849,7 @@ + @@ -18366,6 +21872,7 @@ + @@ -18392,6 +21899,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18445,6 +21977,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -18461,6 +22014,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18498,6 +22082,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18538,13 +22153,43 @@ + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + @@ -18598,9 +22243,10 @@ - + + @@ -18609,14 +22255,18 @@ + + - - - + + + + + @@ -18635,11 +22285,13 @@ - - + + - + + + @@ -18712,8 +22364,9 @@ - + + @@ -18765,15 +22418,19 @@ - + - + + + + - + + @@ -18791,6 +22448,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -18823,7 +22503,6 @@ - @@ -18852,6 +22531,7 @@ + @@ -18872,6 +22552,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -18920,72 +22621,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19009,23 +22644,50 @@ + - - - - - - - - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19056,6 +22718,7 @@ + @@ -19106,6 +22769,7 @@ + @@ -19124,6 +22788,7 @@ + @@ -19138,6 +22803,7 @@ + @@ -19176,11 +22842,12 @@ - + - + + @@ -19221,6 +22888,7 @@ + @@ -19237,14 +22905,16 @@ + - + + @@ -19335,7 +23005,7 @@ - + @@ -19473,10 +23143,19 @@ + + + + + + + + + @@ -19490,9 +23169,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19512,11 +23235,16 @@ + + + + + @@ -19582,13 +23310,16 @@ + + + @@ -19601,7 +23332,9 @@ + + @@ -19609,6 +23342,7 @@ + @@ -19684,11 +23418,12 @@ - + + @@ -19713,6 +23448,7 @@ + @@ -19761,11 +23497,11 @@ - - - + + + - + @@ -19781,19 +23517,8 @@ - - - - - - - - - - - @@ -19816,10 +23541,11 @@ - + + @@ -19840,14 +23566,15 @@ - + - + + @@ -19862,9 +23589,10 @@ - + + @@ -19875,12 +23603,51 @@ + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19952,11 +23719,16 @@ + + + + - + + @@ -19971,16 +23743,8 @@ - + - - - - - - - - @@ -19989,11 +23753,15 @@ + - + + + + @@ -20096,12 +23864,18 @@ + + + + - - + + + + @@ -20120,27 +23894,137 @@ + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - - - - + + + + - - + + + + + + + + + @@ -20161,10 +24045,11 @@ - + + @@ -20174,12 +24059,11 @@ - - - - + + + @@ -20194,10 +24078,15 @@ + + + + + - - - + + + @@ -20249,7 +24138,7 @@ - + @@ -20316,17 +24205,299 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20339,6 +24510,19 @@ + + + + + + + + + + + + + @@ -20346,6 +24530,7 @@ + @@ -20353,6 +24538,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20363,7 +24743,7 @@ - + @@ -20382,7 +24762,7 @@ - + @@ -20391,6 +24771,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20403,7 +24899,7 @@ - + @@ -20416,7 +24912,7 @@ - + @@ -20428,7 +24924,11 @@ + + + + @@ -20436,13 +24936,13 @@ - - + + @@ -20463,39 +24963,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -20543,16 +25011,18 @@ - - + + + + - + @@ -20562,5 +25032,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/poi-service/script/paris/station.xml b/test/poi-service/script/paris/station.xml old mode 100755 new mode 100644 index edcee4a..d9cea31 --- a/test/poi-service/script/paris/station.xml +++ b/test/poi-service/script/paris/station.xml @@ -1,7 +1,7 @@ - + The data included in this document is from www.openstreetmap.org. The data is made available under ODbL. - + @@ -10,6 +10,7 @@ + @@ -22,44 +23,56 @@ + - + + + + - + + - + + + + + + + + - + @@ -69,96 +82,83 @@ - + + - + + - + + - + + + - + + + - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - + + + + + + + @@ -167,156 +167,121 @@ + + + + - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + - + + + - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + - + + + + + - + @@ -325,9 +290,10 @@ + - + @@ -336,164 +302,172 @@ + - + + + - + + + - - + + - + + - - - - - - - - - - - - - - - - - - - - + + + + + - + + + - + + + + - + - - + - + + + + + + + + + + + + + + - + @@ -504,304 +478,341 @@ + + + + + + + + + - + + + + + - + + + - + + + + - + + + + + - + + + + + + + + + - + + + + - + + + - + + + + + - + + + + + + + + + - + + + - + + - + + + + - + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + - + + + + - + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + @@ -812,68 +823,70 @@ + - + + + + + - - - - - - - - - - - - - - + + + - + + + + + - + + + + + - + @@ -883,132 +896,144 @@ + - + - + + + + - - - - - - - - - - - + + + + + - + + + + + - + + + - + + + - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + - + + + - + + + + + @@ -1018,108 +1043,132 @@ + + - + + + - + + - + - + + + - + + + - + + + + + + + + + - + + + - + + + - + + + + @@ -1133,38 +1182,52 @@ + + + - + + + + + + + + + + + + @@ -1176,16 +1239,21 @@ + + + + + @@ -1193,10 +1261,14 @@ + + + + @@ -1204,57 +1276,59 @@ + + + + + + + - + + + - - - - - - - - - - - - - + + - + + + + + - + @@ -1262,279 +1336,302 @@ + + - + + + + + - + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + + + + + - + + + - + + + - + + + + + - + + + + + - + + + + + + + + + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + + + + - + + + + + - + - - + + + - - - - - - - - - - - - - + + + + + + + + + @@ -1542,10 +1639,12 @@ + + @@ -1553,304 +1652,340 @@ + + + + + + + + + + - + + + - + + + + + + + + + + + + + + - + + - + + + + + - + + + + + - - + + + - + + + + + - + + - + + + + + - + + + + - + + + - + + + - - - - - - - + + + + - + + + - + + + - + + + - - - - - - - - - - - - - - - - - - + + + - + + + - + + + - + + + - - - - - - - - - - - + + @@ -1859,116 +1994,138 @@ + + + + - + + - - - - - - - + - + + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + - + + + + + + - + + + + + + + + + - - - - - - - - - - - + @@ -1978,48 +2135,65 @@ + - + + + + + - + + + + + - + + + + + - + + + + + @@ -2027,57 +2201,75 @@ + + + + - + + + + + - + + + + + - + + + + + - + + + - + @@ -2085,75 +2277,78 @@ + - + + + + + - - - - - - - - - - - - - - + + + + - + + + + + - + + + + + - + @@ -2162,24 +2357,32 @@ + + + + - + + + + + @@ -2189,198 +2392,250 @@ + + + + - + + + + + + + + + + - + + + - + + + - + + + - + + + + + + + + + - + + + + + + - + + + - + + + - + + + + + - + + + + + - + + + + + - - - - - - - - - - - + + + + + - + + + + + - + + + + + - + + + @@ -2388,21 +2643,26 @@ + + + - + + + @@ -2413,59 +2673,78 @@ + - + + + + + - + + + + + - + + + + + - + + + + + - + + + - + @@ -2474,86 +2753,100 @@ - - - - - - - - - - - - - + + + + + + - + + + + + - + + + - + + + + + - + + + + + - + + + + + - + + + + - + @@ -2562,93 +2855,120 @@ + + + + - + + + + + - + + + + - + + + - + + + - + + + + + - + + + + + - + + + + + - + @@ -2657,6 +2977,7 @@ + @@ -2664,11 +2985,15 @@ + + + + @@ -2676,213 +3001,202 @@ + + + + - + + + + + - + + + + + - + + + + + + + + + + + - - + + + - + + - + + + - + + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - + + + + + + - + - + + + + - - - - + + + + + - - - - - - - - - - - - - + + + + + - + @@ -2892,50 +3206,25 @@ + - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2946,49 +3235,63 @@ + + - + - + + + + - + + + + + - + + - + + + + + @@ -2996,44 +3299,52 @@ + + - + + + + + - - + + + + @@ -3041,99 +3352,37 @@ + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + @@ -3142,33 +3391,17 @@ + - - - - - - - - - - - - - - - - - - - - + + + + + - - - - + + @@ -3179,15 +3412,17 @@ - + + + @@ -3198,28 +3433,10 @@ + - - - - - - - - - - - - - - - - - - - - + @@ -3230,231 +3447,191 @@ + - - - - - - - - - - + + - - - - - - - - + + + + + + - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + + + + - + + + + + - + - + - + + - + + + - + + - + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + + + + - + @@ -3465,23 +3642,25 @@ + + - - + - + + - + + - - + @@ -3489,50 +3668,45 @@ + - + + - - - + + + + + + - + + + + - + + - + + - - - - - - - - - - - - - - - @@ -3540,14 +3714,16 @@ + - + + - + @@ -3555,11 +3731,13 @@ + + @@ -3567,49 +3745,38 @@ - + - + + - + - + + + + + + - - - - - - - - - - - - - - - - - @@ -3620,45 +3787,55 @@ + - + + + + + - + - - + + - + + + + + - + + + - + - - - - + + + @@ -3667,153 +3844,234 @@ + + + + + + + - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3827,139 +4085,469 @@ + - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3967,28 +4555,42 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + -- cgit v1.2.1