From 9fa4a03434576e8ed80a91bd13fd190527301d17 Mon Sep 17 00:00:00 2001 From: Tobe O Date: Sun, 29 Sep 2019 01:26:27 -0400 Subject: [PATCH] Use fcntl to fix non-closing sockets --- .clang-format | 121 ++++ .gitignore | 15 + CMakeLists.txt | 3 +- Vagrantfile | 6 + lib/src/CMakeLists.txt | 1 + lib/src/angel_wings.cc | 14 +- lib/src/angel_wings.h | 8 +- lib/src/bind.cc | 246 ++++----- lib/src/http.cc | 309 +++++------ lib/src/libangel_wings.dylib | Bin 135636 -> 196156 bytes lib/src/libangel_wings.so | Bin 0 -> 157936 bytes lib/src/util.cc | 241 ++++---- lib/src/wings_socket.cc | 207 ++++--- lib/src/wings_socket.dart | 5 +- lib/src/wings_socket.h | 25 +- libangel_wings.dylib | Bin 135636 -> 196156 bytes libangel_wings.so | Bin 0 -> 157936 bytes provision.sh | 24 + ubuntu-bionic-18.04-cloudimg-console.log | 672 +++++++++++++++++++++++ 19 files changed, 1331 insertions(+), 566 deletions(-) create mode 100644 .clang-format create mode 100644 Vagrantfile create mode 100644 lib/src/libangel_wings.so create mode 100644 libangel_wings.so create mode 100755 provision.sh create mode 100644 ubuntu-bionic-18.04-cloudimg-console.log diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..d30c5da2 --- /dev/null +++ b/.clang-format @@ -0,0 +1,121 @@ +--- +Language: Cpp +# BasedOnStyle: LLVM +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Right +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: MultiLine +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +IndentPPDirectives: None +IndentWidth: 2 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Right +ReflowComments: true +SortIncludes: true +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 8 +UseTab: Never +... + diff --git a/.gitignore b/.gitignore index f7a3b87c..f2aac56f 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,18 @@ _deps *-prefix/ # End of https://www.gitignore.io/api/cmake + +# Created by https://www.gitignore.io/api/vagrant +# Edit at https://www.gitignore.io/?templates=vagrant + +### Vagrant ### +# General +.vagrant/ + +# Log files (if you are creating logs in debug mode, uncomment this) +# *.log + +### Vagrant Patch ### +*.box + +# End of https://www.gitignore.io/api/vagrant diff --git a/CMakeLists.txt b/CMakeLists.txt index d240b0ad..4b4c1257 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,5 +3,4 @@ project(angel_wings) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_dart_utils/cmake") find_package(Dart REQUIRED) set(CMAKE_CXX_STANDARD 11) -add_subdirectory(lib/src) -install(TARGETS angel_wings LIBRARY DESTINATION "${CMAKE_CURRENT_LIST_DIR}") +add_subdirectory(lib/src) \ No newline at end of file diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 00000000..995ff4a3 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,6 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : +Vagrant.configure("2") do |config| + config.vm.box = "ubuntu/bionic64" + config.vm.provision "shell", path: "provision.sh" +end diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 22cb170b..758fce7d 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -5,3 +5,4 @@ add_dart_native_extension(angel_wings bind.cc http.cc wings_socket.cc util.cc) install(TARGETS angel_wings LIBRARY DESTINATION "${CMAKE_CURRENT_LIST_DIR}") +install(TARGETS angel_wings LIBRARY DESTINATION "${CMAKE_CURRENT_LIST_DIR}/../..") diff --git a/lib/src/angel_wings.cc b/lib/src/angel_wings.cc index f0907582..74d3a8ef 100644 --- a/lib/src/angel_wings.cc +++ b/lib/src/angel_wings.cc @@ -1,13 +1,12 @@ +#include "angel_wings.h" #include +#include #include #include -#include -#include "angel_wings.h" // The name of the initialization function is the extension name followed // by _Init. -DART_EXPORT Dart_Handle angel_wings_Init(Dart_Handle parent_library) -{ +DART_EXPORT Dart_Handle angel_wings_Init(Dart_Handle parent_library) { if (Dart_IsError(parent_library)) return parent_library; @@ -19,15 +18,14 @@ DART_EXPORT Dart_Handle angel_wings_Init(Dart_Handle parent_library) return Dart_Null(); } -Dart_Handle HandleError(Dart_Handle handle) -{ +Dart_Handle HandleError(Dart_Handle handle) { if (Dart_IsError(handle)) Dart_PropagateError(handle); return handle; } -Dart_NativeFunction ResolveName(Dart_Handle name, int argc, bool *auto_setup_scope) -{ +Dart_NativeFunction ResolveName(Dart_Handle name, int argc, + bool *auto_setup_scope) { // If we fail, we return NULL, and Dart throws an exception. if (!Dart_IsString(name)) return NULL; diff --git a/lib/src/angel_wings.h b/lib/src/angel_wings.h index 0901a658..3aeda0b7 100644 --- a/lib/src/angel_wings.h +++ b/lib/src/angel_wings.h @@ -1,14 +1,16 @@ #ifndef ANGEL_WINGS_WINGS_H #define ANGEL_WINGS_WINGS_H +#include "angel_wings.h" #include #include -#include "angel_wings.h" -Dart_NativeFunction ResolveName(Dart_Handle name, int argc, bool *auto_setup_scope); +Dart_NativeFunction ResolveName(Dart_Handle name, int argc, + bool *auto_setup_scope); Dart_Handle HandleError(Dart_Handle handle); -void wingsThrowError(const char *msg, const char *lib = "dart:core", const char *name = "StateError", int n = -1); +void wingsThrowError(const char *msg, const char *lib = "dart:core", + const char *name = "StateError", int n = -1); void Dart_WingsSocket_bindIPv4(Dart_NativeArguments arguments); void Dart_WingsSocket_bindIPv6(Dart_NativeArguments arguments); void Dart_WingsSocket_getAddress(Dart_NativeArguments arguments); diff --git a/lib/src/bind.cc b/lib/src/bind.cc index 83b9ac81..26d90781 100644 --- a/lib/src/bind.cc +++ b/lib/src/bind.cc @@ -1,169 +1,161 @@ -#include -#include #include "angel_wings.h" #include "wings_socket.h" +#include +#include using namespace wings; void getWingsSocketInfo(Dart_NativeArguments arguments, WingsSocketInfo *info); -WingsSocket *wingsFindSocket(Dart_NativeArguments arguments, const WingsSocketInfo &info, int af); +WingsSocket *wingsFindSocket(Dart_NativeArguments arguments, + const WingsSocketInfo &info, int af); -WingsSocket *wingsBindNewSocket(Dart_NativeArguments arguments, const WingsSocketInfo &info, int af); +WingsSocket *wingsBindNewSocket(Dart_NativeArguments arguments, + const WingsSocketInfo &info, int af); void wingsReturnBound(Dart_NativeArguments arguments, WingsSocket *socket); -void Dart_WingsSocket_bind(sa_family_t af, Dart_NativeArguments arguments) -{ - WingsSocketInfo info; - getWingsSocketInfo(arguments, &info); - WingsSocket *socket = wingsFindSocket(arguments, info, af); - wingsReturnBound(arguments, socket); +void Dart_WingsSocket_bind(sa_family_t af, Dart_NativeArguments arguments) { + WingsSocketInfo info; + getWingsSocketInfo(arguments, &info); + WingsSocket *socket = wingsFindSocket(arguments, info, af); + wingsReturnBound(arguments, socket); } -void Dart_WingsSocket_bindIPv4(Dart_NativeArguments arguments) -{ - Dart_WingsSocket_bind(AF_INET, arguments); +void Dart_WingsSocket_bindIPv4(Dart_NativeArguments arguments) { + Dart_WingsSocket_bind(AF_INET, arguments); } -void Dart_WingsSocket_bindIPv6(Dart_NativeArguments arguments) -{ - Dart_WingsSocket_bind(AF_INET6, arguments); +void Dart_WingsSocket_bindIPv6(Dart_NativeArguments arguments) { + Dart_WingsSocket_bind(AF_INET6, arguments); } -void wingsReturnBound(Dart_NativeArguments arguments, WingsSocket *socket) -{ - Dart_Port sendPort; - HandleError(Dart_SendPortGetId(Dart_GetNativeArgument(arguments, 5), &sendPort)); - socket->incrRef(sendPort); - auto ptr = (uint64_t)socket; - Dart_Handle ptrHandle = Dart_NewIntegerFromUint64(ptr); - Dart_SetReturnValue(arguments, ptrHandle); +void wingsReturnBound(Dart_NativeArguments arguments, WingsSocket *socket) { + Dart_Port sendPort; + HandleError( + Dart_SendPortGetId(Dart_GetNativeArgument(arguments, 5), &sendPort)); + socket->incrRef(sendPort); + auto ptr = (uint64_t)socket; + Dart_Handle ptrHandle = Dart_NewIntegerFromUint64(ptr); + Dart_SetReturnValue(arguments, ptrHandle); } -WingsSocket *wingsFindSocket(Dart_NativeArguments arguments, const WingsSocketInfo &info, int af) -{ - // Find an existing server, if any. - if (info.shared) - { - // std::cout << info.address << std::endl; - // std::cout << globalSocketList.size() << std::endl; - for (auto *socket : globalSocketList) - { - if (info.equals(socket->getInfo())) - { - return socket; - } - } +WingsSocket *wingsFindSocket(Dart_NativeArguments arguments, + const WingsSocketInfo &info, int af) { + // Find an existing server, if any. + if (info.shared) { + // std::cout << info.address << std::endl; + // std::cout << globalSocketList.size() << std::endl; + for (auto *socket : globalSocketList) { + if (info.equals(socket->getInfo())) { + return socket; + } } + } - return wingsBindNewSocket(arguments, info, af); + return wingsBindNewSocket(arguments, info, af); } -WingsSocket *wingsBindNewSocket(Dart_NativeArguments arguments, const WingsSocketInfo &info, int af) -{ - sockaddr *addr; - sockaddr_in v4; - sockaddr_in6 v6; - int ret; +WingsSocket *wingsBindNewSocket(Dart_NativeArguments arguments, + const WingsSocketInfo &info, int af) { + sockaddr *addr; + sockaddr_in v4; + sockaddr_in6 v6; + int ret; - int sock = socket(af, SOCK_STREAM, IPPROTO_TCP); + int sock = socket(af, SOCK_STREAM, IPPROTO_TCP); - if (sock < 0) - { - wingsThrowError("Failed to create socket."); - return nullptr; - } + if (sock < 0) { + wingsThrowError("Failed to create socket."); + return nullptr; + } - int i = 1; - ret = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i)); + int i = 1; + ret = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i)); - if (ret < 0) - { - wingsThrowError("Cannot reuse address for socket."); - return nullptr; - } + if (ret < 0) { + wingsThrowError("Cannot reuse address for socket."); + return nullptr; + } - // TODO: Only on Mac??? - // ret = setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, &i, sizeof(i)); + // TODO: Only on Mac??? + // ret = setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, &i, sizeof(i)); - // if (ret < 0) - // { - // wingsThrowStateError("Cannot reuse port for socket."); - // return; - // } + // if (ret < 0) + // { + // wingsThrowStateError("Cannot reuse port for socket."); + // return; + // } - if (af == AF_INET6) - { - v6.sin6_family = AF_INET6; - v6.sin6_port = htons((uint16_t)info.port); - ret = inet_pton(AF_INET6, info.address, &v6.sin6_addr.s6_addr); - if (ret >= 0) - ret = bind(sock, (const sockaddr *)&v6, sizeof(v6)); - } - else - { - v4.sin_family = AF_INET; - v4.sin_port = htons((uint16_t)info.port); - v4.sin_addr.s_addr = inet_addr(info.address); - bind(sock, (const sockaddr *)&v4, sizeof(v4)); - } + if (af == AF_INET6) { + v6.sin6_family = AF_INET6; + v6.sin6_port = htons((uint16_t)info.port); + ret = inet_pton(AF_INET6, info.address, &v6.sin6_addr.s6_addr); + if (ret >= 0) + ret = bind(sock, (const sockaddr *)&v6, sizeof(v6)); + } else { + v4.sin_family = AF_INET; + v4.sin_port = htons((uint16_t)info.port); + v4.sin_addr.s_addr = inet_addr(info.address); + bind(sock, (const sockaddr *)&v4, sizeof(v4)); + } - if (ret < 0) - { - wingsThrowError("Failed to bind socket."); - return nullptr; - } + if (ret < 0) { + wingsThrowError("Failed to bind socket."); + return nullptr; + } - if (listen(sock, SOMAXCONN) < 0) - { - wingsThrowError("Failed to set SOMAXCONN on bound socket."); - return nullptr; - } + if (listen(sock, SOMAXCONN) < 0) { + wingsThrowError("Failed to set SOMAXCONN on bound socket."); + return nullptr; + } - if (listen(sock, (int)info.backlog) < 0) - { - wingsThrowError("Failed to set backlog on bound socket."); - return nullptr; - } + if (listen(sock, (int)info.backlog) < 0) { + wingsThrowError("Failed to set backlog on bound socket."); + return nullptr; + } - auto *out = new WingsSocket(af, sock, info); - globalSocketList.push_back(out); - return out; + if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1) { + wingsThrowError("Failed to make socket non-blocking."); + return nullptr; + } + + auto *out = new WingsSocket(af, sock, info); + globalSocketList.push_back(out); + return out; } -void getWingsSocketInfo(Dart_NativeArguments arguments, WingsSocketInfo *info) -{ - Dart_Handle addressHandle = Dart_GetNativeArgument(arguments, 0); - Dart_Handle portHandle = Dart_GetNativeArgument(arguments, 1); - Dart_Handle sharedHandle = Dart_GetNativeArgument(arguments, 2); - Dart_Handle backlogHandle = Dart_GetNativeArgument(arguments, 3); - Dart_Handle v6OnlyHandle = Dart_GetNativeArgument(arguments, 4); - info->sendPortHandle = Dart_GetNativeArgument(arguments, 5); +void getWingsSocketInfo(Dart_NativeArguments arguments, WingsSocketInfo *info) { + Dart_Handle addressHandle = Dart_GetNativeArgument(arguments, 0); + Dart_Handle portHandle = Dart_GetNativeArgument(arguments, 1); + Dart_Handle sharedHandle = Dart_GetNativeArgument(arguments, 2); + Dart_Handle backlogHandle = Dart_GetNativeArgument(arguments, 3); + Dart_Handle v6OnlyHandle = Dart_GetNativeArgument(arguments, 4); + info->sendPortHandle = Dart_GetNativeArgument(arguments, 5); - HandleError(Dart_StringToCString(addressHandle, &info->address)); - HandleError(Dart_IntegerToUint64(portHandle, &info->port)); - HandleError(Dart_BooleanValue(sharedHandle, &info->shared)); - HandleError(Dart_IntegerToUint64(backlogHandle, &info->backlog)); - HandleError(Dart_BooleanValue(v6OnlyHandle, &info->v6Only)); + HandleError(Dart_StringToCString(addressHandle, &info->address)); + HandleError(Dart_IntegerToUint64(portHandle, &info->port)); + HandleError(Dart_BooleanValue(sharedHandle, &info->shared)); + HandleError(Dart_IntegerToUint64(backlogHandle, &info->backlog)); + HandleError(Dart_BooleanValue(v6OnlyHandle, &info->v6Only)); } -void wingsThrowError(const char *msg, const char *lib, const char *name, int n) -{ - Dart_Handle msgHandle = Dart_NewStringFromCString(msg); - Dart_Handle emptyHandle = Dart_NewStringFromCString(""); - Dart_Handle stateErrorHandle = Dart_NewStringFromCString(name); - Dart_Handle dartCoreHandle = Dart_NewStringFromCString(lib); - Dart_Handle dartCore = Dart_LookupLibrary(dartCoreHandle); - Dart_Handle stateError = Dart_GetType(dartCore, stateErrorHandle, 0, nullptr); +void wingsThrowError(const char *msg, const char *lib, const char *name, + int n) { + Dart_Handle msgHandle = Dart_NewStringFromCString(msg); + Dart_Handle emptyHandle = Dart_NewStringFromCString(""); + Dart_Handle stateErrorHandle = Dart_NewStringFromCString(name); + Dart_Handle dartCoreHandle = Dart_NewStringFromCString(lib); + Dart_Handle dartCore = Dart_LookupLibrary(dartCoreHandle); + Dart_Handle stateError = Dart_GetType(dartCore, stateErrorHandle, 0, nullptr); - std::vector args; - args.push_back(msgHandle); + std::vector args; + args.push_back(msgHandle); - if (n > -1) - { - args.push_back(Dart_NewInteger(n)); - } + if (n > -1) { + args.push_back(Dart_NewInteger(n)); + } - Dart_Handle errHandle = Dart_New(stateError, emptyHandle, args.size(), args.data()); - Dart_ThrowException(errHandle); + Dart_Handle errHandle = + Dart_New(stateError, emptyHandle, args.size(), args.data()); + Dart_ThrowException(errHandle); } \ No newline at end of file diff --git a/lib/src/http.cc b/lib/src/http.cc index fb589f66..a9fe7183 100644 --- a/lib/src/http.cc +++ b/lib/src/http.cc @@ -1,192 +1,175 @@ -#include -#include +#include + #include "angel_wings.h" #include "wings_socket.h" +#include +#include using namespace wings; -void Dart_WingsSocket_parseHttp(Dart_NativeArguments arguments) -{ - Dart_Port service_port = - Dart_NewNativePort("WingsHttpCallback", &wingsHttpCallback, true); - Dart_Handle send_port = Dart_NewSendPort(service_port); - Dart_SetReturnValue(arguments, send_port); +void Dart_WingsSocket_parseHttp(Dart_NativeArguments arguments) { + Dart_Port service_port = + Dart_NewNativePort("WingsHttpCallback", &wingsHttpCallback, true); + Dart_Handle send_port = Dart_NewSendPort(service_port); + Dart_SetReturnValue(arguments, send_port); } -struct wingsHttp -{ - Dart_Port port; - std::string lastHeader; +struct wingsHttp { + Dart_Port port; + std::string lastHeader; }; -void wingsHttpCallback(Dart_Port dest_port_id, Dart_CObject *message) -{ - int64_t fd = -1; - Dart_Port outPort = message->value.as_array.values[0]->value.as_send_port.id; - Dart_CObject *fdArg = message->value.as_array.values[1]; +void wingsHttpCallback(Dart_Port dest_port_id, Dart_CObject *message) { + int64_t fd = -1; + Dart_Port outPort = message->value.as_array.values[0]->value.as_send_port.id; + Dart_CObject *fdArg = message->value.as_array.values[1]; - wingsHttp httpData = {outPort}; + wingsHttp httpData = {outPort}; #define theStruct (*((wingsHttp *)parser->data)) #define thePort theStruct.port -#define sendInt(n) \ - { \ - Dart_CObject obj; \ - obj.type = Dart_CObject_kInt64; \ - obj.value.as_int64 = (n); \ - Dart_PostCObject(thePort, &obj); \ - } -#define sendString(n) \ - if (length > 0) \ - { \ - Dart_CObject typeObj; \ - typeObj.type = Dart_CObject_kInt32; \ - typeObj.value.as_int32 = (n); \ - std::string str(at, length); \ - Dart_CObject strObj; \ - strObj.type = Dart_CObject_kString; \ - strObj.value.as_string = (char *)str.c_str(); \ - Dart_CObject *values[2] = {&typeObj, &strObj}; \ - Dart_CObject out; \ - out.type = Dart_CObject_kArray; \ - out.value.as_array.length = 2; \ - out.value.as_array.values = values; \ - Dart_PostCObject(thePort, &out); \ - } +#define sendInt(n) \ + { \ + Dart_CObject obj; \ + obj.type = Dart_CObject_kInt64; \ + obj.value.as_int64 = (n); \ + Dart_PostCObject(thePort, &obj); \ + } +#define sendString(n) \ + if (length > 0) { \ + Dart_CObject typeObj; \ + typeObj.type = Dart_CObject_kInt32; \ + typeObj.value.as_int32 = (n); \ + std::string str(at, length); \ + Dart_CObject strObj; \ + strObj.type = Dart_CObject_kString; \ + strObj.value.as_string = (char *)str.c_str(); \ + Dart_CObject *values[2] = {&typeObj, &strObj}; \ + Dart_CObject out; \ + out.type = Dart_CObject_kArray; \ + out.value.as_array.length = 2; \ + out.value.as_array.values = values; \ + Dart_PostCObject(thePort, &out); \ + } - if (fdArg->type == Dart_CObject_kInt32) - { - fd = (int64_t)fdArg->value.as_int32; - } - else - { - fd = fdArg->value.as_int64; - } + if (fdArg->type == Dart_CObject_kInt32) { + fd = (int64_t)fdArg->value.as_int32; + } else { + fd = fdArg->value.as_int64; + } - if (fd != -1) - { - http_parser_settings settings; + if (fd != -1) { + http_parser_settings settings; - settings.on_message_begin = [](http_parser *parser) { - return 0; - }; + settings.on_message_begin = [](http_parser *parser) { return 0; }; - settings.on_headers_complete = [](http_parser *parser) { - Dart_CObject type; - type.type = Dart_CObject_kInt32; - type.value.as_int32 = 2; - Dart_CObject value; - value.type = Dart_CObject_kInt32; - value.value.as_int32 = parser->method; - Dart_CObject *values[2] = {&type, &value}; - Dart_CObject out; - out.type = Dart_CObject_kArray; - out.value.as_array.length = 2; - out.value.as_array.values = values; - Dart_PostCObject(thePort, &out); - sendInt(100); - return 0; - }; + settings.on_headers_complete = [](http_parser *parser) { + Dart_CObject type; + type.type = Dart_CObject_kInt32; + type.value.as_int32 = 2; + Dart_CObject value; + value.type = Dart_CObject_kInt32; + value.value.as_int32 = parser->method; + Dart_CObject *values[2] = {&type, &value}; + Dart_CObject out; + out.type = Dart_CObject_kArray; + out.value.as_array.length = 2; + out.value.as_array.values = values; + Dart_PostCObject(thePort, &out); + sendInt(100); + return 0; + }; - settings.on_message_complete = [](http_parser *parser) { - sendInt(200); - return 0; - }; + settings.on_message_complete = [](http_parser *parser) { + sendInt(200); + return 0; + }; - settings.on_chunk_complete = [](http_parser *parser) { - return 0; - }; + settings.on_chunk_complete = [](http_parser *parser) { return 0; }; - settings.on_chunk_header = [](http_parser *parser) { - return 0; - }; + settings.on_chunk_header = [](http_parser *parser) { return 0; }; - settings.on_url = [](http_parser *parser, const char *at, size_t length) { - sendString(0); - return 0; - }; + settings.on_url = [](http_parser *parser, const char *at, size_t length) { + sendString(0); + return 0; + }; - settings.on_header_field = [](http_parser *parser, const char *at, size_t length) { - theStruct.lastHeader = std::string(at, length); - return 0; - }; + settings.on_header_field = [](http_parser *parser, const char *at, + size_t length) { + theStruct.lastHeader = std::string(at, length); + return 0; + }; - settings.on_header_value = [](http_parser *parser, const char *at, size_t length) { - if (!theStruct.lastHeader.empty()) - { - std::string vStr(at, length); - Dart_CObject type; - type.type = Dart_CObject_kInt32; - type.value.as_int32 = 1; - Dart_CObject name; - name.type = Dart_CObject_kString; - name.value.as_string = (char *)theStruct.lastHeader.c_str(); - Dart_CObject value; - value.type = Dart_CObject_kString; - value.value.as_string = (char *)vStr.c_str(); - Dart_CObject *values[3] = {&type, &name, &value}; - Dart_CObject out; - out.type = Dart_CObject_kArray; - out.value.as_array.length = 3; - out.value.as_array.values = values; - Dart_PostCObject(thePort, &out); - theStruct.lastHeader.clear(); - } - return 0; - }; + settings.on_header_value = [](http_parser *parser, const char *at, + size_t length) { + if (!theStruct.lastHeader.empty()) { + std::string vStr(at, length); + Dart_CObject type; + type.type = Dart_CObject_kInt32; + type.value.as_int32 = 1; + Dart_CObject name; + name.type = Dart_CObject_kString; + name.value.as_string = (char *)theStruct.lastHeader.c_str(); + Dart_CObject value; + value.type = Dart_CObject_kString; + value.value.as_string = (char *)vStr.c_str(); + Dart_CObject *values[3] = {&type, &name, &value}; + Dart_CObject out; + out.type = Dart_CObject_kArray; + out.value.as_array.length = 3; + out.value.as_array.values = values; + Dart_PostCObject(thePort, &out); + theStruct.lastHeader.clear(); + } + return 0; + }; - settings.on_body = [](http_parser *parser, const char *at, size_t length) { - Dart_CObject obj; - obj.type = Dart_CObject_kTypedData; - obj.value.as_typed_data.type = Dart_TypedData_kUint8; - obj.value.as_typed_data.length = length; - obj.value.as_typed_data.values = (uint8_t *)at; - Dart_PostCObject(thePort, &obj); - return 0; - }; + settings.on_body = [](http_parser *parser, const char *at, size_t length) { + Dart_CObject obj; + obj.type = Dart_CObject_kTypedData; + obj.value.as_typed_data.type = Dart_TypedData_kUint8; + obj.value.as_typed_data.length = length; + obj.value.as_typed_data.values = (uint8_t *)at; + Dart_PostCObject(thePort, &obj); + return 0; + }; - size_t len = 80 * 1024, nparsed = 0; - char buf[len]; - ssize_t recved = 0; - memset(buf, 0, sizeof(buf)); - // http_parser parser; - auto *parser = (http_parser *)malloc(sizeof(http_parser)); - http_parser_init(parser, HTTP_BOTH); - parser->data = &httpData; + size_t len = 80 * 1024, nparsed = 0; + char buf[len]; + ssize_t recved = 0; + memset(buf, 0, sizeof(buf)); + // http_parser parser; + auto *parser = (http_parser *)malloc(sizeof(http_parser)); + http_parser_init(parser, HTTP_BOTH); + parser->data = &httpData; - while ((recved = recv(fd, buf, len, 0)) >= 0) - { - if (false) // (isUpgrade) - { - // send_string(&parser, buf, (size_t)recved, 7, true); - } - else - { - /* Start up / continue the parser. - * Note we pass recved==0 to signal that EOF has been received. - */ - nparsed = http_parser_execute(parser, &settings, buf, recved); + while ((recved = recv(fd, buf, len, 0)) >= 0) { + if (false) // (isUpgrade) + { + // send_string(&parser, buf, (size_t)recved, 7, true); + } else { + /* Start up / continue the parser. + * Note we pass recved==0 to signal that EOF has been received. + */ + nparsed = http_parser_execute(parser, &settings, buf, recved); - if (nparsed != recved) - { - // TODO: End it...! - } - else if (recved == 0) - { - break; - } - - // if ((isUpgrade = parser.upgrade) == 1) - // { - // send_notification(&parser, 6); - // } - // else if (nparsed != recved) - // { - // close(rq->sock); - // return; - // } - } - - // memset(buf, 0, len); + if (nparsed != recved) { + // TODO: End it...! + } else if (recved == 0) { + break; } + + // if ((isUpgrade = parser.upgrade) == 1) + // { + // send_notification(&parser, 6); + // } + // else if (nparsed != recved) + // { + // close(rq->sock); + // return; + // } + } + + // memset(buf, 0, len); } + } } \ No newline at end of file diff --git a/lib/src/libangel_wings.dylib b/lib/src/libangel_wings.dylib index ada89e46be25836b9dde05892c4c5f8e3fda5c72..0a2dcb771b1ffa74875b9426b9587c45891a05a7 100755 GIT binary patch literal 196156 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 delta 28688 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 RgB<)9XBGbT1Ryyr{s;XChK2wD literal 0 HcmV?d00001 diff --git a/lib/src/util.cc b/lib/src/util.cc index d1b8a4a2..227f4e24 100644 --- a/lib/src/util.cc +++ b/lib/src/util.cc @@ -1,171 +1,146 @@ -#include -#include +#include + #include "angel_wings.h" #include "wings_socket.h" +#include +#include using namespace wings; -void Dart_WingsSocket_listen(Dart_NativeArguments arguments) -{ - uint64_t ptr; - Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0); - HandleError(Dart_IntegerToUint64(pointerHandle, &ptr)); +void Dart_WingsSocket_listen(Dart_NativeArguments arguments) { + uint64_t ptr; + Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0); + HandleError(Dart_IntegerToUint64(pointerHandle, &ptr)); - auto *socket = (WingsSocket *)ptr; - socket->start(arguments); + auto *socket = (WingsSocket *)ptr; + socket->start(arguments); } -struct wingsSockName -{ - sa_family_t family; - sockaddr_in v4; - sockaddr_in6 v6; +struct wingsSockName { + sa_family_t family; + sockaddr_in v4; + sockaddr_in6 v6; - struct sockaddr *ptr() const - { - if (family == AF_INET6) - { - return (sockaddr *)&v6; - } - else - { - return (sockaddr *)&v4; - } + struct sockaddr *ptr() const { + if (family == AF_INET6) { + return (sockaddr *)&v6; + } else { + return (sockaddr *)&v4; } + } - void *addrPtr() const - { - if (family == AF_INET6) - { - return (void *)&v6.sin6_addr; - } - else - { - return (void *)&v4.sin_addr; - } + void *addrPtr() const { + if (family == AF_INET6) { + return (void *)&v6.sin6_addr; + } else { + return (void *)&v4.sin_addr; } + } - socklen_t length() const - { - if (family == AF_INET6) - { - return sizeof(v6); - } - else - { - return sizeof(v4); - } + socklen_t length() const { + if (family == AF_INET6) { + return sizeof(v6); + } else { + return sizeof(v4); } + } }; -void wingsThrowOSError() -{ - wingsThrowError(strerror(errno), "dart:io", "OSError", errno); +void wingsThrowOSError() { + wingsThrowError(strerror(errno), "dart:io", "OSError", errno); } -bool wingsReadSocket(Dart_NativeArguments arguments, wingsSockName *out) -{ - uint64_t ptr; - Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0); - HandleError(Dart_IntegerToUint64(pointerHandle, &ptr)); +bool wingsReadSocket(Dart_NativeArguments arguments, wingsSockName *out) { + uint64_t ptr; + Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0); + HandleError(Dart_IntegerToUint64(pointerHandle, &ptr)); - auto *socket = (WingsSocket *)ptr; - int fd = socket->getFD(); + auto *socket = (WingsSocket *)ptr; + int fd = socket->getFD(); - socklen_t len; - out->family = socket->getFamily(); - len = out->length(); + socklen_t len; + out->family = socket->getFamily(); + len = out->length(); - int result; + int result; - // result = connect(fd, out->ptr(), len); + // result = connect(fd, out->ptr(), len); - // if (result < 0) - // { - // wingsThrowOSError(); - // return false; - // } + // if (result < 0) + // { + // wingsThrowOSError(); + // return false; + // } - result = getsockname(fd, out->ptr(), &len); + result = getsockname(fd, out->ptr(), &len); - if (result == -1) - { - wingsThrowOSError(); - return false; + if (result == -1) { + wingsThrowOSError(); + return false; + } + + return true; +} + +void Dart_WingsSocket_getAddress(Dart_NativeArguments arguments) { + wingsSockName sock; + if (wingsReadSocket(arguments, &sock)) { + char addrBuf[INET6_ADDRSTRLEN + 1] = {0}; + + auto *result = + inet_ntop(sock.family, sock.addrPtr(), addrBuf, sock.length()); + + if (result == NULL) { + wingsThrowOSError(); } - return true; + Dart_Handle outHandle = Dart_NewStringFromCString(addrBuf); + Dart_SetReturnValue(arguments, outHandle); + } } -void Dart_WingsSocket_getAddress(Dart_NativeArguments arguments) -{ - wingsSockName sock; - if (wingsReadSocket(arguments, &sock)) - { - char addrBuf[INET6_ADDRSTRLEN + 1] = {0}; +void Dart_WingsSocket_getPort(Dart_NativeArguments arguments) { + wingsSockName sock; + if (wingsReadSocket(arguments, &sock)) { + Dart_Handle outHandle; - auto *result = inet_ntop(sock.family, sock.addrPtr(), addrBuf, sock.length()); - - if (result == NULL) - { - wingsThrowOSError(); - } - - Dart_Handle outHandle = Dart_NewStringFromCString(addrBuf); - Dart_SetReturnValue(arguments, outHandle); + if (sock.family == AF_INET6) { + outHandle = Dart_NewIntegerFromUint64(ntohs(sock.v6.sin6_port)); + } else { + outHandle = Dart_NewIntegerFromUint64(ntohs(sock.v4.sin_port)); } + + Dart_SetReturnValue(arguments, outHandle); + } } -void Dart_WingsSocket_getPort(Dart_NativeArguments arguments) -{ - wingsSockName sock; - if (wingsReadSocket(arguments, &sock)) - { - Dart_Handle outHandle; - - if (sock.family == AF_INET6) - { - outHandle = Dart_NewIntegerFromUint64(ntohs(sock.v6.sin6_port)); - } - else - { - outHandle = Dart_NewIntegerFromUint64(ntohs(sock.v4.sin_port)); - } - - Dart_SetReturnValue(arguments, outHandle); - } +void Dart_WingsSocket_write(Dart_NativeArguments arguments) { + int64_t fd; + void *data; + Dart_TypedData_Type type; + intptr_t len; + Dart_Handle fdHandle = Dart_GetNativeArgument(arguments, 0); + Dart_Handle dataHandle = Dart_GetNativeArgument(arguments, 1); + HandleError(Dart_IntegerToInt64(fdHandle, &fd)); + HandleError(Dart_TypedDataAcquireData(dataHandle, &type, &data, &len)); + write(fd, data, len); + HandleError(Dart_TypedDataReleaseData(dataHandle)); } -void Dart_WingsSocket_write(Dart_NativeArguments arguments) -{ - int64_t fd; - void *data; - Dart_TypedData_Type type; - intptr_t len; - Dart_Handle fdHandle = Dart_GetNativeArgument(arguments, 0); - Dart_Handle dataHandle = Dart_GetNativeArgument(arguments, 1); - HandleError(Dart_IntegerToInt64(fdHandle, &fd)); - HandleError(Dart_TypedDataAcquireData(dataHandle, &type, &data, &len)); - write(fd, data, len); - HandleError(Dart_TypedDataReleaseData(dataHandle)); +void Dart_WingsSocket_closeDescriptor(Dart_NativeArguments arguments) { + int64_t fd; + Dart_Handle fdHandle = Dart_GetNativeArgument(arguments, 0); + HandleError(Dart_IntegerToInt64(fdHandle, &fd)); + close(fd); } -void Dart_WingsSocket_closeDescriptor(Dart_NativeArguments arguments) -{ - int64_t fd; - Dart_Handle fdHandle = Dart_GetNativeArgument(arguments, 0); - HandleError(Dart_IntegerToInt64(fdHandle, &fd)); - close(fd); -} +void Dart_WingsSocket_close(Dart_NativeArguments arguments) { + Dart_Port port; + uint64_t ptr; + Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0); + Dart_Handle sendPortHandle = Dart_GetNativeArgument(arguments, 1); + HandleError(Dart_IntegerToUint64(pointerHandle, &ptr)); + HandleError(Dart_SendPortGetId(sendPortHandle, &port)); -void Dart_WingsSocket_close(Dart_NativeArguments arguments) -{ - Dart_Port port; - uint64_t ptr; - Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0); - Dart_Handle sendPortHandle = Dart_GetNativeArgument(arguments, 1); - HandleError(Dart_IntegerToUint64(pointerHandle, &ptr)); - HandleError(Dart_SendPortGetId(sendPortHandle, &port)); - - auto *socket = (WingsSocket *)ptr; - socket->decrRef(port); + auto *socket = (WingsSocket *)ptr; + socket->decrRef(port); } \ No newline at end of file diff --git a/lib/src/wings_socket.cc b/lib/src/wings_socket.cc index 3f5c4486..7105b2ee 100644 --- a/lib/src/wings_socket.cc +++ b/lib/src/wings_socket.cc @@ -1,152 +1,129 @@ -#include -#include #include "wings_socket.h" +#include +#include +#include using namespace wings; std::vector wings::globalSocketList; -bool WingsSocketInfo::equals(const WingsSocketInfo &right) const -{ - // std::cout << address << " vs " << right.address << std::endl; - // std::cout << port << " vs " << right.port << std::endl; - return (strcmp(address, right.address) == 0) && - port == right.port; +bool WingsSocketInfo::equals(const WingsSocketInfo &right) const { + // std::cout << address << " vs " << right.address << std::endl; + // std::cout << port << " vs " << right.port << std::endl; + return (strcmp(address, right.address) == 0) && port == right.port; } -WingsSocket::WingsSocket(sa_family_t family, int sockfd, const WingsSocketInfo &info) - : sockfd(sockfd), info(info), family(family) -{ - index = 0; - open = true; - refCount = 0; - workerThread = nullptr; - this->info.address = strdup(info.address); +WingsSocket::WingsSocket(sa_family_t family, int sockfd, + const WingsSocketInfo &info) + : sockfd(sockfd), info(info), family(family) { + portIterator = sendPorts.begin(); + open = true; + refCount = 0; + workerThread = nullptr; + this->info.address = strdup(info.address); } -void WingsSocket::incrRef(Dart_Port port) -{ - refCount++; - sendPorts.push_back(port); +void WingsSocket::incrRef(Dart_Port port) { + refCount++; + sendPorts.push_back(port); } -void WingsSocket::decrRef(Dart_Port port) -{ - auto it = std::find(sendPorts.begin(), sendPorts.end(), port); +void WingsSocket::decrRef(Dart_Port port) { + auto it = std::find(sendPorts.begin(), sendPorts.end(), port); - if (it != sendPorts.end()) - { - sendPorts.erase(it); - } + if (it != sendPorts.end()) { + sendPorts.erase(it); + } - refCount--; + refCount--; - if (refCount <= 0 && open) - { - close(sockfd); - } + if (refCount <= 0 && open) { + close(sockfd); + open = false; + } } -Dart_Port WingsSocket::nextPort() -{ - if (index >= sendPorts.size()) - index = 0; - Dart_Port port = sendPorts.at(index++); - return port; +Dart_Port WingsSocket::nextPort() { + portIterator++; + if (portIterator == sendPorts.end()) + portIterator = sendPorts.begin(); + return *portIterator; } -const WingsSocketInfo &WingsSocket::getInfo() const -{ - return info; -} +const WingsSocketInfo &WingsSocket::getInfo() const { return info; } -int WingsSocket::getFD() const -{ - return sockfd; -} +int WingsSocket::getFD() const { return sockfd; } -sa_family_t WingsSocket::getFamily() const -{ - return family; -} +sa_family_t WingsSocket::getFamily() const { return family; } -void WingsSocket::start(Dart_NativeArguments arguments) -{ - // if (workerThread == nullptr) - // { - // workerThread = std::make_unique(threadCallback, this); - // } - Dart_Port service_port = - Dart_NewNativePort("WingsThreadCallback", &threadCallback, true); - Dart_Handle send_port = Dart_NewSendPort(service_port); - Dart_SetReturnValue(arguments, send_port); +bool WingsSocket::isClosed() const { return !open; } + +void WingsSocket::start(Dart_NativeArguments arguments) { + // if (workerThread == nullptr) + // { + // workerThread = std::make_unique(threadCallback, this); + // } + Dart_Port service_port = + Dart_NewNativePort("WingsThreadCallback", &threadCallback, true); + Dart_Handle send_port = Dart_NewSendPort(service_port); + Dart_SetReturnValue(arguments, send_port); } void WingsSocket::threadCallback(Dart_Port dest_port_id, - Dart_CObject *message) -{ + Dart_CObject *message) { - WingsSocket *socket = nullptr; - Dart_Port outPort = message->value.as_array.values[0]->value.as_send_port.id; - Dart_CObject *ptrArg = message->value.as_array.values[1]; + WingsSocket *socket = nullptr; + Dart_Port outPort = message->value.as_array.values[0]->value.as_send_port.id; + Dart_CObject *ptrArg = message->value.as_array.values[1]; - // If there are no listeners, quit. - if (ptrArg->type == Dart_CObject_kInt32) - { - auto as64 = (int64_t)ptrArg->value.as_int32; - socket = (WingsSocket *)as64; - } - else - { - socket = (WingsSocket *)ptrArg->value.as_int64; + // If there are no listeners, quit. + if (ptrArg->type == Dart_CObject_kInt32) { + auto as64 = (int64_t)ptrArg->value.as_int32; + socket = (WingsSocket *)as64; + } else { + socket = (WingsSocket *)ptrArg->value.as_int64; + } + + if (socket != nullptr) { + if (socket->sendPorts.empty() || socket->isClosed()) { + return; } - if (socket != nullptr) - { - if (socket->sendPorts.empty()) - { - return; - } + int sock; + unsigned long index = 0; + sockaddr addr; + socklen_t len; - int sock; - unsigned long index = 0; - sockaddr addr; - socklen_t len; + if ((sock = accept(socket->sockfd, &addr, &len)) != -1) { + char addrBuf[INET6_ADDRSTRLEN] = {0}; - if ((sock = accept(socket->sockfd, &addr, &len)) != -1) - { - char addrBuf[INET6_ADDRSTRLEN] = {0}; + if (addr.sa_family == AF_INET6) { + auto as6 = (sockaddr_in6 *)&addr; + inet_ntop(addr.sa_family, &(as6->sin6_addr), addrBuf, len); + } else { + auto as4 = (sockaddr_in *)&addr; + inet_ntop(AF_INET, &(as4->sin_addr), addrBuf, len); + } - if (addr.sa_family == AF_INET6) - { - auto as6 = (sockaddr_in6 *)&addr; - inet_ntop(addr.sa_family, &(as6->sin6_addr), addrBuf, len); - } - else - { - auto as4 = (sockaddr_in *)&addr; - inet_ntop(AF_INET, &(as4->sin_addr), addrBuf, len); - } + Dart_CObject fdObj; + fdObj.type = Dart_CObject_kInt64; + fdObj.value.as_int64 = sock; - Dart_CObject fdObj; - fdObj.type = Dart_CObject_kInt64; - fdObj.value.as_int64 = sock; + Dart_CObject addrObj; + addrObj.type = Dart_CObject_kString; + addrObj.value.as_string = addrBuf; - Dart_CObject addrObj; - addrObj.type = Dart_CObject_kString; - addrObj.value.as_string = addrBuf; + Dart_CObject *values[2] = {&fdObj, &addrObj}; - Dart_CObject *values[2] = {&fdObj, &addrObj}; + Dart_CObject obj; + obj.type = Dart_CObject_kArray; + obj.value.as_array.length = 2; + obj.value.as_array.values = values; - Dart_CObject obj; - obj.type = Dart_CObject_kArray; - obj.value.as_array.length = 2; - obj.value.as_array.values = values; - - // Dart_PostCObject(outPort, &obj); - // Dispatch the fd to the next listener. - auto port = socket->nextPort(); - Dart_PostCObject(port, &obj); - // Dart_PostCObject(outPort, &obj); - } + // Dart_PostCObject(outPort, &obj); + // Dispatch the fd to the next listener. + auto port = socket->nextPort(); + Dart_PostCObject(port, &obj); + // Dart_PostCObject(outPort, &obj); } + } } \ No newline at end of file diff --git a/lib/src/wings_socket.dart b/lib/src/wings_socket.dart index afaa8a47..f2222e2a 100644 --- a/lib/src/wings_socket.dart +++ b/lib/src/wings_socket.dart @@ -118,12 +118,13 @@ class WingsSocket extends Stream { .listen(onData, onError: onError, cancelOnError: cancelOnError); } - Future close() async { + Future close(){ if (_open) { _open = false; closeWingsSocket(_pointer, _recv.sendPort); _recv.close(); - await _ctrl.close(); + _ctrl.close(); } + return Future.value(); } } diff --git a/lib/src/wings_socket.h b/lib/src/wings_socket.h index bc3f4276..37336917 100644 --- a/lib/src/wings_socket.h +++ b/lib/src/wings_socket.h @@ -1,21 +1,20 @@ #ifndef WINGS_SOCKET_H #define WINGS_SOCKET_H #include -#include -#include -#include -#include -#include +#include +#include #include #include +#include #include +#include +#include #include +#include #include -namespace wings -{ -struct WingsSocketInfo -{ +namespace wings { +struct WingsSocketInfo { const char *address; uint64_t port; bool shared; @@ -25,8 +24,7 @@ struct WingsSocketInfo bool equals(const WingsSocketInfo &right) const; }; -class WingsSocket -{ +class WingsSocket { public: WingsSocket(sa_family_t family, int sockfd, const WingsSocketInfo &info); void incrRef(Dart_Port port); @@ -34,19 +32,20 @@ public: const WingsSocketInfo &getInfo() const; void start(Dart_NativeArguments arguments); int getFD() const; + bool isClosed() const; sa_family_t getFamily() const; Dart_Port nextPort(); private: static void threadCallback(Dart_Port dest_port_id, Dart_CObject *message); WingsSocketInfo info; - unsigned long index; + std::list::iterator portIterator; int sockfd; int refCount; bool open; sa_family_t family; std::unique_ptr workerThread; - std::vector sendPorts; + std::list sendPorts; }; extern std::vector globalSocketList; diff --git a/libangel_wings.dylib b/libangel_wings.dylib index ada89e46be25836b9dde05892c4c5f8e3fda5c72..0a2dcb771b1ffa74875b9426b9587c45891a05a7 100755 GIT binary patch literal 196156 zcmeFa3t&{$wLU)K86I(>Ma61yv}(a;u%aNMi7+?_fe6G$t;P@%lLAT1LqQu2PNw8A zj-@SFTCI&$dueSeZ53mxm>`z~>&0lTq}FzvR-OO%t$kiInF&E@>;G2+ z=bZgqd+oK?UTf{O_c`<22Y>r`xW|(=*yHgG!*v+0Mg&6jha=?i9D{55Adjb@V4?rY zg_0D1%SuZcABt37fGvLo1vSOXYs?59iST@5blwLs{bYQIQ=E}{ceJ3Ox~6tfwVjj* z?~7wJUOP)by5ojF#+tH{&^thiY`9ySsS3W_Sqs~rL+_P2GshUYVpVmyw17GU#PP;h-wQ9<$Y zqTu` zD}pEJR^g07U;NTde6q|sj3>gI8wYP`VSo5dHsO_;#A4hHkMnC`9K2-}9E7r(f|AUei#>IBs>Dg74 zg*ByTEiGGASblx+(gN`K_0?xCUV#LuccRBrFJle(WXViCJMiqnvk8P)?oab{K@jH6 zPV=;m^a#(hjl3(3<~ggjx{6fcRdm{EXHGO}!t#^d1C~6A`(#NCiKxEqMgVOMr^o~3-&KjKN zY55^2skXt(X#rD#;PS~H@4B}7cVhg%3xJ*v6m8Lf=u1E^g)E1IByHUzSH2b-{Bdl= z7UOWFsz7+wcLiaG+svtc}7X{u;C8#zNv za-WQT)|1e~jhrzSVm;yXw&+N7(#S>o37uXio$k}`G3az#}7ubWz!PdV9)kq_h&dgODI*n=APpBKCM<4~AVx%cbr?xvAT{XKq7*k?O zhqvL$Ycvg3r#I%l1eDJAt}3=Fh5c)Tt!dzM1f~u>>)14p_xtXFZwnN427(_9Y_LXi zu+9K%!N<9w)3FYtEvPOE7!eQq9s2NNcI~aN1GC7`Z=y;dEIEOqF^z$=EwR_UoBb~Z zdozBW))@Ia%Qny%qZ3DZ*S6`@)gk7cgMTN1Njm~X&ud(TCK~}d3$$l*bYkAkAnE>qHjDj%kjzTL|v@&`1Ye$@0-hK8nSnfBKp=TnoLSFS-i`x2H+jVJy1}H$9O4cu{sx z9DN-7d-Wo#zk-c9yeoIbVxHK_?Q}yLfiaQ_76DJxGto0haQOmpImJdfDTfV5wpG0! z4x=X%ln|yIfaDa^n+i?3nn({wNjwGK15Z9HkBpHYfhR|Ruho6~9bo?kJo%^V%hsqnfK04oH2CBmW$00mA4BZyxoDL3I|GNB|UfTB5(dA`Yv(fnybNfuhce*2jZ7 zYv7>HcYzu~P?G>^VryfYCRJ8rgs+5+MHo)Y8IOb`g037+WBFSq2tnV&)qNJ9(I5WsS0B)R}#<9fJ1X%CsYI>h^@ z>EX*z;6h4w503yU6baFee5;4PPus&A&=A1V@QU7GgU#~Z!4y51Q@nScZ%2Gytt0&? zE3+iEs`YZH4tF{thTdgkVCZ=~D_`@#Du4lb*%-9W9slTi*fuk{C!zHpn61N}h{8tN z3)&iy9#X%-&ziVkMlm_4GK|n3$vG`C$7h5Tb3$LTa?rAu;d5}a!qfLb;UEqTo63Zc zeocXm5X}b4Zr$KnvVCMYZ;a>(tBcPVd1J(6h-OJqWWPoVq&))*UI$n15@I}W=@g_> z(|A_ye*;1|+xz20dwPd$y zWB@$iLKQ8~Ou1g^M&k#tk7i}kKnjFwo93YZbHcezxf43(7+Ye``zOATGi6JTciq!D z_3y>>^*?Dj-c3&j4q^?HPSyt+CMge@(KH!$gNEDgZz6n&M4KOl%z9n8?vd4sQbc$P8J(-5F>&1i_KLE7E>L*?8a?ee+PRD8zXN}`rR?s zLa)OIZM~^2*n6{RX6CLA@%{<*RwjA=MD)YtI&CdmGRpPMX876MVMq2qhaS|g+uPd4;Hd!%IjFGiwI)-jUxOtP$DlJ#)1tih7C zHd)pf$y$*t>x+^F6Q?g4!zF8avMjG;4M6b-LmUn}0X)q`k=fS)DTFh7P(Ctgsys4Q z;L);~(kSz9<_rU{e}e@{00u@Bq%&`wvn`|TZ;lPVcAN2n@w|8Qm~=XeLgrd^43T{ur;aEB zQ5Y2%+);&u}(l8co6`@`@#N;#PvqY#v z@{Uf(%a^>ZlJ}pOvvKtX4MDwD$@?H7FMzW}M(7F2+nu#F) z(;%@zjgoh1Lf$;dYmmHI%u54clffOOfN_M7KP*|+agy~Os`jY`3ZNFL)+g&rlJ#V= ztfM6BC&{wXC2Li(tWlD+G+EZsl9g0Ljg_pV8tO>NN~)p8Nmfz~b(mx&)ler$R#FXh zxMU^OP#KbyR6`vvSxGh2v67WkLmeSmNi~#DvIeT5DsUDyI?%!wvoJ)Qz6m>EheEbt z+S052ub3|b{luEst76kq}$LUwbq3hRLfYmtMH6yNbl|a#mER`-ijJYO- z!XYM0=Sn4KU1AP8x0pGhBVmh39gK+&BrxT|fJ~bOZ=gK<|MJMV7mt?Hq2JV`*G-t3 zG29ES^iQ?c#qNcybvK%8-HnHKtvl!+wAP&iV@GI=h1N#U*c{3CP0?7=o}H-)kI)e# zUMpI{rfC$kW(VF9Wkr*sv{j?7`~z>(Qz4ec5@ zh`og8E-`BY!xP!=GZ%eQPz^3nUnZ#A;z1q6UcwX?C?WAV@t~#;-1qU8r4iA=Q;1dc z!nh9l2M+3f7bwB%-gr<4vBPnt3)EML)dGNu^Zzd(7xmfUVCw1+@1M|*A{!4co60!o z_WyH-LkyLUX?h|Adq4FK#|>x*U?;GLHvnv059cTCAyZd}c>gp#?44ou!QDgdaPaky z=S?S8Y#%2WRL!rodH*;nL%kEeFPZ?n2kc&daK>uk)LAkNr@rY_h4RF z?u~7YxjXCYcDl?0^VH5kZFP@jCn{k=3*BILw8q<`tvcO22|=4yHn=JLplx>s+kQm< z-4PJA*+9*RT!6cG)h)<||L&(?Ecox36YswhPhgt0jh-I8iskJ#bOzR=>Cx;Y8CaL3 zM>!o6Yrx%?9_2ogI|E5S!qyd%xW`d1Po4_0j>)VXrZeT33_S_K4_sq08K}pP#o2FJ zW5K*|h<9f!^v2j38m63FI-Dn$K%&DyqAZj(BB$f-UG?Hnv>O?E3HS#jVvd_cz|YT< zZ5?uYDYP7f*O*5b3?KQ;ebB8h1*W_Ms6N6AYVVpZiL+!#i+Vwd@X*Uxv<*jam=*|2 z7FuMjKpN940nzj$<7mc~w7}GLOlpiAEr4Ny3H7|218KqiF4|nV%5Z z!}>*b_n$rqvd}HbC<~XFN!cHmt0SJ9OzD+KLfOOnMKkj+evEPQw-vU_YMIXGm8 z_lxW=yFLkJhb2cAUO^LCn75oIIHBnCHY8Croa8ueTf38wNw>=*V*+q#xeU@?UGbu& zW~q!Uf%lF5mTY&lQb-i2E)|2?>cDW}%B_bwFt!ZNUu)#A4d<_&dSnfDX0yHDPdps( zl6`P@08TAAzqxFxiCeS+Gul%6N!#=ssy6pSFH1|Brsv!H)@NEwF~H-LLtYYsA1;rK zd3dy3M}qHu!Rm_GHSR_GSeM-tf7H1fjUVXfz*y6r(rUU>S`V!|W$-`9o$?WkPCc~d zS$Qpr>n57XsXcUJCeA{2oBe66>Ig(Vi0z4<3otsxF@Miu#+U32$NbG=#t^Gvja0C% zIo|kemUNic@#>K_=<58J>Ywp7=0jugkZxO)c2=-$A5E>{Fp7F{Xw-=8#ofDV5~X)! z=o4ZFMwsI^wWRhSz55m1?hBji{kC0$R=&nPb^361BU&{>7`zJ!i=OU$ya>IR(&h~v zgQvU9%IzKxJnKod^rNU8x59dlNcLGnGIe!`_fNROI)+Si*LfCVZBet2D|gic+ku|M z|01E}C4sV?P?8c$yl^<_gqIM)wRlxyCY+D@Ahl)LU|S?T`b*T0ZorL{4E8QbPQ?>h z^c!}mqU5DcVkuKP16FPFQm3#~GTk|z8E8XKjwr31Wb250$R%_I>xfV(Oibu6Y4l{A5lX zp;(@p7hWNg9^l2F&p0obGhWY3^JSp-piz?W!L0wn(yVShv``uPZ7H*cuiFtE=bC3n zMtB=8W(01UVDItn^9r|lLjy3pM5*qD4qWYjX|%7=zcVaS#CRrvrG4oV9qOvj` z?WT%Ym6^^F9l8b#g9W@~S?|qY91~mySK9I@!eIEwS#LNlgD%3eTn19o2z4UObQz3e zQMv}02A6?;L|99^4Du}CQ$q~mWh2mmlO;~j$vbnJh?rJ~n?+#wib)$aknm3?_9~bi zde|w(Eerf?t2ZvuEq+Cr{ua9T)2S1gwjQ$xlJ-G)WRyOO+4T-**UcRk!@xy?1W&XI z71~9>~PI5vIE0j91F@t({afD=jgE42kjbD%#76J2ta z3?WX$W~W2L1xS=7@)&7GU5b6M&Nquey$4#>|3LnZ2~5pP&-Q*daY^EwS3VTTZWdLn zk-$q{0V5|pijy`Dm1P8a;H;71{uE?csFl80i3hWq?tg(g8)qjhr;5W67)4KX0&ZYD zyFt^Tg2gG6l*u_qvLG%`Gy`3<4JZc^CtH-0Qs=>Ja`KK~-aU36j3p;eOdl>jbv>{v zOOrp}Z-dKDyjVmKGH<82roa3rmK`!uUN?2%Q07KKIU9~83t*jD>jkGfC}(yjA#~P1 z#H00+OjYgCN9ZyNZ zYW=hBW$hf*gP~p=>+<-DX5INfPfNwqy&)!RsfZnYlmEHi;#x1tj|%FN@Vhtzfr6gs zXgd#3VC{N>Ptv45${RY}24t^&g4+irU9v=PvMU~)qT-O`6|p2XTO8{R(Ti%)(_T@g zC$EU2nhq&@eH=<8>9tHPsm)1lE{-)2N#)H{Tzt#2BU9@ zPHO){3jQ=)=-Hf=f+ep>Ru%`-w2LFouMuT8tRC2KQ*f-PRFt>(JCEH0i;)SMiU;wk zL+lib`Th5ZC+Gw0g4nzsH!w7kKyT`j=!+<2VXOT;?^|1I8-?D#5PH9jvY_{I7EAic(Gw6z=@o)iazIZ&fL@_P^9hiV zpV9-AY}NnKiDqYod!tuB>4yFFJd5h=ufrG5Fd=)tKO}w6>a5K>p6Y#c`+mTX_1Nf5a z3`uZ%c5<~=Krpz#u&LhQ9cuBHQ=~sXm$r~5;Jig{Z}d^03Esrg+`1&=T+p}W0fW7k zV7Ikkh-HuQAoS_OSeQwFiBNks)`VodwR|L!OcL`KB8lac^qLs}$ zat12+B!MCFg78>fkGd0vwJb0pY|WZ_PCQO5Ti9Km^j)_WSVg&hXhuzs5t2AUaI-Tg zUwZ;)4^U+O>Txs{ne;n(WbDVIC2KfD=9*0ou{j+krxcmbvgrdjPd`InP2w61Lk?Eg zUrn+;)3WVLW`~8v66RHZ{j(Y7j)cLKxE@Rf4{|W~J}QHmhKY(Dkc;qWxsZeT(r^CF26OZm;|BAOGRG{L-e3;k zg&aWcN>h)k7htn+#GEnAG*cQ5AblGX#!%vV3>iGgG0eimgY=yykBnRJXqm||JOWEI zOV#~bNZ$a&vLkq-paE^li#TW`ZsKhtJes1n>BhGgAHFO-Fad8V1PvS%)9AfYwCC?^sAqM?vd1Rz*#Gv2GL0|t1t0Q_D z^#8oww*$LDj(8Dvq3Nux`)q5J4|4rvnSwVE_+ade2J6=1<<-^{qGAGO8V2KBd1Tyx zF=<)F!5H0s9mEnbjXzO*&`tCbKC6P1zm27G9x*j(S6LQA{sHr@DRRKKqp$E*+ye zfD=WapOv=sIpc8MHFI}4OEgJH9&O!2pj#v;L>a8ZW)fxi<2WeKKW|`aAl>_2_cveP z4HRwDpQz=k@&K5~k+>ihh)@<919R*67ATp6Cj6aXL9piC^2pc)>Co~7310~bD2Qn4 zB@mv6IHIFINqggTd#CC4ZeV-uY|mr0=W6sIdSAz>Sv5RBK$M`T*D7XJaygwin4GqYjUjKd`T3{=-3*)?ao?ZTl>mJ&?A|7SGio z`C{>iPpMT?t-UWj%2YkoXxk2;6oC}QU#h!W-l^*b%^&AO5h~j&_vzPcsBGZ8yaRc zB*f{*Uew)7v==2cxxEPJwtPD4)* zW@fJcsdVf?d1U+#9xd+?rJL`!Iwoe`Kh`Av44K2JChm7eTJ(rBiTN#`gJ!0az~^A5 ziSo#}i8S9wnh*Pl*@lY^4np$tN8O|*5sH`mU<`Xle1IbRHt-~nyh9!t&*0JWA(1S+ z&uN7sJM|9JKty)n(249%yTg=fKH9{n*S{rgTkvCi!SdeL zocbPo(XyLgvuq7mU$Zn(d=l&g6rYht#x+E73{m{?kKG+Q7-6wQLtL&QZo;GGC_>D& zAVOxhV%NmAgFH5+Mt=oFIFLsFjK7#;I$z+K&>nXFE#Pvnu&jYrE^lKQ55Eb#gpF)pr# zQ#{2lYYc>|(@n3?XY}hm$+-HvgDqObeIMpvx%$+5h1BQCBcm3NmSafj(RW+mwYA|Q zb!rFPKuDd;0rwfQHjZW*Eo%;LB10i*$$$p5wn1xAzK{_kS3zdaF)P1+WV`MYAVHMqhE zPud=f?RzN}Yr?f^Pb_xV->}4dI~KbQ*L8o6#eVqTu~_pvvDoQ21H0n?VzHOsh{cw? z8H@c0*8_m@>;SLjD7SZKEat;=4lcGAz*U3mSzPtc0{)BrUvJ>$qG3B?u@iAMJ{OBI z&N{CmT-O=8Pc|c zM$dsp$2}Q~mEjt?ITrg3u7amxvC*xu*yFfL+Vu4;Jb791Z-B--4)O{nl)ne@M{!;I zQ}hehT3ip~`WtwJ*H(o8+ZAWp2Z$euXBMv6xJqy_eI>4Ya6N|W1zi07uk6Miqpr8n zzYm{2+!y@V=WW35CS8>K@QXpVixLt0E#nVqH%GrP)GCD+wleH0qb*0KF7-Fq2ACbe z);;{mqEVQq%J9GLU9}zQI86EnKKMIV)*Dy4U3^T+fq1G75qs#K=-sFyrR=Y47kckF z!D`=5yxIHh(MW9fe~3*KPqY}dqE{uW>PuD?D|w=A_&xCNoAf3~`hKEE5acjB z_bfa2Xy)#vrdGIFJ+kU@eG`3&xzE_S*>+taZ8LLGtWRAbzz^+e7unU0BhZz0h69gd z87;LkZ0dkyBuhLUZ}#4KINH|;JHJzbp~vr3?6ZpZp5bkH(~cB)8~$QP&h$2P+L05y z4Nu#VTfGgN?8vF!hM(DyuXr1v8qG$>dmFxOM<#e1Znq;RdmAX;HE!^nm)eo@y$x5} zkyE@4rh^?=PxCh9*g2nGcg6jV#)mSr{Bk>3c^u3B5aH;Z1Qmxy=L7wsVRG)52;s_jJYF<%@evvq z9xnw`yNKzJNaJS=80>Cs{2ZjHmEL-1(zhJ*&FK^jQSyAU?# zXPA&~!!4d1ZTI&}4%et$%DNDDCKgW^xy|}8s5vT62o{fcL)hW4MoJ_D_Fg>BFUA2i z&;nR}c+J!2|2-DF8`oR7Mt=yMW?rY_`QINw9%JW)*IT%1W6-U~H=wG=BfrNO+>{@L=~~)`$bjS#R28Jah_w zOUDl$UyQ_k`-8n{-iF-7{FVEkMUtMZaTQnY&myliPzFkddpA!Xb{mZ>3OKtDeQ5Mzd+bDSkb(h35kWBbA!0Tf zM>=wQWZxVL?%nSq&G7e_g!T7;bT-U29B-p;Z@6x6u>BsRcjeo6qh%CVMjdqIR)}qY zc#aRZjzrpn8fOeEB|2nJuEjoUU6>(8 zI_~se$Cp|8Q+3>?_h~wQqm_SbLitfTUSZ|`9rFeKue9QS)p5K2pLKk>mH&GkxB2sT zI)0axk10oZ_gL|}6XIbVUvK5#l90b7A%3-v|A$q6wvIn+#i#1{BUb!09si9LKQ^KK zC>{Unoj?t9QQa*V^RxbDPtFRowV+Kg)lu2*rr z#p@7^)5nJh&Y{5Nvkc=f*hu4Wor&v0Tyt?n;ht+?*QbuTVAO@4*=W?VaPy=vu|&yVpu z%$#rI4#B*0w|nLxhUbR;&kA3NKFq~+Ev|B0x8k}J*S)xYg=;gew{Y#i^(rpQh&9(2 zS=a+@hnoru6S#hi+P$#fp_*>Pr*Y~O!^XB29~755JqWc$(=(jk8!#>%8)nhm-WlPv z;O@aW!R`-pM)b@u(t>q+solEui$={ypsL}2MNY_s{d-~OHxEJ5<1mHrLJ?MZuY~=t z5RUnAuK3?P@3qcVz$uHhMwZ)Pw$?`z-*@3pgj@26Zr$yoWntKJiQ+xpUQfAf_7l9{ zm7jOwie`VHs6Fl%-N%M$O-wpI#7D*#5o@`T&icJ8&83kx_1kt0!RMnZnouh3nLv2Z zCvNYJ)zaR>SpA{BpCi`tO}5vNti9Ne&Gs%%H`idYeh6T_*q0tY(qkFGaPg6dU!|-s zjap^ozmCO9SG)fS6!&1)SUJl#7;c{ET$=A;e^*I6^CggtVGQTKj^*RybY->Bq3`wM z2O(a>Ml07(vb1tOuGxccLMu5Ve-1!~>s~~Dhj(+9y6vw#L;Pac|Dygq^Kn3Bz2RT$ zT}9^(jJlU;JBM@E+s;9AWfpBlM)Z#;)b8JkyC-_Ngr6YFND|Da>oD;5M0unV>14tv z4K{>_GE7$j&do13_?R?-%pS?8N35l21jzR>yb59e)~Wth?SWwb!?|0HXG+2~Ylf8s zx22UB2t;QSjDEqZ2VW8`G4RP`l&sxqyi;N1S7Lln zVq~&PZL5H?KBDy4$8v%UrPA@jsjTk>YpIB&xMjR_{BGPeTr0cbR6$UFsiZ5M|AZO} z`iXDKT>47ABHU$_8mxOA%WS$_EHL|r*{ftJI@#TXb~?~8WS&dwDhXGOE-`9bAT=01 z4B=+J#OQs@-x4V54Wxa5P_qsNjQkBupTVRVX*fL58JL={8gswrT{RLYY)otPe^1a_ z?f+hib8OA4IB=87R`QX-A1iP9F30b}Tg@I>+e+vUkjMoR&j->vF*7zIWn*Bfe}gwj zw_#w3zX@Mu@;5QryE#3mKesp-2~1pBhiw}$`?uU=J00}|KLMqOZDSPsI6U~*B)_4I z>0<;2nT`qVL8-jv>90a>t~!L*48Xd`bzOmQ9S{ZS+>Dt$AKGXf*a?!Izdfndz9}o zPgZqBuZ5g~0~-`>`#2aKV)&bl+(*2(vl}uy!v5x<8jcyKC5xTbx-X~(8U9~*SBWtGM8ISte6X7joREq@mmdz{TXfrMy zV=0z9M59dV1mj~StU;{h;Srb#53WFhcB9(9K-<4aTxrsThqtMb03Gbb+YxQ`;(>MB zLf+%E#lC4CG-438o$dOjtut-oUEGa!oQ+m_d%rJS+Z){WvGGpuEyz4<%hkf=I2bw- zb0U)ux64uQyJXuFOH}D=m~oPEz-=XG^C)p!=`W@{Lrsnd>NTj^;#f^DTub_Cl> zKeHp)R=UTIU|Y%AJi@lp?RE~fm7L8ZY%9^e(2ZhSi5?#v!M2jKd4z2xvVqRQwvw}X zgl(m-*g4o%a<)sct(0NsoNf~fWWt-Ev{`K@Jki_Z>n8Sh2FeVe z6D8g|9m-%-9mAfA=WplyhfYRA@VY$ z=3GccWWY+1a%ZEQx-_B8rSWCPv&<<8WoDMg!SS)opoB726>(*bWSLiit8BoT`24Ce zu1q@1v?P={^@g}ILs{mogff@Mm+5UlnW}^`FD!|JvxjBoCY1Tr*;X0Q$aIEdsIoa! zD33q4zQz#rs%kWC^9#pWQh!W@^f+UkZ!sI5X8pYEMjU8?a|7Q=7j~*`RTFjP9`C07 zSRjIgY>p`G6e$s|ZC1xaC<2{4D9r?Xu7kgXT3N$`cSJp{NlVV`m9?DuwNB}l6hOlH zZkzllLmi+ZI;B&}fDt_E7M;=|DMOi3#uOrLTrwU{v{2ilwn?#eMVkhRXaqeAZc7LL zt!kE;`IOEi`!O?pP7lR-Ty#$Fe|S74j!BpM!S+9-;GT3>!eO~haLm`G1nJDxFM%1MzVF>uSBuwFC*-!8X!N{>pN5!)6(_-^iS8M<W4`Z5~PtMyimN!)n> zw9WnwcazrXuWA1xAFB(nIDU5mduC4l$~_y&7~!Ea4L&q(MjaTew$sReHeC0t%*Ym+ zJ8CNkYWUa72eBhut3!Z)qn?jR-;~FZx8Z?fk+GO6$0UUU==R_*`UOPrttT)87Mbe< z5&zoFT>L-IX=^-V$Pb1EjJ6qg7oK%5mv;D*!5**GPFB6NGe#aq9*u`?XPCR4hcKjA zvyStIo&sdLP`3H+8z-LyCS%FZFJP!T`D!A(3Esz^U-_B`h_ro>9+&(MzC?!dZM)M) zU@iE3i4nPx+)W!HuH1fg9=cFsgqU3t)(^w~6PWvGV`3nZi<#b*E}RrFo>5mVBLQ{C z?%>HbO^qf@xR&D(RbSKvqW2@B(T@%~6zJEaKz})?2lSZ@^yOjr-_+<&QTHw-x_bmk zxE+lhEty2JmdT+?)QKCRhv6XtCsfJf$XYz~2rZ@zusDH--~n%QJpttb5Ou6I#tj-m zmWJ?E8^Vch2<@mzjPx*$HQJ0FYIp*m#Tw8Xb;Rh%H}TM@{0Vh!R8YqA6jv|m>!NSl z!GSn-_G~zRJ-%$w88DtKMHe9#14iUJgytA+s%yF}`=&h`2C#65S(wp{kXDWAN-!WW zYeYhK^hc?_4t8mmI@0*^~N^<1nQe5y942j-@{G_ghy}z9GHUgp(|0?8#-1> zNCfAhIZdy58gso~eF^owqtt8iNRT%x_jIzFrC^PGW#qn2385Y=V>-lRWZF^?M6J_t z@G0!UMje6DfNruNN{2PpBcJK?L9F z4L?a9QDYE~0x8VQ*JIv0=Mul7y4Tf*pglTEB1<-CsR@o>K#WjI)Yhv;tFHXOp%8P8 zk$VU8)l%?o^hbmiuG^+ zO^hd2L>HVakxtG!%sBPRNg9^=9|4hoJWn9Asv4@RVSu-(f)XT}ivrC*wmonOG~Pvl z3B7@~-oYFY?f-J@Bia-fsVj+)cCK0LflTQ?CCZYdCw*s+y)fWUcYbBYu z9?^r-qVYu>VfTEjbm#{f8~f1y2Gt~@Pn-uERFLv5 z)(U(!kjY-uxFPIsQr9z&&dx|33e+}{ajPYbLWo)wk{wHp3K62h>1&k!P%CwM?HX2i z4XY$m=%R+$t$1Rc$tKl3MYaxxema+uDY&)rnx{oO&{NK~)i{w@b_*0%@!!HDw^o+Pe8u z02pRjy(;yQuoWR-28r;9<93IC(HKgklxIHaKV=5zmw}g>U2_tw+O56{8$OYG4!=0{ zsc)tKO8L^+NsjqG)xZ@Z!{KuQ8jmZ|0Ty0^wsdm(qf(Sp$4-MKt;T_1=$8`q)>#-S zSS>r$U@Hr?SJ6qRHA1&~nTXP3fm!#e1`Ej|-_S$v(%8D%t=$j6Y?~S>fRK0}0|(@f zKkHIS^)u(oUpd6U>1lcTd(;Oyz{%c&>8aETozNY{lfCQaic;8Ix|WYMIWpqqHG0kQ z1N=X8#1rPDoBz#mQ(q-xCG;lgcoA-GkAmmyfaTf#@9lDK{@1P(^kHyLC^k z{*hJ|FN{LFDHk!b)3TfY#0a0x7fRPwGFa)f`!yG4LGzg+q*WqpoI zD*0i-zU`W)`{*a&rML(tlaR&3UjC9e>=Dfbeachc4rlo|eQS?TYW!UKPVRZyGx*lx#j}uxz za&qs3oXg3EjYsg5zg4Vl`1J9UXSuD`{Az_z>5!R^$&a42y*60RV&r7<*QNqtruNvW z&jC)eS|`ABn*#<@byUovH*!K!1;(TnW4oZQ}HxnTQP zb(5aU)_jVyKbgxPqFTVpM}z0G%Tpqzh}Cnk->VBpMME&Rpfdejvkj zvH+}n!p}12v%rS7!Ax+^Uri5LZ|S+L@II^-`t9_LafHxDyaE>f71?$$@Qh(5oWAYb z_94a;omEps@u1gJw&-ItSlWLV4kUG=bPyt>tsB4d(!QA@MPbd)p29|mm%lRJPl;ov zoAx_XS<8S737U=bZlyO@qN$h>CpG9^;)M9kMMCjq6Un9oB)=UwV7J)7LX6i8) zeoXHpUu67{m&(8DmXE)~%iFpyZvByG!>7Evg#0Yr>R0M~C(^C{){EL4Fe>;o3<6aE zxwu^&;gsuCL-*O`I-PQm0`2NeF`3Ar*va^j1FzL7*R02vil~di1D>vC#UFbG;*bRn zfo=ZB`PLkxRXSlQ9xddwGMn&xplv_6ESKPLfgQtV&%zgB(Um!A+XBYfI0@N>m+Z83 z(+vQ3*k@Ed5{_EE7C=9sjNkyKg_tW>@cWSrH0r^AcQ%a zT=sgl-4&NTNADU4Px;WT?spT;XhwOs-9M+(8Br}xmT(V-?fg*u!aQBz7JD;LPLV4suNvmiEk1oEIjmviwG27$bW zyxZ(Nw>-A<#s28eo=h&!?fOaWO>4bEUc>o+b%{+guJzgxL%-UysgboxYWMd@I6`J? z7k`ySV{~4mBUF9Ud**yX-;&P%PpdB}`mp%KH2*(LU64=o=P|^R%Q#?`D;TG+AM|)Y z|B7k@4?ZkVFo_OeAGzjpQhN67ujUs`-)=>TWeOyX=58BJmuaH2WPL~LWIm*%&Hs58 zzu*aZBFaNlDEx&^1oNGd+vsN+~h+px}jG3ABjJ2{a48Lu(LbhPQ~ z%ooZJG=R)_`0@6(U0%lHpT9nI+QEll+7dB<0Hz3^q1)n-7H06 zLsD~bG3b)noht8bTR%JfG5gZ5{)k&Y|AY0-L(s66EX=ZGVV7Eqm$6*>#vZR!@`Jh{ zrGLUDf5g9YQ=jp1=#!|=Zm}nf!_V4ZiuNeZu_AZz2gbG2^5^Sw@{T`0PlL+Fys@3I zN$tVlp2|3WG5zyvc#1{a#2eHXb|d2W=XvY`cx*s^liK&clYEe?A-I30|@6P42gJs4Fi8 z)wBaJ(Z7Bkv*=&Hhc@~r_pkHwV%CA5)c$qLp0W5jssCILF>N)Qc^!M&nLn=eRy`M| zrvLm!S!=NWN&V*!4q<=$_|Fd;Y9@HN+TcR?8 zj{kg$PUyBKS9c%(`S(#GiT{RjMxCaW6~@6Wk8J!zzR@1lI@parZRvlFfB19%X>$MR z+x9pmU;j|A&_62nY7+mMmEWJeA^IsFx+>m(x>p2)_MeX3%h>?)+3i1-^|R?e75hv~ z3(Ze57vlU4@$=tWAK3m=%R|$jeU%USh(*v6IRXj?lgr=v6If{KY`pvmEaUy15hf<_ zce>}pr}OtMp$8zrp2d9sr})cG@XI`gS(L~hE_y>Iyg@#~{)*)<+iAvK{<5uh639G2 zf0;-4f>ILxviGn!)glwFk73M_Wlg-lY=={*L+xTj7mD+j{Y(nMbV}_n<1fX7=&+QM z+DCo)FUyk8)U)ae=`0j(yuYi-QWLKA(Hs^{>hF42<6zsQoyzmNZBIM=MSs_M1d?KY z5+8a5{x$xqU+SG@sF=R~t3tXFajJ`o@{j1OUQ+zFkN;}K|Mc}=IsK=68lJlU>K5Bs z>DE`-GG3OwK{;lwuaMqp+0WN$o3;~q9XwCr>BoMCWN`22RNC-udt`&kBPy2t{D+qj zaqQ=X+99It=f{|rU_bxC@|d{n=i~7~S1MHiU88;@gY2Ad>EC|dnC-To@1kotiT!*l z({UzKc~RVLKWCB8#hx@@&=EW9Uv(a(@B1WLK1HUTPVXFkH4C)SClh-wl=-G@k#}^& zT0ki^@*9{?&Ek`**E0F(Xf2 ziDs32zRd`AVSR2IbP~o9((8y-s>_{Mv*mv_E0*Cc(T*rE)97Y6oN;X z8Zcf980&haDEHaDf#7Rk`Q3pDF9nRfIIi8ptoD$?L#lC={OB4fzeC+T4d=dnNLMc* z1QZ*QVGR(&Nb2Sz{3IV-sCtyQ#VSJ%2}h)Wku#Q?b>VeHYU1`lSlUqE(O~OcU>OEj zA|&5Px#La%H5&jlNsl}#Y!O~ZMAfgRN{!_%APfTtiGe!um?~Ah4JQIzbP{fKddh)k zeZ(0XVjI?8PXKpDwS@PX*KOEC`=v{jCkr#~J4Q z*7-RH%EuV>SAXRJ^1pL{{QC}&--bf~{k5Ny(SQE0y{YnD{wZ}VHt7@TXXn=@JzFfd8aXS81lUGaw%xC zaw~gz&C}}MDZ;jH`@`hd6!dYeSMh}&jg!BlLlB}H_(mXfA&;u69N>Z9r1d|A_a$U+ zUF_9EJYGr0*C+GMwx8%z#`*~+i{&5nx%~qx_hiaMA3BrjSQZNQSYy%Efgx+vKY;VC z=g`S^{~A5~>k&bDSYP4%)<8tR6u})N5l^a{Wo39NX&@^ot<3X+BA%dV*FesLGo%!P z;0%tf$r(Nbg)_*B_HVyIPg~p}I_5919vVY2TSi9oTNxL^>W=!*ut-Dlh7lQ!JM<2@ zQjKH&iGtYBx$||u@dYh@2qnZVFX0f+Zgm-OLjAb$wD}A2b`&f0fp5!W_{6oP)GpsA#^mdv z*@K0pSQGcO~ zcT+m&GtMf@hkLfv^Y>e~^zDAK{yKf%1%^T$WTknzj#U;{hiF)~Kd+-UZ5HQ6BFfWqmNV+rQqe@?JZ^8%S5HmKkGGPw|Yy21DL@&GlW&{H;{(+?{<(1ir*fwBiA7UOu)8% z=m*>>lfb{Thgdw7Tz(N}o;MlDd3eIRn<5oo#B2BOL4WXi-=4wVpbRWTNjP^8&cL=0 z>10;ezXyDcS4pEgSto9Ox#@-RKo?D09HX-W++!0>+}ogr`Yj-C^Y8Ouo`9G3sp%7K zN+`9B08T*(5>6?^w)x*Ti@vYMx{IEMOpOa6(Ze|9g}(j_ji0SgUGn{}c6~QJ9eOX( zgOacx;N)LTd%ll6aMPnl-2^X?a5$jaP7*F<8bofpB*L#EV$|J0|N7mYj|b3CEBC;IfJrg5 zB*2FUjnXiH*5EOG)4ru&hlZu;_*sA&oO9YTwoF_&QpCRP#H>{wxcu71=*3KgRa}oM zaRzTZ#58&c^%_T8xu#VtuwLh}VIxF~H((jkafUHcY3%~_9_`aGZR8$cA}bJWBg^XD z>WZwOxY$>ZLvA*PoEAFS@`)5??g0?XVm=Og zh~i31w3tb0v6xv|-GnNzm@fcWx+iV@=*T~P9tiLMTVG_;T$aGkn*S+lXwO{_O7@k9 zCy=G$?76ed6fF*u+j9?bROr4-VULB84|}g|e_EiZEpY}Uk*6}B55SMXJ=cjow)hwJ z5`KJ;UUK~0BY6ocwQgB-(aDS#L=eX;GS|7a8`YZ=JRUzj4dH)y22N$mXJq2-9h<(` zA52$YJryA1`WH{ncFVgjHpMZ$pomL$DfJb+WElVbDI31}dw>22*au6XuXNjP{pgb~ zn>unI^6WyrL_I>RG~=bl+&5GK@P>uGI`@sn+}+*~7aB5@;Q;J0tY@cQnvO5|ZOd+~ z-M!ksTi$%qh&v+0v>&g7ZX(I?qg)0m!UX}6(jZcE!k3JnW8{p-(}$-I&#`!p#WNGn z%sKdIO8B<)fUzQd4&JWA+1_A#7RN-j0Uf=n?l3N!yxPC7F((JsZ9vZd=C(>cTIoPq zo=$64|0P|3!~S&!xb&p~EAQ{*WNpjIPHWGB4-J;g3$h>Es%TUpALvd&@r`OeMjn9; z)-)z-KqirWuQT6%?J{!lMPRhiBXx27W;o^~Qo1mbvU0UWzRkax!jH7)PCF81g;(6; z<>b#E(SQD^l=Z>En7gAeis%4nkE@SDvHXSL55DAN+Xa~SJQIV-utWXqDE7u$p*cgH z9N)VSfbUd7>(gIf5`L-c#Tc7z6z`@Ubsw#d1OqGH{?Il}Z+PYfG<;`XfNw~F6ZXMg z?NN`xJWbvI%D#PXR{XvzNC#fX$7vBL7pNk9W=r_u9N2$kXAov1>VhTORS(nn#tZfB zDCUFp&G)q%kf(Ww-*1{JgVL_9)q~UI?%f_&8!amMwJxGVLHz=U3{`|se3%HOQc7zJrDfQtnT3; z=y}wPz9O+*jVHUy{to@}Sjk25d(`(h8H9Mi(kw_HCDQo1F$jwHImV%;tymy@fR9<4 zt5m$)iqacpJps6wdhn}9VaXu1l_kT03xaJi1NY?@c)Z^RVFW;U`D8T*eZo|2#vI4j zbbf*UW4b!_U>5qh-qWH`0fWfgK z90*(Tdz~<1RywOPyiM(us=^N)+D<=Fa$x}SP230JUP5(Bq`Xx0=>^iHk?!x)FkDj4 z-z>*JMh{!CH48{}u@Ceg0bu|_XPM593OD1WME<%1GC?KG6~0Sd=jH$(tLkcb1l2^V z&DJ3Ve+j^uV3A)b<%uQ6Jl;O=0Uh~%BRvh!a2Rm)JXS8!J%S|CG?=XO6}s=VYj{2n zs`otaTI*e7hn@QB6Zw7!OjQ||KH@&b`a#wc_+IZNlig$C$OALqyXlgg_yV?l$^Pl_ zicEVM?}B2F`D{=_kNjE?(xkFd5gqB4Ug5PY^;0HD-)(z!<(^8>phHiAa(31a>p>Lk zQTiJJnFF&%*72N~!o&4W665A4gXAH*$tOxJoh%#5vX2r7>j!pzqq1JrpF=ZYHo^_x zhdnqBL$LlBT8Tfi~rucsV)k9^C)DnYzjvRm$R)B6;Wmb z*BhX|yB>FYP)8oY)*-r%e1(q{&(jr~I1eKJCTtyT)N3VK;uNhTw%GOMGD)w3*jH<> zHxkh+By2ZD^lqw=yP-YQ3}EJBsTD!7uZ>U#n+Vr6s!L_@8QLiEC*=`&lywx}#cmAo zrEpX04L#+2w8jB8S3M)x`pT^w4eTRb4!2kQ_NUE{lu4L7kTkQ=zGbOmHEr6bnqMhf zT(1I&e^fUu{D^VEYE`NAPtldofVMrBy`@~1)e!N~_$Puu08dQyMCi2N$w;{fSwRMq2b0ZPhD0cBj= z*{wc!0`60LkQ4L=I(lO|D1*6hQNXwfK}V&?D(k#t{N~~h!T0;p$G-226JOJxi>c-2 zFQ4#-dw$6H3E~d21L5yPf8A`23+9Q_9(WPmaN>#h!xk}lxbOJEPVd9tedn7!ewM#5 zuD|wNNa5c*Sa>e{Q@0l<4+emrtGsFZf@T&yobl512H#-K!#Bkv=ge<`<)*)HV9g3p zU(bqebqmhuI3t=0p4f1NY4s;={1V@H5Pq%gQSa!L3uR(b`AhywHhva7!hz&DRPTeX zdHkRDJ}6c%6p9d<+tdUJ(?)Dp*Jy4P>eVBBV1KQ>e+TQ$GFokd*enptB8@J(YekNG0-FF3&BSHQc7#ujyfE$&?Mjq-%D zm2(xo%mck28X!!)7O?2+$P3vYPtfm{JWKU`uYTki#_eD6eIdI){66%Refygz-yC`L z|D*RuGat3jyF2}{WTk0;QdZi=fTdsmneUJOJ^A~i3m>5koy0y*CciEIOSNBS<+oF@ zd)z(l%iqc1C+dgu0L5ipwPv>a_YyKzZ#dZ6?t0%n&ho0q+5A5CV6ypS>2tR|R7CiF z7U=Qo3rqgB^Vm7?cvv4l$HX75eru-PZKvU5d@13%_yq=_oZ|o#G0GuHy5)Nr{~&!+ z1bOx;*CQBjF#%>c>o54L@tGUF21)Y1Lzd)O>n-trS?5nYB5UcRqYI1Mp|aAZ-x5Bq zAb&ux0X}s~;chie0z|)E$@!6l9n-%2w!|LSr1q$~I%&Rpe0um>WEd5^gKnNZP$~x3 z1jk4D^!AT7i7a{u9pdaeS^FMfznKKUg+)Qa_hMn&CbzfT{M+Apm-tw;XB&OL7n@Co zmqAvfiyW7J%|t$Xk1^>`{K+$OpzJSrkc~KQ5xU;+T~d6%9i=?hd7e)2Su4Nxrrr?6 zO6MeBSxP1k(Y{NEnle;uUibShaCU%3gxewSyD**rvd{d#MJicS+u{#je0%xmI8M#O zEsOIn`{k__s`87mKBId!6D@)yM+s%*@Zq@ugFk4;LYY7T!yoTo%oOvBAwX2 zlYa~L9<`is^QXp7%NwQMFk#3F9!$5BaeHMB{**IM?)nb=KeKFtJpuWb^m}y`_FPEh zw*-1|o`WJ>Km5)%h}`WTg7RcSjE2Z>9;9=<@Aw-yn$*Qac1c~&Sp8+U`!(*Ih<)@e zd8_&7`fsGWfNkFjzUKGeMgy+wEP*K~k=oqeOKu5qkPrJays^}wc*#91M z6y?xic3gxrJ5S-f6Iq}2?=QRbrDdN{ewyRm*S`~A{*%}rYsAawG1Z#MuCPCrOL|iK z1I|}-c-!^wKOM;afWI#F`>)n~<=GF~KTs){uf`rnBc$>tWXgC`$js&&-Y^(g^S{OR zw9XYc@>uwda|}m0xD|u_E*Nm}`8F=(9rz~kNqHW5vGr+W+Ac^w_2DaQZrYK5;bZ6y z3PTuvkt1J!=i``~I2^Lj|DhIT&iYtA27+pE7ChJfpxRCi4S%YzIgbWBBMI#)do3Cf zSyW4&#zg}K19UXM-y)Q^;AN`+!WKt(vYHGOP^MQs$v9Lrx*eJHSG>>wB=_K`pJQV6^X~~(-JDX$>_ltL%8yr{@l&yktE&*^ z^lQXXPAKbo)Pn_u9}!}rQTGV!3{{N8FoU37eup{-$Qu5w!Md$@J%`6x)kz@PHh;_$ zh5E+f-B{Xcf6Ur8$%90W^S^QK18eW5;lW<)R6+mXAk~L_RU!&d{ zKoQ$ntI%e=`krC?_xjLJuTZ!b0Q$)hO3;v02i-Ic{Gd}We@x|7{ERG8+jgao;17wH z82OvzjSu|X%B$*^$iZ)~Y$^%+H+diHz!uF7*q_6AH%IBUNeX<23;2#cz#p-I?~wNk z0Q?aEe?$Z4uiy~4^o_reH-!n|p*tW~-2;K?KqU`GS7{h3dD*A|X`23@;P+y#bIv2E ztMpQ)6G)i9v?t#O(T6B_?4UtzhJFE0EZXXoAW@DWL9S6R|nZIAJed||U& z?E_T9|B4ocj=aV9qqAM`$~3%gr@vR|6w0=4^jB#Q9cJK;JEgxAc#wry_C?I5AC(N6 z7pBk?u?#|d{m-Z&Yp~eKV*6m;0%5KV9x;$~{Z& zXUqK@xt}Zd$#Oqm?ia}YLb+$l{bIS#ko!!z2jqUK+~>%BuH5tFK40z&<$k%`uax`O zBpaB_4xL#HxS&d_v*7Bf`L5I$|-DZPoIJcj73kIrQ17Ytp% zP&-3B=Tf?xA+AG82VojUAz3}8$1^mBp{Wevl%A*b8io+?%!z#I1avfKLG0vNc&;hE zi#hm)T&(mj48iP)mGbAaqIf$dRyrS2DcZr%y$o$;=ywdktr{!sW$5P&oe3QhZDJ_E z&|M4_GsGS4(%T5{c831I8dOcCilK6bj$ygQ46R`3YYZ6-@w`dty$sD{=rM*aU}zgd zXEXE%hQ>3ri=lB0{U1YP7#a?h86C;cF${SaI*p+#9vk~t*NOjs4T3iF0LvlUS3>O zTT|>gD<84yvua8!stcFgRD9NgirT88;XPEBGm6WLDi#9=Pi^J(RfUU-Jz2g}PVt?X zU%sTg;-+$6X))5O3aV=gYl=@a^A?m=)Gl3I{*@Zv^~E(PQB{2AiJqd;+VUmEi#L8z#>x|$<}k)95M)PUMKMMcGx49u-4 zKO?6WELK&9ra*n)tn!kIs$~d+8|GH{2pr?@nO|IuL9=3cg;h0Wg-h*tZtc>VvNIM4 zww|1&B>M{A{Nl=rDmF4J*9TT!?2%HHON)KeODoENl_$62Mi4cx810p#k)p z#nm;Q{PIHG&6@!zuW-dOv?rOUy%^0_Eh<~QxR_n8@o6M-i$RvfJ|^TWU0QJyib+^V zSGZ_tF=@Meg^%O|u(BednFG^o*|)H4S#d>e4Tq^@X&ErRq@ujoGe_o=Q#ucws3>1t zM!NfE7M6kAi00A?^kHE|g>Oz_)%C@m{Q0wVtODbiUtV2XsY&e11sMu`3s+PYd*&BH zKnU6kfKhcxnc(VQUI{8`6ix8CW!0K?7z2k)m6~B#$>&G6YF2pWR1|TF>T13j#g)b7 zAXU){Prjb}DSAPeLS5pYTUgG)lEJ9QsvC=|eEzDc3e76BmVv!Ev_O}me+jt#rot6qsHz*maXxT? z1=nNd+2cb=>AM^fmm|QDUSLtzb9rG^St0l(XK8hXZ*KAR6=41v@b4^)KuJkiQ5l(O zK@B((V>G9tq7p=^0l7_<@h`^|TFgjs%}o`M6{%Q8v_NrHRe420dEv5R&-n4xWj7ZW z)J*Up5%b=cGk<>0RRs%Xea$~!%2wA@A*Z6Mpr&xq1dprw;^OL}sh-r+4InPu7Ca|eoyWhCY-tR7S5V^m1jZz#S5m-pLMYxfSs^zF)v?g%$}Yz$3J&Q z&V0|DS#xI-0X`PY%bySIO%+^S3$apNEz#*07c4^7v4-CB70ZEC>iSIkaYZ1XGoAt1qj#JM94VM6o5*leGTpRTmUhaDu|NF;UcQI_atE zQ#)F97*18rqFZ7+iRr28Ykh0Aq+_Ydise$EdtlXYr}bYi5kpfN4A^xm3t=+5Azzm7 zpAY%HaQ>{hm)NDC6Jf|;ENP^IWv7l zrG-_6P&rjTORC4gGI?O(yxD$-;7%RLV3U*G2w=PyqWuDhuS;CrimQg9b}bOxQ1a(m z_>pnkfLu(Py1F%>VyBDFvndvj09Oz`DoS_bc5Nt%g*h%7qCv0@^mP(~&jOb7=jO~Y zrx({awX`+B;VzWREc1gbsF{x=3dKZ_MK!)<;7MO$HFTR;b1ng$my?fqWG*>;Wz|{{ zE|!tPYGm%bE9QD+66;lzR*MxyMYUD5QXNHJAY55{#)WzTLeu;d-}s5X3oh{G&nzJS zPVmftjb3mCc&d5`4GU$*Ro7uSQNiI3l?5@{`qFC*tGe4i0jXQ#q$|lJwx- zd;5GQedc$nzV$wJ>QvRKQW?yNuo3M6eP#Ouzk|8gR667e4%Ol+3AlsDIOvP^*Hf1V zAFnqqhx%{yDCgNnKj*pB&;I-uI4?ZTiN(8ndi(kZ)^7lw*)ckn-8nvyd-bl#seGY$ zR%yCCvwP3pvtL6NUX>nM!u+3{*M$nhzO$e`i zBTs&jX};#@12=edC+V)j{Jc%Bdw%8Mn8-#k=a^F0yF0tTNXspYL zQYZEZsRUhk`Vo9t>-no4XMy_9tJL-W2%Q(^94A8G11(ag{Lyrt{}g?qOy?SP*KeZp z!enOl&aWQdS^tv0 zGop-@<%FDbY6JGaqeLAKReD3=p1|0aUP^|^)HU|D4i>mH0x+* zs#!|NXV5uCTd5yQ=lT7+oD=Bm9N6V-q4R1=r*+OtoL(gO+&i4E*-Mz%IR^>qCPvj1_)hnq;>L<0-|NgSpB>}Tjq>0kXUg`ws+#aqbz zFOa)ma=I43OzwQ$>6)j(-i2?F|CGL!JLyd6TK$gGweTI%-z9(UqICVf)0MiL?B7G~ z-$U;Fl+Hh+aQ=+k`#G8a!s)6|dPit=@Zx>s@BQR1jd&DkiPOagDSW>ocW4|Y_G=0U zrT^UT$e-VnzrUw+pnRaxw~GIEdfa!UE~gLU{3y=*JxO1W;QTb4kH+~poY&)gGR|9Y zJ_F|woL`M|8RysGd>+p4!1*$quf}-}=TG7Md7Qt7^Oh&;aMpOFijE4-&Y@c02YY;P z@WJ;S9}nX?mt{UulqY;VitGEq-Pv38^(xM>-)PPE1RoKxNB1Bfe6R5l`-(pEz0SuX zl{r412K!po|DJ*CBRC(8^Q&<_4(IhapNw-E=hxwU9?tK;`7)fZ#(56sPvQJ|oWF+i zT{z!^^Mg450cVFl$EM>zoR7fynK&PVb2rW>;2h&mTFoQj)!Y77>sR3XN}PA#JdX1& zoTqVqEzalQd@j!C`O`Rm4(Ho({u<8T#(4qf`*D5<=SOgU z4Ce!)I$lTO{B)d;!ueR7<2bL!`NcS&g7Xm0qd1?3^E+|A4(D5Oz8B{|;rz^_bU6BP zeihEI#`#>F{{!dSaQ+s~597Swv$Q+U$2o!XPMrS<=gV=v9_OFn{70ORf3|jKBhD|! zc^A%a#Q9w~e+cKBasDFCcj5eVod1CH>Z7&$N8o%E&M(4wE6!s$&*1zfoZpS}4LHx^ z{7aml#9zwM(TnrxI8WmIPMqJ5a}DRaaqfDq=GWo;Je+%RPU8GhoXuNj<^L-wu#y5R zDX@|PD=Dy&0xK!7k^(C!aOhF%M~**vg_JF}J5)kmZkxl7s4@0oI}Yw7X5d(%Z4LM_nz7@E72 z-W_vh7aj%IRXL3O=UI89yV9c*yVBz`nbH_}K6W-uW20{Q9cqw>=3P}B6^+gD9yQUB zN05eSMoLeyTv8F4U8O=WWLxOhktRF-<^w$5l2VSq!f?4KosReKrs*<;(qJmyomK-t zr>PltL&NC}?kLINaCbVHOs=PqkTj2dkSDV`L5DV5t_=05V8`Re_*c?$tjBgt2S~dV zkEPQ*?v&0=6$kfv$-NYazR}5ShLb`<04&Z!lWCeInJZ5ZjwbtQ6fifQPi`CCws{mu z0-FQrO<5W8;c=R5se2%u9xJ5B+{VE5MTX)E2A!STA&X0o;7a6jEydosl|P4-KV=1QY8lT;LF!W2!H zrBUVKbi9`=6zQ(SMJ~_VhI^?P`X^NALcBzJaUoaf)bJqG36S}H6xlo{+F@FZnwxx>etb`bxnk^5}jK|&ClS<<=YTg8y zo@SV;`I2-kCD(Xn;dr*Ry+Hrz?`6kc-e7b(jsI)25!Y;5537>>iTbr+J)?sz7Ud$% z4cs+T+>+bDb645UB*tI>IaFEx#ZX||9U zR6PbNxa{c0ddS~jw=pw0$sw6@ucT;Z%*L%dUd^*_$>65CL8(y8jJxCQWL9&{#Cyt{ zL3;8yXMM>qLUz$y_9ST-T~CK3 zNAIhf(Tv%#O*EJ3q)|0lmH*4$E;icOmZefQofR98bn&zF^gKOi#?lmGDqsv=x=J?y z@I>mS=ZJo^QLQ+gVDNtJ1ucriM`?%h{6*;&eFy>2bm4OLb#@Q8L_wd+{V zu2G?$%1+U|5N=lS#q;#VdQ*#M0kJ`a4KivHIm=5~@-!0`RTg>{45|0CqDeM9nMF+p zrfYM2Ete;MxFN;NP41O^xlrUQHTO!fOcUwo%9r>GrqPg`XE~)3k4^7VGCMU|R8`Uf zBt?cz?_)_5{Zs}mvLFKvQlY5KA5oXod>ghtyOwQ~OQTaNEayRv%_v!cbkpuqzM$s| zRZy{arJc3TYBkr%c`naopG>R9TzZhos`J3A^qJ1$DrYU`7(2t$&iP$*?|rO`9HoiV z&f8b1Zz*!q>77)vCY`%hIs3^cHRpD5fp>n|#gV(ei@(HB7j9Tp%s8J~C36pdv}(0e zrGe&E>Wh^$f15&OjlWH~wo85Ez%g`w*tN!)JD&yvSLw;Rd7h_}&K7n$-{|5`2b87n zlBI3n>Dm9-~R!c*&q zUomMyVL<8Hwpq$YgF89rvIEyRwc99Mt4|@fI&kRr19V$Km7vX|!?85|%Q;sZxQ!lO zOS_x0-jtnxr^H(L5|_C7+d0X4gQDhC4(ty!yM&|m6?NaLzw=+^|5v}wk<~Af&MgOS zc5YaQ7hdNt5ofjg(&9XHVBER$;J|l3=fT6ARg$nx-<7+a&mYwM^}O5p{UOe(;5Rt; zjpY67I(VtLZrz$S3qPT>ShM(xdRo*Y{xdg0Zj0DCQ$3=ENSnP4Up=^a^iBJJcp?Sw zehyyao4RxTAyxy;+gDJFgzbSikD}AO>)`%FynO=?9kOQ4?7yt01gz5EzzlP~_Qck6 z$$hO|d?Hoa#!LGHPprRXKT3%+`*se%+$HMorTn*c4gGa$ALJmJvs(Ak{iPo}^2YJ0 zh`LuXqjk4)5#4W<53w8bw=-?m6aDndlyl{w z{o|8`9hpge?{A?ll%#VbJ?Az$Z#Zngx#O_)^tFYW1Wm2>n-A}!)?SI4(*bpu^XTF6 zUfmFuiMh$fc)fwMGdYo?8jl+Bb}W)k?XdU~rnenN&-w3i8ZO+;(aGgUOWU$LlY5 z{iW*7?PL7>5$KS-{RpFD@jFKldpX%(Q{%tRY?c2%dxdg={yM8vgEKIjt~ydR!2`|b zj-)hxpK|SL{#(6<|1SKJT&AOX%|xxc_X| z-0DQCx@xhj7>&kav1oMu33IDsb6wH7u3A@=uSFB|Hx-RU7P_L5XevUo+7(TZ8evm1 zNYP(9^Z!%xU3_gMl8D4ciqRNZj@G(nyHeGz2pQ9rSZtQ85ThWn8A~OIt96Zt8_`%) zTcHcFluN+wL#`(xWIjt?kr(6y8^}LSvY3iG*^#(Y7}$mp`6zjq;slRGi{zCG5yh3# zodQ8#jnL&-f|4l4>7CFv*)I9U_EQN8RAP2jYHk&UE#>f0{%4xINiFfcZ=$(rR8B5E z-*Jljt#K}Um*e~s>AU`&=d`YIwp3|uD4ky!p}D7u)PF9v^p&J{uI_RkJ)!bSw!yPm zj-x+32bPZ~AIjTF)HRzQ%?6YFN82Cbi-uPGESpjogr8MXxzBuMZCx{OYUbxCetet& zUbOf>r;U|+%$u6|k#n_$?chZVzi9EMW9Z))bN;QtxCXyJ>zJO&-C zIsB$(KJpG_>|6+5wD2`;?DD2&eja=kylCNL7H?|iop)*rH-i@~e9_`f&3qC39pFWW ztCXMqEpatTeuv&XyNDhKXmYEi2j(G`ME2Uv2!bU(QKdn@6*OEZ|bGue-F85rpE)MIsVSy zd!G-B@P7+ECpiA1#s8G$zo|L=i7T~*S@5ETkMe)$;1kE+)Xa}urHq~1!HZ`59REda z?DD2&KJ`9r;qW7M_(cm}w0Ki9UjzR#@S=r}TD+;5UjTn0c+p{b=W6Z27r=`aK4$rE zYW6<{{=g^c_=^t9kAVLN@S?-=74UBZFIspry@u$bsX6>}5`XZb!}9as{{&vN@bmQM z!3S&h-_-0se*?tFDNokvCt7&(er4X&%%`r^d=|WD;m!PF-qg&`fH){-);er@+4r zyy&p}Ecn~Nixxg=`EP3WzY6{@;6)3cuy|9e^asEBX*&HDpoKU68={M*W?l-^8^MbX z%STZlzYSir@Me0m|E6aDQ{elaj`9yJe2Rj|2W#d{&3qO1F9$DL_$b442p?5SYvya< ze+^!=@Dam4`)_LI=fS^#K8WP^K{0RDXNqJ>|u{5Q1<|3|fjUxKee3m>(3Q!~E+ z`+xs8C_ff&#@8?Yi?II|@S?-|ANiOLAa7>R=_gwFloftcbNENVm!GM5(ZV+ie-Zo_ z!HX6?Vfk-r_J0oik$ zGhYP%U*JUxAG3H< z`k9(}`rcn1_S#P^SA;YTe0O|8;T!Vi7{TKI^?o0|DW*uN6IXyFqUZ))aa zpVAf{1}|E8)4w6QXlmvY;Av$m6@Ssf$1ML%&3qC34d6u!KVtEwW_}+0L*PXVU$l5r ztMK2fEgboLgdbY?sKuL_`4QM3054j2GrmJ~(bUXWz;6RDTKI(Jzp0s@2R{W~wD4wl z*?&_rzX<*o@S?-=kx%OY{>=+;|3Zi5W3XQYFIxDTcHUvl;WxDkKlsmqU$p$6wRlrA zU;IyP;f`Z<_(hBVDT_BX^EL3VdZFe;3tzQ(Q!_t8Ypn2b9eB~gN3^jUe^aaQgFoOn zgdbY?sKuL_`3mgMfEOK>p9B9X@S=q`!#hM5P0jw-z#n)#($5Ni(F(t*nU8%|TR0uO zXz|~SFZ*w5=2PIW0xw$lnB~8znV$v!7Xcys0_- z(Oa~Ie+DmFcr(6!@lS!j61?cJ{499h4nnmbpoNcG;WsshzY6=u^k`mmSiS~+7`*7P z`~vuEz>5ycJGbfx{u#XJuzVDJU$2h8XyHe!^fNW5-z@k&;6)4Hto&8LUjbgU@Xg9k z4g7Dxix%E2uU!62&Eb!HPDgN4pN_w1;S*N;P0f4?`~~1e3m>(3Q!`%#{{!%%g>ROA zyoMVe`}L#zLkn-l*DwC_u%7@gTKJlBz21LhY7T$p^V-4%;6)2RV)3SCei8iFz>5|> zYVoFKp4U?2qh|p52OXA=!Twp`MTg~6;I9WSTKH!9Hv;~C@S=r}>FBxjx2aY7gYQ|d z<6nUmK5Fr%W_}L#Uk6@vSbiS-?chZV-z@$M;3FG!_(cnEhIfcAnwrD!+(th-&Hyi3 zcr(42H#PGy@E-&(TKK4Py9U zc+p|`dGJp^0qGANmS2SZEO^nvH_N~1mvjU_175W7W_oe{o0{Wa1b@`u>+p*fK4PVx zshQ`sKKXbJc+tWyDARiRH8t}iU)C1x1TR|nsKuLF`49e?C+hIeLJMz(cZe>Un)wRs zkAfF1yy+kFre=N){HMW-7CvQ#-_*=Iw`&WD7whng7Tydm`)_LIBj7IpFIxD7<-e(! zPl3M^ylCO87H?|i7r{T399I3;(8AMYb+G2}C$v=eGxM@8Wrhrx7tQvmOW9eVA0Mol zUtmE8Yvv<&DCvANp?T44&U}=9e6VId%7PBo%75@rItl(mvpMr4^y7my^CK+iV9k65 z_FsOI=0&r482{(MzYo0Vu>3suUxODNmR|(_k0N?uWJiylRErSXyGFkZ))ag{bF^DfEO*inchQe z-*Aul5%8Y`FIxB!!#?w-X1)ggSKvhpAGLT>Grs`-MW^Waiw?^>^V);AffpT?kAlA& zylCNPt?-+g!(Rpe!&7zmMGK#@cvCaK2!7%;&5IVkYVoFKzVZ!i;iKS13m>s~Q>*ZU zUpt8KLx<&gZE`+_z>5~XsEytF!_@45^qbnkJHU$;K5Fr%W5O~qTM=ajd%-6sVY|-HtE&PJTo0|FRx3q-|!HX8&4DS$KG&S>!;3NN_ z{TD5~8D8d1&Ajt%?f;qJMGH^eO6p+Eyy(lx{&V-E`j7YFrQ>7Jyq^FcUx4O)1^BoN z`e^81Lia-dH}odxLx;5c+o6w!9)n&FU54HQ{YK~!=!>As&{sj92YmzdWzf7|0UvYF zyl(*?pNHoC3;4JTn)fl_ga3}{|0->NkMSVcA5$j!&+ka{_Xu6q_Xr8(#~E93KR~n7 zN7K*Df6fn6bAIxk3Vd7$UbOJl)!Ljj^QLA#_C0NWBY4rmN42qAADWu^6!<@b7af)_ zf$d4{!$%&(P8;T@UH+bIxHXgzRsX4!HW*d z$H4yzyy&oe3jDw}9e>eb`6Bppz>5ycSHNEcUUXP~4*cEVMGGIX%D<_({MW!gV_3&u zwD9Kr!uOx4nO^`u3SPAE>c*omux8%Wioct#(Q%dV(85QRX`MGU^Ue>ng7 zyZ)P+`2_f5x9j+e7Cvh6re=Nw{4{vc!kg(mL>EoXd=dN&;6)2>`p3MfnXiEVGkDR$ zoBsLvUj=`{={o+Rg^yYBH#Pe|5B|;IMGK$c|IooF_TSXZM}DM?ojbsbX8Zj7F#TiR z)XXQqA8`iq4_f%BcHZ^h)Xa~-{;R-?7CvF|re?kh{%Y`|g*W}<@SB?XnuPylI{c!A zH~nMY)XY0SrXL+|054j2GrgEMHS;m>zXdN^_^5Kdo`0rhJ_Ww-<_)X3HBKRl0LdRdU@Cl1IHS@6r zZD9<&XyK#UII#Stz<(ONXyIcPZ))~`7W|QC>hOyeK5Fr%R_O=+9Pm|W;UgArYUbx) z|Bv8B3m>(3Q!_sg{+R!*!!KHR)4w6QXlmvcz`q2%XyId)|E6X>@)K?0V(_AcAF+5- zGhYP%eej}%PguOEnV$pytbf$;7cG3z;!Vwb^d4>DV(_AcuUNdPmH*%$6#t=xk6OH` znV*OKm%S4CXYnzMH#PIlPql@Qffp_Qr!3yo%<~>@d^`$XwD47BTCe|1&HN(xUn)&F@v+p*fe#G+M)a-u^{9f>) zg-=+#shM|vt}T28yy&oe0(^8thhMbt5$(KNf0~;8mwn4#4_>tJQHwV<^F{c74S3PQ zoB2IN7fsE475tyUiw?`rgCEY|{(%s>3f@_=q-k z{Wmr9QScuHFIxDN#haS>BKYTzY5zqFZ~DjKH#PIK;LG4e3m>!mH#PHf;6DpqwD1-F z4;_4B|4q$&;(lf9tjX%|i)QbcUH?tZd=31&z>5|>YVoFK zegXW0;6)2>hSx9rkq5K~C+|f0feyBF+7)16Kd4^Gj{z$O)Z4qS<{epHXe>mM>Ft`b5E>0bX=iJ^}t+;6)2x zwEQK$g@bnK^b;-oti_v}`FZfCf)_1(v-0EoMtg7;c+p{b*{}CMz>5~X zW`*C>9R5Z4e?NH9!Z!hu#Wd{nt!_utgaFMvN4ylCN57H?|iWB;Wsyb-);;S&~bYUYdJe+*u< z@KK95HS-nlhn|J<4;_}DgZ&qS7cG3u^54`d{lH%ee!=oTV)3SCei8OR30`zq|D%7> z9vo59@fR(;>E94tG&TDl1OH0!qJ=lpn|V_+p8{V2FFGt=1it`YwD4wl{lY&B{>jri z{-T99!|NCRD)@2mqQmkv@V9~&Eqt@^&x1dvtivx__-5f>1V0R3bXY#}XGb0H0WVtk zX5o*5zYDx*;hTj&0seo@==h5kzM20i@UH|fIxIf|{yX4B3!l=-a@r z{Gx@AS-h#4UjYAi;6;b!Badni&H*o4_-5%J1Ai-c(ZY{d;WsshzXJZCJv#oPg^yUg zshO{W?*}hhcr(3*=%T5ap9g;-c+tYAEdNc-eDp8c!oA={3m>s~Q!^g}|Lnaw{-T9X zSiGs3FM=|?pshM8{|95BW_=^_4 zX7Q$Ge(t}ug$u!p7JkIyP0f7dF>T?y;6)1`wRlrA9|OPfHON2cuzU*k&jT+yEMElw z4e+AF@)ht;dM)lhEBt1D50Rs$=J;1(e;B-I@jqszpQ)Lj2Y(fK(ZZYQ&HkI3`9<)5 z053W$A5k^4;|%_jj=yN(&G@qare^=6;4c9$T6iLpPKRG~SiT6p z241xAW`42%rsnX^g8vhE(ZZ)Va&)j}-qg&`gWvFa9e&ZmM;WF=_^47^GrtJ_0`Q{4 z@{v_+({X+QUUXPK27cYF4!`KIdE)MxRq&(WMGGHw^ud~WQ*-*&z`tcy zhhH??4^#dY!T%7vXyKcMKf!C@)3N#-?Z4=-d5|>qFk?+A5(MutKi=WUbOHD zi#Ij%3*f&3UbOI0i#Ij%&Kmwh`&qm}$6vJYW_X9_qN$mWfFA}gTKK4Py&iv4Gamzg z5qQzU7cJh@%vZtx0K917P5(Ijre?kd{(1j`@&_H3Ux58R;6)3cu)=R@_CLCoZ92|1 z;6)2>rZCnEZ)@Y|19{kz>5yc&w>9Kc+tW) z3;#U$-+~t{{HzszQ*-!J`>{>OIrUA5KeX^EWm-=^Q!`(M{SSi|Eqv7CP0f4_{9)&! z{8|2wSiGs3k3NBYqHUVMiw^650{oreMTg}_z&{FJwD1WPx_bJVTBRTOop09huR;qS zwRlsj^n?A|!PhL_EU!c4sHvG>g#Blpr~MZ#{+ssw_~`y@)1jT5H7`0Wp8`Md7R`$m zenh!mPd`(0_~*cvz>5|>YVoFKejfaXz>5~XXz`|IK5+osbewO17cG2LnbyN^YUW44 z{}#Mx;hUv@1^glZs?$%j@CnO*Q>*xce;)XGXyKdr?;OZBX^%GWqJ>W>(|Y_(&Hksr zpL{;@A6oc`#hY5CAMAe?{D{TJEZ)@2S784|7a;vCe#GKU&HN(le;mB%u;F(OVw;Y$ z|68^HqJ>W=(|Y=un*C3Je+78a!kg(eL>EoXd`p3MfnXiC9{X(Q4wD2h_ z{HA7p0rr0YUbOILc-enbGrtJ_X>Zg1ix%DtFY~5mKDLf+(p(|%qJ@tt(|Y=wn)wv? zZ-W;tycu5h-_*>HfPYp+hhMbtrhm+vn)zAq?*K1ac+)>W|102s1YWf8rhk6^&w)Sr z?K=FTg)ch#V9mU#IsDOs*~D=^3|=%}J(_+|`tiZq&;JDYXTC%GFIxDRqU*e=+5aN= zB6!ilM=ajd%+G?qAG~PcP5(Ijre=N){L|iv^n(^YYWZ(!=I3Gm#o$E?{|t*aHS>$$ z&jl}9_=Lrqn)%ovY}0Yx175W72PxBf`iuTgvd`a(pLeY0zYcvV^gYnmLjNB6)6n~0 zr1?9bpAP*4=;NRtggy!SQRwZ^>t3k+ABTPh^lPAxg}xB_1n4WEw?N-WI*PdRiCrDj zPOGc-_utxFo}akdnxB|J`kr_($~QDS&G$zNZm=GrKc+s8bOrXO!HX6? zVezJBejfb!;6)2xvv^Z0|DVV<9p_8pKeX`X{V+rqP0f4__U{ERTKI%=y$*gzpR37;(@$j-PVB#_6@MsSbetCn4=w(i>CL>UnNPv~E5M5uKF0r{gHOzxn)%to zw1u~U7tL2W{APM7p04r1=FHE5zY@G?;j3(!4%W<9S3NV9oxU+Pr@Ti9dwQqqExnD@0$a^{b&}Kh9Zb*+1|L(6Otv{r!n! z_hf&+mq1rwJ_|hu{c&j7&+g06vOnFE{!P0l`^}}GQy|Y~r}f>?vcKC?|6TL4 zU)veb&PTNU3Un0u$I!Ar+LPX``B|9%19TPo-Ovlr--34LwENGwO!HCbH$lsOU=Kl8 zVSeI!wEY_NYoTSot-HniquTu!{s-a*eKxf0PxU?M$j7w(vCFl6*+1$N&_$T9t!nc* z=$Av!LthWQ2<^OA+n4>6lBA#6HS6w=bP=@dSM+1pPkr1`$1zuEz6gB^wCwLQ20ah+ zo1hn=_rFr}ksGyp$C76MWq+JaFpt5!3@!WDTm(G_^8>EZ?#)A=47~__33TKW+P{aP zW6;ljpXL+LW#}UGZO|3yr_z1E_sbmgPH5TRxAK9)mi-#Gd<%zM%c+t-$a`8cMn0d1AP?bJ8M}_@YT?= zKHz7dtKZP>J>g3_J!Jj9&7_%+ep8#j6I#~S`!TevmpAZb_z(LZhK}B;`9DD?piiZI zXZJ^--w!S8$8ot(@%fhKOJC7i)@S=Pw7cFKTYLytqt`bXD6 z%X&r+iN0I=-%t6@yz>LC_dqA0KLb4i{TOr+`V=Y$%*%Q`Z-%bI{F~6Sp3ajgpV_{w zkCTQ@{7C!%0q7Cv-#}NP)0FSb*Py=&?fh8tCsMw%c?^0MIt6_hw5-qabLa}p5Bav{ zW&M;4w5*5n5$M>0_U{Sb(e_i&Bha(ZcR*L6PyVj9KLs9;(TGpF5mC6y@m-QpKoUxYmAif11{h4;} zZ>b!yc>;Pj^a%9lpli@iqH@9Zou6xd7jy#pc4%3D;F&+v_GLYR-O#dLz*W%l{r?xB zoqM(W(%wlxOM6GYum6>}5A#=0x#IBEpf87(@7aF~9r=ZJe}c*l+n4Xne*!JvkH26+ zo6Gm$yP@U#?wg?#_iOjo{zTiC@2`iT<$LNYq2>GN|ALn9pEprHtNeICyZ08-Tz|;- z$d|!fzAyd>wDU`C|5-mpe4t06<$Klhpym71d1(2b^bu(JKJ;kHcMi|UueAF+NvrTc zUkG#g9`oza@_pe!R4$m8?*;py<@>)K(DFUr2cYHqxUY%%!`lBpLq~tB^-+}1?0)PI zS`R_X_feNX%lA$XK+E?_CsH|JUcN_q6LjQ{+P&LJtM&r)!_e~m&r$bjUcS#c9a_Gx zsX)v3GGB#`{g-zC7%DgHe-Zjj=nC|C&~wl~ftK$_R#7=&ei7!cgpU46yMHxw4ElS} zDd^`>IZ^&Yk3i2t^LNs0UWGpBL9ONcg|ndNVSX93d|z-cbmY%EJV#NvVfUiYMd$?d z)zC6O|8IY-?T^4*>I0cSFZIC!%wGljkw>+EmqW*(<^84teILwaK6&CH?VrpKm-lIz z?=A1svA<~dFNOUg^h3}U=;)$$Pv%R@`>o7>&X75mFPYCQ@2io=wEObD8iRKGTcD-C zrU)(lO%-VAzmWO5(tj}zbLqcWgqHq`h(nn~#|IJqD73u)CZMIiOXj2g5%y(%sl4w- zF#l2BcV+&kyzdraF7LZCKXYvr`2q8nL(BZh?Z46H5zOy98#)I4Ug#9`JhaR|`~$Si zCwvLjGwObV{UUS%^XEPfE%Wyrs)yA50rU0HGQaL^&<^H*)u7$^Z@<&L%x4>fuEPE$ z&^73vLCgHHBYv-WnGbe4bPV&IJ_MbD{t>jyzxrFMH#z)sFdu=I`B67O%lxOOQ9Y>Q zi}^>dhnD$C--C`~zD(i~Z9f5>gC2pt6S@jLK=l~AUxPj$TISpQ2wLXPTt)Q`+fQMB z%8#LCev8|G1#`Fm3iCJI{wrv={|fpkRIjl6GT&ntw9Ma#Q$3>m$NYxtpk;o=^QazR zbD2MJ6|~HM_#?D~@%hvKTiciU315Vk`39TlK2`3){#T%7KEMHVU$VK3?+-)A*3m^e zJ`bIOK9ue&wlCx9=RnK&_*bDTupg)Ug6+%r^<~h}gSGny(|y3^GQOOKF2ejSXc_-K zfXcOU59Y@~%lPaJw2Zf203Bn94jFHd@t$khd@YrqW3>5yLN7pnLG<&q`5mnHqxluj z*ZRlMvL5%t(6S!)TDniz{?RYc_MZaX3;hD`dH`_p=CXqmqN>W zG?E^&9?clcWj&fb&@!I=7HApIz6|tbIm*WlXj#wU-=JlEl$)Vty_O$}#`}b`R=X$b!Sq7Q`alz`52pH|j}nEB zbCvn5JKp|Y=n5wq9iN4EFrNJ*rKx^Jcprn7^)sGDWs%WYn4bzQ>l>Y=^sE!RLpkqU z550JU){jEVdIHBkf!(A2&7W)YmqE|oqV*-vRp?uwW7H1fW8MCmm-T5*gqHou-UVH| zQ``SFwCq2XK0xz4?!m`rp%<^$df-6Bx2p9Z^xV6(ekFAAom$U8JJ9DskDRN`{{uSp zX01O09X&$p&qGJvq4jq}U!?V~pdI+{9Hhgy2z?avJopo!7Z9FpqG5j=dhSiy{ntZR z5xxp(%5Hk9>*GpG-)!kGTlz)QC(!Zf2gIOW9j29ov`%(wsgVL=UDnOOJ8H@ zPg?qGmcGZ*f3h^+i)Q?uW9b)J`gBVdwWeB1AG2DMllrJx`umptt)&x(sPMS_n=Jiq zOJA$>tZV;P%lt0Oe8JMc(DvQ%|K8I7t+ng^Q=X{8=h}a+)~@*mOK-LGKU#d&GJmaQ z{uWEW+tSxr`bJBC+R~r1^t`3-w)DN0{*9&o%hFvDZ~7cy=|e63WJ^EW(l4-dkEQ?4 z(n(8ivGmzgf4+u(uchBV(eIz>_d5E$o_@3RJBNO6px?jH?~U|(6aCJm-<#=o9{t`z zzkj9Q`SiPhes87Uh4gzH{VMc(JN-_l-x>6K8U5Ztzkj6PE9v)6`n`&NT&G`5zf0&h zLca|CcF=E>e($2+82z&J+eyE1`c2U9Qu@7{ewWejJ@oqz`dv=HD*fI|zboi>CH=0V z-_`WHhJGKQ-v{aUA^KfQzYo*zI{JNteslEuDE&T0zw7CD1N}ZuzZ>cI3HseczfaQd zQ}m-FaS@&Wjeh@5zxUDa{q(z;ek}c7r zr-HI|SOsRcy1srqTQ(f!m^TeYLsDs%R7g&yBp=G|=`7W|<0{LIaHV&UyAwenWBI=o#nE%Bsb8&QQS@%8!Kg}r4 zM7OHk3Q6C4!H?{lE>k6wY}LbovFvDRTXtu1Z%~j1a``4U*5|W(RZ&Q)JJK(78{^4| z9931r>Bed*$m5OO;h6sM$-<7zq`qOdP)Szx%Ft%3KIj;-)vZ~R^-*~_Ws~qe76!QnK`xsb1y9lAD>I%==d;2$WR6Behk<%z;rdb(V~1@)9HrL%jpqci2K_hPOd7+6!M^h`;@<6fSbw%F-xIn5Q# z1U=ERC3QP`9VZKAZnUNweIfUKuI|p3rt2}Do+!*rj-_{Hv&D2~l3K-ZogRhdnQ0wC z^=Lo2P@oDYe@13d^Y+R#8X8nI~v*E%irNWfQ8=`c$x$RZAKAfe-xA%(j zpZSfRpbX7SQqHL~NEN2bZWCKyDHV#D@l092y1<&aO-VL5=3Ybc;Z25$l5$`;Th^}w zW?F0iw->wt(Qg%dN3+GU%2LI1+K+9@lrtxdo;8yzW%<8w+BMpirOcd$QTp^e-8Exr z3J1LqnUBM6dI;$!B2}={+4N{(YO0VQ+_EE{OtKlZw5Y1okNz~>RE7EjDIT9JjORx6 z)s5ZBl=}#ZcbmYbIG&%nZjE=7M}*OxMOi;M%5|CbShF6Yqx3MOYJ-bEd*XRgwdI%< zqJG_+l&iz#4fKebqROP4Rgb#ugTrNSlsE;qpW%0PY*IfS^Lsd$X?i|q>8-X@rurwH z-tn4jslfjk-J79%QMER*RHL}L3zKqoFIR3_?Z}Sj@@Z<9j84dE>dMspn5S^K0CcT##g7ZQ(WhaPV8bu)xhX37U`Xt9F=+V%J@vCL}fWM$^mrL z%bAl_uUk%<8e-G*60B>|T%H`{7NA49ME}i~3q|~w8u%1<{qE#YMaQwGb9QR9NcXr7 zi<2&8M=7Z(SnOtjJ>&mm`CKlIPLX4D9-Gl;#817$Ib&y2JLr7 zXFWXeKK5{tOZpN|SLGWLHeV=F@#JSVE|d$qviWHzJ(HivQnRzcnR*j}AJ6V%wWP{t zx}4b&rW8q8bj*@6y6+00*BdT%#uc=xxO1*~=i5^Kcie$-+&+v2+~?p^pHLh9Nb%+C z5!0`!%g_nA3>}5tft^D8qAzL4dRq$p7SN|2YMy36>#r(3)SB}+k-FCr|WqO^{Q_j9;VkwYB|UIsamBDwRZE&^ALZq2X3x=`~SV2A-Xrl z>wkBf{u{1rC3jVdwB9q+YxD|P>DfFYy<^l|Z#NaBk=k}PatY^#i@F7pDQ`xGEB=&+ z)X`uRrjS^-g=NnQx?fd4M$j$GcXD5PaC=PpI*@A1$sX(lqjvKi>g2EdFkoLyFMd+tYaH>);#tM0FF=)emx|IU@6n*;2;*=!x zc3tH0lI$4uKISO${;~JwCf%ZxM}0eUCF->|E6?uk1{c%x);|^G?3P?Cxn)O;+@e>* ztk^fxXx@1}>dsTSy4&}z z>#U^oPiHA9yiKFPqT(%T0fA3$$;GMUP?wOW6KAwoOxszms!TWA z&m8KwsI9l|rH&nJXu*n$ojrm)jg@9u5YPx(sYZPsiDXri^7*U|1|9mPSbje zZ&QBBwq4w(Z5LQ|G%L3oIYczY!8^5}9u_Ma{za1O{UsWsRE8QFqk#bq>7j1y(Q5)l zfLcNgF$htyyCrcdwb^`Q*%C0MSRXp1$~3-(?=MuTb(f?-dq?7^y;g@UBXdZS-R<y24XwT$kL$kK$0$t;a~n|a!P>w*h|`(~%+_o%lr z)hEGi^K3q|W0E?mb`HKglPMIoaLag!7rwsTJaZwLr1`$3I3?#qX1ebDpzh%qKA9?A zZE?EP6Q@ZdGzz^tN2ToSw0hBV!;>Sg2Mz1V-MG{EwQ_hP|Jz1Cv)R_m6Lx}LzLRQD z+Y_bfQa6Xd$6xN5mQcpmiyb}Li_=8Cg~Emru>Q2wo!v%m)1$)8?R<6*-p+J^Y~8tT zYQg66lrcH#^vrUXkURft8l?!$gVx>dp|?mksFZKz-1tm^X0-5sGc*icqMBj%@cOj= zr!uN-zZ&~&xAbzp4Q>l~3Q(=hg|)H&fU;KC*juRqV3eLt9;utUy?0~>k9)sKhi$h= z;<5U4L){%i_qOMCzmr(ojbT)p9Ymh1IvT?+a|dZUQ|8Xyh92^L;CyhcMh{`Lo2mV( zmS!+hvCiHOak4Z8``|nym3#~JBO{5TY|A{y3c;E(_Vk|D6spevmfQnQBHWbz2Mi7 zZM|4^5SnnUmw`035~QKfdX&v(OY5}%1J-vC&zt(mBn@lOlg4awHH@-)5x=~){g=9^ z^?YirT5BFMPj!Z11>Qb^x1rxFU+ZyetHtJxB0ZKp4@&-yz^o;4orO(ws)vZY=SuLIWe$ar)t&#lmKo44H32%a*aCt~z@ldx%{*_)hnp9PHr zt6R=z21W~y#^A6oIo-hW^TTb3$ySyGT1ENaBia|5-W z`_^0rb0R>fnxbKXj?tUEx#8|wqTiUlr)uaoUZNr~OKrEBy`Vmjv}P}~-oo&k2oUrd z?=7cR_o^Qs}aB?Y_lXJWGkp*I^FZd?D!Hl5rSY6R1BTZE~k zeM{;_HFQaHpxPR`^cH7&9IkiAclZJ5sa+d-F}$#E==@7vJ1zw@CE8CnH9YB`Zbl{E zq-ZQT7U(xIE$|6yC0{@x#2{eb(u08Bj4|@m8vScK@mgwfhK`wEn={1yZ@I6ZJU)$= zHeMfs2E_PPf=h;H^r+(jG4<{-d=j}WLrozD#Ol_Kai`ui4V2NpZS*rbcDKlYm{mX; z4U7=Id$p+C=Lkq1yeuBIGM1ezK-Z**hTQr-SkA3M%y*`xWbu`Qvl4qu3 zduH1ua6&njlqi#`1rBj$B*@W>a+5F`6VoWC{6C; zOV~CS_lk#HUk)EQwYP)=y`8I;mK@sLb96d3x;u4BE)|a(pMz6hEw?dRa3#Jh zu5>SpD?Q8NO7F6`(&ys}udmU13imIYO9RX1()y)c8rq;f!##~|AL)GwS){mJu2<8V zXnlaBw{W&tGGjDdzikI79PwoeN4&#ubT3mlx;qR<&oYIhr^9gcE>k#qI}Ar(P&i~6 zosdPI>tbr-TV+)o>GY}Kx+6{6wifm2Q%eeY#~Rymi2C~75aIp9r;W|+ySALCZiiB~ zn50>xN$O1F2_3sp;YvF0E8n{Pd<*O$>NJAJY!gqWEajomV@r!ZxgDX_bP@cgw$DKVvWAElYV)g+o&?+=~U8 zCK>m1rETEVwdhm8!p=dI!fo{4)Zuco2Nl$IJuQ-Ms<6k?rr<-QuFF% zfmCvI={NGuy`G0&-QS&7viubBl1sr5n++@S0)n2oFnsT%mSG`5s;7KrIJFh8eO28C^r*HMM(!__ zM*^>U;u)}O&q*G1cb^98JLAqB4e`|pN{+SgWZ-(r?Zu61emA+6DQZhSJrSpdXN&!4 zF;|M-Vmw%M>&ANWcp6)to5*_uZQ+nTev|1NhUu51CT(e)kv#OIO})A5dEj@{qT>M_ zw+&`5GxXPKxwLmD1U^|pKa^#VtRdOMjFRamSjd-MYAFpYV@qiuxTVxl+33qo72QQO zI&#TeL8T*y_^V5|xEf2Ob>=8NA?oi7byvgZ=K5vK&Go^#X>=%BL#l1vGwQ{*Vcex* z%%Zz-7^AOo6r;bd0rVM(q2UVEDT>8+_vNsK<&Pe|XnXxM8Cq!D0qFuBl1(R??;^v%r(Bvs3);5y)!KW%KV zLhFl}JGZ=+WTc<^nJnQrY zhR0`(RGP>f><76WCYSnJ-rR$S;Z>Z}2lnnq;A#^PDv3d1QYBl3$R`=?Ep?Wge}BgHcj`#Y1r(>$DcNLGzz(e65=0NygY4? zcJEmF8Zl%qcq(i?NU!&PUrPG*z=U*@mO}A&vp#v#bZNhC6A`Fr78a+XGD&QLmE7*nfAxF3~;^p1Pm zd8t-f5@fQWU#>||`6X;7&zSOlI>}kWqXQ~_Dnz`dtlrN^zSRtu(A=N$8gHkVzq|DQ zL_uf2EZdkr9kdcGhg51_rgb2xu^?ZQ4boFZmVY&BezRMEY|x;G)h*C;s#KuQo<0P% zMkm#_o<5%@`4OUbCuFHGlV1>@p@%7oi}9)-7&A{tEZhscuczFbS-&)S^R=*4T@0cVs<`-|;%9qM>Z zitrw{wlqa}cY{`_sJD^+`s?on-bz%+jdB~b8lPJgTE(C_Y5}bmJhxSbM@#E2aINHi z*$`$0jL=!%dDwdXN~?LbotXB(TH6kp-LJY%@m*rWH!t*j6b#TJ1Pv=S_>$h@t|zSr zM5%oT={e%vAVGrY)4mBhTOOrNwP*r0OS<@B`c1yYK zaB@Y^d})r*1&1q^#&2yrjj5(D41vkuzN%2{eP34EciL#@Xvc$FI{(AgF7s<(29$Ka zJE((~grIzKpNu{)3I08r))O(X_rkK*Y~N(tx_{H(>i+gi&#(=4>Uhujb~gq1Y>f{2 z)PCYpt<`u7@+(qiZyra-eFleyJO6v*8ZEmyWsKQUfK_e-uB(@K;!F8DK*xe;d3KX zB5+>Un>^Aipbg*2%($C%lQWqtdN(2pOdfteu6M%n@~mn{_@HE0!#G%BcV7m-hvp`D z`=1)}N_XD+^gDY;c$XzL2TFS1XK#@9MZUQMts$Gae0ww`4HY+Iy$J3}GJAqUmZU(J zd0^3U(tbMl1gZ5RTpxMot}G4?)dOSMBE9=$^W`+}7R8017ksT}IR@`($9LYho(A!G zKZuv}%HLel#|yOid}%jrYeid6DHqIzfQ{QIAoBHvRoq25a2JGN-7R0tC58UFYxj3t z6lejj$E7H^gPD(0Q84Dkb(%(WFE(Ga{G>2VoaMT!cpU*+zFjpn?R`=L8br(Eb@$*B zUe{aK+tky?uU1>)YyFni=?U<_ZEI0eoI~2s8n1^je03I3m2e%s)E*?1KMku7a8a}t z($ZTKE=Oqes{+<08fc7r)Bb?Kh;rfaX%Mk}|M3r_SHNg4=_g`63sk#mi4x&AA)t9R zZ7jXvHr-O5B_yTYvoCKI&$|jd49xvzrP;6R;BgDQ&b4I?`#x!RS=|Tw!VmX_*4u@* zFSEk?np)3`5N{HJx3hYY^^D5~=I*lAOMb<;$)tvciF*EBX0nMmrm-zKtB#i}<)mqR zVU<_X^yuEb>G8?J4r*rZ&Xj1UmK^U9e(IL3C!e&1hSq0xqzBX1Ox=cg#EtWht&?({S=qmzZ{?56DWXen2u4ZWA5eSB1OFjLHwrnBjp677CG zktsRp`Z_u3iNZ8R!@2-#?mX<)$B=#c)LM6>p|;CsgZIq}+6Ug+>x$cMdrFz2np+&` z+E~`xGZG4tTGy|XwEf9}XR5e&;*p!6-euCLGB;XAp3#8Y7&yw=(xw4f) zq;F9D^lrhG#v$-lVA@(N?l@&Jprpd;e)%r``_7a)q@`JQ)p|5HC)q8!H04l%BHOY>uMW3lxz4qSm zNq66PT2&@POE8TRm8LcZMU}QvHS!Cwr(1(ZpJ|Pt!6`}#BnItO+n1J)1tnAJ)~JVM z+vX{6YPO$Vt!>ueP0;3dWj#0auoPmmthEQ+41Cgf>mUCc!&tb?=fTrWO#m#DVQ0CT zL*!=rnL`r6wi^xhz0|RT|Ci3^MC}pc4nZ@mgBp-#BQ;d0;aft!l`0J{Z_2CTVH!iQ zhryc7{0J(eOANbr@;nKs-P(VmG!!{xQKxCD_T%6o_r^4>58V9qKUb)S#VQ(s`MT6l z9mO~NP+dq5J)?2`jiYfPDt7eoXOr$+1w8e6CPaCnRMCbhOQ+%W8_8>xY=q1bzDwU&hZhWRNGtEV+oXO?6^KSEQnrx!~sf8(5;m0#|8)|YXUchZy!a-MFSfY~VS zMl*<8+g0t#CpTqU*`KmfS`qXL7Jqy`OJ0VO-q2(gH#=-Idm0G3h`Ci`h>W$#P?hCFNK@Ck?jSTzI0s1mek5#>_Se zr>Zs1MRNeWp8Dl#OMMew2Q1f@?(J@)z%|_FEw?n57^zjG|K5*`+9-8FgPZD>^UT0r z#;}JUV{e}Qo~loWaan4<7TN$yWReLjJaddMKnhJEl8F*1pEe}b=Eh&q$uL}+Lfcp;N z*CuM{x$y?hzl^PHT<@KT5hBe39-m%;TjEnO4sJgV$&jt;^U=1sYsAO^Y1S>^wAt2>_1Ny;=lki@YNudcrNzC2Zy z+01_YHm+}@Zf$&zQN0q)X9NEa-eKOD``g~$C@WiuADv#=N}M_-c@3bw^kJg@>T%=N z9j~SlA-#G0%2wj(Gv%XC-sXH`aB{6|C9c}ZZt0kmPt#-znj?xh6%2wi2Y6ZKtp7Yd^#CxT?A97hk&Vii--nSac3Aby? za>3|n8?8?okQQoNVK#?r@tVZTft3sCQf80rejuATQ&Y~mT$@_UCl6tA)xU!XaU^{JPD{=F)elBOc7xc*n2H9jmeYacmERV5N$T~_2x0URP2s)zMN@L#AUG?B+ zrl)h`c}xW3byPXq{QHb~28A&fN`?p;>+uj{1bTKs_&$u4ZM)mcW?f)(ajkE#?S6mU zo}=`f=6hgzf|lOWwXvG95I#5mFW$Dh-oNe6hzk7;6iuwrQ#%jD>^&?kuqF$q`W6GJ z@%;B5rnvx%HXe5O!N9 z&kToVos0Etnf%)Q9fYET*Q%h>;&#LP1eM>k-Qp#E+0xIkvXL;Y>y#Z!7c;riU|Yqg z$!qb_rKs)NfnFfxTbjSZM#8PPovq=ahWX>+Tk+P{u0Ho+z^a9G?-(5vdajRJ0myfY zxencJ`Eyin=zB50t1Wvgn=QI69cuXcZu3}QqG@HbMR{A`20*|YvsE#+{L1a_O|i1s;trai z>(`Q6V)LDbT%nwjOf#lQ__*4vCh%Dp-oMj;*Wlvv;c4&j3J!yN!}U5)6&2Qjz-o?z zhPgT`n=N`D>ij~(A9Sp2wwRqRmu7f@5$;Sf+Ag|LMqi(=Y_>=@E$_5R2i?|>&klQW z>9TvAcGxpAo~tdNUXbPAY>~U<+^K}_B2x_oF(5o@;^E_y8E*gS?vS6klujY5 zKxwad`jwk>2)46TqxCN5^Qde+%yu`-zVO3+rS$fr`1P&%7tYqB71X)j$wPl-yF<>M z#@;V^t88n#LmDY8P0{{{^*z?gg7>8=dlTz0s-vS9h-D4c#Ybf5$BCHlKS9Z5}d}EljJ2!{Ouq03r;_!~g&Q delta 28688 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 RgB<)9XBGbT1Ryyr{s;XChK2wD literal 0 HcmV?d00001 diff --git a/provision.sh b/provision.sh new file mode 100755 index 00000000..345eb439 --- /dev/null +++ b/provision.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# Install Dart, globally. +sudo apt-get update +sudo apt-get install apt-transport-https +sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -' +sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list' +sudo apt-get update +sudo apt-get install -y dart +export PATH="$PATH:/usr/lib/dart/bin" +echo 'export PATH="$PATH:/usr/lib/dart/bin"' >> ~vagrant/.profile + +# Install build tooling, CMake, etc. +sudo apt-get install -y build-essential +sudo apt-get install -y cmake + +# Build the library. +pushd /vagrant +mkdir -p cmake-build-vagrant +pushd cmake-build-vagrant +cmake .. +cmake --build . --target install +popd +popd diff --git a/ubuntu-bionic-18.04-cloudimg-console.log b/ubuntu-bionic-18.04-cloudimg-console.log new file mode 100644 index 00000000..63e6554b --- /dev/null +++ b/ubuntu-bionic-18.04-cloudimg-console.log @@ -0,0 +1,672 @@ +[ 0.000000] Linux version 4.15.0-60-generic (buildd@lgw01-amd64-030) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 (Ubuntu 4.15.0-60.67-generic 4.15.18) +[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-60-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 +[ 0.000000] KERNEL supported cpus: +[ 0.000000] Intel GenuineIntel +[ 0.000000] AMD AuthenticAMD +[ 0.000000] Centaur CentaurHauls +[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' +[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' +[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' +[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 +[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format. +[ 0.000000] e820: BIOS-provided physical RAM map: +[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable +[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved +[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffeffff] usable +[ 0.000000] BIOS-e820: [mem 0x000000003fff0000-0x000000003fffffff] ACPI data +[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved +[ 0.000000] NX (Execute Disable) protection: active +[ 0.000000] SMBIOS 2.5 present. +[ 0.000000] DMI: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 +[ 0.000000] Hypervisor detected: KVM +[ 0.000000] e820: last_pfn = 0x3fff0 max_arch_pfn = 0x400000000 +[ 0.000000] MTRR: Disabled +[ 0.000000] x86/PAT: MTRRs disabled, skipping PAT initialization too. +[ 0.000000] CPU MTRRs all blank - virtualized system. +[ 0.000000] x86/PAT: Configuration [0-7]: WB WT UC- UC WB WT UC- UC +[ 0.000000] found SMP MP-table at [mem 0x0009fff0-0x0009ffff] +[ 0.000000] Scanning 1 areas for low memory corruption +[ 0.000000] RAMDISK: [mem 0x35a8b000-0x36d3cfff] +[ 0.000000] ACPI: Early table checksum verification disabled +[ 0.000000] ACPI: RSDP 0x00000000000E0000 000024 (v02 VBOX ) +[ 0.000000] ACPI: XSDT 0x000000003FFF0030 00003C (v01 VBOX VBOXXSDT 00000001 ASL 00000061) +[ 0.000000] ACPI: FACP 0x000000003FFF00F0 0000F4 (v04 VBOX VBOXFACP 00000001 ASL 00000061) +[ 0.000000] ACPI: DSDT 0x000000003FFF0470 0022EA (v02 VBOX VBOXBIOS 00000002 INTL 20100528) +[ 0.000000] ACPI: FACS 0x000000003FFF0200 000040 +[ 0.000000] ACPI: FACS 0x000000003FFF0200 000040 +[ 0.000000] ACPI: APIC 0x000000003FFF0240 00005C (v02 VBOX VBOXAPIC 00000001 ASL 00000061) +[ 0.000000] ACPI: SSDT 0x000000003FFF02A0 0001CC (v01 VBOX VBOXCPUT 00000002 INTL 20100528) +[ 0.000000] No NUMA configuration found +[ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000003ffeffff] +[ 0.000000] NODE_DATA(0) allocated [mem 0x3ffc5000-0x3ffeffff] +[ 0.000000] kvm-clock: cpu 0, msr 0:3ff44001, primary cpu clock +[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00 +[ 0.000000] kvm-clock: using sched offset of 6313796290 cycles +[ 0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns +[ 0.000000] Zone ranges: +[ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff] +[ 0.000000] DMA32 [mem 0x0000000001000000-0x000000003ffeffff] +[ 0.000000] Normal empty +[ 0.000000] Device empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009efff] +[ 0.000000] node 0: [mem 0x0000000000100000-0x000000003ffeffff] +[ 0.000000] Reserved but unavailable: 98 pages +[ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffeffff] +[ 0.000000] ACPI: PM-Timer IO Port: 0x4008 +[ 0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 +[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) +[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) +[ 0.000000] Using ACPI (MADT) for SMP configuration information +[ 0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs +[ 0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff] +[ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff] +[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff] +[ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] +[ 0.000000] e820: [mem 0x40000000-0xfebfffff] available for PCI devices +[ 0.000000] Booting paravirtualized kernel on KVM +[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns +[ 0.000000] random: get_random_bytes called from start_kernel+0x99/0x4fd with crng_init=0 +[ 0.000000] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:1 +[ 0.000000] percpu: Embedded 46 pages/cpu s151552 r8192 d28672 u1048576 +[ 0.000000] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes) +[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 257913 +[ 0.000000] Policy zone: DMA32 +[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-60-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 +[ 0.000000] Memory: 983440K/1048120K available (12300K kernel code, 2481K rwdata, 4172K rodata, 2436K init, 2384K bss, 64680K reserved, 0K cma-reserved) +[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 +[ 0.000000] Kernel/User page tables isolation: enabled +[ 0.000000] ftrace: allocating 39306 entries in 154 pages +[ 0.004000] Hierarchical RCU implementation. +[ 0.004000] RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=2. +[ 0.004000] Tasks RCU enabled. +[ 0.004000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 +[ 0.004000] NR_IRQS: 524544, nr_irqs: 440, preallocated irqs: 16 +[ 0.004000] Console: colour VGA+ 80x25 +[ 0.004000] console [tty1] enabled +[ 0.004000] console [ttyS0] enabled +[ 0.004000] ACPI: Core revision 20170831 +[ 0.004000] ACPI: 2 ACPI AML tables successfully acquired and loaded +[ 0.004000] APIC: Switch to symmetric I/O mode setup +[ 0.004000] x2apic enabled +[ 0.004000] Switched APIC routing to physical x2apic. +[ 0.005261] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 +[ 0.008004] tsc: Detected 1799.999 MHz processor +[ 0.012012] Calibrating delay loop (skipped) preset value.. 3599.99 BogoMIPS (lpj=7199996) +[ 0.014430] pid_max: default: 32768 minimum: 301 +[ 0.016036] Security Framework initialized +[ 0.017257] Yama: becoming mindful. +[ 0.018593] AppArmor: AppArmor initialized +[ 0.021844] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) +[ 0.024088] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) +[ 0.028022] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) +[ 0.030085] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) +[ 0.032346] Last level iTLB entries: 4KB 64, 2MB 8, 4MB 8 +[ 0.036002] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0, 1GB 4 +[ 0.038331] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization +[ 0.040053] Spectre V2 : Mitigation: Full generic retpoline +[ 0.044003] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch +[ 0.047370] Speculative Store Bypass: Vulnerable +[ 0.048050] MDS: Vulnerable: Clear CPU buffers attempted, no microcode +[ 0.050738] Freeing SMP alternatives memory: 36K +[ 0.060000] smpboot: CPU0: Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz (family: 0x6, model: 0x3d, stepping: 0x4) +[ 0.060095] Performance Events: unsupported p6 CPU model 61 no PMU driver, software events only. +[ 0.063096] Hierarchical SRCU implementation. +[ 0.064650] NMI watchdog: Perf event create on CPU 0 failed with -2 +[ 0.066472] NMI watchdog: Perf NMI watchdog permanently disabled +[ 0.068053] smp: Bringing up secondary CPUs ... +[ 0.069490] x86: Booting SMP configuration: +[ 0.070770] .... node #0, CPUs: #1 +[ 0.004000] kvm-clock: cpu 1, msr 0:3ff44041, secondary cpu clock +[ 0.078095] smp: Brought up 1 node, 2 CPUs +[ 0.078095] smpboot: Max logical packages: 1 +[ 0.080007] smpboot: Total of 2 processors activated (7199.99 BogoMIPS) +[ 0.085029] devtmpfs: initialized +[ 0.085718] x86/mm: Memory block size: 128MB +[ 0.088152] evm: security.selinux +[ 0.089578] evm: security.SMACK64 +[ 0.090723] evm: security.SMACK64EXEC +[ 0.092005] evm: security.SMACK64TRANSMUTE +[ 0.093324] evm: security.SMACK64MMAP +[ 0.094789] evm: security.apparmor +[ 0.096003] evm: security.ima +[ 0.097270] evm: security.capability +[ 0.100127] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.104010] futex hash table entries: 512 (order: 3, 32768 bytes) +[ 0.108000] pinctrl core: initialized pinctrl subsystem +[ 0.108153] RTC time: 4:37:25, date: 09/29/19 +[ 0.112223] NET: Registered protocol family 16 +[ 0.114097] audit: initializing netlink subsys (disabled) +[ 0.116040] audit: type=2000 audit(1569731852.938:1): state=initialized audit_enabled=0 res=1 +[ 0.120020] cpuidle: using governor ladder +[ 0.121972] cpuidle: using governor menu +[ 0.124054] ACPI: bus type PCI registered +[ 0.125660] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 +[ 0.128144] PCI: Using configuration type 1 for base access +[ 0.132420] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.136070] ACPI: Added _OSI(Module Device) +[ 0.137755] ACPI: Added _OSI(Processor Device) +[ 0.139558] ACPI: Added _OSI(3.0 _SCP Extensions) +[ 0.140012] ACPI: Added _OSI(Processor Aggregator Device) +[ 0.142205] ACPI: Added _OSI(Linux-Dell-Video) +[ 0.144009] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio) +[ 0.146265] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics) +[ 0.148559] ACPI: Executed 1 blocks of module-level executable AML code +[ 0.157460] ACPI: Interpreter enabled +[ 0.159031] ACPI: (supports S0 S5) +[ 0.160004] ACPI: Using IOAPIC for interrupt routing +[ 0.162232] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug +[ 0.164282] ACPI: Enabled 2 GPEs in block 00 to 07 +[ 0.177420] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) +[ 0.179619] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI] +[ 0.180559] acpi PNP0A03:00: _OSC: not requesting OS control; OS requires [ExtendedConfig ASPM ClockPM MSI] +[ 0.184016] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge. +[ 0.188599] PCI host bridge to bus 0000:00 +[ 0.190032] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] +[ 0.192012] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] +[ 0.196010] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] +[ 0.198997] pci_bus 0000:00: root bus resource [mem 0x40000000-0xfdffffff window] +[ 0.200005] pci_bus 0000:00: root bus resource [bus 00-ff] +[ 0.209096] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] +[ 0.212011] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io 0x03f6] +[ 0.214198] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] +[ 0.216011] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io 0x0376] +[ 0.250063] pci 0000:00:07.0: quirk: [io 0x4000-0x403f] claimed by PIIX4 ACPI +[ 0.252032] pci 0000:00:07.0: quirk: [io 0x4100-0x410f] claimed by PIIX4 SMB +[ 0.268428] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 9 10 *11) +[ 0.271342] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 9 *10 11) +[ 0.272177] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 *9 10 11) +[ 0.274371] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 9 10 *11) +[ 0.276529] SCSI subsystem initialized +[ 0.280075] pci 0000:00:02.0: vgaarb: setting as boot VGA device +[ 0.282678] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none +[ 0.284008] pci 0000:00:02.0: vgaarb: bridge control possible +[ 0.288007] vgaarb: loaded +[ 0.289501] ACPI: bus type USB registered +[ 0.292045] usbcore: registered new interface driver usbfs +[ 0.294316] usbcore: registered new interface driver hub +[ 0.296044] usbcore: registered new device driver usb +[ 0.300127] EDAC MC: Ver: 3.0.0 +[ 0.302311] PCI: Using ACPI for IRQ routing +[ 0.304830] NetLabel: Initializing +[ 0.308006] NetLabel: domain hash size = 128 +[ 0.310637] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.312043] NetLabel: unlabeled traffic allowed by default +[ 0.316129] clocksource: Switched to clocksource kvm-clock +[ 0.338523] VFS: Disk quotas dquot_6.6.0 +[ 0.340526] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.344063] AppArmor: AppArmor Filesystem Enabled +[ 0.347415] pnp: PnP ACPI init +[ 0.354536] pnp: PnP ACPI: found 3 devices +[ 0.377986] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns +[ 0.384610] NET: Registered protocol family 2 +[ 0.391662] TCP established hash table entries: 8192 (order: 4, 65536 bytes) +[ 0.396743] TCP bind hash table entries: 8192 (order: 5, 131072 bytes) +[ 0.401916] TCP: Hash tables configured (established 8192 bind 8192) +[ 0.406238] UDP hash table entries: 512 (order: 2, 16384 bytes) +[ 0.409854] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) +[ 0.414792] NET: Registered protocol family 1 +[ 0.418002] pci 0000:00:00.0: Limiting direct PCI/PCI transfers +[ 0.423100] pci 0000:00:01.0: Activating ISA DMA hang workarounds +[ 0.427601] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] +[ 0.434649] Unpacking initramfs... +[ 0.787407] Freeing initrd memory: 19144K +[ 0.789209] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x19f228ab7a2, max_idle_ns: 440795289252 ns +[ 0.793332] platform rtc_cmos: registered platform RTC device (no PNP device found) +[ 0.796800] Scanning for low memory corruption every 60 seconds +[ 0.799238] Initialise system trusted keyrings +[ 0.801081] Key type blacklist registered +[ 0.802821] workingset: timestamp_bits=36 max_order=18 bucket_order=0 +[ 0.805819] zbud: loaded +[ 0.807186] squashfs: version 4.0 (2009/01/31) Phillip Lougher +[ 0.810037] fuse init (API version 7.26) +[ 0.815469] Key type asymmetric registered +[ 0.816858] Asymmetric key parser 'x509' registered +[ 0.818479] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) +[ 0.821254] io scheduler noop registered +[ 0.822470] io scheduler deadline registered +[ 0.823827] io scheduler cfq registered (default) +[ 0.826132] ACPI: AC Adapter [AC] (on-line) +[ 0.827462] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 +[ 0.830032] ACPI: Power Button [PWRF] +[ 0.831785] input: Sleep Button as /devices/LNXSYSTM:00/LNXSLPBN:00/input/input1 +[ 0.834809] ACPI: Sleep Button [SLPF] +[ 0.838210] ACPI: Battery Slot [BAT0] (battery present) +[ 0.840233] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled + +  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~[ 0.869459] 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A +[ 0.873870] Linux agpgart interface v0.103 +[ 0.876700] loop: module loaded +[ 0.878775] scsi host0: ata_piix +[ 0.880366] scsi host1: ata_piix +[ 0.881737] ata1: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0xd000 irq 14 +[ 0.883885] ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0xd008 irq 15 +[ 0.886091] libphy: Fixed MDIO Bus: probed +[ 0.887767] tun: Universal TUN/TAP device driver, 1.6 +[ 0.889455] PPP generic driver version 2.4.2 +[ 0.890748] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver +[ 0.892752] ehci-pci: EHCI PCI platform driver +[ 0.894121] ehci-platform: EHCI generic platform driver +[ 0.895894] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver +[ 0.898361] ohci-pci: OHCI PCI platform driver +[ 0.900140] ohci-platform: OHCI generic platform driver +[ 0.902441] uhci_hcd: USB Universal Host Controller Interface driver +[ 0.904865] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12 +[ 0.907797] serio: i8042 KBD port at 0x60,0x64 irq 1 +[ 0.909401] serio: i8042 AUX port at 0x60,0x64 irq 12 +[ 0.910962] mousedev: PS/2 mouse device common for all mice +[ 0.913441] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2 +[ 0.916486] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 +[ 0.918365] rtc_cmos rtc_cmos: alarms up to one day, 114 bytes nvram +[ 0.920021] i2c /dev entries driver +[ 0.921365] device-mapper: uevent: version 1.0.3 +[ 0.922803] device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com +[ 0.926126] ledtrig-cpu: registered to indicate activity on CPUs +[ 0.929176] NET: Registered protocol family 10 +[ 0.937552] Segment Routing with IPv6 +[ 0.938709] NET: Registered protocol family 17 +[ 0.940188] Key type dns_resolver registered +[ 0.941836] mce: Using 0 MCE banks +[ 0.943170] RAS: Correctable Errors collector initialized. +[ 0.945569] sched_clock: Marking stable (945543331, 0)->(1319832110, -374288779) +[ 0.948649] registered taskstats version 1 +[ 0.949901] Loading compiled-in X.509 certificates +[ 0.954626] Loaded X.509 cert 'Build time autogenerated kernel key: 9d88e3c0462fa0d2df2917e8bbfdfdd1c55d8ddc' +[ 0.958110] zswap: loaded using pool lzo/zbud +[ 0.964498] Key type big_key registered +[ 0.965808] Key type trusted registered +[ 0.969372] Key type encrypted registered +[ 0.970893] AppArmor: AppArmor sha1 policy hashing enabled +[ 0.973159] ima: No TPM chip found, activating TPM-bypass! (rc=-19) +[ 0.975617] ima: Allocated hash algorithm: sha1 +[ 0.977534] evm: HMAC attrs: 0x1 +[ 0.979719] Magic number: 3:202:617 +[ 0.982579] rtc_cmos rtc_cmos: setting system clock to 2019-09-29 04:37:26 UTC (1569731846) +[ 0.986467] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found +[ 0.988892] EDD information not available. +[ 1.049273] Freeing unused kernel image memory: 2436K +[ 1.064568] Write protecting the kernel read-only data: 20480k +[ 1.067065] Freeing unused kernel image memory: 2008K +[ 1.069111] Freeing unused kernel image memory: 1972K +[ 1.077828] x86/mm: Checked W+X mappings: passed, no W+X pages found. +[ 1.080111] x86/mm: Checking user space page tables +[ 1.089009] x86/mm: Checked W+X mappings: passed, no W+X pages found. +Loading, please wait... +starting version 237 +[ 1.184353] Fusion MPT base driver 3.04.20 +[ 1.186024] Copyright (c) 1999-2008 LSI Corporation +[ 1.196999] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI +[ 1.199908] e1000: Copyright (c) 1999-2006 Intel Corporation. +[ 1.208654] Fusion MPT SPI Host driver 3.04.20 +[ 1.224491] AVX2 version of gcm_enc/dec engaged. +[ 1.231798] AES CTR mode by8 optimization enabled +[ 1.419237] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input4 +[ 1.843515] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 02:ee:0a:3b:45:98 +[ 1.846823] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection +[ 1.851174] mptbase: ioc0: Initiating bringup +[ 1.851551] e1000 0000:00:03.0 enp0s3: renamed from eth0 +[ 1.952561] ioc0: LSI53C1030 A0: Capabilities={Initiator} +[ 2.195418] scsi host2: ioc0: LSI53C1030 A0, FwRev=00000000h, Ports=1, MaxQ=256, IRQ=20 +[ 2.365548] scsi 2:0:0:0: Direct-Access VBOX HARDDISK 1.0 PQ: 0 ANSI: 5 +[ 2.400288] scsi target2:0:0: Beginning Domain Validation +[ 2.405262] scsi target2:0:0: Domain Validation skipping write tests +[ 2.407797] scsi target2:0:0: Ending Domain Validation +[ 2.410045] scsi target2:0:0: asynchronous +[ 2.413130] scsi 2:0:1:0: Direct-Access VBOX HARDDISK 1.0 PQ: 0 ANSI: 5 +[ 2.444548] scsi target2:0:1: Beginning Domain Validation +[ 2.447997] random: fast init done +[ 2.450934] scsi target2:0:1: Domain Validation skipping write tests +[ 2.453478] scsi target2:0:1: Ending Domain Validation +[ 2.455625] scsi target2:0:1: asynchronous +[ 2.466484] random: systemd-udevd: uninitialized urandom read (16 bytes read) +[ 2.466557] sd 2:0:0:0: Attached scsi generic sg0 type 0 +[ 2.469874] random: systemd-udevd: uninitialized urandom read (16 bytes read) +[ 2.472254] sd 2:0:1:0: Attached scsi generic sg1 type 0 +[ 2.475796] sd 2:0:1:0: [sdb] 20480 512-byte logical blocks: (10.5 MB/10.0 MiB) +[ 2.480854] random: systemd-udevd: uninitialized urandom read (16 bytes read) +[ 2.483694] sd 2:0:1:0: [sdb] Write Protect is off +[ 2.483705] sd 2:0:0:0: [sda] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB) +[ 2.491205] sd 2:0:1:0: [sdb] Incomplete mode parameter data +[ 2.496107] sd 2:0:1:0: [sdb] Assuming drive cache: write through +[ 2.496223] sd 2:0:0:0: [sda] Write Protect is off +[ 2.501151] sd 2:0:0:0: [sda] Incomplete mode parameter data +[ 2.503655] sd 2:0:1:0: [sdb] Attached SCSI disk +[ 2.504110] sd 2:0:0:0: [sda] Assuming drive cache: write through +[ 2.512349] sda: sda1 +[ 2.514834] sd 2:0:0:0: [sda] Attached SCSI disk +Begin: Loading essential drivers ... [ 4.120365] raid6: sse2x1 gen() 8070 MB/s +[ 4.168222] raid6: sse2x1 xor() 6016 MB/s +[ 4.216338] raid6: sse2x2 gen() 10374 MB/s +[ 4.264252] raid6: sse2x2 xor() 6295 MB/s +[ 4.312232] raid6: sse2x4 gen() 12057 MB/s +[ 4.360267] raid6: sse2x4 xor() 7732 MB/s +[ 4.408068] raid6: avx2x1 gen() 16441 MB/s +[ 4.456229] raid6: avx2x1 xor() 10055 MB/s +[ 4.504190] raid6: avx2x2 gen() 18760 MB/s +[ 4.552254] raid6: avx2x2 xor() 10226 MB/s +[ 4.600221] raid6: avx2x4 gen() 22732 MB/s +[ 4.648232] raid6: avx2x4 xor() 13132 MB/s +[ 4.649527] raid6: using algorithm avx2x4 gen() 22732 MB/s +[ 4.651588] raid6: .... xor() 13132 MB/s, rmw enabled +[ 4.653647] raid6: using avx2x2 recovery algorithm +[ 4.657327] xor: automatically using best checksumming function avx +[ 4.661178] async_tx: api initialized (async) +done. +Begin: Running /scripts/init-premount ... done. +Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. +Begin: Running /scripts/local-premount ... [ 4.729105] Btrfs loaded, crc32c=crc32c-intel +Scanning for Btrfs filesystems +done. +Warning: fsck not present, so skipping root file system +[ 4.781118] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) +done. +Begin: Running /scripts/local-bottom ... done. +Begin: Running /scripts/init-bottom ... done. +[ 5.131768] ip_tables: (C) 2000-2006 Netfilter Core Team +[ 5.152384] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) +[ 5.159865] systemd[1]: Detected virtualization oracle. +[ 5.161648] systemd[1]: Detected architecture x86-64. + +Welcome to Ubuntu 18.04.3 LTS! + +[ 5.176478] systemd[1]: Set hostname to . +[ 5.185207] systemd[1]: Initializing machine ID from random generator. +[ 5.187205] systemd[1]: Installed transient /etc/machine-id file. +[ 5.680638] systemd[1]: Reached target User and Group Name Lookups. +[ OK ] Reached target User and Group Name Lookups. +[ 5.686276] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. +[ OK ] Set up automount Arbitrary Executab…rmats File System Automount Point. +[ 5.698844] systemd[1]: Created slice System Slice. +[ OK ] Created slice System Slice. +[ 5.703202] systemd[1]: Created slice system-serial\x2dgetty.slice. +[ OK ] Created slice system-serial\x2dgetty.slice. +[ OK ] Listening on Journal Socket. +[ OK ] Listening on LVM2 poll daemon socket. + Starting Set the console keyboard layout... + Mounting Kernel Debug File System... + Starting Create list of required st…ce nodes for the current kernel... +[ OK ] Listening on Journal Socket (/dev/log). +[ OK ] Listening on LVM2 metadata daemon socket. + Starting Remount Root and Kernel File Systems... +[ OK ] Listening on Device-mapper event daemon FIFOs. + Starting Monitoring of LVM2 mirrors…ng dmeventd or progress polling... +[ OK ] Listening on Syslog Socket. +[ OK ] Listening on Network Service Netlink Socket. +[ OK ] Listening on udev Kernel Socket. + Starting Load Kernel Modules... +[ OK ] Listening on Journal Audit Socket. + Mounting POSIX Message Queue File System... +[ 5.813826] EXT4-fs (sda1): re-mounted. Opts: (null) + Starting Journal Service... +[ OK ] Listening on udev Control Socket. + Starting udev Coldplug all Devices... + Mounting Huge Pages File System... +[ OK ] Listening on /dev/initctl Compatibility Named Pipe. +[ OK ] Reached target System Time Synchronized. +[ OK ] Reached target Swap. +[ OK ] Started Forward Password Requests to Wall Directory Watch. +[ 5.847175] Loading iSCSI transport class v2.0-870. +[ OK ] Created slice User and Session Slice. +[ OK ] Reached target Slices. + Starting Uncomplicated firewall... +[ OK ] Mounted Kernel Debug File System. +[ OK ] Started Create list of required sta…vice nodes for the current kernel. +[ OK ] Started Remount Root and Kernel File Systems. +[ OK ] Mounted POSIX Message Queue File System. +[ OK ] Mounted Huge Pages File System. +[ OK ] Started LVM2 metadata daemon. + Starting Load/Save Random Seed... +[ 5.940173] iscsi: registered transport (tcp) + Starting Create Static Device Nodes in /dev... +[ OK ] Started Uncomplicated firewall. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Started Load/Save Random Seed. +[ OK ] Started Monitoring of LVM2 mirrors,…sing dmeventd or progress polling. +[ OK ] Started Journal Service. + Starting Flush Journal to Persistent Storage... +[ 6.067247] iscsi: registered transport (iser) +[ OK ] Started Set the console keyboard layout. +[ OK ] Started Load Kernel Modules. + Starting Apply Kernel Variables... + Mounting Kernel Configuration File System... + Mounting FUSE Control File System... +[ OK ] Mounted Kernel Configuration File System. +[ OK ] Mounted FUSE Control File System. +[ 6.097472] systemd-journald[397]: Received request to flush runtime journal from PID 1 +[ OK ] Started Create Static Device Nodes in /dev. +[ OK ] Reached target Local File Systems (Pre). +[ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting AppArmor initialization... + Starting Tell Plymouth To Write Out Runtime Data... + Starting ebtables ruleset management... + Starting Commit a transient machine-id on disk... + Starting udev Kernel Device Manager... +[ OK ] Started Set console font and keymap. +[ OK ] Started Tell Plymouth To Write Out Runtime Data. +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Flush Journal to Persistent Storage. +[ OK ] Started Commit a transient machine-id on disk. + Starting Create Volatile Files and Directories... +[ OK ] Started udev Kernel Device Manager. +[ OK ] Started Dispatch Password Requests to Console Directory Watch. +[ OK ] Reached target Local Encrypted Volumes. +[ OK ] Started Create Volatile Files and Directories. + Starting Update UTMP about System Boot/Shutdown... +[ OK ] Started ebtables ruleset management. +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Found device /dev/ttyS0. +[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch. +[ OK ] Started AppArmor initialization. + Starting Initial cloud-init job (pre-networking)... +[ 10.488512] cloud-init[541]: Cloud-init v. 19.1-1-gbaa47854-0ubuntu1~18.04.1 running 'init-local' at Sun, 29 Sep 2019 04:37:35 +0000. Up 10.03 seconds. +[ OK ] Started Initial cloud-init job (pre-networking). +[ OK ] Reached target Network (Pre). + Starting Network Service... +[ OK ] Started Network Service. + Starting Wait for Network to be Configured... + Starting Network Name Resolution... +[ OK ] Started Network Name Resolution. +[ OK ] Reached target Host and Network Name Lookups. +[ OK ] Reached target Network. +[ OK ] Started Wait for Network to be Configured. + Starting Initial cloud-init job (metadata service crawler)... +[ 12.969172] cloud-init[659]: Cloud-init v. 19.1-1-gbaa47854-0ubuntu1~18.04.1 running 'init' at Sun, 29 Sep 2019 04:37:38 +0000. Up 12.79 seconds. +[ 12.988414] cloud-init[659]: ci-info: +++++++++++++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++++++++++++ +[ 12.994201] cloud-init[659]: ci-info: +--------+------+---------------------------+---------------+--------+-------------------+ +[ 12.999006] cloud-init[659]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | +[ 13.004875] cloud-init[659]: ci-info: +--------+------+---------------------------+---------------+--------+-------------------+ +[ 13.020787] cloud-init[659]: ci-info: | enp0s3 | True | 10.0.2.15 | 255.255.255.0 | global | 02:ee:0a:3b:45:98 | +[ 13.025532] cloud-init[659]: ci-info: | enp0s3 | True | fe80::ee:aff:fe3b:4598/64 | . | link | 02:ee:0a:3b:45:98 | +[ 13.031006] cloud-init[659]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . | +[ 13.035312] cloud-init[659]: ci-info: | lo | True | ::1/128 | . | host | . | +[ 13.039598] cloud-init[659]: ci-info: +--------+------+---------------------------+---------------+--------+-------------------+ +[ 13.043951] cloud-init[659]: ci-info: ++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++ +[ 13.047653] cloud-init[659]: ci-info: +-------+-------------+----------+-----------------+-----------+-------+ +[ 13.051037] cloud-init[659]: ci-info: | Route | Destination | Gateway | Genmask | Interface | Flags | +[ 13.054622] cloud-init[659]: ci-info: +-------+-------------+----------+-----------------+-----------+-------+ +[ 13.058025] cloud-init[659]: ci-info: | 0 | 0.0.0.0 | 10.0.2.2 | 0.0.0.0 | enp0s3 | UG | +[ 13.064532] cloud-init[659]: ci-info: | 1 | 10.0.2.0 | 0.0.0.0 | 255.255.255.0 | enp0s3 | U | +[ 13.068647] cloud-init[659]: ci-info: | 2 | 10.0.2.2 | 0.0.0.0 | 255.255.255.255 | enp0s3 | UH | +[ 13.072784] cloud-init[659]: ci-info: +-------+-------------+----------+-----------------+-----------+-------+ +[ 13.077092] cloud-init[659]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++ +[ 13.081258] cloud-init[659]: ci-info: +-------+-------------+---------+-----------+-------+ +[ 13.084694] cloud-init[659]: ci-info: | Route | Destination | Gateway | Interface | Flags | +[ 13.088479] cloud-init[659]: ci-info: +-------+-------------+---------+-----------+-------+ +[ 13.092360] cloud-init[659]: ci-info: | 1 | fe80::/64 | :: | enp0s3 | U | +[ 13.096047] cloud-init[659]: ci-info: | 3 | local | :: | enp0s3 | U | +[ 13.108512] cloud-init[659]: ci-info: | 4 | ff00::/8 | :: | enp0s3 | U | +[ 13.111402] cloud-init[659]: ci-info: +-------+-------------+---------+-----------+-------+ +[ 14.801704] cloud-init[659]: Generating public/private rsa key pair. +[ 14.804063] cloud-init[659]: Your identification has been saved in /etc/ssh/ssh_host_rsa_key. +[ 14.807013] cloud-init[659]: Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub. +[ 14.810006] cloud-init[659]: The key fingerprint is: +[ 14.811799] cloud-init[659]: SHA256:c2pCGhDRoUfEBnPbtaYdQ3UOxcvdbTfhVuLtz0dkmho root@ubuntu-bionic +[ 14.814850] cloud-init[659]: The key's randomart image is: +[ 14.816758] cloud-init[659]: +---[RSA 2048]----+ +[ 14.818333] cloud-init[659]: | =*=. o.ooo | +[ 14.820006] cloud-init[659]: | *+o o . +. ...| +[ 14.821832] cloud-init[659]: | o.o . = ..+.++| +[ 14.823443] cloud-init[659]: | o + o o o+O| +[ 14.825068] cloud-init[659]: | . o S . .Bo| +[ 14.826979] cloud-init[659]: | + + E o o| +[ 14.828571] cloud-init[659]: | . . o o o.| +[ 14.830148] cloud-init[659]: | o . +| +[ 14.831813] cloud-init[659]: | .| +[ 14.833704] cloud-init[659]: +----[SHA256]-----+ +[ 14.835513] cloud-init[659]: Generating public/private dsa key pair. +[ 14.837922] cloud-init[659]: Your identification has been saved in /etc/ssh/ssh_host_dsa_key. +[ 14.841095] cloud-init[659]: Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. +[ 14.848419] cloud-init[659]: The key fingerprint is: +[ 14.851284] cloud-init[659]: SHA256:MJXByZgiy2fMsy8Xn2zy9OmXy933B3UshTKr+5h33hk root@ubuntu-bionic +[ 14.855140] cloud-init[659]: The key's randomart image is: +[ 14.857583] cloud-init[659]: +---[DSA 1024]----+ +[ 14.859572] cloud-init[659]: | =o+ . | +[ 14.861674] cloud-init[659]: | . . o.= o . .| +[ 14.864198] cloud-init[659]: | . = .o + o | +[ 14.866677] cloud-init[659]: | o * o . . +| +[ 14.868652] cloud-init[659]: | o o S . o.| +[ 14.870808] cloud-init[659]: | . . . . | +[ 14.873495] cloud-init[659]: | . +.. . . E | +[ 14.875623] cloud-init[659]: | . +.=..=+..o=| +[ 14.877971] cloud-init[659]: | o +..*+++o.B| +[ 14.892804] cloud-init[659]: +----[SHA256]-----+ +[ 14.895209] cloud-init[659]: Generating public/private ecdsa key pair. +[ 14.898389] cloud-init[659]: Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key. +[ 14.902293] cloud-init[659]: Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub. +[ 14.906277] cloud-init[659]: The key fingerprint is: +[ 14.908735] cloud-init[659]: SHA256:pO6EMl9WjroVoRc7HUT6TPHWmIwrLWM7cIAbiERyxQY root@ubuntu-bionic +[ 14.913129] cloud-init[659]: The key's randomart image is: +[ 14.915736] cloud-init[659]: +---[ECDSA 256]---+ +[ 14.917760] cloud-init[659]: |ooE+. .+ | +[ 14.919668] cloud-init[659]: |+o .o o = + | +[ 14.921986] cloud-init[659]: |o o.. + = * . | +[ 14.924110] cloud-init[659]: | o o % + | +[ 14.926792] cloud-init[659]: | . o % S | +[ 14.929165] cloud-init[659]: | B @ | +[ 14.931706] cloud-init[659]: | o . X . | +[ 14.938220] cloud-init[659]: | + B . | +[ 14.940944] cloud-init[659]: | +.. | +[ OK ] Started Initial cloud-init job (metadata service crawler). +[ 14.968369] cloud-init[659]: +----[SHA256]-----+ +[ 14.970927] cloud-init[659]: Generating public/private ed25519 key pair. +[ 14.973333] cloud-init[659]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.[ OK ] Reached target Cloud-config availability. +[ OK ] Reached target Network is Online. + +[ 14.985253] cloud-init[659]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub. +[ 14.988429] cloud-init[659]: The key fingerprint is: +[ 14.990670] cloud-init[659]: SHA256:DRCkk4eijXFIbhkPmPoF+gSbJ3ncPFySperwkyCRpI0 root@ubuntu-bionic[ OK ] Reached target Remote File Systems (Pre). +[ OK ] Reached target Remote File Systems. + + Starting Availability of block devices... +[ 15.016115] cloud-init[659]: The key's randomart image is: +[ OK ] Reached target System Initialization. +[ OK ] Started Daily apt download activities. +[ OK [ 15.018265] cloud-init[659]: +--[ED25519 256]--+ +] Started Daily Cleanup of Temporary Directories. +[ 15.034267] cloud-init[659]: |.* +=. | +[ 15.035916] cloud-init[659]: |O=* o=.. | Starting LXD - unix socket. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Started ACPI Events Check. +[ OK ] Listening on ACPID Listen Socket. +[ OK ] Started Daily apt upgrade and clean activities. +[ OK ] Reached target Paths. +[ OK ] Started Discard unused blocks once a week. + Starting Socket activation for snappy daemon. +[ OK ] Listening on UUID daemon activation socket. +[ OK ] Started Message of the Day. +[ OK ] Reached target Timers. +[ OK ] Listening on Open-iSCSI iscsid Socket. + +[ OK ] Started Availability of block devices.[ 15.080554] cloud-init[659]: |E@+**o. . | +[ 15.081867] cloud-init[659]: |OB=o*o o | +[ 15.082301] cloud-init[659]: |*Bo. . S . | +[ 15.082380] cloud-init[659]: |.=o. | +[ 15.082428] cloud-init[659]: | = | +[ 15.082593] cloud-init[659]: | . | +[ 15.082950] cloud-init[659]: | | +[ 15.083005] cloud-init[659]: +----[SHA256]-----+ + +[ OK ] Listening on LXD - unix socket. +[ OK ] Listening on Socket activation for snappy daemon. +[ OK ] Reached target Sockets. +[ OK ] Reached target Basic System. + Starting System Logging Service... +[ OK ] Started FUSE filesystem for LXC. + Starting LSB: Record successful boot for GRUB... + Starting Accounts Service... +[ OK ] Started Regular background program processing daemon. +[ OK ] Started irqbalance daemon. + Starting LSB: automatic crash report generation... +[ OK ] Started D-Bus System Message Bus. + Starting Dispatcher daemon for systemd-networkd... + Starting Permit User Sessions... + Starting LXD - container startup/shutdown... +[ OK ] Started Deferred execution scheduler. + Starting Login Service... + Starting Snappy daemon... + Starting Pollinate to seed the pseudo random number generator... + Starting Virtualbox guest utils... +[ OK ] Started System Logging Service. +[ OK ] Started Permit User Sessions. +[ OK ] Started Login Service. +[ OK ] Started Unattended Upgrades Shutdown. + Starting Authorization Manager... + Starting Hold until boot process finishes up... + Starting Terminate Plymouth Boot Screen... +[ OK ] Started Hold until boot process finishes up. +[ OK ] Started Serial Getty on ttyS0. + Starting Set console scheme... +[ OK ] Started Terminate Plymouth Boot Screen. +[ OK ] Started LSB: automatic crash report generation. +[ OK ] Started Set console scheme. +[ OK ] Created slice system-getty.slice. +[ OK ] Started Getty on tty1. +[ OK ] Reached target Login Prompts. +[ OK ] Started Authorization Manager. +[ OK ] Started Accounts Service. +[ OK ] Started LSB: Record successful boot for GRUB. +[ OK ] Started Virtualbox guest utils. +[ OK ] Started Dispatcher daemon for systemd-networkd. +[ OK ] Started LXD - container startup/shutdown. +[ OK ] Started Snappy daemon. + Starting Wait until snapd is fully seeded... +[ OK ] Started Pollinate to seed the pseudo random number generator. + Starting OpenBSD Secure Shell server... +[ OK ] Started OpenBSD Secure Shell server. +[ OK ] Created slice User Slice of vagrant. + Starting User Manager for UID 1000... +[ OK ] Started Session 1 of user vagrant. +[ OK ] Started User Manager for UID 1000. +[ OK ] Started Wait until snapd is fully seeded. +[ OK ] Reached target Multi-User System. +[ OK ] Reached target Graphical Interface. + Starting Update UTMP about System Runlevel Changes... + Starting Apply the settings specified in cloud-config... +[ OK ] Started Update UTMP about System Runlevel Changes. + +Ubuntu 18.04.3 LTS ubuntu-bionic ttyS0 + +ubuntu-bionic login: [ 22.238032] cloud-init[1248]: Cloud-init v. 19.1-1-gbaa47854-0ubuntu1~18.04.1 running 'modules:config' at Sun, 29 Sep 2019 04:37:46 +0000. Up 20.92 seconds. +ci-info: no authorized ssh keys fingerprints found for user ubuntu. +<14>Sep 29 04:37:48 ec2: +<14>Sep 29 04:37:48 ec2: ############################################################# +<14>Sep 29 04:37:48 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- +<14>Sep 29 04:37:48 ec2: 1024 SHA256:MJXByZgiy2fMsy8Xn2zy9OmXy933B3UshTKr+5h33hk root@ubuntu-bionic (DSA) +<14>Sep 29 04:37:48 ec2: 256 SHA256:pO6EMl9WjroVoRc7HUT6TPHWmIwrLWM7cIAbiERyxQY root@ubuntu-bionic (ECDSA) +<14>Sep 29 04:37:48 ec2: 256 SHA256:DRCkk4eijXFIbhkPmPoF+gSbJ3ncPFySperwkyCRpI0 root@ubuntu-bionic (ED25519) +<14>Sep 29 04:37:48 ec2: 2048 SHA256:c2pCGhDRoUfEBnPbtaYdQ3UOxcvdbTfhVuLtz0dkmho root@ubuntu-bionic (RSA) +<14>Sep 29 04:37:49 ec2: -----END SSH HOST KEY FINGERPRINTS----- +<14>Sep 29 04:37:49 ec2: ############################################################# +-----BEGIN SSH HOST KEY KEYS----- +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL1FoJIMczy8dfbRV3RzzcLXkRT/ouhH2qd6HDGf+Akmq+66qodZ0SAF24sVKe32obV1l1ajbBfVR5FpXdvZ+l0= root@ubuntu-bionic +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAO/aUSNVrB6FQOHxHf2DXC19OlkZIgLMoAi8iVDNNpN root@ubuntu-bionic +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/EIXVrXLv5Nzfe/cqvE4IBOGjA097OyEJSTB/chiuHlw/YPuVtTsDRDEOSIvjPGsjzQG/PBzgdJx4nnL1+xV2WUVNZvFDQUmXSyCRuAxPZSO9FwkfLb6ebloPoyuojmiMcqFuhb+ZTiGmJwf5LoPzz9xF8qxrsD1IGadfw8GINfhERoQRaP6rM/lPbIQgnwcK03oPlCs35NMAa09nQ4Qs0sUPEjt+IMOCxifCqoCpsHUMT4bU/FFxQ1c9nr39AuCegjILGM6mtMP+Wutgbpg4ZxpJ7e3uO8J5jrTZa9U13bSzpO7JUSJrri1ol5Lsx1w6S5rVZqJhpyNFjIzsdnXR root@ubuntu-bionic +-----END SSH HOST KEY KEYS----- +[ 23.573587] cloud-init[1370]: Cloud-init v. 19.1-1-gbaa47854-0ubuntu1~18.04.1 running 'modules:final' at Sun, 29 Sep 2019 04:37:48 +0000. Up 23.13 seconds. +[ 23.573721] cloud-init[1370]: ci-info: no authorized ssh keys fingerprints found for user ubuntu. +[ 23.588105] cloud-init[1370]: Cloud-init v. 19.1-1-gbaa47854-0ubuntu1~18.04.1 finished at Sun, 29 Sep 2019 04:37:49 +0000. Datasource DataSourceNoCloud [seed=/dev/sdb][dsmode=net]. Up 23.54 seconds