From a872cc341866f84f07fd58a5d26bcfdad6714174 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 23 Mar 2023 13:38:53 -0400 Subject: [PATCH 1/3] 1.10.6 merge to main (#1930) * add note about forceTcpRelay * Create a sample systemd unit for tcp proxy * set gitattributes for rust & cargo so hashes dont conflict on Windows * Revert "set gitattributes for rust & cargo so hashes dont conflict on Windows" This reverts commit 032dc5c108195f6bbc2e224f00da5b785df4b7f9. * Turn off autocrlf for rust source Doesn't appear to play nice well when it comes to git and vendored cargo package hashes * Fix #1883 (#1886) Still unknown as to why, but the call to `nc->GetProperties()` can fail when setting a friendly name on the Windows virtual ethernet adapter. Ensure that `ncp` is not null before continuing and accessing the device GUID. * Don't vendor packages for zeroidc (#1885) * Added docker environment way to join networks (#1871) * add StringUtils * fix headers use recommended headers and remove unused headers * move extern "C" only JNI functions need to be exported * cleanup * fix ANDROID-50: RESULT_ERROR_BAD_PARAMETER typo * fix typo in log message * fix typos in JNI method signatures * fix typo * fix ANDROID-51: fieldName is uninitialized * fix ANDROID-35: memory leak * fix missing DeleteLocalRef in loops * update to use unique error codes * add GETENV macro * add LOG_TAG defines * ANDROID-48: add ZT_jnicache.cpp * ANDROID-48: use ZT_jnicache.cpp and remove ZT_jnilookup.cpp and ZT_jniarray.cpp * add Event.fromInt * add PeerRole.fromInt * add ResultCode.fromInt * fix ANDROID-36: issues with ResultCode * add VirtualNetworkConfigOperation.fromInt * fix ANDROID-40: VirtualNetworkConfigOperation out-of-sync with ZT_VirtualNetworkConfigOperation enum * add VirtualNetworkStatus.fromInt * fix ANDROID-37: VirtualNetworkStatus out-of-sync with ZT_VirtualNetworkStatus enum * add VirtualNetworkType.fromInt * make NodeStatus a plain data class * fix ANDROID-52: synchronization bug with nodeMap * Node init work: separate Node construction and init * add Node.toString * make PeerPhysicalPath a plain data class * remove unused PeerPhysicalPath.fixed * add array functions * make Peer a plain data class * make Version a plain data class * fix ANDROID-42: copy/paste error * fix ANDROID-49: VirtualNetworkConfig.equals is wrong * reimplement VirtualNetworkConfig.equals * reimplement VirtualNetworkConfig.compareTo * add VirtualNetworkConfig.hashCode * make VirtualNetworkConfig a plain data class * remove unused VirtualNetworkConfig.enabled * reimplement VirtualNetworkDNS.equals * add VirtualNetworkDNS.hashCode * make VirtualNetworkDNS a plain data class * reimplement VirtualNetworkRoute.equals * reimplement VirtualNetworkRoute.compareTo * reimplement VirtualNetworkRoute.toString * add VirtualNetworkRoute.hashCode * make VirtualNetworkRoute a plain data class * add isSocketAddressEmpty * add addressPort * add fromSocketAddressObject * invert logic in a couple of places and return early * newInetAddress and newInetSocketAddress work allow newInetSocketAddress to return NULL if given empty address * fix ANDROID-38: stack corruption in onSendPacketRequested * use GETENV macro * JniRef work JniRef does not use callbacks struct, so remove fix NewGlobalRef / DeleteGlobalRef mismatch * use PRId64 macros * switch statement work * comments and logging * Modifier 'public' is redundant for interface members * NodeException can be made a checked Exception * 'NodeException' does not define a 'serialVersionUID' field * 'finalize()' should not be overridden this is fine to do because ZeroTierOneService calls close() when it is done * error handling, error reporting, asserts, logging * simplify loadLibrary * rename Node.networks -> Node.networkConfigs * Windows file permissions fix (#1887) * Allow macOS interfaces to use multiple IP addresses (#1879) Co-authored-by: Sean OMeara Co-authored-by: Grant Limberg * Fix condition where full HELLOs might not be sent when necessary (#1877) Co-authored-by: Grant Limberg * 1.10.4 version bumps * Add security policy to repo (#1889) * [+] add e2k64 arch (#1890) * temp fix for ANDROID-56: crash inside newNetworkConfig from too many args * 1.10.4 release notes * Windows 1.10.4 Advanced Installer bump * Revert "temp fix for ANDROID-56: crash inside newNetworkConfig from too many args" This reverts commit dd627cd7f44ad623a110bb14f72d0bea72a09e30. * actual fix for ANDROID-56: crash inside newNetworkConfig cast all arguments to varargs functions as good style * Fix addIp being called with applied ips (#1897) This was getting called outside of the check for existing ips Because of the added ifdef and a brace getting moved to the wrong place. ``` if (! n.tap()->addIp(*ip)) { fprintf(stderr, "ERROR: unable to add ip address %s" ZT_EOL_S, ip->toString(ipbuf)); } WinFWHelper::newICMPRule(*ip, n.config().nwid); ``` * 1.10.5 (#1905) * 1.10.5 bump * 1.10.5 for Windows * 1.10.5 * Prevent path-learning loops (#1914) * Prevent path-learning loops * Only allow new overwrite if not bonded * fix binding temporary ipv6 addresses on macos (#1910) The check code wasn't running. I don't know why !defined(TARGET_OS_IOS) would exclude code on desktop macOS. I did a quick search and changed it to defined(TARGET_OS_MAC). Not 100% sure what the most correct solution there is. You can verify the old and new versions with `ifconfig | grep temporary` plus `zerotier-cli info -j` -> listeningOn * 1.10.6 (#1929) * 1.10.5 bump * 1.10.6 * 1.10.6 AIP for Windows. --------- Co-authored-by: travis laduke Co-authored-by: Grant Limberg Co-authored-by: Grant Limberg Co-authored-by: Leonardo Amaral Co-authored-by: Brenton Bostick Co-authored-by: Sean OMeara Co-authored-by: Joseph Henry Co-authored-by: Roman Peshkichev --- RELEASE-NOTES.md | 4 + debian/changelog | 12 +++ ext/installfiles/mac/ZeroTier One.pkgproj | 2 +- ext/installfiles/windows/ZeroTier One.aip | 24 ++--- java/jni/ZT_jnicache.cpp | 10 +- java/jni/ZT_jniutils.cpp | 97 +++++++++---------- java/jni/com_zerotierone_sdk_Node.cpp | 30 +++--- .../zerotier/sdk/VirtualNetworkConfig.java | 61 ++++++------ node/Peer.cpp | 91 ++++++++--------- osdep/Binder.hpp | 6 +- service/OneService.cpp | 18 ++-- version.h | 2 +- zerotier-one.spec | 8 +- 13 files changed, 184 insertions(+), 181 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 17c52ff93..4cc45681b 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,6 +1,10 @@ ZeroTier Release Notes ====== +# 2023-03-10 -- Version 1.10.5 + + * Fix for high CPU usage bug on Windows + # 2023-03-07 -- Version 1.10.4 * SECURITY FIX (Windows): this version fixes a file permission problem on diff --git a/debian/changelog b/debian/changelog index dc131fc78..76d9d0408 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +zerotier-one (1.10.6) unstable; urgency=medium + + * See RELEASE-NOTES.md for release notes. + + -- Adam Ierymenko Tue, 21 Mar 2023 01:00:00 -0700 + +zerotier-one (1.10.5) unstable; urgency=medium + + * See RELEASE-NOTES.md for release notes. + + -- Adam Ierymenko Fri, 10 Mar 2023 01:00:00 -0700 + zerotier-one (1.10.4) unstable; urgency=medium * See RELEASE-NOTES.md for release notes. diff --git a/ext/installfiles/mac/ZeroTier One.pkgproj b/ext/installfiles/mac/ZeroTier One.pkgproj index 80f4713f0..bbdb3d0b3 100755 --- a/ext/installfiles/mac/ZeroTier One.pkgproj +++ b/ext/installfiles/mac/ZeroTier One.pkgproj @@ -701,7 +701,7 @@ USE_HFS+_COMPRESSION VERSION - 1.10.4 + 1.10.6 TYPE 0 diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index daaea8cc3..ebe8e891a 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -1,15 +1,13 @@ - + - - @@ -32,10 +30,10 @@ - + - + @@ -70,7 +68,7 @@ - + @@ -140,10 +138,10 @@ - - - - + + + + @@ -296,6 +294,7 @@ + @@ -398,7 +397,7 @@ - + @@ -412,6 +411,7 @@ + @@ -528,7 +528,7 @@ - + diff --git a/java/jni/ZT_jnicache.cpp b/java/jni/ZT_jnicache.cpp index 68cacbd78..c721a9ee1 100644 --- a/java/jni/ZT_jnicache.cpp +++ b/java/jni/ZT_jnicache.cpp @@ -176,15 +176,7 @@ void setupJNICache(JavaVM *vm) { EXCEPTIONANDNULLCHECK(Peer_ctor = env->GetMethodID(Peer_class, "", "(JIIIILcom/zerotier/sdk/PeerRole;[Lcom/zerotier/sdk/PeerPhysicalPath;)V")); EXCEPTIONANDNULLCHECK(Version_ctor = env->GetMethodID(Version_class, "", "(III)V")); EXCEPTIONANDNULLCHECK(VirtualNetworkConfigListener_onNetworkConfigurationUpdated_method = env->GetMethodID(VirtualNetworkConfigListener_class, "onNetworkConfigurationUpdated", "(JLcom/zerotier/sdk/VirtualNetworkConfigOperation;Lcom/zerotier/sdk/VirtualNetworkConfig;)I")); - - - // - // ANDROID-56: temporarily remove parameters to prevent crashing - // -// EXCEPTIONANDNULLCHECK(VirtualNetworkConfig_ctor = env->GetMethodID(VirtualNetworkConfig_class, "", "(JJLjava/lang/String;Lcom/zerotier/sdk/VirtualNetworkStatus;Lcom/zerotier/sdk/VirtualNetworkType;IZZZIJ[Ljava/net/InetSocketAddress;[Lcom/zerotier/sdk/VirtualNetworkRoute;Lcom/zerotier/sdk/VirtualNetworkDNS;)V")); - EXCEPTIONANDNULLCHECK(VirtualNetworkConfig_ctor = env->GetMethodID(VirtualNetworkConfig_class, "", "(JJLjava/lang/String;Lcom/zerotier/sdk/VirtualNetworkStatus;Lcom/zerotier/sdk/VirtualNetworkType;IZZZ[Ljava/net/InetSocketAddress;[Lcom/zerotier/sdk/VirtualNetworkRoute;Lcom/zerotier/sdk/VirtualNetworkDNS;)V")); - - + EXCEPTIONANDNULLCHECK(VirtualNetworkConfig_ctor = env->GetMethodID(VirtualNetworkConfig_class, "", "(JJLjava/lang/String;Lcom/zerotier/sdk/VirtualNetworkStatus;Lcom/zerotier/sdk/VirtualNetworkType;IZZZIJ[Ljava/net/InetSocketAddress;[Lcom/zerotier/sdk/VirtualNetworkRoute;Lcom/zerotier/sdk/VirtualNetworkDNS;)V")); EXCEPTIONANDNULLCHECK(VirtualNetworkDNS_ctor = env->GetMethodID(VirtualNetworkDNS_class, "", "(Ljava/lang/String;Ljava/util/ArrayList;)V")); EXCEPTIONANDNULLCHECK(VirtualNetworkFrameListener_onVirtualNetworkFrame_method = env->GetMethodID(VirtualNetworkFrameListener_class, "onVirtualNetworkFrame", "(JJJJJ[B)V")); EXCEPTIONANDNULLCHECK(VirtualNetworkRoute_ctor = env->GetMethodID(VirtualNetworkRoute_class, "", "(Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;II)V")); diff --git a/java/jni/ZT_jniutils.cpp b/java/jni/ZT_jniutils.cpp index 17e6a9b3e..8ab507bed 100644 --- a/java/jni/ZT_jniutils.cpp +++ b/java/jni/ZT_jniutils.cpp @@ -31,7 +31,7 @@ jobject createResultObject(JNIEnv *env, ZT_ResultCode code) { - jobject resultObject = env->CallStaticObjectMethod(ResultCode_class, ResultCode_fromInt_method, code); + jobject resultObject = env->CallStaticObjectMethod(ResultCode_class, ResultCode_fromInt_method, (jint)code); if(env->ExceptionCheck() || resultObject == NULL) { LOGE("Error creating ResultCode object"); return NULL; @@ -43,7 +43,7 @@ jobject createResultObject(JNIEnv *env, ZT_ResultCode code) jobject createVirtualNetworkStatus(JNIEnv *env, ZT_VirtualNetworkStatus status) { - jobject statusObject = env->CallStaticObjectMethod(VirtualNetworkStatus_class, VirtualNetworkStatus_fromInt_method, status); + jobject statusObject = env->CallStaticObjectMethod(VirtualNetworkStatus_class, VirtualNetworkStatus_fromInt_method, (jint)status); if (env->ExceptionCheck() || statusObject == NULL) { LOGE("Error creating VirtualNetworkStatus object"); return NULL; @@ -54,7 +54,7 @@ jobject createVirtualNetworkStatus(JNIEnv *env, ZT_VirtualNetworkStatus status) jobject createEvent(JNIEnv *env, ZT_Event event) { - jobject eventObject = env->CallStaticObjectMethod(Event_class, Event_fromInt_method, event); + jobject eventObject = env->CallStaticObjectMethod(Event_class, Event_fromInt_method, (jint)event); if (env->ExceptionCheck() || eventObject == NULL) { LOGE("Error creating Event object"); return NULL; @@ -65,7 +65,7 @@ jobject createEvent(JNIEnv *env, ZT_Event event) jobject createPeerRole(JNIEnv *env, ZT_PeerRole role) { - jobject peerRoleObject = env->CallStaticObjectMethod(PeerRole_class, PeerRole_fromInt_method, role); + jobject peerRoleObject = env->CallStaticObjectMethod(PeerRole_class, PeerRole_fromInt_method, (jint)role); if (env->ExceptionCheck() || peerRoleObject == NULL) { LOGE("Error creating PeerRole object"); return NULL; @@ -76,7 +76,7 @@ jobject createPeerRole(JNIEnv *env, ZT_PeerRole role) jobject createVirtualNetworkType(JNIEnv *env, ZT_VirtualNetworkType type) { - jobject vntypeObject = env->CallStaticObjectMethod(VirtualNetworkType_class, VirtualNetworkType_fromInt_method, type); + jobject vntypeObject = env->CallStaticObjectMethod(VirtualNetworkType_class, VirtualNetworkType_fromInt_method, (jint)type); if (env->ExceptionCheck() || vntypeObject == NULL) { LOGE("Error creating VirtualNetworkType object"); return NULL; @@ -87,7 +87,7 @@ jobject createVirtualNetworkType(JNIEnv *env, ZT_VirtualNetworkType type) jobject createVirtualNetworkConfigOperation(JNIEnv *env, ZT_VirtualNetworkConfigOperation op) { - jobject vnetConfigOpObject = env->CallStaticObjectMethod(VirtualNetworkConfigOperation_class, VirtualNetworkConfigOperation_fromInt_method, op); + jobject vnetConfigOpObject = env->CallStaticObjectMethod(VirtualNetworkConfigOperation_class, VirtualNetworkConfigOperation_fromInt_method, (jint)op); if (env->ExceptionCheck() || vnetConfigOpObject == NULL) { LOGE("Error creating VirtualNetworkConfigOperation object"); return NULL; @@ -113,7 +113,7 @@ jobject newInetAddress(JNIEnv *env, const sockaddr_storage &addr) } inetAddressObj = env->CallStaticObjectMethod( - InetAddress_class, InetAddress_getByAddress_method, buff); + InetAddress_class, InetAddress_getByAddress_method, (jbyteArray)buff); } break; case AF_INET: @@ -127,7 +127,7 @@ jobject newInetAddress(JNIEnv *env, const sockaddr_storage &addr) } inetAddressObj = env->CallStaticObjectMethod( - InetAddress_class, InetAddress_getByAddress_method, buff); + InetAddress_class, InetAddress_getByAddress_method, (jbyteArray)buff); } break; default: @@ -190,7 +190,7 @@ jobject newInetSocketAddress(JNIEnv *env, const sockaddr_storage &addr) int port = addressPort(addr); - jobject inetSocketAddressObject = env->NewObject(InetSocketAddress_class, InetSocketAddress_ctor, inetAddressObject, port); + jobject inetSocketAddressObject = env->NewObject(InetSocketAddress_class, InetSocketAddress_ctor, (jobject)inetAddressObject, (jint)port); if(env->ExceptionCheck() || inetSocketAddressObject == NULL) { LOGE("Error creating InetSocketAddress object"); return NULL; @@ -211,10 +211,10 @@ jobject newPeerPhysicalPath(JNIEnv *env, const ZT_PeerPhysicalPath &ppp) jobject pppObject = env->NewObject( PeerPhysicalPath_class, PeerPhysicalPath_ctor, - addressObject, - ppp.lastSend, - ppp.lastReceive, - ppp.preferred); + (jobject)addressObject, + (jlong)ppp.lastSend, + (jlong)ppp.lastReceive, + (jboolean)ppp.preferred); // ANDROID-56: cast to correct size if(env->ExceptionCheck() || pppObject == NULL) { LOGE("Error creating PPP object"); @@ -240,13 +240,13 @@ jobject newPeer(JNIEnv *env, const ZT_Peer &peer) jobject peerObject = env->NewObject( Peer_class, Peer_ctor, - peer.address, - peer.versionMajor, - peer.versionMinor, - peer.versionRev, - peer.latency, - peerRoleObj, - arrayObject); + (jlong)peer.address, + (jint)peer.versionMajor, + (jint)peer.versionMinor, + (jint)peer.versionRev, + (jint)peer.latency, + (jobject)peerRoleObj, + (jobjectArray)arrayObject); if(env->ExceptionCheck() || peerObject == NULL) { LOGE("Error creating Peer object"); @@ -298,23 +298,20 @@ jobject newNetworkConfig(JNIEnv *env, const ZT_VirtualNetworkConfig &vnetConfig) jobject vnetConfigObj = env->NewObject( VirtualNetworkConfig_class, VirtualNetworkConfig_ctor, - vnetConfig.nwid, - vnetConfig.mac, - nameStr, - statusObject, - typeObject, - vnetConfig.mtu, - vnetConfig.dhcp, - vnetConfig.bridge, - vnetConfig.broadcastEnabled, - // - // ANDROID-56: temporarily remove parameters to prevent crashing - // -// vnetConfig.portError, -// vnetConfig.netconfRevision, - assignedAddrArrayObj, - routesArrayObj, - dnsObj); + (jlong)vnetConfig.nwid, + (jlong)vnetConfig.mac, + (jstring)nameStr, + (jobject)statusObject, + (jobject)typeObject, + (jint)vnetConfig.mtu, + (jboolean)vnetConfig.dhcp, // ANDROID-56: cast to correct size + (jboolean)vnetConfig.bridge, // ANDROID-56: cast to correct size + (jboolean)vnetConfig.broadcastEnabled, // ANDROID-56: cast to correct size + (jint)vnetConfig.portError, + (jlong)vnetConfig.netconfRevision, + (jobjectArray)assignedAddrArrayObj, + (jobjectArray)routesArrayObj, + (jobject)dnsObj); if(env->ExceptionCheck() || vnetConfigObj == NULL) { LOGE("Error creating new VirtualNetworkConfig object"); @@ -327,7 +324,7 @@ jobject newNetworkConfig(JNIEnv *env, const ZT_VirtualNetworkConfig &vnetConfig) jobject newVersion(JNIEnv *env, int major, int minor, int rev) { // create a com.zerotier.sdk.Version object - jobject versionObj = env->NewObject(Version_class, Version_ctor, major, minor, rev); + jobject versionObj = env->NewObject(Version_class, Version_ctor, (jint)major, (jint)minor, (jint)rev); if(env->ExceptionCheck() || versionObj == NULL) { LOGE("Error creating new Version object"); @@ -358,10 +355,10 @@ jobject newVirtualNetworkRoute(JNIEnv *env, const ZT_VirtualNetworkRoute &route) jobject routeObj = env->NewObject( VirtualNetworkRoute_class, VirtualNetworkRoute_ctor, - targetObj, - viaObj, - route.flags, - route.metric); + (jobject)targetObj, + (jobject)viaObj, + (jint)route.flags, // ANDROID-56: cast to correct size + (jint)route.metric); // ANDROID-56: cast to correct size if(env->ExceptionCheck() || routeObj == NULL) { LOGE("Exception creating VirtualNetworkRoute"); @@ -387,7 +384,7 @@ jobject newVirtualNetworkDNS(JNIEnv *env, const ZT_VirtualNetworkDNS &dns) return NULL; } - jobject addrList = env->NewObject(ArrayList_class, ArrayList_ctor, 0); + jobject addrList = env->NewObject(ArrayList_class, ArrayList_ctor, (jint)0); if (env->ExceptionCheck() || addrList == NULL) { LOGE("Exception creating new ArrayList"); return NULL; @@ -409,7 +406,7 @@ jobject newVirtualNetworkDNS(JNIEnv *env, const ZT_VirtualNetworkDNS &dns) continue; } - env->CallBooleanMethod(addrList, ArrayList_add_method, addr); + env->CallBooleanMethod(addrList, ArrayList_add_method, (jobject)addr); if(env->ExceptionCheck()) { LOGE("Exception calling add"); @@ -422,8 +419,8 @@ jobject newVirtualNetworkDNS(JNIEnv *env, const ZT_VirtualNetworkDNS &dns) jobject dnsObj = env->NewObject( VirtualNetworkDNS_class, VirtualNetworkDNS_ctor, - domain, - addrList); + (jstring)domain, + (jobject)addrList); if (env->ExceptionCheck() || dnsObj == NULL) { LOGE("Exception creating new VirtualNetworkDNS"); return NULL; @@ -450,10 +447,10 @@ jobject newNodeStatus(JNIEnv *env, const ZT_NodeStatus &status) { jobject nodeStatusObj = env->NewObject( NodeStatus_class, NodeStatus_ctor, - status.address, - pubIdentStr, - secIdentStr, - status.online); + (jlong)status.address, + (jstring)pubIdentStr, + (jstring)secIdentStr, + (jboolean)status.online); if(env->ExceptionCheck() || nodeStatusObj == NULL) { LOGE("Exception creating new NodeStatus"); return NULL; diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp index 536c7cb6a..36d722c7d 100644 --- a/java/jni/com_zerotierone_sdk_Node.cpp +++ b/java/jni/com_zerotierone_sdk_Node.cpp @@ -162,7 +162,7 @@ namespace { jint ret = env->CallIntMethod( ref->configListener, VirtualNetworkConfigListener_onNetworkConfigurationUpdated_method, - (jlong)nwid, operationObject, networkConfigObject); + (jlong)nwid, (jobject)operationObject, (jobject)networkConfigObject); if (env->ExceptionCheck()) { LOGE("Exception calling onNetworkConfigurationUpdated"); return -105; @@ -213,7 +213,7 @@ namespace { return; } - env->CallVoidMethod(ref->frameListener, VirtualNetworkFrameListener_onVirtualNetworkFrame_method, (jlong)nwid, (jlong)sourceMac, (jlong)destMac, (jlong)etherType, (jlong)vlanid, dataArray); + env->CallVoidMethod(ref->frameListener, VirtualNetworkFrameListener_onVirtualNetworkFrame_method, (jlong)nwid, (jlong)sourceMac, (jlong)destMac, (jlong)etherType, (jlong)vlanid, (jbyteArray)dataArray); if (env->ExceptionCheck()) { LOGE("Exception calling onVirtualNetworkFrame"); return; @@ -254,7 +254,7 @@ namespace { switch (event) { case ZT_EVENT_UP: { LOGD("Event Up"); - env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, eventObject); + env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, (jobject)eventObject); if (env->ExceptionCheck()) { LOGE("Exception calling onEvent"); return; @@ -263,7 +263,7 @@ namespace { } case ZT_EVENT_OFFLINE: { LOGD("Event Offline"); - env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, eventObject); + env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, (jobject)eventObject); if (env->ExceptionCheck()) { LOGE("Exception calling onEvent"); return; @@ -272,7 +272,7 @@ namespace { } case ZT_EVENT_ONLINE: { LOGD("Event Online"); - env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, eventObject); + env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, (jobject)eventObject); if (env->ExceptionCheck()) { LOGE("Exception calling onEvent"); return; @@ -281,7 +281,7 @@ namespace { } case ZT_EVENT_DOWN: { LOGD("Event Down"); - env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, eventObject); + env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, (jobject)eventObject); if (env->ExceptionCheck()) { LOGE("Exception calling onEvent"); return; @@ -291,7 +291,7 @@ namespace { case ZT_EVENT_FATAL_ERROR_IDENTITY_COLLISION: { LOGV("Identity Collision"); // call onEvent() - env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, eventObject); + env->CallVoidMethod(ref->eventListener, EventListener_onEvent_method, (jobject)eventObject); if (env->ExceptionCheck()) { LOGE("Exception calling onEvent"); return; @@ -311,7 +311,7 @@ namespace { return; } - env->CallVoidMethod(ref->eventListener, EventListener_onTrace_method, messageStr); + env->CallVoidMethod(ref->eventListener, EventListener_onTrace_method, (jstring)messageStr); if (env->ExceptionCheck()) { LOGE("Exception calling onTrace"); return; @@ -398,7 +398,7 @@ namespace { int retval = env->CallIntMethod(ref->dataStorePutListener, DataStorePutListener_onDataStorePut_method, - nameStr, bufferObj, secure); + (jstring)nameStr, (jbyteArray)bufferObj, (jboolean)secure); if (env->ExceptionCheck()) { LOGE("Exception calling onDataStorePut"); return; @@ -410,7 +410,7 @@ namespace { } else { LOGD("JNI: Delete file: %s", p); - int retval = env->CallIntMethod(ref->dataStorePutListener, DataStorePutListener_onDelete_method, nameStr); + int retval = env->CallIntMethod(ref->dataStorePutListener, DataStorePutListener_onDelete_method, (jstring)nameStr); if (env->ExceptionCheck()) { LOGE("Exception calling onDelete"); return; @@ -500,8 +500,8 @@ namespace { int retval = (int)env->CallLongMethod( ref->dataStoreGetListener, DataStoreGetListener_onDataStoreGet_method, - nameStr, - bufferObj); + (jstring)nameStr, + (jbyteArray)bufferObj); if (env->ExceptionCheck()) { LOGE("Exception calling onDataStoreGet"); return -106; @@ -570,7 +570,7 @@ namespace { return -103; } - int retval = env->CallIntMethod(ref->packetSender, PacketSender_onSendPacketRequested_method, localSocket, remoteAddressObj, bufferObj, 0); + int retval = env->CallIntMethod(ref->packetSender, PacketSender_onSendPacketRequested_method, (jlong)localSocket, (jobject)remoteAddressObj, (jbyteArray)bufferObj, (jint)0); if (env->ExceptionCheck()) { LOGE("Exception calling onSendPacketRequested"); return -104; @@ -616,7 +616,7 @@ namespace { return true; } - jboolean ret = env->CallBooleanMethod(ref->pathChecker, PathChecker_onPathCheck_method, address, localSocket, remoteAddressObj); + jboolean ret = env->CallBooleanMethod(ref->pathChecker, PathChecker_onPathCheck_method, (jlong)address, (jlong)localSocket, (jobject)remoteAddressObj); if (env->ExceptionCheck()) { LOGE("Exception calling onPathCheck"); return true; @@ -656,7 +656,7 @@ namespace { // // may be NULL // - jobject sockAddressObject = env->CallObjectMethod(ref->pathChecker, PathChecker_onPathLookup_method, address, ss_family); + jobject sockAddressObject = env->CallObjectMethod(ref->pathChecker, PathChecker_onPathLookup_method, (jlong)address, (jint)ss_family); if (env->ExceptionCheck()) { LOGE("Unable to call onPathLookup implementation"); return false; diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java index fea354d07..bcf64854a 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java @@ -66,12 +66,9 @@ public class VirtualNetworkConfig implements Comparable { private final boolean broadcastEnabled; - // - // ANDROID-56: temporarily remove parameters to prevent crashing - // -// private final int portError; -// -// private final long netconfRevision; + private final int portError; + + private final long netconfRevision; private final InetSocketAddress[] assignedAddresses; @@ -79,7 +76,7 @@ public class VirtualNetworkConfig implements Comparable { private final VirtualNetworkDNS dns; - public VirtualNetworkConfig(long nwid, long mac, String name, VirtualNetworkStatus status, VirtualNetworkType type, int mtu, boolean dhcp, boolean bridge, boolean broadcastEnabled, InetSocketAddress[] assignedAddresses, VirtualNetworkRoute[] routes, VirtualNetworkDNS dns) { + public VirtualNetworkConfig(long nwid, long mac, String name, VirtualNetworkStatus status, VirtualNetworkType type, int mtu, boolean dhcp, boolean bridge, boolean broadcastEnabled, int portError, long netconfRevision, InetSocketAddress[] assignedAddresses, VirtualNetworkRoute[] routes, VirtualNetworkDNS dns) { this.nwid = nwid; this.mac = mac; this.name = name; @@ -92,11 +89,11 @@ public class VirtualNetworkConfig implements Comparable { this.dhcp = dhcp; this.bridge = bridge; this.broadcastEnabled = broadcastEnabled; -// this.portError = portError; -// if (netconfRevision < 0) { -// throw new RuntimeException("netconfRevision < 0: " + netconfRevision); -// } -// this.netconfRevision = netconfRevision; + this.portError = portError; + if (netconfRevision < 0) { + throw new RuntimeException("netconfRevision < 0: " + netconfRevision); + } + this.netconfRevision = netconfRevision; this.assignedAddresses = assignedAddresses; this.routes = routes; this.dns = dns; @@ -104,7 +101,7 @@ public class VirtualNetworkConfig implements Comparable { @Override public String toString() { - return "VirtualNetworkConfig(" + StringUtils.networkIdToString(nwid) + ", " + StringUtils.macAddressToString(mac) + ", " + name + ", " + status + ", " + type + ", " + mtu + ", " + dhcp + ", " + bridge + ", " + broadcastEnabled + ", " + Arrays.toString(assignedAddresses) + ", " + Arrays.toString(routes) + ", " + dns + ")"; + return "VirtualNetworkConfig(" + StringUtils.networkIdToString(nwid) + ", " + StringUtils.macAddressToString(mac) + ", " + name + ", " + status + ", " + type + ", " + mtu + ", " + dhcp + ", " + bridge + ", " + broadcastEnabled + ", " + portError + ", " + netconfRevision + ", " + Arrays.toString(assignedAddresses) + ", " + Arrays.toString(routes) + ", " + dns + ")"; } @Override @@ -171,17 +168,17 @@ public class VirtualNetworkConfig implements Comparable { return false; } -// if (this.portError != cfg.portError) { -// Log.i(TAG, "Port Error Changed. Old: " + this.portError + ", New: " + cfg.portError); -// -// return false; -// } -// -// if (this.netconfRevision != cfg.netconfRevision) { -// Log.i(TAG, "NetConfRevision Changed. Old: " + this.netconfRevision + ", New: " + cfg.netconfRevision); -// -// return false; -// } + if (this.portError != cfg.portError) { + Log.i(TAG, "Port Error Changed. Old: " + this.portError + ", New: " + cfg.portError); + + return false; + } + + if (this.netconfRevision != cfg.netconfRevision) { + Log.i(TAG, "NetConfRevision Changed. Old: " + this.netconfRevision + ", New: " + cfg.netconfRevision); + + return false; + } if (!Arrays.equals(assignedAddresses, cfg.assignedAddresses)) { @@ -280,8 +277,8 @@ public class VirtualNetworkConfig implements Comparable { result = 37 * result + (dhcp ? 1 : 0); result = 37 * result + (bridge ? 1 : 0); result = 37 * result + (broadcastEnabled ? 1 : 0); -// result = 37 * result + portError; -// result = 37 * result + (int) (netconfRevision ^ (netconfRevision >>> 32)); + result = 37 * result + portError; + result = 37 * result + (int) (netconfRevision ^ (netconfRevision >>> 32)); result = 37 * result + Arrays.hashCode(assignedAddresses); result = 37 * result + Arrays.hashCode(routes); result = 37 * result + (dns == null ? 0 : dns.hashCode()); @@ -362,18 +359,18 @@ public class VirtualNetworkConfig implements Comparable { /** * If the network is in PORT_ERROR state, this is the error most recently returned by the port config callback */ -// public int getPortError() { -// return portError; -// } + public int getPortError() { + return portError; + } /** * Network config revision as reported by netconf master * *

If this is zero, it means we're still waiting for our netconf.

*/ -// public long getNetconfRevision() { -// return netconfRevision; -// } + public long getNetconfRevision() { + return netconfRevision; + } /** * ZeroTier-assigned addresses (in {@link InetSocketAddress} objects) diff --git a/node/Peer.cpp b/node/Peer.cpp index 28351c28d..5cb55fa4b 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -109,6 +109,13 @@ void Peer::received( havePath = true; break; } + // If same address on same interface then don't learn unless existing path isn't alive (prevents learning loop) + if (_paths[i].p->address().ipsEqual(path->address()) && _paths[i].p->localSocket() == path->localSocket()) { + if (_paths[i].p->alive(now) && !_bond) { + havePath = true; + break; + } + } } else { break; } @@ -116,69 +123,37 @@ void Peer::received( } if ( (!havePath) && RR->node->shouldUsePathForZeroTierTraffic(tPtr,_id.address(),path->localSocket(),path->address()) ) { - - /** - * First, fill all free slots before attempting to replace a path - * - If the above fails, attempt to replace the path that has been dead the longest - * - If there are no free slots, and no dead paths (unlikely), then replace old path most similar to new path - * - If all of the above fails to yield a suitable replacement. Replace first path found to have lower `(quality / priority)` - */ - if (verb == Packet::VERB_OK) { Mutex::Lock _l(_paths_m); + unsigned int oldestPathIdx = ZT_MAX_PEER_NETWORK_PATHS; + unsigned int oldestPathAge = 0; unsigned int replacePath = ZT_MAX_PEER_NETWORK_PATHS; - uint64_t maxScore = 0; - uint64_t currScore; - long replacePathQuality = 0; - bool foundFreeSlot = false; for(unsigned int i=0;ialive(now)) { - currScore = _paths[i].p->age(now) / 1000; + // Keep track of oldest path as a last resort option + unsigned int currAge = _paths[i].p->age(now); + if (currAge > oldestPathAge) { + oldestPathAge = currAge; + oldestPathIdx = i; } - // Reward as similarity increases if (_paths[i].p->address().ipsEqual(path->address())) { - currScore++; - if (_paths[i].p->address().port() == path->address().port()) { - currScore++; - if (_paths[i].p->localSocket() == path->localSocket()) { - currScore++; // max score (3) + if (_paths[i].p->localSocket() == path->localSocket()) { + if (!_paths[i].p->alive(now)) { + replacePath = i; + break; } } } - // If best so far, mark for replacement - if (currScore > maxScore) { - maxScore = currScore; - replacePath = i; - } } else { - foundFreeSlot = true; replacePath = i; break; } } - if (!foundFreeSlot) { - if (maxScore > 3) { - // Do nothing. We found a dead path and have already marked it as a candidate - } - // If we couldn't find a replacement by matching, replacing a dead path, or taking a free slot, then replace by quality - else if (maxScore == 0) { - for(unsigned int i=0;iquality(now) / _paths[i].priority; - if (q > replacePathQuality) { - replacePathQuality = q; - replacePath = i; - } - } - } - } - } + // If we didn't find a good candidate then resort to replacing oldest path + replacePath = (replacePath == ZT_MAX_PEER_NETWORK_PATHS) ? oldestPathIdx : replacePath; if (replacePath != ZT_MAX_PEER_NETWORK_PATHS) { RR->t->peerLearnedNewPath(tPtr, networkId, *this, path, packetId); _paths[replacePath].lr = now; @@ -540,11 +515,15 @@ unsigned int Peer::doPingAndKeepalive(void *tPtr,int64_t now) // let those old links expire. long maxPriority = 0; for(unsigned int i=0;isent(now); sent |= (_paths[i].p->address().ss_family == AF_INET) ? 0x1 : 0x2; } - } else { - _paths[i] = _PeerPath(); } - } else break; + else { + _paths[i] = _PeerPath(); + deletionOccurred = true; + } + } + if (!_paths[i].p || deletionOccurred) { + for(unsigned int j=i;j -#if ! defined(TARGET_OS_IOS) +#if defined(TARGET_OS_OSX) #include #endif #include @@ -333,7 +333,7 @@ class Binder { while (ifa) { if ((ifa->ifa_name) && (ifa->ifa_addr)) { InetAddress ip = *(ifa->ifa_addr); -#if (defined(__unix__) || defined(__APPLE__)) && !defined(__LINUX__) && !defined(ZT_SDK) && !defined(TARGET_OS_IOS) +#if (defined(__unix__) || defined(__APPLE__)) && !defined(__LINUX__) && !defined(ZT_SDK) && defined(TARGET_OS_OSX) // Check if the address is an IPv6 Temporary Address, macOS/BSD version if (ifa->ifa_addr->sa_family == AF_INET6) { struct sockaddr_in6* sa6 = (struct sockaddr_in6*)ifa->ifa_addr; @@ -349,8 +349,8 @@ class Binder { // if this is a temporary IPv6 address, skip to the next address if (flags & IN6_IFF_TEMPORARY) { - char buf[64]; #ifdef ZT_TRACE + char buf[64]; fprintf(stderr, "skip binding to temporary IPv6 address: %s\n", ip.toIpString(buf)); #endif ifa = ifa->ifa_next; diff --git a/service/OneService.cpp b/service/OneService.cpp index d01ae7d95..5864f2075 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -2307,8 +2307,10 @@ public: auto same_subnet = [ip](InetAddress i){ return ip->network() == i.network(); }; +#endif if (std::find(n.managedIps().begin(),n.managedIps().end(),*ip) == n.managedIps().end()) { +#ifdef __APPLE__ // if same subnet as a previously added address if ( std::find_if(n.managedIps().begin(),n.managedIps().end(), same_subnet) != n.managedIps().end() || @@ -2322,15 +2324,17 @@ public: } else { newManagedIps2.push_back(*ip); } - } #endif - if (!n.tap()->addIp(*ip)) - fprintf(stderr,"ERROR: unable to add ip address %s" ZT_EOL_S, ip->toString(ipbuf)); - - #ifdef __WINDOWS__ - WinFWHelper::newICMPRule(*ip, n.config().nwid); - #endif + if (! n.tap()->addIp(*ip)) { + fprintf(stderr, "ERROR: unable to add ip address %s" ZT_EOL_S, ip->toString(ipbuf)); + } + else { +#ifdef __WINDOWS__ + WinFWHelper::newICMPRule(*ip, n.config().nwid); +#endif + } + } } #ifdef __APPLE__ diff --git a/version.h b/version.h index f4d8abd09..6feff8bf2 100644 --- a/version.h +++ b/version.h @@ -27,7 +27,7 @@ /** * Revision */ -#define ZEROTIER_ONE_VERSION_REVISION 4 +#define ZEROTIER_ONE_VERSION_REVISION 6 /** * Build version diff --git a/zerotier-one.spec b/zerotier-one.spec index 7382b74c6..8ad75cfac 100644 --- a/zerotier-one.spec +++ b/zerotier-one.spec @@ -1,5 +1,5 @@ Name: zerotier-one -Version: 1.10.4 +Version: 1.10.6 Release: 1%{?dist} Summary: ZeroTier network virtualization service @@ -137,6 +137,12 @@ chmod 0755 $RPM_BUILD_ROOT/etc/init.d/zerotier-one %endif %changelog +* Tue Mar 21 2023 Adam Ierymenko - 1.10.6 +- see https://github.com/zerotier/ZeroTierOne for release notes + +* Sat Mar 10 2023 Adam Ierymenko - 1.10.5 +- see https://github.com/zerotier/ZeroTierOne for release notes + * Sat Mar 06 2023 Adam Ierymenko - 1.10.4 - see https://github.com/zerotier/ZeroTierOne for release notes From 0e5651f353b99302dd3571ef9dcebbffe52056df Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 23 Aug 2023 14:24:21 -0400 Subject: [PATCH 2/3] 1.12.0 merge to main (#2104) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add note about forceTcpRelay * Create a sample systemd unit for tcp proxy * set gitattributes for rust & cargo so hashes dont conflict on Windows * Revert "set gitattributes for rust & cargo so hashes dont conflict on Windows" This reverts commit 032dc5c108195f6bbc2e224f00da5b785df4b7f9. * Turn off autocrlf for rust source Doesn't appear to play nice well when it comes to git and vendored cargo package hashes * Fix #1883 (#1886) Still unknown as to why, but the call to `nc->GetProperties()` can fail when setting a friendly name on the Windows virtual ethernet adapter. Ensure that `ncp` is not null before continuing and accessing the device GUID. * Don't vendor packages for zeroidc (#1885) * Added docker environment way to join networks (#1871) * add StringUtils * fix headers use recommended headers and remove unused headers * move extern "C" only JNI functions need to be exported * cleanup * fix ANDROID-50: RESULT_ERROR_BAD_PARAMETER typo * fix typo in log message * fix typos in JNI method signatures * fix typo * fix ANDROID-51: fieldName is uninitialized * fix ANDROID-35: memory leak * fix missing DeleteLocalRef in loops * update to use unique error codes * add GETENV macro * add LOG_TAG defines * ANDROID-48: add ZT_jnicache.cpp * ANDROID-48: use ZT_jnicache.cpp and remove ZT_jnilookup.cpp and ZT_jniarray.cpp * add Event.fromInt * add PeerRole.fromInt * add ResultCode.fromInt * fix ANDROID-36: issues with ResultCode * add VirtualNetworkConfigOperation.fromInt * fix ANDROID-40: VirtualNetworkConfigOperation out-of-sync with ZT_VirtualNetworkConfigOperation enum * add VirtualNetworkStatus.fromInt * fix ANDROID-37: VirtualNetworkStatus out-of-sync with ZT_VirtualNetworkStatus enum * add VirtualNetworkType.fromInt * make NodeStatus a plain data class * fix ANDROID-52: synchronization bug with nodeMap * Node init work: separate Node construction and init * add Node.toString * make PeerPhysicalPath a plain data class * remove unused PeerPhysicalPath.fixed * add array functions * make Peer a plain data class * make Version a plain data class * fix ANDROID-42: copy/paste error * fix ANDROID-49: VirtualNetworkConfig.equals is wrong * reimplement VirtualNetworkConfig.equals * reimplement VirtualNetworkConfig.compareTo * add VirtualNetworkConfig.hashCode * make VirtualNetworkConfig a plain data class * remove unused VirtualNetworkConfig.enabled * reimplement VirtualNetworkDNS.equals * add VirtualNetworkDNS.hashCode * make VirtualNetworkDNS a plain data class * reimplement VirtualNetworkRoute.equals * reimplement VirtualNetworkRoute.compareTo * reimplement VirtualNetworkRoute.toString * add VirtualNetworkRoute.hashCode * make VirtualNetworkRoute a plain data class * add isSocketAddressEmpty * add addressPort * add fromSocketAddressObject * invert logic in a couple of places and return early * newInetAddress and newInetSocketAddress work allow newInetSocketAddress to return NULL if given empty address * fix ANDROID-38: stack corruption in onSendPacketRequested * use GETENV macro * JniRef work JniRef does not use callbacks struct, so remove fix NewGlobalRef / DeleteGlobalRef mismatch * use PRId64 macros * switch statement work * comments and logging * Modifier 'public' is redundant for interface members * NodeException can be made a checked Exception * 'NodeException' does not define a 'serialVersionUID' field * 'finalize()' should not be overridden this is fine to do because ZeroTierOneService calls close() when it is done * error handling, error reporting, asserts, logging * simplify loadLibrary * rename Node.networks -> Node.networkConfigs * Windows file permissions fix (#1887) * Allow macOS interfaces to use multiple IP addresses (#1879) Co-authored-by: Sean OMeara Co-authored-by: Grant Limberg * Fix condition where full HELLOs might not be sent when necessary (#1877) Co-authored-by: Grant Limberg * 1.10.4 version bumps * Add security policy to repo (#1889) * [+] add e2k64 arch (#1890) * temp fix for ANDROID-56: crash inside newNetworkConfig from too many args * 1.10.4 release notes * Windows 1.10.4 Advanced Installer bump * Revert "temp fix for ANDROID-56: crash inside newNetworkConfig from too many args" This reverts commit dd627cd7f44ad623a110bb14f72d0bea72a09e30. * actual fix for ANDROID-56: crash inside newNetworkConfig cast all arguments to varargs functions as good style * Fix addIp being called with applied ips (#1897) This was getting called outside of the check for existing ips Because of the added ifdef and a brace getting moved to the wrong place. ``` if (! n.tap()->addIp(*ip)) { fprintf(stderr, "ERROR: unable to add ip address %s" ZT_EOL_S, ip->toString(ipbuf)); } WinFWHelper::newICMPRule(*ip, n.config().nwid); ``` * 1.10.5 (#1905) * 1.10.5 bump * 1.10.5 for Windows * 1.10.5 * Prevent path-learning loops (#1914) * Prevent path-learning loops * Only allow new overwrite if not bonded * fix binding temporary ipv6 addresses on macos (#1910) The check code wasn't running. I don't know why !defined(TARGET_OS_IOS) would exclude code on desktop macOS. I did a quick search and changed it to defined(TARGET_OS_MAC). Not 100% sure what the most correct solution there is. You can verify the old and new versions with `ifconfig | grep temporary` plus `zerotier-cli info -j` -> listeningOn * 1.10.6 (#1929) * 1.10.5 bump * 1.10.6 * 1.10.6 AIP for Windows. * Release notes for 1.10.6 (#1931) * Minor tweak to Synology Docker image script (#1936) * Change if_def again so ios can build (#1937) All apple's variables are "defined" but sometimes they are defined as "0" * move begin/commit into try/catch block (#1932) Thread was exiting in some cases * Bump openssl from 0.10.45 to 0.10.48 in /zeroidc (#1938) Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.45 to 0.10.48. - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.45...openssl-v0.10.48) --- updated-dependencies: - dependency-name: openssl dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * new drone bits * Fix multiple network join from environment entrypoint.sh.release (#1961) * _bond_m guards _bond, not _paths_m (#1965) * Fix: warning: mutex '_aqm_m' is not held on every path through here [-Wthread-safety-analysis] (#1964) * Bump h2 from 0.3.16 to 0.3.17 in /zeroidc (#1963) Bumps [h2](https://github.com/hyperium/h2) from 0.3.16 to 0.3.17. - [Release notes](https://github.com/hyperium/h2/releases) - [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/h2/compare/v0.3.16...v0.3.17) --- updated-dependencies: - dependency-name: h2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Grant Limberg * Add note that binutils is required on FreeBSD (#1968) * Add prometheus metrics for Central controllers (#1969) * add header-only prometheus lib to ext * rename folder * Undo rename directory * prometheus simpleapi included on mac & linux * wip * wire up some controller stats * Get windows building with prometheus * bsd build flags for prometheus * Fix multiple network join from environment entrypoint.sh.release (#1961) * _bond_m guards _bond, not _paths_m (#1965) * Fix: warning: mutex '_aqm_m' is not held on every path through here [-Wthread-safety-analysis] (#1964) * Serve prom metrics from /metrics endpoint * Add prom metrics for Central controller specific things * reorganize metric initialization * testing out a labled gauge on Networks * increment error counter on throw * Consolidate metrics definitions Put all metric definitions into node/Metrics.hpp. Accessed as needed from there. * Revert "testing out a labled gauge on Networks" This reverts commit 499ed6d95e11452019cdf48e32ed4cd878c2705b. * still blows up but adding to the record for completeness right now * Fix runtime issues with metrics * Add metrics files to visual studio project * Missed an "extern" * add copyright headers to new files * Add metrics for sent/received bytes (total) * put /metrics endpoint behind auth * sendto returns int on Win32 --------- Co-authored-by: Leonardo Amaral Co-authored-by: Brenton Bostick * Central startup update (#1973) * allow specifying authtoken in central startup * set allowManagedFrom * move redis_mem_notification to the correct place * add node checkins metric * wire up min/max connection pool size metrics * x86_64-unknown-linux-gnu on ubuntu runner (#1975) * adding incoming zt packet type metrics (#1976) * use cpp-httplib for HTTP control plane (#1979) refactored the old control plane code to use [cpp-httplib](https://github.com/yhirose/cpp-httplib) instead of a hand rolled HTTP server. Makes the control plane code much more legible. Also no longer randomly stops responding. * Outgoing Packet Metrics (#1980) add tx/rx labels to packet counters and add metrics for outgoing packets * Add short-term validation test workflow (#1974) Add short-term validation test workflow * Brenton/curly braces (#1971) * fix formatting * properly adjust various lines breakup multiple statements onto multiple lines * insert {} around if, for, etc. * Fix rust dependency caching (#1983) * fun with rust caching * kick * comment out invalid yaml keys for now * Caching should now work * re-add/rename key directives * bump * bump * bump * Don't force rebuild on Windows build GH Action (#1985) Switching `/t:ZeroTierOne:Rebuild` to just `/t:ZeroTierOne` allows the Windows build to use the rust cache. `/t:ZeroTierOne:Rebuild` cleared the cache before building. * More packet metrics (#1982) * found path negotation sends that weren't accounted for * Fix histogram so it will actually compile * Found more places for packet metrics * separate the bind & listen calls on the http backplane (#1988) * fix memory leak (#1992) * fix a couple of metrics (#1989) * More aggressive CLI spamming (#1993) * fix type signatures (#1991) * Network-metrics (#1994) * Add a couple quick functions for converting a uint64_t network ID/node ID into std::string * Network metrics * Peer metrics (#1995) * Adding peer metrics still need to be wired up for use * per peer packet metrics * Fix crash from bad instantiation of histogram * separate alive & dead path counts * Add peer metric update block * add peer latency values in doPingAndKeepalive * prevent deadlock * peer latency histogram actually works now * cleanup * capture counts of packets to specific peers --------- Co-authored-by: Joseph Henry * Metrics consolidation (#1997) * Rename zt_packet_incoming -> zt_packet Also consolidate zt_peer_packets into a single metric with tx and rx labels. Same for ztc_tcp_data and ztc_udp_data * Further collapse tcp & udp into metric labels for zt_data * Fix zt_data metric description * zt_peer_packets description fix * Consolidate incoming/outgoing network packets to a single metric * zt_incoming_packet_error -> zt_packet_error * Disable peer metrics for central controllers Can change in the future if needed, but given the traffic our controllers serve, that's going to be a *lot* of data * Disable peer metrics for controllers pt 2 * Update readme files for metrics (#2000) * Controller Metrics & Network Config Request Fix (#2003) * add new metrics for network config request queue size and sso expirations * move sso expiration to its own thread in the controller * fix potential undefined behavior when modifying a set * Enable RTTI in Windows build The new prometheus histogram stuff needs it. Access violation - no RTTI data!INVALID packet 636ebd9ee8cac6c0 from cafe9efeb9(2605:9880:200:1200:30:571:e34:51/9993) (unexpected exception in tryDecode()) * Don't re-apply routes on BSD See issue #1986 * Capture setContent by-value instead of by-reference (#2006) Co-authored-by: Grant Limberg * fix typos (#2010) * central controller metrics & request path updates (#2012) * internal db metrics * use shared mutexes for read/write locks * remove this lock. only used for a metric * more metrics * remove exploratory metrics place controller request benchmarks behind ifdef * Improve validation test (#2013) * fix init order for EmbeddedNetworkController (#2014) * add constant for getifaddrs cache time * cache getifaddrs - mac * cache getifaddrs - linux * cache getifaddrs - bsd * cache getifaddrs - windows * Fix oidc client lookup query join condition referenced the wrong table. Worked fine unless there were multiple identical client IDs * Fix udp sent metric was only incrementing by 1 for each packet sent * Allow sending all surface addresses to peer in low-bandwidth mode * allow enabling of low bandwidth mode on controllers * don't unborrow bad connections pool will clean them up later * Multi-arch controller container (#2037) create arm64 & amd64 images for central controller * Update README.md issue #2009 * docker tags change * fix oidc auth url memory leak (#2031) getAuthURL() was not calling zeroidc::free_cstr(url); the only place authAuthURL is called, the url can be retrieved from the network config instead. You could alternatively copy the string and call free_cstr in getAuthURL. If that's better we can change the PR. Since now there are no callers of getAuthURL I deleted it. Co-authored-by: Grant Limberg * Bump openssl from 0.10.48 to 0.10.55 in /zeroidc (#2034) Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.48 to 0.10.55. - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.48...openssl-v0.10.55) --- updated-dependencies: - dependency-name: openssl dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Grant Limberg * zeroidc cargo warnings (#2029) * fix unused struct member cargo warning * fix unused import cargo warning * fix unused return value cargo warning --------- Co-authored-by: Grant Limberg * fix memory leak in macos ipv6/dns helper (#2030) Co-authored-by: Grant Limberg * Consider ZEROTIER_JOIN_NETWORKS in healthcheck (#1978) * Add a 2nd auth token only for access to /metrics (#2043) * Add a 2nd auth token for /metrics Allows administrators to distribute a token that only has access to read metrics and nothing else. Also added support for using bearer auth tokens for both types of tokens Separate endpoint for metrics #2041 * Update readme * fix a couple of cases of writing the wrong token * Add warning to cli for allow default on FreeBSD It doesn't work. Not possible to fix with deficient network stack and APIs. ZeroTierOne-freebsd # zerotier-cli set 9bee8941b5xxxxxx allowDefault=1 400 set Allow Default does not work properly on FreeBSD. See #580 root@freebsd13-a:~/ZeroTierOne-freebsd # zerotier-cli get 9bee8941b5xxxxxx allowDefault 1 * ARM64 Support for TapDriver6 (#1949) * Release memory previously allocated by UPNP_GetValidIGD * Fix ifdef that breaks libzt on iOS (#2050) * less drone (#2060) * Exit if loading an invalid identity from disk (#2058) * Exit if loading an invalid identity from disk Previously, if an invalid identity was loaded from disk, ZeroTier would generate a new identity & chug along and generate a brand new identity as if nothing happened. When running in containers, this introduces the possibility for key matter loss; especially when running in containers where the identity files are mounted in the container read only. In this case, ZT will continue chugging along with a brand new identity with no possibility of recovering the private key. ZeroTier should exit upon loading of invalid identity.public/identity.secret #2056 * add validation test for #2056 * tcp-proxy: fix build * Adjust tcp-proxy makefile to support metrics There's no way to get the metrics yet. Someone will have to add the http service. * remove ZT_NO_METRIC ifdef * Implement recvmmsg() for Linux to reduce syscalls. (#2046) Between 5% and 40% speed improvement on Linux, depending on system configuration and load. * suppress warnings: comparison of integers of different signs: 'int64_t' (aka 'long') and 'uint64_t' (aka 'unsigned long') [-Wsign-compare] (#2063) * fix warning: 'OS_STRING' macro redefined [-Wmacro-redefined] (#2064) Even though this is in ext, these particular chunks of code were added by us, so are ok to modify. * Apply default route a different way - macOS The original way we applied default route, by forking 0.0.0.0/0 into 0/1 and 128/1 works, but if mac os has any networking hiccups -if you change SSIDs or sleep/wake- macos erases the system default route. And then all networking on the computer is broken. to summarize the new way: allowDefault=1 ``` sudo route delete default 192.168.82.1 sudo route add default 10.2.0.2 sudo route add -ifscope en1 default 192.168.82.1 ``` gives us this routing table ``` Destination Gateway RT_IFA Flags Refs Use Mtu Netif Expire rtt(ms) rttvar(ms) default 10.2.0.2 10.2.0.18 UGScg 90 1 2800 feth4823 default 192.168.82.1 192.168.82.217 UGScIg ``` allowDefault=0 ``` sudo route delete default sudo route delete -ifscope en1 default sudo route add default 192.168.82.1 ``` Notice the I flag, for -ifscope, on the physical default route. route change does not seem to work reliably. * fix docker tag for controllers (#2066) * Update build.sh (#2068) fix mkwork compilation errors * Fix network DNS on macOS It stopped working for ipv4 only networks in Monterey. See #1696 We add some config like so to System Configuration ``` scutil show State:/Network/Service/9bee8941b5xxxxxx/IPv4 { Addresses : { 0 : 10.2.1.36 } InterfaceName : feth4823 Router : 10.2.1.36 ServerAddress : 127.0.0.1 } ``` * Add search domain to macos dns configuration Stumbled upon this while debugging something else. If we add search domain to our system configuration for network DNS, then search domains work: ``` ping server1 ~ PING server1.my.domain (10.123.3.1): 56 data bytes 64 bytes from 10.123.3.1 ``` * Fix reporting of secondaryPort and tertiaryPort See: #2039 * Fix typos (#2075) * Disable executable stacks on assembly objects (#2071) Add `--noexecstack` to the assembler flags so the resulting binary will link with a non-executable stack. Fixes zerotier/ZeroTierOne#1179 Co-authored-by: Joseph Henry * Test that starting zerotier before internet works * Don't skip hellos when there are no paths available working on #2082 * Update validate-1m-linux.sh * Save zt node log files on abort * Separate test and summary step in validator script * Don't apply default route until zerotier is "online" I was running into issues with restarting the zerotier service while "full tunnel" mode is enabled. When zerotier first boots, it gets network state from the cache on disk. So it immediately applies all the routes it knew about before it shutdown. The network config may have change in this time. If it has, then your default route is via a route you are blocked from talking on. So you can't get the current network config, so your internet does not work. Other options include - don't use cached network state on boot - find a better criteria than "online" * Fix node time-to-online counter in validator script * Export variables so that they are accessible by exit function * Fix PortMapper issue on ZeroTier startup See issue #2082 We use a call to libnatpmp::ininatpp to make sure the computer has working network sockets before we go into the main nat-pmp/upnp logic. With basic exponenetial delay up to 30 seconds. * testing * Comment out PortMapper debug this got left turned on in a confusing merge previously * fix macos default route again see commit fb6af1971 * Fix network DNS on macOS adding that stuff to System Config causes this extra route to be added which breaks ipv4 default route. We figured out a weird System Coniguration setting that works. --- old couldn't figure out how to fix it in SystemConfiguration so here we are# Please enter the commit message for your changes. Lines starting We also moved the dns setter to before the syncIps stuff to help with a race condition. It didn't always work when you re-joined a network with default route enabled. * Catch all conditions in switch statement, remove trailing whitespaces * Add setmtu command, fix bond lifetime issue * Basic cleanups * Check if null is passed to VirtualNetworkConfig.equals and name fixes * ANDROID-96: Simplify and use return code from node_init directly * Windows arm64 (#2099) * ARM64 changes for 1.12 * 1.12 Windows advanced installer updates and updates for ARM64 * 1.12.0 * Linux build fixes for old distros. * release notes --------- Signed-off-by: dependabot[bot] Co-authored-by: travis laduke Co-authored-by: Grant Limberg Co-authored-by: Grant Limberg Co-authored-by: Leonardo Amaral Co-authored-by: Brenton Bostick Co-authored-by: Sean OMeara Co-authored-by: Joseph Henry Co-authored-by: Roman Peshkichev Co-authored-by: Joseph Henry Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Co-authored-by: Jake Vis Co-authored-by: Jörg Thalheim Co-authored-by: lison Co-authored-by: Kenny MacDermid --- .drone.jsonnet | 264 +- .drone.yml | 381 +- .github/workflows/build.yml | 49 +- .github/workflows/validate-linux.sh | 461 ++ .github/workflows/validate-report.sh | 24 + .github/workflows/validate.yml | 56 + .kick | 14 + Makefile | 1 + README.md | 64 +- RELEASE-NOTES.md | 16 + attic/world/build.sh | 2 +- ci/Dockerfile-build.deb | 13 + ci/{Dockerfile.el6 => Dockerfile-build.el6} | 8 +- ci/Dockerfile-build.rpm | 9 + ci/Dockerfile-test.deb | 13 + ci/Dockerfile-test.el6 | 4 + ci/Dockerfile-test.rpm | 17 + ci/Dockerfile.deb | 10 - ci/Dockerfile.none | 5 - ci/Dockerfile.rpm | 9 - ci/scripts/build.sh | 135 +- ci/scripts/lib.sh | 63 + ci/scripts/munge_debian_changelog.sh | 2 +- ci/scripts/publish.sh | 38 + ci/scripts/test.sh | 55 + controller/ConnectionPool.hpp | 16 +- controller/DB.cpp | 94 +- controller/DB.hpp | 16 +- controller/DBMirrorSet.cpp | 41 +- controller/DBMirrorSet.hpp | 6 +- controller/EmbeddedNetworkController.cpp | 1328 ++-- controller/EmbeddedNetworkController.hpp | 57 +- controller/FileDB.cpp | 10 +- controller/PostgreSQL.cpp | 66 +- controller/PostgreSQL.hpp | 3 + controller/README.md | 221 +- debian/changelog | 6 + debian/compat | 2 +- debian/control | 2 +- entrypoint.sh.release | 4 +- ext/bin/tap-mac/tap.kext/Contents/Info.plist | 36 - ext/bin/tap-mac/tap.kext/Contents/MacOS/tap | Bin 50496 -> 0 bytes .../Contents/_CodeSignature/CodeResources | 105 - ext/bin/tap-windows-ndis6/arm64/zttap300.cat | Bin 0 -> 11761 bytes .../{x64.old => arm64}/zttap300.inf | 36 +- ext/bin/tap-windows-ndis6/arm64/zttap300.sys | Bin 0 -> 38400 bytes ext/bin/tap-windows-ndis6/certutil.exe | Bin 903168 -> 0 bytes .../x64.old/ZeroTierOne_NDIS6_x64.msi | Bin 2056704 -> 0 bytes .../tap-windows-ndis6/x64.old/zttap300.cat | Bin 10017 -> 0 bytes .../tap-windows-ndis6/x64.old/zttap300.sys | Bin 30488 -> 0 bytes .../x64/ZeroTierOne_NDIS6_x64.msi | Bin 2190336 -> 0 bytes .../x86.old/ZeroTierOne_NDIS6_x86.msi | Bin 1673728 -> 0 bytes .../tap-windows-ndis6/x86.old/zttap300.cat | Bin 10017 -> 0 bytes .../tap-windows-ndis6/x86.old/zttap300.inf | 143 - .../tap-windows-ndis6/x86.old/zttap300.sys | Bin 27928 -> 0 bytes .../x86/ZeroTierOne_NDIS6_x86.msi | Bin 1810944 -> 0 bytes ext/bin/tap-windows-ndis6/zttap300.cer | Bin 1321 -> 0 bytes ext/central-controller-docker/Dockerfile | 4 +- ext/central-controller-docker/Makefile | 16 + ext/central-controller-docker/main.sh | 6 + ext/cpp-httplib/httplib.h | 6604 +++++++++++------ .../lib/ubuntu22.04/{ => amd64}/libhiredis.a | Bin .../lib/ubuntu22.04/arm64/libhiredis.a | Bin 0 -> 495416 bytes ext/installfiles/mac/ZeroTier One.pkgproj | 2 +- ext/installfiles/windows/ZeroTier One.aip | 148 +- .../windows/ZeroTier One.back.aip | 558 ++ ext/libpqxx-7.7.3/config/config.guess | 700 +- ext/libpqxx-7.7.3/config/config.sub | 351 +- .../{ => amd64}/include/pqxx/array | 0 .../{ => amd64}/include/pqxx/array.hxx | 0 .../{ => amd64}/include/pqxx/binarystring | 0 .../{ => amd64}/include/pqxx/binarystring.hxx | 0 .../ubuntu22.04/{ => amd64}/include/pqxx/blob | 0 .../{ => amd64}/include/pqxx/blob.hxx | 0 .../{ => amd64}/include/pqxx/composite | 0 .../{ => amd64}/include/pqxx/composite.hxx | 0 .../include/pqxx/config-public-compiler.h | 0 .../{ => amd64}/include/pqxx/connection | 0 .../{ => amd64}/include/pqxx/connection.hxx | 0 .../{ => amd64}/include/pqxx/cursor | 0 .../{ => amd64}/include/pqxx/cursor.hxx | 0 .../{ => amd64}/include/pqxx/dbtransaction | 0 .../include/pqxx/dbtransaction.hxx | 0 .../{ => amd64}/include/pqxx/errorhandler | 0 .../{ => amd64}/include/pqxx/errorhandler.hxx | 0 .../{ => amd64}/include/pqxx/except | 0 .../{ => amd64}/include/pqxx/except.hxx | 0 .../{ => amd64}/include/pqxx/field | 0 .../{ => amd64}/include/pqxx/field.hxx | 0 .../include/pqxx/internal/array-composite.hxx | 0 .../include/pqxx/internal/callgate.hxx | 0 .../include/pqxx/internal/concat.hxx | 0 .../include/pqxx/internal/conversions.hxx | 0 .../include/pqxx/internal/encoding_group.hxx | 0 .../include/pqxx/internal/encodings.hxx | 0 .../gates/connection-errorhandler.hxx | 0 .../internal/gates/connection-largeobject.hxx | 0 .../connection-notification_receiver.hxx | 0 .../internal/gates/connection-pipeline.hxx | 0 .../internal/gates/connection-sql_cursor.hxx | 0 .../internal/gates/connection-stream_from.hxx | 0 .../internal/gates/connection-stream_to.hxx | 0 .../internal/gates/connection-transaction.hxx | 0 .../gates/errorhandler-connection.hxx | 0 .../gates/icursor_iterator-icursorstream.hxx | 0 .../gates/icursorstream-icursor_iterator.hxx | 0 .../pqxx/internal/gates/result-connection.hxx | 0 .../pqxx/internal/gates/result-creation.hxx | 0 .../pqxx/internal/gates/result-pipeline.hxx | 0 .../pqxx/internal/gates/result-sql_cursor.hxx | 0 .../internal/gates/transaction-sql_cursor.hxx | 0 .../gates/transaction-transaction_focus.hxx | 0 .../include/pqxx/internal/header-post.hxx | 0 .../include/pqxx/internal/header-pre.hxx | 0 .../pqxx/internal/ignore-deprecated-post.hxx | 0 .../pqxx/internal/ignore-deprecated-pre.hxx | 0 .../include/pqxx/internal/libpq-forward.hxx | 0 .../include/pqxx/internal/result_iter.hxx | 0 .../include/pqxx/internal/result_iterator.hxx | 0 .../include/pqxx/internal/sql_cursor.hxx | 0 .../pqxx/internal/statement_parameters.hxx | 0 .../include/pqxx/internal/stream_iterator.hxx | 0 .../include/pqxx/internal/wait.hxx | 0 .../{ => amd64}/include/pqxx/isolation | 0 .../{ => amd64}/include/pqxx/isolation.hxx | 0 .../{ => amd64}/include/pqxx/largeobject | 0 .../{ => amd64}/include/pqxx/largeobject.hxx | 0 .../{ => amd64}/include/pqxx/nontransaction | 0 .../include/pqxx/nontransaction.hxx | 0 .../{ => amd64}/include/pqxx/notification | 0 .../{ => amd64}/include/pqxx/notification.hxx | 0 .../{ => amd64}/include/pqxx/params | 0 .../{ => amd64}/include/pqxx/params.hxx | 0 .../{ => amd64}/include/pqxx/pipeline | 0 .../{ => amd64}/include/pqxx/pipeline.hxx | 0 .../ubuntu22.04/{ => amd64}/include/pqxx/pqxx | 0 .../include/pqxx/prepared_statement | 0 .../include/pqxx/prepared_statement.hxx | 0 .../{ => amd64}/include/pqxx/range | 0 .../{ => amd64}/include/pqxx/range.hxx | 0 .../{ => amd64}/include/pqxx/result | 0 .../{ => amd64}/include/pqxx/result.hxx | 0 .../include/pqxx/robusttransaction | 0 .../include/pqxx/robusttransaction.hxx | 0 .../ubuntu22.04/{ => amd64}/include/pqxx/row | 0 .../{ => amd64}/include/pqxx/row.hxx | 0 .../{ => amd64}/include/pqxx/separated_list | 0 .../include/pqxx/separated_list.hxx | 0 .../{ => amd64}/include/pqxx/strconv | 0 .../{ => amd64}/include/pqxx/strconv.hxx | 0 .../{ => amd64}/include/pqxx/stream_from | 0 .../{ => amd64}/include/pqxx/stream_from.hxx | 0 .../{ => amd64}/include/pqxx/stream_to | 0 .../{ => amd64}/include/pqxx/stream_to.hxx | 0 .../{ => amd64}/include/pqxx/subtransaction | 0 .../include/pqxx/subtransaction.hxx | 0 .../ubuntu22.04/{ => amd64}/include/pqxx/time | 0 .../{ => amd64}/include/pqxx/time.hxx | 0 .../{ => amd64}/include/pqxx/transaction | 0 .../{ => amd64}/include/pqxx/transaction.hxx | 0 .../{ => amd64}/include/pqxx/transaction_base | 0 .../include/pqxx/transaction_base.hxx | 0 .../include/pqxx/transaction_focus | 0 .../include/pqxx/transaction_focus.hxx | 0 .../{ => amd64}/include/pqxx/transactor | 0 .../{ => amd64}/include/pqxx/transactor.hxx | 0 .../{ => amd64}/include/pqxx/types | 0 .../{ => amd64}/include/pqxx/types.hxx | 0 .../ubuntu22.04/{ => amd64}/include/pqxx/util | 0 .../{ => amd64}/include/pqxx/util.hxx | 0 .../{ => amd64}/include/pqxx/version | 0 .../{ => amd64}/include/pqxx/version.hxx | 0 .../{ => amd64}/include/pqxx/zview | 0 .../{ => amd64}/include/pqxx/zview.hxx | 0 .../libpqxx/libpqxx-config-version.cmake | 0 .../lib/cmake/libpqxx/libpqxx-config.cmake | 0 .../libpqxx/libpqxx-targets-noconfig.cmake | 0 .../lib/cmake/libpqxx/libpqxx-targets.cmake | 0 .../ubuntu22.04/{ => amd64}/lib/libpqxx-7.7.a | Bin .../ubuntu22.04/{ => amd64}/lib/libpqxx.a | 0 .../share/doc/libpqxx/accessing-results.md | 0 .../share/doc/libpqxx/binary-data.md | 0 .../share/doc/libpqxx/datatypes.md | 0 .../{ => amd64}/share/doc/libpqxx/escaping.md | 0 .../share/doc/libpqxx/getting-started.md | 0 .../{ => amd64}/share/doc/libpqxx/mainpage.md | 0 .../share/doc/libpqxx/parameters.md | 0 .../share/doc/libpqxx/performance.md | 0 .../share/doc/libpqxx/prepared-statement.md | 0 .../{ => amd64}/share/doc/libpqxx/streams.md | 0 .../share/doc/libpqxx/thread-safety.md | 0 .../ubuntu22.04/arm64/include/pqxx/array | 6 + .../ubuntu22.04/arm64/include/pqxx/array.hxx | 103 + .../arm64/include/pqxx/binarystring | 6 + .../arm64/include/pqxx/binarystring.hxx | 236 + .../ubuntu22.04/arm64/include/pqxx/blob | 6 + .../ubuntu22.04/arm64/include/pqxx/blob.hxx | 351 + .../ubuntu22.04/arm64/include/pqxx/composite | 6 + .../arm64/include/pqxx/composite.hxx | 149 + .../include/pqxx/config-public-compiler.h | 81 + .../ubuntu22.04/arm64/include/pqxx/connection | 8 + .../arm64/include/pqxx/connection.hxx | 1261 ++++ .../ubuntu22.04/arm64/include/pqxx/cursor | 8 + .../ubuntu22.04/arm64/include/pqxx/cursor.hxx | 483 ++ .../arm64/include/pqxx/dbtransaction | 8 + .../arm64/include/pqxx/dbtransaction.hxx | 70 + .../arm64/include/pqxx/errorhandler | 8 + .../arm64/include/pqxx/errorhandler.hxx | 92 + .../ubuntu22.04/arm64/include/pqxx/except | 8 + .../ubuntu22.04/arm64/include/pqxx/except.hxx | 447 ++ .../ubuntu22.04/arm64/include/pqxx/field | 8 + .../ubuntu22.04/arm64/include/pqxx/field.hxx | 542 ++ .../include/pqxx/internal/array-composite.hxx | 305 + .../arm64/include/pqxx/internal/callgate.hxx | 70 + .../arm64/include/pqxx/internal/concat.hxx | 45 + .../include/pqxx/internal/conversions.hxx | 1188 +++ .../include/pqxx/internal/encoding_group.hxx | 60 + .../arm64/include/pqxx/internal/encodings.hxx | 90 + .../gates/connection-errorhandler.hxx | 26 + .../internal/gates/connection-largeobject.hxx | 35 + .../connection-notification_receiver.hxx | 29 + .../internal/gates/connection-pipeline.hxx | 23 + .../internal/gates/connection-sql_cursor.hxx | 19 + .../internal/gates/connection-stream_from.hxx | 15 + .../internal/gates/connection-stream_to.hxx | 17 + .../internal/gates/connection-transaction.hxx | 44 + .../gates/errorhandler-connection.hxx | 13 + .../gates/icursor_iterator-icursorstream.hxx | 24 + .../gates/icursorstream-icursor_iterator.hxx | 32 + .../pqxx/internal/gates/result-connection.hxx | 14 + .../pqxx/internal/gates/result-creation.hxx | 24 + .../pqxx/internal/gates/result-pipeline.hxx | 16 + .../pqxx/internal/gates/result-sql_cursor.hxx | 13 + .../internal/gates/transaction-sql_cursor.hxx | 10 + .../gates/transaction-transaction_focus.hxx | 30 + .../include/pqxx/internal/header-post.hxx | 22 + .../include/pqxx/internal/header-pre.hxx | 169 + .../pqxx/internal/ignore-deprecated-post.hxx | 15 + .../pqxx/internal/ignore-deprecated-pre.hxx | 28 + .../include/pqxx/internal/libpq-forward.hxx | 31 + .../include/pqxx/internal/result_iter.hxx | 124 + .../include/pqxx/internal/result_iterator.hxx | 389 + .../include/pqxx/internal/sql_cursor.hxx | 118 + .../pqxx/internal/statement_parameters.hxx | 131 + .../include/pqxx/internal/stream_iterator.hxx | 105 + .../arm64/include/pqxx/internal/wait.hxx | 18 + .../ubuntu22.04/arm64/include/pqxx/isolation | 8 + .../arm64/include/pqxx/isolation.hxx | 75 + .../arm64/include/pqxx/largeobject | 8 + .../arm64/include/pqxx/largeobject.hxx | 735 ++ .../arm64/include/pqxx/nontransaction | 8 + .../arm64/include/pqxx/nontransaction.hxx | 76 + .../arm64/include/pqxx/notification | 8 + .../arm64/include/pqxx/notification.hxx | 94 + .../ubuntu22.04/arm64/include/pqxx/params | 8 + .../ubuntu22.04/arm64/include/pqxx/params.hxx | 383 + .../ubuntu22.04/arm64/include/pqxx/pipeline | 8 + .../arm64/include/pqxx/pipeline.hxx | 237 + .../ubuntu22.04/arm64/include/pqxx/pqxx | 28 + .../arm64/include/pqxx/prepared_statement | 3 + .../arm64/include/pqxx/prepared_statement.hxx | 3 + .../ubuntu22.04/arm64/include/pqxx/range | 6 + .../ubuntu22.04/arm64/include/pqxx/range.hxx | 515 ++ .../ubuntu22.04/arm64/include/pqxx/result | 16 + .../ubuntu22.04/arm64/include/pqxx/result.hxx | 335 + .../arm64/include/pqxx/robusttransaction | 8 + .../arm64/include/pqxx/robusttransaction.hxx | 120 + .../ubuntu22.04/arm64/include/pqxx/row | 11 + .../ubuntu22.04/arm64/include/pqxx/row.hxx | 561 ++ .../arm64/include/pqxx/separated_list | 6 + .../arm64/include/pqxx/separated_list.hxx | 142 + .../ubuntu22.04/arm64/include/pqxx/strconv | 6 + .../arm64/include/pqxx/strconv.hxx | 468 ++ .../arm64/include/pqxx/stream_from | 8 + .../arm64/include/pqxx/stream_from.hxx | 361 + .../ubuntu22.04/arm64/include/pqxx/stream_to | 8 + .../arm64/include/pqxx/stream_to.hxx | 455 ++ .../arm64/include/pqxx/subtransaction | 8 + .../arm64/include/pqxx/subtransaction.hxx | 96 + .../ubuntu22.04/arm64/include/pqxx/time | 6 + .../ubuntu22.04/arm64/include/pqxx/time.hxx | 88 + .../arm64/include/pqxx/transaction | 8 + .../arm64/include/pqxx/transaction.hxx | 108 + .../arm64/include/pqxx/transaction_base | 9 + .../arm64/include/pqxx/transaction_base.hxx | 810 ++ .../arm64/include/pqxx/transaction_focus | 7 + .../arm64/include/pqxx/transaction_focus.hxx | 89 + .../ubuntu22.04/arm64/include/pqxx/transactor | 8 + .../arm64/include/pqxx/transactor.hxx | 147 + .../ubuntu22.04/arm64/include/pqxx/types | 7 + .../ubuntu22.04/arm64/include/pqxx/types.hxx | 173 + .../ubuntu22.04/arm64/include/pqxx/util | 6 + .../ubuntu22.04/arm64/include/pqxx/util.hxx | 521 ++ .../ubuntu22.04/arm64/include/pqxx/version | 7 + .../arm64/include/pqxx/version.hxx | 55 + .../ubuntu22.04/arm64/include/pqxx/zview | 6 + .../ubuntu22.04/arm64/include/pqxx/zview.hxx | 163 + .../libpqxx/libpqxx-config-version.cmake | 70 + .../lib/cmake/libpqxx/libpqxx-config.cmake | 4 + .../libpqxx/libpqxx-targets-noconfig.cmake | 19 + .../lib/cmake/libpqxx/libpqxx-targets.cmake | 99 + .../ubuntu22.04/arm64/lib/libpqxx-7.7.a | Bin 0 -> 4997126 bytes .../install/ubuntu22.04/arm64/lib/libpqxx.a | 1 + .../share/doc/libpqxx/accessing-results.md | 157 + .../arm64/share/doc/libpqxx/binary-data.md | 56 + .../arm64/share/doc/libpqxx/datatypes.md | 373 + .../arm64/share/doc/libpqxx/escaping.md | 74 + .../share/doc/libpqxx/getting-started.md | 142 + .../arm64/share/doc/libpqxx/mainpage.md | 28 + .../arm64/share/doc/libpqxx/parameters.md | 90 + .../arm64/share/doc/libpqxx/performance.md | 24 + .../share/doc/libpqxx/prepared-statement.md | 125 + .../arm64/share/doc/libpqxx/streams.md | 107 + .../arm64/share/doc/libpqxx/thread-safety.md | 29 + .../ubuntu22.04/lib/pkgconfig/libpqxx.pc | 10 - ext/miniupnpc/minisoap.c | 2 + ext/miniupnpc/miniwget.c | 2 + ext/prometheus-cpp-lite-1.0/.gitignore | 3 + .../3rdpatry/http-client-lite/CMakeLists.txt | 36 + .../3rdpatry/http-client-lite/LICENSE | 22 + .../3rdpatry/http-client-lite/README.md | 30 + .../http-client-lite/examples/CMakeLists.txt | 5 + .../examples/simple_request.cpp | 43 + .../include/jdl/httpclientlite.h | 327 + ext/prometheus-cpp-lite-1.0/CMakeLists.txt | 34 + ext/prometheus-cpp-lite-1.0/LICENSE | 21 + ext/prometheus-cpp-lite-1.0/README.md | 201 + .../core/CMakeLists.txt | 20 + .../core/include/prometheus/atomic_floating.h | 40 + .../core/include/prometheus/benchmark.h | 72 + .../core/include/prometheus/builder.h | 35 + .../core/include/prometheus/ckms_quantiles.h | 194 + .../core/include/prometheus/client_metric.h | 94 + .../core/include/prometheus/collectable.h | 27 + .../core/include/prometheus/counter.h | 113 + .../core/include/prometheus/family.h | 356 + .../core/include/prometheus/gateway.h | 205 + .../core/include/prometheus/gauge.h | 129 + .../core/include/prometheus/hash.h | 50 + .../core/include/prometheus/histogram.h | 154 + .../core/include/prometheus/metric.h | 29 + .../core/include/prometheus/metric_family.h | 18 + .../core/include/prometheus/push_to_server.h | 86 + .../core/include/prometheus/registry.h | 123 + .../core/include/prometheus/save_to_file.h | 83 + .../core/include/prometheus/summary.h | 154 + .../core/include/prometheus/text_serializer.h | 211 + .../prometheus/time_window_quantiles.h | 62 + .../examples/CMakeLists.txt | 31 + .../examples/gateway_example.cpp | 64 + .../examples/modern_example.cpp | 65 + .../examples/original_example.cpp | 67 + .../examples/push_to_server_example.cpp | 44 + .../examples/save_to_file_example.cpp | 43 + .../examples/simpleapi_example.cpp | 26 + .../simpleapi_use_in_class_example.cpp | 57 + .../use_benchmark_in_class_example.cpp | 59 + .../use_counters_in_class_example.cpp | 79 + .../examples/use_gauge_in_class_example.cpp | 79 + .../simpleapi/CMakeLists.txt | 7 + .../simpleapi/include/prometheus/simpleapi.h | 157 + .../simpleapi/src/simpleapi.cpp | 13 + .../include/sw/redis++/cmd_formatter.h | 0 .../{ => amd64}/include/sw/redis++/command.h | 0 .../include/sw/redis++/command_args.h | 0 .../include/sw/redis++/command_options.h | 0 .../include/sw/redis++/connection.h | 0 .../include/sw/redis++/connection_pool.h | 0 .../include/sw/redis++/cxx_utils.h | 0 .../{ => amd64}/include/sw/redis++/errors.h | 0 .../{ => amd64}/include/sw/redis++/pipeline.h | 0 .../include/sw/redis++/queued_redis.h | 0 .../include/sw/redis++/queued_redis.hpp | 0 .../{ => amd64}/include/sw/redis++/redis++.h | 0 .../{ => amd64}/include/sw/redis++/redis.h | 0 .../{ => amd64}/include/sw/redis++/redis.hpp | 0 .../include/sw/redis++/redis_cluster.h | 0 .../include/sw/redis++/redis_cluster.hpp | 0 .../{ => amd64}/include/sw/redis++/reply.h | 0 .../{ => amd64}/include/sw/redis++/sentinel.h | 0 .../{ => amd64}/include/sw/redis++/shards.h | 0 .../include/sw/redis++/shards_pool.h | 0 .../include/sw/redis++/subscriber.h | 0 .../{ => amd64}/include/sw/redis++/tls.h | 0 .../include/sw/redis++/transaction.h | 0 .../{ => amd64}/include/sw/redis++/utils.h | 0 .../ubuntu22.04/{ => amd64}/lib/libredis++.a | Bin .../{ => amd64}/lib/pkgconfig/redis++.pc | 0 .../redis++/redis++-config-version.cmake | 0 .../share/cmake/redis++/redis++-config.cmake | 0 .../redis++/redis++-targets-release.cmake | 0 .../share/cmake/redis++/redis++-targets.cmake | 0 .../arm64/include/sw/redis++/cmd_formatter.h | 775 ++ .../arm64/include/sw/redis++/command.h | 2271 ++++++ .../arm64/include/sw/redis++/command_args.h | 180 + .../include/sw/redis++/command_options.h | 211 + .../arm64/include/sw/redis++/connection.h | 237 + .../include/sw/redis++/connection_pool.h | 182 + .../arm64/include/sw/redis++/cxx_utils.h | 46 + .../arm64/include/sw/redis++/errors.h | 166 + .../arm64/include/sw/redis++/pipeline.h | 49 + .../arm64/include/sw/redis++/queued_redis.h | 2013 +++++ .../arm64/include/sw/redis++/queued_redis.hpp | 275 + .../arm64/include/sw/redis++/redis++.h | 25 + .../arm64/include/sw/redis++/redis.h | 3631 +++++++++ .../arm64/include/sw/redis++/redis.hpp | 1342 ++++ .../arm64/include/sw/redis++/redis_cluster.h | 1439 ++++ .../include/sw/redis++/redis_cluster.hpp | 1403 ++++ .../arm64/include/sw/redis++/reply.h | 435 ++ .../arm64/include/sw/redis++/sentinel.h | 141 + .../arm64/include/sw/redis++/shards.h | 115 + .../arm64/include/sw/redis++/shards_pool.h | 121 + .../arm64/include/sw/redis++/subscriber.h | 231 + .../arm64/include/sw/redis++/tls.h | 47 + .../arm64/include/sw/redis++/transaction.h | 77 + .../arm64/include/sw/redis++/utils.h | 193 + .../ubuntu22.04/arm64/lib/libredis++.a | Bin 0 -> 1453850 bytes .../arm64/lib/pkgconfig/redis++.pc | 12 + .../redis++/redis++-config-version.cmake | 48 + .../share/cmake/redis++/redis++-config.cmake | 36 + .../redis++/redis++-targets-release.cmake | 19 + .../share/cmake/redis++/redis++-targets.cmake | 94 + include/ZeroTierOne.h | 7 +- java/src/com/zerotier/sdk/Event.java | 10 +- java/src/com/zerotier/sdk/Node.java | 10 +- java/src/com/zerotier/sdk/NodeException.java | 37 - java/src/com/zerotier/sdk/NodeStatus.java | 2 +- java/src/com/zerotier/sdk/PathChecker.java | 8 +- java/src/com/zerotier/sdk/Peer.java | 2 +- .../com/zerotier/sdk/PeerPhysicalPath.java | 2 +- java/src/com/zerotier/sdk/PeerRole.java | 2 +- .../zerotier/sdk/VirtualNetworkConfig.java | 118 +- .../sdk/VirtualNetworkConfigListener.java | 4 +- .../sdk/VirtualNetworkConfigOperation.java | 2 +- .../com/zerotier/sdk/VirtualNetworkDNS.java | 3 +- .../com/zerotier/sdk/VirtualNetworkRoute.java | 3 +- .../zerotier/sdk/VirtualNetworkStatus.java | 2 +- .../com/zerotier/sdk/VirtualNetworkType.java | 2 +- make-bsd.mk | 2 +- make-linux.mk | 52 +- make-mac.mk | 14 +- node/AES.cpp | 21 +- node/AES.hpp | 9 +- node/AES_aesni.cpp | 18 +- node/AES_armcrypto.cpp | 21 +- node/Address.hpp | 3 +- node/Bond.cpp | 120 +- node/Bond.hpp | 38 +- node/Buffer.hpp | 72 +- node/C25519.cpp | 221 +- node/Capability.cpp | 14 +- node/Capability.hpp | 56 +- node/CertificateOfMembership.cpp | 24 +- node/CertificateOfMembership.hpp | 33 +- node/CertificateOfOwnership.cpp | 9 +- node/CertificateOfOwnership.hpp | 52 +- node/Constants.hpp | 3 +- node/Dictionary.hpp | 81 +- node/Hashtable.hpp | 33 +- node/Identity.cpp | 6 +- node/Identity.hpp | 28 +- node/IncomingPacket.cpp | 302 +- node/InetAddress.cpp | 184 +- node/InetAddress.hpp | 92 +- node/MAC.hpp | 18 +- node/Membership.cpp | 19 +- node/Membership.hpp | 15 +- node/Metrics.cpp | 272 + node/Metrics.hpp | 166 + node/MulticastGroup.hpp | 5 +- node/Multicaster.cpp | 69 +- node/Network.cpp | 224 +- node/Network.hpp | 23 +- node/NetworkConfig.cpp | 246 +- node/NetworkConfig.hpp | 36 +- node/Node.cpp | 209 +- node/Node.hpp | 12 +- node/OutboundMulticast.cpp | 15 +- node/Packet.cpp | 304 +- node/Packet.hpp | 21 +- node/Path.hpp | 32 +- node/Peer.cpp | 222 +- node/Peer.hpp | 156 +- node/Poly1305.cpp | 18 +- node/Revocation.cpp | 3 +- node/Revocation.hpp | 36 +- node/RingBuffer.hpp | 6 +- node/SHA512.cpp | 12 +- node/Salsa20.cpp | 18 +- node/SelfAwareness.cpp | 9 +- node/SharedPtr.hpp | 15 +- node/Switch.cpp | 263 +- node/Switch.hpp | 4 +- node/Tag.cpp | 3 +- node/Tag.hpp | 35 +- node/Topology.cpp | 89 +- node/Topology.hpp | 40 +- node/Trace.cpp | 194 +- node/Utils.cpp | 14 +- node/Utils.hpp | 82 +- node/World.hpp | 53 +- objects.mk | 1 + one.cpp | 32 +- osdep/BSDEthernetTap.cpp | 12 +- osdep/BSDEthernetTap.hpp | 2 + osdep/Binder.hpp | 6 +- osdep/BlockingQueue.hpp | 4 + osdep/EthernetTap.hpp | 2 + osdep/LinuxEthernetTap.cpp | 14 +- osdep/LinuxEthernetTap.hpp | 5 + osdep/LinuxNetLink.cpp | 2 +- osdep/MacDNSHelper.hpp | 6 +- osdep/MacDNSHelper.mm | 182 +- osdep/MacEthernetTap.cpp | 17 +- osdep/MacEthernetTap.hpp | 3 + osdep/ManagedRoute.cpp | 157 +- osdep/OSUtils.cpp | 13 + osdep/OSUtils.hpp | 16 + osdep/Phy.hpp | 85 +- osdep/PortMapper.cpp | 29 +- osdep/WindowsEthernetTap.cpp | 18 +- osdep/WindowsEthernetTap.hpp | 3 + pkg/synology/dsm7-docker/build.sh | 11 +- service/OneService.cpp | 1402 ++-- tcp-proxy/Makefile | 4 +- tcp-proxy/tcp-proxy.cpp | 2 + version.h | 4 +- windows/TapDriver6/tap.h | 9 +- windows/TapDriver6/zttap300.inf | 7 +- windows/ZeroTierOne/ZeroTierOne.vcxproj | 28 +- .../ZeroTierOne/ZeroTierOne.vcxproj.filters | 6 + zeroidc/Cargo.lock | 677 +- zeroidc/Cargo.toml | 2 +- zeroidc/src/ext.rs | 2 +- zeroidc/src/lib.rs | 3 +- zerotier-one.spec | 21 +- 536 files changed, 48293 insertions(+), 6671 deletions(-) create mode 100755 .github/workflows/validate-linux.sh create mode 100755 .github/workflows/validate-report.sh create mode 100644 .github/workflows/validate.yml create mode 100644 .kick create mode 100644 ci/Dockerfile-build.deb rename ci/{Dockerfile.el6 => Dockerfile-build.el6} (84%) create mode 100644 ci/Dockerfile-build.rpm create mode 100644 ci/Dockerfile-test.deb create mode 100644 ci/Dockerfile-test.el6 create mode 100644 ci/Dockerfile-test.rpm delete mode 100644 ci/Dockerfile.deb delete mode 100644 ci/Dockerfile.none delete mode 100644 ci/Dockerfile.rpm create mode 100755 ci/scripts/lib.sh create mode 100755 ci/scripts/publish.sh create mode 100755 ci/scripts/test.sh delete mode 100644 ext/bin/tap-mac/tap.kext/Contents/Info.plist delete mode 100755 ext/bin/tap-mac/tap.kext/Contents/MacOS/tap delete mode 100644 ext/bin/tap-mac/tap.kext/Contents/_CodeSignature/CodeResources create mode 100644 ext/bin/tap-windows-ndis6/arm64/zttap300.cat rename ext/bin/tap-windows-ndis6/{x64.old => arm64}/zttap300.inf (91%) create mode 100644 ext/bin/tap-windows-ndis6/arm64/zttap300.sys delete mode 100644 ext/bin/tap-windows-ndis6/certutil.exe delete mode 100644 ext/bin/tap-windows-ndis6/x64.old/ZeroTierOne_NDIS6_x64.msi delete mode 100644 ext/bin/tap-windows-ndis6/x64.old/zttap300.cat delete mode 100644 ext/bin/tap-windows-ndis6/x64.old/zttap300.sys delete mode 100644 ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi delete mode 100644 ext/bin/tap-windows-ndis6/x86.old/ZeroTierOne_NDIS6_x86.msi delete mode 100644 ext/bin/tap-windows-ndis6/x86.old/zttap300.cat delete mode 100644 ext/bin/tap-windows-ndis6/x86.old/zttap300.inf delete mode 100644 ext/bin/tap-windows-ndis6/x86.old/zttap300.sys delete mode 100644 ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi delete mode 100644 ext/bin/tap-windows-ndis6/zttap300.cer create mode 100644 ext/central-controller-docker/Makefile rename ext/hiredis-1.0.2/lib/ubuntu22.04/{ => amd64}/libhiredis.a (100%) create mode 100644 ext/hiredis-1.0.2/lib/ubuntu22.04/arm64/libhiredis.a create mode 100644 ext/installfiles/windows/ZeroTier One.back.aip rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/array (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/array.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/binarystring (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/binarystring.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/blob (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/blob.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/composite (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/composite.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/config-public-compiler.h (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/connection (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/connection.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/cursor (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/cursor.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/dbtransaction (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/dbtransaction.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/errorhandler (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/errorhandler.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/except (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/except.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/field (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/field.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/array-composite.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/callgate.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/concat.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/conversions.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/encoding_group.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/encodings.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-errorhandler.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-largeobject.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-notification_receiver.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-pipeline.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-sql_cursor.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-stream_from.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-stream_to.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/connection-transaction.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/errorhandler-connection.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/result-connection.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/result-creation.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/result-pipeline.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/result-sql_cursor.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/transaction-sql_cursor.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/gates/transaction-transaction_focus.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/header-post.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/header-pre.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/ignore-deprecated-post.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/ignore-deprecated-pre.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/libpq-forward.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/result_iter.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/result_iterator.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/sql_cursor.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/statement_parameters.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/stream_iterator.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/internal/wait.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/isolation (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/isolation.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/largeobject (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/largeobject.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/nontransaction (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/nontransaction.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/notification (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/notification.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/params (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/params.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/pipeline (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/pipeline.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/pqxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/prepared_statement (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/prepared_statement.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/range (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/range.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/result (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/result.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/robusttransaction (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/robusttransaction.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/row (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/row.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/separated_list (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/separated_list.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/strconv (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/strconv.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/stream_from (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/stream_from.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/stream_to (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/stream_to.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/subtransaction (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/subtransaction.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/time (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/time.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transaction (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transaction.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transaction_base (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transaction_base.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transaction_focus (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transaction_focus.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transactor (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/transactor.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/types (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/types.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/util (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/util.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/version (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/version.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/zview (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/include/pqxx/zview.hxx (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/lib/cmake/libpqxx/libpqxx-config-version.cmake (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/lib/cmake/libpqxx/libpqxx-config.cmake (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/lib/cmake/libpqxx/libpqxx-targets.cmake (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/lib/libpqxx-7.7.a (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/lib/libpqxx.a (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/accessing-results.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/binary-data.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/datatypes.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/escaping.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/getting-started.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/mainpage.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/parameters.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/performance.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/prepared-statement.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/streams.md (100%) rename ext/libpqxx-7.7.3/install/ubuntu22.04/{ => amd64}/share/doc/libpqxx/thread-safety.md (100%) create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/config-public-compiler.h create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/array-composite.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/callgate.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/concat.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/conversions.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encoding_group.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encodings.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-errorhandler.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-largeobject.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-notification_receiver.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-pipeline.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-sql_cursor.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_from.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_to.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-transaction.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/errorhandler-connection.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-connection.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-creation.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-pipeline.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-sql_cursor.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-sql_cursor.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-transaction_focus.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-post.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-pre.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-post.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-pre.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/libpq-forward.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iter.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iterator.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/sql_cursor.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/statement_parameters.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/stream_iterator.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/wait.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pqxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview.hxx create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config-version.cmake create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config.cmake create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets.cmake create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx-7.7.a create mode 120000 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx.a create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/accessing-results.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/binary-data.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/datatypes.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/escaping.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/getting-started.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/mainpage.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/parameters.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/performance.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/prepared-statement.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/streams.md create mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/thread-safety.md delete mode 100644 ext/libpqxx-7.7.3/install/ubuntu22.04/lib/pkgconfig/libpqxx.pc create mode 100644 ext/prometheus-cpp-lite-1.0/.gitignore create mode 100644 ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/CMakeLists.txt create mode 100644 ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/LICENSE create mode 100644 ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/README.md create mode 100644 ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/CMakeLists.txt create mode 100644 ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/simple_request.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/include/jdl/httpclientlite.h create mode 100644 ext/prometheus-cpp-lite-1.0/CMakeLists.txt create mode 100644 ext/prometheus-cpp-lite-1.0/LICENSE create mode 100644 ext/prometheus-cpp-lite-1.0/README.md create mode 100644 ext/prometheus-cpp-lite-1.0/core/CMakeLists.txt create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/atomic_floating.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/benchmark.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/builder.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/ckms_quantiles.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/client_metric.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/collectable.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/counter.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/family.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/gateway.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/gauge.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/hash.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/histogram.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/metric.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/metric_family.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/push_to_server.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/registry.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/save_to_file.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/summary.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/text_serializer.h create mode 100644 ext/prometheus-cpp-lite-1.0/core/include/prometheus/time_window_quantiles.h create mode 100644 ext/prometheus-cpp-lite-1.0/examples/CMakeLists.txt create mode 100644 ext/prometheus-cpp-lite-1.0/examples/gateway_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/modern_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/original_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/push_to_server_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/save_to_file_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/simpleapi_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/simpleapi_use_in_class_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/use_benchmark_in_class_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/use_counters_in_class_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/examples/use_gauge_in_class_example.cpp create mode 100644 ext/prometheus-cpp-lite-1.0/simpleapi/CMakeLists.txt create mode 100644 ext/prometheus-cpp-lite-1.0/simpleapi/include/prometheus/simpleapi.h create mode 100644 ext/prometheus-cpp-lite-1.0/simpleapi/src/simpleapi.cpp rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/cmd_formatter.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/command.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/command_args.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/command_options.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/connection.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/connection_pool.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/cxx_utils.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/errors.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/pipeline.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/queued_redis.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/queued_redis.hpp (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/redis++.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/redis.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/redis.hpp (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/redis_cluster.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/redis_cluster.hpp (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/reply.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/sentinel.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/shards.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/shards_pool.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/subscriber.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/tls.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/transaction.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/include/sw/redis++/utils.h (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/lib/libredis++.a (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/lib/pkgconfig/redis++.pc (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/share/cmake/redis++/redis++-config-version.cmake (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/share/cmake/redis++/redis++-config.cmake (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/share/cmake/redis++/redis++-targets-release.cmake (100%) rename ext/redis-plus-plus-1.3.3/install/ubuntu22.04/{ => amd64}/share/cmake/redis++/redis++-targets.cmake (100%) create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cmd_formatter.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_args.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_options.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection_pool.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cxx_utils.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/errors.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/pipeline.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.hpp create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis++.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.hpp create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.hpp create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/reply.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/sentinel.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards_pool.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/subscriber.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/tls.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/transaction.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/utils.h create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/libredis++.a create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/pkgconfig/redis++.pc create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config-version.cmake create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config.cmake create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets-release.cmake create mode 100644 ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets.cmake delete mode 100644 java/src/com/zerotier/sdk/NodeException.java create mode 100644 node/Metrics.cpp create mode 100644 node/Metrics.hpp diff --git a/.drone.jsonnet b/.drone.jsonnet index eae15501b..7daef37fe 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -1,40 +1,256 @@ +// +// tweakables +// + local registry = "084037375216.dkr.ecr.us-east-2.amazonaws.com"; +local build_channel = "zerotier-builds"; +local release_channel = "zerotier-releases"; local targets = [ - { "os": "linux", "name": "sid", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x", "riscv64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "redhat", "name": "el9", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag", "custom" ] }, + { "os": "linux", distro: "redhat", "name": "el8", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] }, + { "os": "linux", distro: "redhat", "name": "el7", "isas": [ "386", "amd64", "ppc64le"], "events": [ "tag" ] }, + { "os": "linux", distro: "amazon", "name": "amzn2", "isas": [ "amd64", "arm64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "amazon", "name": "amzn2022", "isas": [ "amd64", "arm64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "fedora", "name": "fc38", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] }, + { "os": "linux", distro: "fedora", "name": "fc37", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] }, + { "os": "linux", distro: "fedora", "name": "fc36", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] }, + { "os": "linux", distro: "ubuntu", "name": "jammy", "isas": [ "armv7", "amd64", "arm64", "ppc64le", "s390x", "riscv64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "ubuntu", "name": "focal", "isas": [ "armv7", "amd64", "arm64", "ppc64le", "s390x", "riscv64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "ubuntu", "name": "bionic", "isas": [ "386", "armv7", "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] }, + { "os": "linux", distro: "ubuntu", "name": "xenial", "isas": [ "386", "armv7", "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] }, + { "os": "linux", distro: "ubuntu", "name": "trusty", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "debian", "name": "bookworm", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x" ], "events": [ "tag"] }, + { "os": "linux", distro: "debian", "name": "bullseye", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "buster", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "debian", "name": "stretch", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "tag" ] }, + { "os": "linux", distro: "debian", "name": "jessie", "isas": [ "386", "armv7", "amd64" ], "events": [ "tag" ] }, + +// { "os": "windows", distro: "windows", "name": "windows", "isas": [ "amd64" ], "events": [ "push", "tag", "custom" ] }, +// { "os": "darwin", distro: "darwin", "name": "darwin", "isas": [ "amd64" ], "events": [ "push", "tag", "custom" ] }, + ]; -local Build(platform, os, isa, events) = { +local less_targets = [ + { "os": "linux", distro: "redhat", "name": "el9", "isas": [ "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "redhat", "name": "el8", "isas": [ "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "jammy", "isas": [ "armv7", "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "focal", "isas": [ "armv7", "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, +]; + + +local native_targets = [ + { "os": "linux", distro: "debian", "name": "bullseye", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, +]; + +local master_targets = [ + // + // copypasta from here + // + { "os": "linux", distro: "redhat", "name": "el9", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "redhat", "name": "el8", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "redhat", "name": "el7", "isas": [ "386", "amd64", "ppc64le"], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "amazon", "name": "amzn2", "isas": [ "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "amazon", "name": "amzn2022", "isas": [ "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "fedora", "name": "fc38", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "fedora", "name": "fc37", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "fedora", "name": "fc36", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "jammy", "isas": [ "armv7", "amd64", "arm64", "ppc64le", "s390x", "riscv64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "focal", "isas": [ "armv7", "amd64", "arm64", "ppc64le", "s390x", "riscv64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "bionic", "isas": [ "386", "armv7", "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "xenial", "isas": [ "386", "armv7", "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "ubuntu", "name": "trusty", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "sid", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x", "riscv64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "bookworm", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "bullseye", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "buster", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "stretch", "isas": [ "386", "armv7", "amd64", "arm64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "linux", distro: "debian", "name": "jessie", "isas": [ "386", "armv7", "amd64" ], "events": [ "push", "tag", "custom" ] }, + { "os": "windows", distro: "windows", "name": "win2k22", "isas": [ "amd64" ], "events": [ "push", "tag", "custom" ] } +]; + +// +// functions +// + +local pipeline_type(os) = if os == "darwin" then "exec" else "docker"; +local builder_image(os) = if os == "linux" then registry + "/honda-builder" else registry + "/windows-builder"; +local tester_image(os) = if os == "linux" then registry + "/honda-builder" else registry + "/windows-tester"; +local build_step_volumes(os) = if os == "linux" then [ { name: "zerotier-builds", path: "/zerotier-builds" } ] else []; +local release_step_volumes(os) = if os == "linux" then [ { name: "zerotier-releases", path: "/zerotier-releases" } ] else []; +local host_volumes(os) = if os == "linux" then [ + { name: "zerotier-builds", host: { path: "/zerotier-builds" } }, + { name: "zerotier-releases", host: { path: "/zerotier-releases" } }, +] else []; + +local index_image(distro) = + if distro == "debian" || distro == "ubuntu" then + registry + "/apt-builder" + else if distro == "redhat" || distro == "fedora" || distro == "amazon" then + registry + "/dnf-builder" + else if distro == "windows" then + registry + "/msi-builder" +; + +local copy_commands(os, distro, name, isa, version) = + if os == "linux" then [ + std.join(" ", [ "./ci/scripts/publish.sh", name, distro, isa, version, "${DRONE_BUILD_EVENT}" ]) + ] + else if os == "windows" then [ + "C:\\scripts\\fix-ec2-metadata.ps1", + "Get-ChildItem windows", + // "aws s3 cp windows\\bytey-SetupFiles\\bytey.msi s3://zerotier-builds/windows/" + version + "/bytey.msi", + ] else if os == "darwin" then [ + "echo hello" + ] +; + +local index_commands(os, channel, distro, name, isas) = + if os == "linux" then + [ "/usr/local/bin/index " + channel + " " + distro + " " + name + " " + std.join(" ", isas) ] + else if os == "windows" then + [ "Get-ChildItem -Recurse windows" ] +; + +local build_commands(os, distro, name, isa, version) = + if os == "linux" then + [ std.join(" ", [ "./ci/scripts/build.sh", name, distro, isa, version, "${DRONE_BUILD_EVENT}" ]) ] + else + if os == "windows" then + [ "windows/build.ps1", "windows/package.ps1" ] + else + if os == "darwin" then + [ "whoami" ] +; + +local test_commands(os, distro, name, isa, version) = + if os == "linux" then + [ std.join(" ", [ "./ci/scripts/test.sh", name, distro, isa, version, "${DRONE_BUILD_EVENT}" ]) ] + else + if os == "windows" then + [ "windows/testpackage.ps1 " + version ] +; + +// +// render +// + +local Build(os, distro, name, isa, events) = { "kind": "pipeline", - "type": "docker", + "type": pipeline_type(os), + "name": std.join(" ", [ name, isa, "build" ]), "pull": "always", - "name": platform + " " + isa + " " + "build", - "clone": { "depth": 1 }, + "clone": { "depth": 1, [ if os == "darwin" then "disable" ]: true }, "steps": [ { "name": "build", - "image": registry + "/honda-builder", - "commands": [ - "aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin " + registry, - "./ci/scripts/build.sh " + platform + " " + isa + " " + "100.0.0+${DRONE_COMMIT_SHA:0:8}" + " " + "${DRONE_BUILD_EVENT}" - ] + "image": builder_image(os), + "commands": build_commands(os, distro, name, isa, "100.0.0+${DRONE_COMMIT_SHA:0:8}"), + "when": { "event": [ "push" ]}, }, - // { - // "name": "list", - // "image": registry + "/honda-builder", - // "commands": [ "ls -la " + platform ] - // }, - ], - [ if isa == "arm64" || isa == "armv7" then "platform" ]: { os: os, arch: "arm64" }, + { + "name": "release", + "image": builder_image(os), + "commands": build_commands(os, distro, name, isa, "${DRONE_TAG}"), + "when": { "event": [ "tag" ]}, + }, + { + "name": "copy build", + "image": builder_image(os), + "commands": copy_commands(os, distro, name, isa, "100.0.0+${DRONE_COMMIT_SHA:0:8}"), + "volumes": build_step_volumes(os), + "when": { "event": [ "push" ]}, + }, + { + "name": "copy relase", + "image": builder_image(os), + "commands": copy_commands(os, distro, name, isa, "${DRONE_TAG}"), + "volumes": release_step_volumes(os), + "when": { "event": [ "tag" ]}, + }, + ], + "volumes": host_volumes(os), + "platform": { "os": os, [ if isa == "arm64" || isa == "armv7" then "arch" ]: "arm64" }, "trigger": { "event": events } }; -// puttin on the bits +local Test(os, distro, name, isa, events) = { + "kind": "pipeline", + "type": pipeline_type(os), + "name": std.join(" ", [ name, isa, "test"]), + "pull": "always", + "clone": { "depth": 1 }, + "steps": [ + { + "name": "test build", + "image": tester_image(os), + "volumes": build_step_volumes(os), + "commands": test_commands(os, distro, name, isa, "100.0.0+${DRONE_COMMIT_SHA:0:8}"), + "when": { "event": [ "push" ]}, + }, + { + "name": "test release", + "image": tester_image(os), + "volumes": release_step_volumes(os), + "commands": test_commands(os, distro, name, isa, "${DRONE_TAG}"), + "when": { "event": [ "tag" ]}, + }, + ], + "volumes": host_volumes(os), + "platform": { "os": os, [ if isa == "arm64" || isa == "armv7" then "arch" ]: "arm64" }, + "depends_on": [ std.join(" ", [ name, "index" ]) ], + "trigger": { "event": events } +}; + +local Index(p) = { + "kind": "pipeline", + "type": pipeline_type(p.os), + "name": std.join(" ", [ p.name, "index" ]), + "pull": "always", + "clone": { "depth": 1 }, + "steps": [ + { + "name": "index build", + "image": index_image(p.distro), + "commands": index_commands(p.os, "zerotier-builds", p.distro, p.name, p.isas), + "volumes": build_step_volumes(p.os), + "environment":{ "GPG_PRIVATE_KEY": { from_secret: "gpg-private-key" }}, + "when": { "event": [ "push" ]}, + }, + { + "name": "index release", + "image": index_image(p.distro), + "commands": index_commands(p.os, "zerotier-releases", p.distro, p.name, p.isas), + "volumes": release_step_volumes(p.os), + "environment":{ "GPG_PRIVATE_KEY": { from_secret: "gpg-private-key" }}, + "when": { "event": [ "tag" ]}, + }, + ], + "volumes": host_volumes(p.os), + "platform": { "os": p.os }, + depends_on: std.flattenArrays([ [ std.join(" ", [ p.name, isa, "build" ]) ] for isa in p.isas ]), + "trigger": { "event": p.events } +}; + +// +// print +// std.flattenArrays([ - [ - Build(p.name, p.os, isa, p.events) - for isa in p.isas - ] - for p in targets -]) + [ + Build(p.os, p.distro, p.name, isa, p.events) + for isa in p.isas + ] + + [ + Index(p) + ] + for p in native_targets + ]) + + std.flattenArrays([ + [ + Test(p.os, p.distro, p.name, isa, p.events) + for isa in p.isas + ] + for p in native_targets + ]) + \ No newline at end of file diff --git a/.drone.yml b/.drone.yml index fc7643d45..b837b1b21 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,157 +2,464 @@ clone: depth: 1 kind: pipeline -name: sid 386 build +name: bullseye 386 build +platform: + os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/build.sh bullseye debian 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder name: build + when: + event: + - push +- commands: + - ./ci/scripts/build.sh bullseye debian 386 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: release + when: + event: + - tag +- commands: + - ./ci/scripts/publish.sh bullseye debian 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/publish.sh bullseye debian 386 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy relase + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 kind: pipeline -name: sid armv7 build +name: bullseye armv7 build platform: arch: arm64 os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/build.sh bullseye debian armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder name: build + when: + event: + - push +- commands: + - ./ci/scripts/build.sh bullseye debian armv7 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: release + when: + event: + - tag +- commands: + - ./ci/scripts/publish.sh bullseye debian armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} + ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/publish.sh bullseye debian armv7 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy relase + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 kind: pipeline -name: sid amd64 build +name: bullseye amd64 build +platform: + os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/build.sh bullseye debian amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder name: build + when: + event: + - push +- commands: + - ./ci/scripts/build.sh bullseye debian amd64 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: release + when: + event: + - tag +- commands: + - ./ci/scripts/publish.sh bullseye debian amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} + ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/publish.sh bullseye debian amd64 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy relase + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 kind: pipeline -name: sid arm64 build +name: bullseye arm64 build platform: arch: arm64 os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/build.sh bullseye debian arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder name: build + when: + event: + - push +- commands: + - ./ci/scripts/build.sh bullseye debian arm64 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: release + when: + event: + - tag +- commands: + - ./ci/scripts/publish.sh bullseye debian arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} + ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/publish.sh bullseye debian arm64 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: copy relase + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 +depends_on: +- bullseye 386 build +- bullseye armv7 build +- bullseye amd64 build +- bullseye arm64 build kind: pipeline -name: sid mips64le build +name: bullseye index +platform: + os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid mips64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} - image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder - name: build + - /usr/local/bin/index zerotier-builds debian bullseye 386 armv7 amd64 arm64 + environment: + GPG_PRIVATE_KEY: + from_secret: gpg-private-key + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/apt-builder + name: index build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - /usr/local/bin/index zerotier-releases debian bullseye 386 armv7 amd64 arm64 + environment: + GPG_PRIVATE_KEY: + from_secret: gpg-private-key + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/apt-builder + name: index release + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 +depends_on: +- bullseye index kind: pipeline -name: sid ppc64le build +name: bullseye 386 test +platform: + os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/test.sh bullseye debian 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder - name: build + name: test build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/test.sh bullseye debian 386 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: test release + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 +depends_on: +- bullseye index kind: pipeline -name: sid s390x build +name: bullseye armv7 test +platform: + arch: arm64 + os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/test.sh bullseye debian armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder - name: build + name: test build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/test.sh bullseye debian armv7 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: test release + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases --- clone: depth: 1 +depends_on: +- bullseye index kind: pipeline -name: sid riscv64 build +name: bullseye amd64 test +platform: + os: linux pull: always steps: - commands: - - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin - 084037375216.dkr.ecr.us-east-2.amazonaws.com - - ./ci/scripts/build.sh sid riscv64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + - ./ci/scripts/test.sh bullseye debian amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder - name: build + name: test build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/test.sh bullseye debian amd64 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: test release + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag trigger: event: - push - tag - custom type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases +--- +clone: + depth: 1 +depends_on: +- bullseye index +kind: pipeline +name: bullseye arm64 test +platform: + arch: arm64 + os: linux +pull: always +steps: +- commands: + - ./ci/scripts/test.sh bullseye debian arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: test build + volumes: + - name: zerotier-builds + path: /zerotier-builds + when: + event: + - push +- commands: + - ./ci/scripts/test.sh bullseye debian arm64 ${DRONE_TAG} ${DRONE_BUILD_EVENT} + image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder + name: test release + volumes: + - name: zerotier-releases + path: /zerotier-releases + when: + event: + - tag +trigger: + event: + - push + - tag + - custom +type: docker +volumes: +- host: + path: /zerotier-builds + name: zerotier-builds +- host: + path: /zerotier-releases + name: zerotier-releases +--- +kind: signature +hmac: 887a3ef78d3fe8f0149911e1e4876401dd7dd313b36eb893e791fa42f45d7768 + +... diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7af8e1bcb..b6d09a6a3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,22 +14,19 @@ jobs: uses: actions-rs/toolchain@v1 with: toolchain: stable - target: aarch64-apple-darwin + target: x86_64-unknown-linux-gnu override: true components: rustfmt, clippy - name: Set up cargo cache - uses: actions/cache@v3 + uses: Swatinem/rust-cache@v2 continue-on-error: false with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: ${{ runner.os }}-cargo- + key: ${{ runner.os }}-cargo-${{ hashFiles('zeroidc//Cargo.lock') }} + shared-key: ${{ runner.os }}-cargo- + workspaces: | + zeroidc/ + - name: make run: make - name: selftest @@ -54,17 +51,14 @@ jobs: override: true components: rustfmt, clippy - name: Set up cargo cache - uses: actions/cache@v3 + uses: Swatinem/rust-cache@v2 continue-on-error: false with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: ${{ runner.os }}-cargo- + key: ${{ runner.os }}-cargo-${{ hashFiles('zeroidc//Cargo.lock') }} + shared-key: ${{ runner.os }}-cargo- + workspaces: | + zeroidc/ + - name: make run: make - name: selftest @@ -89,19 +83,16 @@ jobs: override: true components: rustfmt, clippy - name: Set up cargo cache - uses: actions/cache@v3 + uses: Swatinem/rust-cache@v2 continue-on-error: false with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: ${{ runner.os }}-cargo- + key: ${{ runner.os }}-cargo-${{ hashFiles('zeroidc//Cargo.lock') }} + shared-key: ${{ runner.os }}-cargo- + workspaces: | + zeroidc/ + - name: setup msbuild uses: microsoft/setup-msbuild@v1.1.3 - name: msbuild run: | - msbuild windows\ZeroTierOne.sln /m /p:Configuration=Release /property:Platform=x64 /t:ZeroTierOne:Rebuild + msbuild windows\ZeroTierOne.sln /m /p:Configuration=Release /property:Platform=x64 /t:ZeroTierOne diff --git a/.github/workflows/validate-linux.sh b/.github/workflows/validate-linux.sh new file mode 100755 index 000000000..61670d670 --- /dev/null +++ b/.github/workflows/validate-linux.sh @@ -0,0 +1,461 @@ +#!/bin/bash + +# This test script joins Earth and pokes some stuff + +TEST_NETWORK=8056c2e21c000001 +RUN_LENGTH=30 +TEST_FINISHED=false +ZTO_VER=$(git describe --tags $(git rev-list --tags --max-count=1)) +ZTO_COMMIT=$(git rev-parse HEAD) +ZTO_COMMIT_SHORT=$(git rev-parse --short HEAD) +TEST_DIR_PREFIX="$ZTO_VER-$ZTO_COMMIT_SHORT-test-results" + +TEST_OK=0 +TEST_FAIL=1 + +echo "Performing test on: $ZTO_VER-$ZTO_COMMIT_SHORT" +TEST_FILEPATH_PREFIX="$TEST_DIR_PREFIX/$ZTO_COMMIT_SHORT" +mkdir $TEST_DIR_PREFIX + +# How long we will wait for ZT to come online before considering it a failure +MAX_WAIT_SECS=30 + +################################################################################ +# Multi-node connectivity and performance test # +################################################################################ + +test() { + + echo -e "\nPerforming pre-flight checks" + + check_exit_on_invalid_identity + + echo -e "\nRunning test for $RUN_LENGTH seconds" + + export NS1="ip netns exec ns1" + export NS2="ip netns exec ns2" + + export ZT1="$NS1 ./zerotier-cli -p9996 -D$(pwd)/node1" + # Specify custom port on one node to ensure that feature works + export ZT2="$NS2 ./zerotier-cli -p9997 -D$(pwd)/node2" + + echo -e "\nSetting up network namespaces..." + echo "Setting up ns1" + + ip netns add ns1 + $NS1 ip link set dev lo up + ip link add veth0 type veth peer name veth1 + ip link set veth1 netns ns1 + ip addr add 192.168.0.1/24 dev veth0 + ip link set dev veth0 up + + $NS1 ip addr add 192.168.0.2/24 dev veth1 + $NS1 ip link set dev veth1 up + + # Add default route + $NS1 ip route add default via 192.168.0.1 + + iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 \ + -o eth0 -j MASQUERADE + iptables -A FORWARD -i eth0 -o veth0 -j ACCEPT + iptables -A FORWARD -o eth0 -i veth0 -j ACCEPT + + echo "Setting up ns2" + ip netns add ns2 + $NS2 ip link set dev lo up + ip link add veth2 type veth peer name veth3 + ip link set veth3 netns ns2 + ip addr add 192.168.1.1/24 dev veth2 + ip link set dev veth2 up + + $NS2 ip addr add 192.168.1.2/24 dev veth3 + $NS2 ip link set dev veth3 up + $NS2 ip route add default via 192.168.1.1 + + iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 \ + -o eth0 -j MASQUERADE + iptables -A FORWARD -i eth0 -o veth2 -j ACCEPT + iptables -A FORWARD -o eth0 -i veth2 -j ACCEPT + + # Allow forwarding + sysctl -w net.ipv4.ip_forward=1 + + ################################################################################ + # Memory Leak Check # + ################################################################################ + + export FILENAME_MEMORY_LOG="$TEST_FILEPATH_PREFIX-memory.log" + + echo -e "\nStarting a ZeroTier instance in each namespace..." + + export time_test_start=$(date +%s) + + # Spam the CLI as ZeroTier is starting + spam_cli 100 + + echo "Starting memory leak check" + $NS1 sudo valgrind --demangle=yes --exit-on-first-error=yes \ + --error-exitcode=1 \ + --xml=yes \ + --xml-file=$FILENAME_MEMORY_LOG \ + --leak-check=full \ + ./zerotier-one node1 -p9996 -U >>node_1.log 2>&1 & + + # Second instance, not run in memory profiler + # Don't set up internet access until _after_ zerotier is running + # This has been a source of stuckness in the past. + $NS2 ip addr del 192.168.1.2/24 dev veth3 + $NS2 sudo ./zerotier-one node2 -U -p9997 >>node_2.log 2>&1 & + sleep 1; + $NS2 ip addr add 192.168.1.2/24 dev veth3 + $NS2 ip route add default via 192.168.1.1 + + echo -e "\nPing from host to namespaces" + + ping -c 3 192.168.0.1 + ping -c 3 192.168.1.1 + + echo -e "\nPing from namespace to host" + + $NS1 ping -c 3 192.168.0.1 + $NS1 ping -c 3 192.168.0.1 + $NS2 ping -c 3 192.168.0.2 + $NS2 ping -c 3 192.168.0.2 + + echo -e "\nPing from ns1 to ns2" + + $NS1 ping -c 3 192.168.0.1 + + echo -e "\nPing from ns2 to ns1" + + $NS2 ping -c 3 192.168.0.1 + + ################################################################################ + # Online Check # + ################################################################################ + + echo "Waiting for ZeroTier to come online before attempting test..." + node1_online=false + node2_online=false + both_instances_online=false + time_zt_node1_start=$(date +%s) + time_zt_node2_start=$(date +%s) + + for ((s = 0; s <= $MAX_WAIT_SECS; s++)); do + node1_online="$($ZT1 -j info | jq '.online' 2>/dev/null)" + node2_online="$($ZT2 -j info | jq '.online' 2>/dev/null)" + echo "Checking for online status: try #$s, node1:$node1_online, node2:$node2_online" + if [[ "$node2_online" == "true" && "$node1_online" == "true" ]]; then + export both_instances_online=true + export time_to_both_nodes_online=$(date +%s) + break + fi + sleep 1 + done + + echo -e "\n\nContents of ZeroTier home paths:" + + ls -lga node1 + tree node1 + ls -lga node2 + tree node2 + + echo -e "\n\nRunning ZeroTier processes:" + echo -e "\nNode 1:\n" + $NS1 ps aux | grep zerotier-one + echo -e "\nNode 2:\n" + $NS2 ps aux | grep zerotier-one + + echo -e "\n\nStatus of each instance:" + + echo -e "\n\nNode 1:\n" + $ZT1 status + echo -e "\n\nNode 2:\n" + $ZT2 status + + if [[ "$both_instances_online" != "true" ]]; then + exit_test_and_generate_report $TEST_FAIL "one or more nodes failed to come online" + fi + + echo -e "\nJoining networks" + + $ZT1 join $TEST_NETWORK + $ZT2 join $TEST_NETWORK + + sleep 10 + + node1_ip4=$($ZT1 get $TEST_NETWORK ip4) + node2_ip4=$($ZT2 get $TEST_NETWORK ip4) + + echo "node1_ip4=$node1_ip4" + echo "node2_ip4=$node2_ip4" + + echo -e "\nPinging each node" + + PING12_FILENAME="$TEST_FILEPATH_PREFIX-ping-1-to-2.txt" + PING21_FILENAME="$TEST_FILEPATH_PREFIX-ping-2-to-1.txt" + + $NS1 ping -c 16 $node2_ip4 >$PING12_FILENAME + $NS2 ping -c 16 $node1_ip4 >$PING21_FILENAME + + ping_loss_percent_1_to_2=$(cat $PING12_FILENAME | + grep "packet loss" | awk '{print $6}' | sed 's/%//') + ping_loss_percent_2_to_1=$(cat $PING21_FILENAME | + grep "packet loss" | awk '{print $6}' | sed 's/%//') + + # Normalize loss value + export ping_loss_percent_1_to_2=$(echo "scale=2; $ping_loss_percent_1_to_2/100.0" | bc) + export ping_loss_percent_2_to_1=$(echo "scale=2; $ping_loss_percent_2_to_1/100.0" | bc) + + ################################################################################ + # CLI Check # + ################################################################################ + + echo "Testing basic CLI functionality..." + + spam_cli 10 + + $ZT1 join $TEST_NETWORK + + $ZT1 -h + $ZT1 -v + $ZT1 status + $ZT1 info + $ZT1 listnetworks + $ZT1 peers + $ZT1 listpeers + + $ZT1 -j status + $ZT1 -j info + $ZT1 -j listnetworks + $ZT1 -j peers + $ZT1 -j listpeers + + $ZT1 dump + + $ZT1 get $TEST_NETWORK allowDNS + $ZT1 get $TEST_NETWORK allowDefault + $ZT1 get $TEST_NETWORK allowGlobal + $ZT1 get $TEST_NETWORK allowManaged + $ZT1 get $TEST_NETWORK bridge + $ZT1 get $TEST_NETWORK broadcastEnabled + $ZT1 get $TEST_NETWORK dhcp + $ZT1 get $TEST_NETWORK id + $ZT1 get $TEST_NETWORK mac + $ZT1 get $TEST_NETWORK mtu + $ZT1 get $TEST_NETWORK name + $ZT1 get $TEST_NETWORK netconfRevision + $ZT1 get $TEST_NETWORK nwid + $ZT1 get $TEST_NETWORK portDeviceName + $ZT1 get $TEST_NETWORK portError + $ZT1 get $TEST_NETWORK status + $ZT1 get $TEST_NETWORK type + + # Test an invalid command + $ZT1 get $TEST_NETWORK derpderp + + # TODO: Validate JSON + + # Performance Test + + export FILENAME_PERF_JSON="$TEST_FILEPATH_PREFIX-iperf.json" + + echo -e "\nBeginning performance test:" + + echo -e "\nStarting server:" + + echo "$NS1 iperf3 -s &" + sleep 1 + + echo -e "\nStarting client:" + sleep 1 + + echo "$NS2 iperf3 --json -c $node1_ip4 > $FILENAME_PERF_JSON" + + cat $FILENAME_PERF_JSON + + # Let ZeroTier idle long enough for various timers + + echo -e "\nIdling ZeroTier for $RUN_LENGTH seconds..." + sleep $RUN_LENGTH + + echo -e "\nLeaving networks" + + $ZT1 leave $TEST_NETWORK + $ZT2 leave $TEST_NETWORK + + sleep 5 + + exit_test_and_generate_report $TEST_OK "completed test" +} + +################################################################################ +# Generate report # +################################################################################ + +exit_test_and_generate_report() { + + echo -e "\nStopping memory check..." + sudo pkill -15 -f valgrind + sleep 10 + + time_test_end=$(date +%s) + + echo "Exiting test with reason: $2 ($1)" + + # Collect ZeroTier dump files + + echo -e "\nCollecting ZeroTier dump files" + + node1_id=$($ZT1 -j status | jq -r .address) + node2_id=$($ZT2 -j status | jq -r .address) + + $ZT1 dump + mv zerotier_dump.txt "$TEST_FILEPATH_PREFIX-node-dump-$node1_id.txt" + + $ZT2 dump + mv zerotier_dump.txt "$TEST_FILEPATH_PREFIX-node-dump-$node2_id.txt" + + # Copy ZeroTier stdout/stderr logs + + cp node_1.log "$TEST_FILEPATH_PREFIX-node-log-$node1_id.txt" + cp node_2.log "$TEST_FILEPATH_PREFIX-node-log-$node2_id.txt" + + # Generate report + + cat $FILENAME_MEMORY_LOG + + DEFINITELY_LOST=$(xmlstarlet sel -t -v '/valgrindoutput/error/xwhat' \ + $FILENAME_MEMORY_LOG | grep "definitely" | awk '{print $1;}') + POSSIBLY_LOST=$(xmlstarlet sel -t -v '/valgrindoutput/error/xwhat' \ + $FILENAME_MEMORY_LOG | grep "possibly" | awk '{print $1;}') + + # Generate coverage report artifact and summary + + FILENAME_COVERAGE_JSON="$TEST_FILEPATH_PREFIX-coverage.json" + FILENAME_COVERAGE_HTML="$TEST_FILEPATH_PREFIX-coverage.html" + + echo -e "\nGenerating coverage test report..." + + gcovr -r . --exclude ext --json-summary $FILENAME_COVERAGE_JSON \ + --html >$FILENAME_COVERAGE_HTML + + cat $FILENAME_COVERAGE_JSON + + COVERAGE_LINE_COVERED=$(cat $FILENAME_COVERAGE_JSON | jq .line_covered) + COVERAGE_LINE_TOTAL=$(cat $FILENAME_COVERAGE_JSON | jq .line_total) + COVERAGE_LINE_PERCENT=$(cat $FILENAME_COVERAGE_JSON | jq .line_percent) + + COVERAGE_LINE_COVERED="${COVERAGE_LINE_COVERED:-0}" + COVERAGE_LINE_TOTAL="${COVERAGE_LINE_TOTAL:-0}" + COVERAGE_LINE_PERCENT="${COVERAGE_LINE_PERCENT:-0}" + + # Default values + + DEFINITELY_LOST="${DEFINITELY_LOST:-0}" + POSSIBLY_LOST="${POSSIBLY_LOST:-0}" + ping_loss_percent_1_to_2="${ping_loss_percent_1_to_2:-100.0}" + ping_loss_percent_2_to_1="${ping_loss_percent_2_to_1:-100.0}" + time_to_both_nodes_online="${time_to_both_nodes_online:--1}" + + # Summarize and emit json for trend reporting + + FILENAME_SUMMARY="$TEST_FILEPATH_PREFIX-summary.json" + + time_length_test=$((time_test_end - time_test_start)) + if [[ $time_to_both_nodes_online != -1 ]]; + then + time_to_both_nodes_online=$((time_to_both_nodes_online - time_test_start)) + fi + #time_length_zt_join=$((time_zt_join_end-time_zt_join_start)) + #time_length_zt_leave=$((time_zt_leave_end-time_zt_leave_start)) + #time_length_zt_can_still_ping=$((time_zt_can_still_ping-time_zt_leave_start)) + + summary=$( + cat <$FILENAME_SUMMARY + cat $FILENAME_SUMMARY + + exit 0 +} + +################################################################################ +# CLI Check # +################################################################################ + +spam_cli() { + echo "Spamming CLI..." + # Rapidly spam the CLI with joins/leaves + + MAX_TRIES="${1:-10}" + + for ((s = 0; s <= MAX_TRIES; s++)); do + $ZT1 status + $ZT2 status + sleep 0.1 + done + + SPAM_TRIES=128 + + for ((s = 0; s <= SPAM_TRIES; s++)); do + $ZT1 join $TEST_NETWORK + done + + for ((s = 0; s <= SPAM_TRIES; s++)); do + $ZT1 leave $TEST_NETWORK + done + + for ((s = 0; s <= SPAM_TRIES; s++)); do + $ZT1 leave $TEST_NETWORK + $ZT1 join $TEST_NETWORK + done +} + +################################################################################ +# Check for proper exit on load of invalid identity # +################################################################################ + +check_exit_on_invalid_identity() { + echo "Checking ZeroTier exits on invalid identity..." + mkdir -p $(pwd)/exit_test + ZT1="sudo ./zerotier-one -p9999 $(pwd)/exit_test" + echo "asdfasdfasdfasdf" > $(pwd)/exit_test/identity.secret + echo "asdfasdfasdfasdf" > $(pwd)/exit_test/authtoken.secret + + echo "Launch ZeroTier with an invalid identity" + $ZT1 & + my_pid=$! + + echo "Waiting 5 seconds" + sleep 5 + + # check if process is running + kill -0 $my_pid + if [ $? -eq 0 ]; then + exit_test_and_generate_report $TEST_FAIL "Exit test FAILED: Process still running after being fed an invalid identity" + fi +} + +test "$@" diff --git a/.github/workflows/validate-report.sh b/.github/workflows/validate-report.sh new file mode 100755 index 000000000..3ae4e1a16 --- /dev/null +++ b/.github/workflows/validate-report.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +################################################################################ +# Set exit code depending on tool reports # +################################################################################ + +DEFINITELY_LOST=$(cat *test-results/*summary.json | jq .num_definite_bytes_lost) +EXIT_CODE=$(cat *test-results/*summary.json | jq .exit_code) +EXIT_REASON=$(cat *test-results/*summary.json | jq .exit_reason) + +cat *test-results/*summary.json + +echo -e "\nBytes of memory definitely lost: $DEFINITELY_LOST" + +if [[ "$DEFINITELY_LOST" -gt 0 ]]; then + exit 1 +fi + +# Catch-all for other non-zero exit codes + +if [[ "$EXIT_CODE" -gt 0 ]]; then + echo "Test failed: $EXIT_REASON" + exit 1 +fi \ No newline at end of file diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 000000000..bb362fb8c --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,56 @@ +on: + push: + workflow_dispatch: + +jobs: + build_ubuntu: + runs-on: ubuntu-latest + steps: + - name: gitconfig + run: | + git config --global core.autocrlf input + + - name: checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: x86_64-unknown-linux-gnu + override: true + components: rustfmt, clippy + + - name: Set up cargo cache + uses: Swatinem/rust-cache@v2 + continue-on-error: false + with: + key: ${{ runner.os }}-cargo-${{ hashFiles('zeroidc//Cargo.lock') }} + shared-key: ${{ runner.os }}-cargo- + workspaces: | + zeroidc/ + + - name: validate-1m-linux + env: + CC: 'gcc' + CXX: 'g++' + BRANCH: ${{ github.ref_name }} + run: | + sudo apt install -y valgrind xmlstarlet gcovr iperf3 tree + make one ZT_COVERAGE=1 ZT_TRACE=1 + sudo chmod +x ./.github/workflows/validate-linux.sh + sudo ./.github/workflows/validate-linux.sh + + - name: Archive test results + uses: actions/upload-artifact@v3 + with: + name: ${{github.sha}}-test-results + path: "*test-results*" + + - name: final-report + run: | + sudo chmod +x ./.github/workflows/validate-report.sh + sudo ./.github/workflows/validate-report.sh + diff --git a/.kick b/.kick new file mode 100644 index 000000000..28b8ee7f3 --- /dev/null +++ b/.kick @@ -0,0 +1,14 @@ +kick +kick +kick +kick +kick +kick +kick +kick +kick +kick +kick +kick +kick +kick diff --git a/Makefile b/Makefile index 0440f89a8..1bedf304a 100644 --- a/Makefile +++ b/Makefile @@ -30,3 +30,4 @@ endif drone: @echo "rendering .drone.yaml from .drone.jsonnet" drone jsonnet --format --stream + drone sign zerotier/ZeroTierOne --save diff --git a/README.md b/README.md index 905ec8ba6..327ca8f71 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,6 @@ The base path contains the ZeroTier One service main entry point (`one.cpp`), se - `ext/`: third party libraries, binaries that we ship for convenience on some platforms (Mac and Windows), and installation support files. - `include/`: include files for the ZeroTier core. - `java/`: a JNI wrapper used with our Android mobile app. (The whole Android app is not open source but may be made so in the future.) - - `macui/`: a Macintosh menu-bar app for controlling ZeroTier One, written in Objective C. - `node/`: the ZeroTier virtual Ethernet switch core, which is designed to be entirely separate from the rest of the code and able to be built as a stand-alone OS-independent library. Note to developers: do not use C++11 features in here, since we want this to build on old embedded platforms that lack C++11 support. C++11 can be used elsewhere. - `osdep/`: code to support and integrate with OSes, including platform-specific stuff only built for certain targets. - `rule-compiler/`: JavaScript rules language compiler for defining network-level rules. @@ -61,6 +60,7 @@ To build on Mac and Linux just type `make`. On FreeBSD and OpenBSD `gmake` (GNU - Rust for x86_64 and ARM64 targets *if SSO is enabled in the build*. - **FreeBSD** - GNU make is required. Type `gmake` to build. + - `binutils` is required. Type `pkg install binutils` to install. - Rust for x86_64 and ARM64 targets *if SSO is enabled in the build*. - **OpenBSD** - There is a limit of four network memberships on OpenBSD as there are only four tap devices (`/dev/tap0` through `/dev/tap3`). @@ -104,8 +104,68 @@ On CentOS check `/etc/sysconfig/iptables` for IPTables rules. For other distribu ZeroTier One peers will automatically locate each other and communicate directly over a local wired LAN *if UDP port 9993 inbound is open*. If that port is filtered, they won't be able to see each others' LAN announcement packets. If you're experiencing poor performance between devices on the same physical network, check their firewall settings. Without LAN auto-location peers must attempt "loopback" NAT traversal, which sometimes fails and in any case requires that every packet traverse your external router twice. -Users behind certain types of firewalls and "symmetric" NAT devices may not able able to connect to external peers directly at all. ZeroTier has limited support for port prediction and will *attempt* to traverse symmetric NATs, but this doesn't always work. If P2P connectivity fails you'll be bouncing UDP packets off our relay servers resulting in slower performance. Some NAT router(s) have a configurable NAT mode, and setting this to "full cone" will eliminate this problem. If you do this you may also see a magical improvement for things like VoIP phones, Skype, BitTorrent, WebRTC, certain games, etc., since all of these use NAT traversal techniques similar to ours. +Users behind certain types of firewalls and "symmetric" NAT devices may not be able to connect to external peers directly at all. ZeroTier has limited support for port prediction and will *attempt* to traverse symmetric NATs, but this doesn't always work. If P2P connectivity fails you'll be bouncing UDP packets off our relay servers resulting in slower performance. Some NAT router(s) have a configurable NAT mode, and setting this to "full cone" will eliminate this problem. If you do this you may also see a magical improvement for things like VoIP phones, Skype, BitTorrent, WebRTC, certain games, etc., since all of these use NAT traversal techniques similar to ours. If a firewall between you and the Internet blocks ZeroTier's UDP traffic, you will fall back to last-resort TCP tunneling to rootservers over port 443 (https impersonation). This will work almost anywhere but is *very slow* compared to UDP or direct peer to peer connectivity. Additional help can be found in our [knowledge base](https://zerotier.atlassian.net/wiki/spaces/SD/overview). + +### Prometheus Metrics + +Prometheus Metrics are available at the `/metrics` API endpoint. This endpoint is protected by an API key stored in `metricstoken.secret` to prevent unwanted information leakage. Information that could be gleaned from the metrics include joined networks and peers your instance is talking to. + +Access control is via the ZeroTier control interface itself and `metricstoken.secret`. This can be sent as a bearer auth token, via the `X-ZT1-Auth` HTTP header field, or appended to the URL as `?auth=`. You can see the current metrics via `cURL` with the following command: + + // Linux + curl -H "X-ZT1-Auth: $(sudo cat /var/lib/zerotier-one/metricstoken.secret)" http://localhost:9993/metrics + + // macOS + curl -H "X-XT1-Auth: $(sudo cat /Library/Application\ Support/ZeroTier/One/metricstoken.secret)" http://localhost:9993/metrics + + // Windows PowerShell (Admin) + Invoke-RestMethod -Headers @{'X-ZT1-Auth' = "$(Get-Content C:\ProgramData\ZeroTier\One\metricstoken.secret)"; } -Uri http://localhost:9993/metrics + +To configure a scrape job in Prometheus on the machine ZeroTier is running on, add this to your Prometheus `scrape_config`: + + - job_name: zerotier-one + honor_labels: true + scrape_interval: 15s + metrics_path: /metrics + static_configs: + - targets: + - 127.0.0.1:9993 + labels: + group: zerotier-one + node_id: $YOUR_10_CHARACTER_NODE_ID + authorization: + credentials: $YOUR_METRICS_TOKEN_SECRET + +If neither of these methods are desirable, it is probably possible to distribute metrics via [Prometheus Proxy](https://github.com/pambrose/prometheus-proxy) or some other tool. Note: We have not tested this internally, but will probably work with the correct configuration. + +Metrics are also available on disk in ZeroTier's working directory: + + // Linux + /var/lib/zerotier-one/metrics.prom + + // macOS + /Library/Application\ Support/ZeroTier/One/metrics.prom + + //Windows + C:\ProgramData\ZeroTier\One\metrics.prom + +#### Available Metrics + +| Metric Name | Labels | Metric Type | Description | +| --- | --- | --- | --- | +| zt_packet | packet_type, direction | Counter | ZeroTier packet type counts | +| zt_packet_error | error_type, direction | Counter | ZeroTier packet errors| +| zt_data | protocol, direction | Counter | number of bytes ZeroTier has transmitted or received | +| zt_num_networks | | Gauge | number of networks this instance is joined to | +| zt_network_multicast_groups_subscribed | network_id | Gauge | number of multicast groups networks are subscribed to | +| zt_network_packets | network_id, direction | Counter | number of incoming/outgoing packets per network | +| zt_peer_latency | node_id | Histogram | peer latency (ms) | +| zt_peer_path_count | node_id, status | Gauge | number of paths to peer | +| zt_peer_packets | node_id, direction | Counter | number of packets to/from a peer | +| zt_peer_packet_errors | node_id | Counter | number of incoming packet errors from a peer | + +If there are other metrics you'd like to see tracked, ask us in an Issue or send us a Pull Request! diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 4cc45681b..1585aeead 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,6 +1,22 @@ ZeroTier Release Notes ====== +# 2023-08-23 -- Version 1.12.0 + + * Experimental Windows ARM64 support + * Fix numerous sleep/wake issues on macOS and other platforms + * Faster recovery after changes to physical network settings + * Prometheus compatible metrics support! + * Fix full tunnel mode on recent macOS versions + * Numerous macOS DNS fixes + * 10-30% speed improvement on Linux + +# 2023-03-23 -- Version 1.10.6 + + * Prevent binding temporary ipv6 addresses on macos (#1910) + * Prevent path-learning loops (#1914) + * Prevent infinite loop of UAC prompts in tray app + # 2023-03-10 -- Version 1.10.5 * Fix for high CPU usage bug on Windows diff --git a/attic/world/build.sh b/attic/world/build.sh index d8800cd4c..f3bcfabc9 100755 --- a/attic/world/build.sh +++ b/attic/world/build.sh @@ -1,3 +1,3 @@ #!/bin/bash -c++ -std=c++11 -I../.. -I.. -g -o mkworld ../../node/C25519.cpp ../../node/Salsa20.cpp ../../node/SHA512.cpp ../../node/Identity.cpp ../../node/Utils.cpp ../../node/InetAddress.cpp ../../osdep/OSUtils.cpp mkworld.cpp -lm +c++ -std=c++11 -I../.. -I../../ext -I.. -g -o mkworld ../../node/C25519.cpp ../../node/Salsa20.cpp ../../node/SHA512.cpp ../../node/Identity.cpp ../../node/Utils.cpp ../../node/InetAddress.cpp ../../osdep/OSUtils.cpp mkworld.cpp -lm diff --git a/ci/Dockerfile-build.deb b/ci/Dockerfile-build.deb new file mode 100644 index 000000000..09ed717f8 --- /dev/null +++ b/ci/Dockerfile-build.deb @@ -0,0 +1,13 @@ +ARG ZT_NAME +FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${ZT_NAME}-builder as builder +WORKDIR /work/build +COPY . . +RUN pwd +RUN ls -la . +RUN make clean +RUN make debian +RUN ls -ls /work + +FROM scratch AS export +ARG ZT_NAME +COPY --from=builder /work/*.deb ./${ZT_NAME}/ diff --git a/ci/Dockerfile.el6 b/ci/Dockerfile-build.el6 similarity index 84% rename from ci/Dockerfile.el6 rename to ci/Dockerfile-build.el6 index 46ba13c42..c5848c984 100644 --- a/ci/Dockerfile.el6 +++ b/ci/Dockerfile-build.el6 @@ -16,14 +16,14 @@ RUN apk add build-base RUN apk add openssl-libs-static COPY . . -RUN ZT_STATIC=1 make one +RUN ZT_STATIC=1 make RUN ls -la ARG DOCKER_ARCH FROM --platform=linux/${DOCKER_ARCH} centos:6 AS stage WORKDIR /root/rpmbuild/BUILD COPY . . -COPY --from=builder zerotier-one ./ +COPY --from=builder zerotier-* ./ RUN curl https://gist.githubusercontent.com/someara/b363002ba6e57b3c474dd027d4daef85/raw/4ac5534139752fc92fbe1a53599a390214f69615/el6%2520vault --output /etc/yum.repos.d/CentOS-Base.repo RUN uname -a RUN yum -y install make gcc rpm-build @@ -32,5 +32,5 @@ RUN ls -la RUN make redhat FROM scratch AS export -ARG PLATFORM -COPY --from=stage /root/rpmbuild/RPMS/*/*.rpm ./${PLATFORM}/ +ARG ZT_NAME +COPY --from=stage /root/rpmbuild/RPMS/*/*.rpm ./${ZT_NAME}/ diff --git a/ci/Dockerfile-build.rpm b/ci/Dockerfile-build.rpm new file mode 100644 index 000000000..cab00a06d --- /dev/null +++ b/ci/Dockerfile-build.rpm @@ -0,0 +1,9 @@ +ARG ZT_NAME +FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${ZT_NAME}-builder as builder +WORKDIR /root/rpmbuild/BUILD +COPY . . +RUN make redhat + +FROM scratch AS export +ARG ZT_NAME +COPY --from=builder /root/rpmbuild/RPMS/*/*.rpm ./${ZT_NAME}/ diff --git a/ci/Dockerfile-test.deb b/ci/Dockerfile-test.deb new file mode 100644 index 000000000..7c709a863 --- /dev/null +++ b/ci/Dockerfile-test.deb @@ -0,0 +1,13 @@ +ARG ZT_NAME +FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${ZT_NAME}-tester +ARG BASEURL +ARG VERSION +ARG DEB_ARCH +ARG ZT_NAME +ARG DISTRO +RUN curl -s http://${BASEURL}/key.gpg -o /etc/apt/trusted.gpg.d/zerotier.gpg +RUN echo "deb [arch=${DEB_ARCH} signed-by=/etc/apt/trusted.gpg.d/zerotier.gpg] http://${BASEURL}/${DISTRO} ${ZT_NAME} main" > /etc/apt/sources.list.d/zerotier.list +RUN apt-get -qq update +RUN apt-get -qq install zerotier-one=${VERSION} + +RUN ldd $(which zerotier-cli) diff --git a/ci/Dockerfile-test.el6 b/ci/Dockerfile-test.el6 new file mode 100644 index 000000000..499667313 --- /dev/null +++ b/ci/Dockerfile-test.el6 @@ -0,0 +1,4 @@ +ARG DOCKER_ARCH +FROM --platform=linux/${DOCKER_ARCH} centos:6 +RUN printf "[C6.10-base]\nname=CentOS-6.10 - Base\nbaseurl=http://vault.epel.cloud/6.10/os/\$basearch/\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6\nenabled=1\nmetadata_expire=never\n" > /etc/yum.repos.d/CentOS-Base.repo +RUN yum -y install curl diff --git a/ci/Dockerfile-test.rpm b/ci/Dockerfile-test.rpm new file mode 100644 index 000000000..6a98607b9 --- /dev/null +++ b/ci/Dockerfile-test.rpm @@ -0,0 +1,17 @@ +ARG ZT_NAME +FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${ZT_NAME}-tester +ARG BASEURL +ARG VERSION +ARG DEB_ARCH +ARG ZT_NAME +ARG DISTRO +ARG DNF_ARCH +RUN curl -s http://${BASEURL}/key.asc -o /etc/pki/rpm-gpg/RPM-GPG-KEY-zerotier +RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-zerotier +RUN rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' +RUN printf "[zerotier]\nname=zerotier\nbaseurl=http://${BASEURL}/${DISTRO}/${ZT_NAME}/$basearch/\nenabled=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-zerotier\n" > /etc/yum.repos.d/zerotier.repo + +# RUN yum -v repolist +RUN setarch ${DNF_ARCH} yum -y install zerotier-one-${VERSION} +RUN file $(which zerotier-cli) +RUN ldd $(which zerotier-cli) diff --git a/ci/Dockerfile.deb b/ci/Dockerfile.deb deleted file mode 100644 index 151bca397..000000000 --- a/ci/Dockerfile.deb +++ /dev/null @@ -1,10 +0,0 @@ -ARG PLATFORM -FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${PLATFORM}-builder as stage -WORKDIR /work/build -COPY . . -RUN make debian -RUN ls -ls /work - -FROM scratch AS export -ARG PLATFORM -COPY --from=stage /work/*.deb ./${PLATFORM}/ diff --git a/ci/Dockerfile.none b/ci/Dockerfile.none deleted file mode 100644 index bee0128f7..000000000 --- a/ci/Dockerfile.none +++ /dev/null @@ -1,5 +0,0 @@ -ARG PLATFORM -FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${PLATFORM}-builder as stage -WORKDIR /work -COPY . . -RUN make diff --git a/ci/Dockerfile.rpm b/ci/Dockerfile.rpm deleted file mode 100644 index 0965148bc..000000000 --- a/ci/Dockerfile.rpm +++ /dev/null @@ -1,9 +0,0 @@ -ARG PLATFORM -FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${PLATFORM}-builder as stage -WORKDIR /root/rpmbuild/BUILD -COPY . . -RUN make redhat - -FROM scratch AS export -ARG PLATFORM -COPY --from=stage /root/rpmbuild/RPMS/*/*.rpm ./${PLATFORM}/ diff --git a/ci/scripts/build.sh b/ci/scripts/build.sh index bc28e42f2..a4b8ca94b 100755 --- a/ci/scripts/build.sh +++ b/ci/scripts/build.sh @@ -2,125 +2,48 @@ set -euo pipefail IFS=$'\n\t' -export PLATFORM=$1 -export ZT_ISA=$2 -export VERSION=$3 -export EVENT=$4 +ZT_NAME="$1" ; shift +DISTRO="$1" ; shift +ZT_ISA="$1" ; shift +VERSION="$1" ; shift +BUILD_EVENT="$1" ; shift -case $PLATFORM in - sid) - export PKGFMT=none - ;; - el*|fc*|amzn*) - export PKGFMT=rpm - ;; - *) - export PKGFMT=deb -esac +source "$(dirname $0)/lib.sh" -# -# Allow user to drop in custom Dockerfile for PLATFORM -# - -if [ -f "ci/Dockerfile.${PLATFORM}" ]; then - export DOCKERFILE="ci/Dockerfile.${PLATFORM}" +if [ -f "ci/Dockerfile-build.${ZT_NAME}" ]; then + DOCKERFILE="ci/Dockerfile-build.${ZT_NAME}" else - export DOCKERFILE="ci/Dockerfile.${PKGFMT}" + DOCKERFILE="ci/Dockerfile-build.${PKGFMT}" fi -# -# Rust sometimes gets confused about where it's running. -# Normally, the build images will have Rust pre-baked. -# Pass RUST_TRIPLET for convenience when using a custom Dockerfile -# - -case $ZT_ISA in - 386) - export DOCKER_ARCH=386 - export RUST_TRIPLET=i686-unknown-linux-gnu - ;; - amd64) - export DOCKER_ARCH=amd64 - export RUST_TRIPLET=x86_64-unknown-linux-gnu - ;; - armv7) - export DOCKER_ARCH=arm/v7 - export RUST_TRIPLET=armv7-unknown-linux-gnueabihf - ;; - arm64) - export DOCKER_ARCH=arm64/v8 - export RUST_TRIPLET=aarch64-unknown-linux-gnu - ;; - riscv64) - export DOCKER_ARCH=riscv64 - export RUST_TRIPLET=riscv64gc-unknown-linux-gnu - ;; - ppc64le) - export DOCKER_ARCH=ppc64le - export RUST_TRIPLET=powerpc64le-unknown-linux-gnu - ;; - mips64le) - export DOCKER_ARCH=mips64le - export RUST_TRIPLET=mips64el-unknown-linux-gnuabi64 - ;; - s390x) - export DOCKER_ARCH=s390x - export RUST_TRIPLET=s390x-unknown-linux-gnu - ;; - *) - echo "ERROR: could not determine architecture settings. PLEASE FIX ME" - exit 1 - ;; -esac - -# -# Print debug info -# - echo "#~~~~~~~~~~~~~~~~~~~~" echo "$0 variables:" echo "nproc: $(nproc)" +echo "ZT_NAME: ${ZT_NAME}" +echo "DISTRO: ${DISTRO}" echo "ZT_ISA: ${ZT_ISA}" -echo "DOCKER_ARCH: ${DOCKER_ARCH}" -echo "RUST_TRIPLET: ${RUST_TRIPLET}" echo "VERSION: ${VERSION}" -echo "EVENT: ${EVENT}" +echo "BUILD_EVENT: ${BUILD_EVENT}" +echo "DOCKER_ARCH: ${DOCKER_ARCH}" +echo "DNF_ARCH: ${DNF_ARCH}" +echo "RUST_TRIPLET: ${RUST_TRIPLET}" echo "PKGFMT: ${PKGFMT}" echo "PWD: ${PWD}" echo "DOCKERFILE: ${DOCKERFILE}" echo "#~~~~~~~~~~~~~~~~~~~~" -# -# Munge RPM and Deb -# +make munge_rpm zerotier-one.spec VERSION=${VERSION} +make munge_deb debian/changelog VERSION=${VERSION} -if [ ${PKGFMT} != "none" ] && [ ${EVENT} != "tag" ]; then - make munge_rpm zerotier-one.spec VERSION=${VERSION} - make munge_deb debian/changelog VERSION=${VERSION} -fi - -# -# Assemble buildx arguments -# - -build_args=( - --no-cache - --build-arg PLATFORM=${PLATFORM} - --build-arg RUST_TRIPLET=${RUST_TRIPLET} - --build-arg DOCKER_ARCH=${DOCKER_ARCH} - --platform linux/${DOCKER_ARCH} - -f ${DOCKERFILE} - -t build - . -) - -if [ ${PKGFMT} != "none" ]; then - build_args+=("--output type=local,dest=.") - build_args+=("--target export") -fi - -# -# Do build -# - -docker buildx build ${build_args[@]} +docker buildx build \ + --no-cache=true \ + --build-arg ZT_NAME="${ZT_NAME}" \ + --build-arg RUST_TRIPLET="${RUST_TRIPLET}" \ + --build-arg DOCKER_ARCH="${DOCKER_ARCH}" \ + --build-arg DNF_ARCH="${DNF_ARCH}" \ + --platform linux/${DOCKER_ARCH} \ + -f ${DOCKERFILE} \ + -t build \ + . \ + --output type=local,dest=. \ + --target export diff --git a/ci/scripts/lib.sh b/ci/scripts/lib.sh new file mode 100755 index 000000000..43c35762b --- /dev/null +++ b/ci/scripts/lib.sh @@ -0,0 +1,63 @@ + +case $ZT_NAME in + el*|fc*|amzn*) + export PKGFMT=rpm + ;; + *) + export PKGFMT=deb +esac + +case $ZT_ISA in + 386) + export DOCKER_ARCH=386 + export DEB_ARCH=i386 + export DNF_ARCH=i686 + export RUST_TRIPLET=i686-unknown-linux-gnu + ;; + amd64) + export DOCKER_ARCH=amd64 + export DEB_ARCH=amd64 + export DNF_ARCH=x86_64 + export RUST_TRIPLET=x86_64-unknown-linux-gnu + ;; + armv7) + export DOCKER_ARCH=arm/v7 + export DNF_ARCH=armv7 + export DEB_ARCH=armhf + export RUST_TRIPLET=armv7-unknown-linux-gnueabihf + ;; + arm64) + export DOCKER_ARCH=arm64/v8 + export DEB_ARCH=arm64 + export DNF_ARCH=linux64 + export RUST_TRIPLET=aarch64-unknown-linux-gnu + ;; + riscv64) + export DOCKER_ARCH=riscv64 + export DEB_ARCH=riscv64 + export DNF_ARCH=riscv64 + export RUST_TRIPLET=riscv64gc-unknown-linux-gnu + ;; + ppc64le) + export DOCKER_ARCH=ppc64le + export DEB_ARCH=ppc64el + export DNF_ARCH=ppc64le + export RUST_TRIPLET=powerpc64le-unknown-linux-gnu + ;; + mips64le) + export DOCKER_ARCH=mips64le + export DEB_ARCH=mips64le + export DNF_ARCH=mips64le + export RUST_TRIPLET=mips64el-unknown-linux-gnuabi64 + ;; + s390x) + export DOCKER_ARCH=s390x + export DEB_ARCH=s390x + export DNF_ARCH=s390x + export RUST_TRIPLET=s390x-unknown-linux-gnu + ;; + *) + echo "ERROR: could not determine architecture settings. PLEASE FIX ME" + exit 1 + ;; +esac diff --git a/ci/scripts/munge_debian_changelog.sh b/ci/scripts/munge_debian_changelog.sh index 86cedf72c..d37cb0638 100755 --- a/ci/scripts/munge_debian_changelog.sh +++ b/ci/scripts/munge_debian_changelog.sh @@ -31,7 +31,7 @@ else fi awk -v version=${VERSION} -v date=${DATE} -v name=${NAME} -v message=${MESSAGE} \ - 'BEGIN{print "zerotier-one (" version ") unstable; urgency=medium\n\n * " message "\n\n -- " name " " date "\n" }{ print }' \ + 'BEGIN{print "zerotier-one (" version ") stable; urgency=medium\n\n * " message "\n\n -- " name " " date "\n" }{ print }' \ ${FILE} > ${FILE}.new mv ${FILE}.new ${FILE} diff --git a/ci/scripts/publish.sh b/ci/scripts/publish.sh new file mode 100755 index 000000000..fa1e2468a --- /dev/null +++ b/ci/scripts/publish.sh @@ -0,0 +1,38 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +ZT_NAME="$1" ; shift +DISTRO="$1" ; shift +ZT_ISA="$1" ; shift +VERSION="$1" ; shift +BUILD_EVENT="$1" ; shift + +source "$(dirname $0)/lib.sh" + +if [ ${BUILD_EVENT} == "tag" ]; then + CHANNEL="zerotier-releases" +else + CHANNEL="zerotier-builds" +fi + +function publish_rpm { + mkdir -p /${CHANNEL}/${DISTRO} + ls -la /${CHANNEL} + ls -la . + cp -a ${ZT_NAME} /${CHANNEL}/${DISTRO} +} + +function publish_deb { + mkdir -p /${CHANNEL}/${DISTRO}/pool/dists/${ZT_NAME}/main + cp -a ${ZT_NAME}/* /${CHANNEL}/${DISTRO}/pool/dists/${ZT_NAME}/main +} + +case ${PKGFMT} in + "rpm") + publish_rpm + ;; + "deb") + publish_deb +esac + diff --git a/ci/scripts/test.sh b/ci/scripts/test.sh new file mode 100755 index 000000000..931e9bb91 --- /dev/null +++ b/ci/scripts/test.sh @@ -0,0 +1,55 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +ZT_NAME="$1" ; shift +DISTRO="$1" ; shift +ZT_ISA="$1" ; shift +VERSION="$1" ; shift +BUILD_EVENT="$1" ; shift + +source "$(dirname $0)/lib.sh" + +if [ -f "ci/Dockerfile-test.${ZT_NAME}" ]; then + DOCKERFILE="ci/Dockerfile-test.${ZT_NAME}" +else + DOCKERFILE="ci/Dockerfile-test.${PKGFMT}" +fi + +if [ ${BUILD_EVENT} == "tag" ]; then + BASEURL="zerotier-releases.home.arpa" +else + BASEURL="zerotier-builds.home.arpa" +fi + +echo "#~~~~~~~~~~~~~~~~~~~~" +echo "$0 variables:" +echo "nproc: $(nproc)" +echo "ZT_NAME: ${ZT_NAME}" +echo "DISTRO: ${DISTRO}" +echo "ZT_ISA: ${ZT_ISA}" +echo "VERSION: ${VERSION}" +echo "BUILD_EVENT: ${BUILD_EVENT}" +echo "DOCKER_ARCH: ${DOCKER_ARCH}" +echo "DNF_ARCH: ${DNF_ARCH}" +echo "RUST_TRIPLET: ${RUST_TRIPLET}" +echo "PKGFMT: ${PKGFMT}" +echo "PWD: ${PWD}" +echo "DOCKERFILE: ${DOCKERFILE}" +echo "#~~~~~~~~~~~~~~~~~~~~" + +# docker pull -q --platform="linux/${DOCKER_ARCH}" 084037375216.dkr.ecr.us-east-2.amazonaws.com/${ZT_NAME}-tester + +docker buildx build \ + --build-arg BASEURL="${BASEURL}" \ + --build-arg ZT_NAME="${ZT_NAME}" \ + --build-arg DISTRO="${DISTRO}" \ + --build-arg DEB_ARCH="${DEB_ARCH}" \ + --build-arg DNF_ARCH="${DNF_ARCH}" \ + --build-arg VERSION="${VERSION}" \ + --build-arg DOCKER_ARCH="${DOCKER_ARCH}" \ + --platform "linux/${DOCKER_ARCH}" \ + --no-cache \ + -f ${DOCKERFILE} \ + -t test \ + . diff --git a/controller/ConnectionPool.hpp b/controller/ConnectionPool.hpp index 74672eb43..916f53563 100644 --- a/controller/ConnectionPool.hpp +++ b/controller/ConnectionPool.hpp @@ -19,6 +19,8 @@ #define _DEBUG(x) #endif +#include "../node/Metrics.hpp" + #include #include #include @@ -59,8 +61,11 @@ public: , m_minPoolSize(min_pool_size) , m_factory(factory) { + Metrics::max_pool_size += max_pool_size; + Metrics::min_pool_size += min_pool_size; while(m_pool.size() < m_minPoolSize){ m_pool.push_back(m_factory->create()); + Metrics::pool_avail++; } }; @@ -91,6 +96,7 @@ public: while((m_pool.size() + m_borrowed.size()) < m_minPoolSize) { std::shared_ptr conn = m_factory->create(); m_pool.push_back(conn); + Metrics::pool_avail++; } if(m_pool.size()==0){ @@ -99,8 +105,10 @@ public: try { std::shared_ptr conn = m_factory->create(); m_borrowed.insert(conn); + Metrics::pool_in_use++; return std::static_pointer_cast(conn); } catch (std::exception &e) { + Metrics::pool_errors++; throw ConnectionUnavailable(); } } else { @@ -116,11 +124,13 @@ public: return std::static_pointer_cast(conn); } catch(std::exception& e) { // Error creating a replacement connection + Metrics::pool_errors++; throw ConnectionUnavailable(); } } } // Nothing available + Metrics::pool_errors++; throw ConnectionUnavailable(); } } @@ -128,8 +138,10 @@ public: // Take one off the front std::shared_ptr conn = m_pool.front(); m_pool.pop_front(); + Metrics::pool_avail--; // Add it to the borrowed list m_borrowed.insert(conn); + Metrics::pool_in_use++; return std::static_pointer_cast(conn); }; @@ -143,7 +155,9 @@ public: // Lock std::unique_lock lock(m_poolMutex); m_borrowed.erase(conn); + Metrics::pool_in_use--; if ((m_pool.size() + m_borrowed.size()) < m_maxPoolSize) { + Metrics::pool_avail++; m_pool.push_back(conn); } }; @@ -158,4 +172,4 @@ protected: } -#endif \ No newline at end of file +#endif diff --git a/controller/DB.cpp b/controller/DB.cpp index 2edcadbbe..b1c820144 100644 --- a/controller/DB.cpp +++ b/controller/DB.cpp @@ -13,6 +13,7 @@ #include "DB.hpp" #include "EmbeddedNetworkController.hpp" +#include "../node/Metrics.hpp" #include #include @@ -107,16 +108,17 @@ DB::~DB() {} bool DB::get(const uint64_t networkId,nlohmann::json &network) { waitForReady(); + Metrics::db_get_network++; std::shared_ptr<_Network> nw; { - std::lock_guard l(_networks_l); + std::shared_lock l(_networks_l); auto nwi = _networks.find(networkId); if (nwi == _networks.end()) return false; nw = nwi->second; } { - std::lock_guard l2(nw->lock); + std::shared_lock l2(nw->lock); network = nw->config; } return true; @@ -125,16 +127,17 @@ bool DB::get(const uint64_t networkId,nlohmann::json &network) bool DB::get(const uint64_t networkId,nlohmann::json &network,const uint64_t memberId,nlohmann::json &member) { waitForReady(); + Metrics::db_get_network_and_member++; std::shared_ptr<_Network> nw; { - std::lock_guard l(_networks_l); + std::shared_lock l(_networks_l); auto nwi = _networks.find(networkId); if (nwi == _networks.end()) return false; nw = nwi->second; } { - std::lock_guard l2(nw->lock); + std::shared_lock l2(nw->lock); network = nw->config; auto m = nw->members.find(memberId); if (m == nw->members.end()) @@ -147,16 +150,17 @@ bool DB::get(const uint64_t networkId,nlohmann::json &network,const uint64_t mem bool DB::get(const uint64_t networkId,nlohmann::json &network,const uint64_t memberId,nlohmann::json &member,NetworkSummaryInfo &info) { waitForReady(); + Metrics::db_get_network_and_member_and_summary++; std::shared_ptr<_Network> nw; { - std::lock_guard l(_networks_l); + std::shared_lock l(_networks_l); auto nwi = _networks.find(networkId); if (nwi == _networks.end()) return false; nw = nwi->second; } { - std::lock_guard l2(nw->lock); + std::shared_lock l2(nw->lock); network = nw->config; _fillSummaryInfo(nw,info); auto m = nw->members.find(memberId); @@ -170,16 +174,17 @@ bool DB::get(const uint64_t networkId,nlohmann::json &network,const uint64_t mem bool DB::get(const uint64_t networkId,nlohmann::json &network,std::vector &members) { waitForReady(); + Metrics::db_get_member_list++; std::shared_ptr<_Network> nw; { - std::lock_guard l(_networks_l); + std::shared_lock l(_networks_l); auto nwi = _networks.find(networkId); if (nwi == _networks.end()) return false; nw = nwi->second; } { - std::lock_guard l2(nw->lock); + std::shared_lock l2(nw->lock); network = nw->config; for(auto m=nw->members.begin();m!=nw->members.end();++m) { members.push_back(m->second); @@ -191,13 +196,15 @@ bool DB::get(const uint64_t networkId,nlohmann::json &network,std::vector &networks) { waitForReady(); - std::lock_guard l(_networks_l); + Metrics::db_get_member_list++; + std::shared_lock l(_networks_l); for(auto n=_networks.begin();n!=_networks.end();++n) networks.insert(n->first); } void DB::_memberChanged(nlohmann::json &old,nlohmann::json &memberConfig,bool notifyListeners) { + Metrics::db_member_change++; uint64_t memberId = 0; uint64_t networkId = 0; bool isAuth = false; @@ -209,18 +216,21 @@ void DB::_memberChanged(nlohmann::json &old,nlohmann::json &memberConfig,bool no networkId = OSUtils::jsonIntHex(old["nwid"],0ULL); if ((memberId)&&(networkId)) { { - std::lock_guard l(_networks_l); + std::unique_lock l(_networks_l); auto nw2 = _networks.find(networkId); - if (nw2 != _networks.end()) + if (nw2 != _networks.end()) { nw = nw2->second; + } } if (nw) { - std::lock_guard l(nw->lock); - if (OSUtils::jsonBool(old["activeBridge"],false)) + std::unique_lock l(nw->lock); + if (OSUtils::jsonBool(old["activeBridge"],false)) { nw->activeBridgeMembers.erase(memberId); + } wasAuth = OSUtils::jsonBool(old["authorized"],false); - if (wasAuth) + if (wasAuth) { nw->authorizedMembers.erase(memberId); + } json &ips = old["ipAssignments"]; if (ips.is_array()) { for(unsigned long i=0;i l(_networks_l); + std::unique_lock l(_networks_l); std::shared_ptr<_Network> &nw2 = _networks[networkId]; if (!nw2) nw2.reset(new _Network); @@ -251,15 +261,18 @@ void DB::_memberChanged(nlohmann::json &old,nlohmann::json &memberConfig,bool no } { - std::lock_guard l(nw->lock); + std::unique_lock l(nw->lock); nw->members[memberId] = memberConfig; - if (OSUtils::jsonBool(memberConfig["activeBridge"],false)) + if (OSUtils::jsonBool(memberConfig["activeBridge"],false)) { nw->activeBridgeMembers.insert(memberId); + } isAuth = OSUtils::jsonBool(memberConfig["authorized"],false); - if (isAuth) + if (isAuth) { + Metrics::member_auths++; nw->authorizedMembers.insert(memberId); + } json &ips = memberConfig["ipAssignments"]; if (ips.is_array()) { for(unsigned long i=0;i ll(_changeListeners_l); + std::unique_lock ll(_changeListeners_l); for(auto i=_changeListeners.begin();i!=_changeListeners.end();++i) { (*i)->onNetworkMemberUpdate(this,networkId,memberId,memberConfig); } } } else if (memberId) { if (nw) { - std::lock_guard l(nw->lock); + std::unique_lock l(nw->lock); nw->members.erase(memberId); } if (networkId) { - std::lock_guard l(_networks_l); + std::unique_lock l(_networks_l); auto er = _networkByMember.equal_range(memberId); for(auto i=er.first;i!=er.second;++i) { if (i->second == networkId) { @@ -303,8 +316,26 @@ void DB::_memberChanged(nlohmann::json &old,nlohmann::json &memberConfig,bool no } } + if (notifyListeners) { + if(networkId != 0 && memberId != 0 && old.is_object() && !memberConfig.is_object()) { + // member delete + Metrics::member_count--; + } else if (networkId != 0 && memberId != 0 && !old.is_object() && memberConfig.is_object()) { + // new member + Metrics::member_count++; + } + + if (!wasAuth && isAuth) { + Metrics::member_auths++; + } else if (wasAuth && !isAuth) { + Metrics::member_deauths++; + } else { + Metrics::member_changes++; + } + } + if ((notifyListeners)&&((wasAuth)&&(!isAuth)&&(networkId)&&(memberId))) { - std::lock_guard ll(_changeListeners_l); + std::unique_lock ll(_changeListeners_l); for(auto i=_changeListeners.begin();i!=_changeListeners.end();++i) { (*i)->onNetworkMemberDeauthorize(this,networkId,memberId); } @@ -313,24 +344,35 @@ void DB::_memberChanged(nlohmann::json &old,nlohmann::json &memberConfig,bool no void DB::_networkChanged(nlohmann::json &old,nlohmann::json &networkConfig,bool notifyListeners) { + Metrics::db_network_change++; + if (notifyListeners) { + if (old.is_object() && old.contains("id") && networkConfig.is_object() && networkConfig.contains("id")) { + Metrics::network_changes++; + } else if (!old.is_object() && networkConfig.is_object() && networkConfig.contains("id")) { + Metrics::network_count++; + } else if (old.is_object() && old.contains("id") && !networkConfig.is_object()) { + Metrics::network_count--; + } + } + if (networkConfig.is_object()) { const std::string ids = networkConfig["id"]; const uint64_t networkId = Utils::hexStrToU64(ids.c_str()); if (networkId) { std::shared_ptr<_Network> nw; { - std::lock_guard l(_networks_l); + std::unique_lock l(_networks_l); std::shared_ptr<_Network> &nw2 = _networks[networkId]; if (!nw2) nw2.reset(new _Network); nw = nw2; } { - std::lock_guard l2(nw->lock); + std::unique_lock l2(nw->lock); nw->config = networkConfig; } if (notifyListeners) { - std::lock_guard ll(_changeListeners_l); + std::unique_lock ll(_changeListeners_l); for(auto i=_changeListeners.begin();i!=_changeListeners.end();++i) { (*i)->onNetworkUpdate(this,networkId,networkConfig); } @@ -340,7 +382,7 @@ void DB::_networkChanged(nlohmann::json &old,nlohmann::json &networkConfig,bool const std::string ids = old["id"]; const uint64_t networkId = Utils::hexStrToU64(ids.c_str()); if (networkId) { - std::lock_guard l(_networks_l); + std::unique_lock l(_networks_l); _networks.erase(networkId); } } diff --git a/controller/DB.hpp b/controller/DB.hpp index 64bd83af0..89610f7c5 100644 --- a/controller/DB.hpp +++ b/controller/DB.hpp @@ -29,12 +29,14 @@ #include #include #include -#include +#include #include #include #include +#include + #define ZT_MEMBER_AUTH_TIMEOUT_NOTIFY_BEFORE 25000 namespace ZeroTier @@ -107,7 +109,7 @@ public: inline bool hasNetwork(const uint64_t networkId) const { - std::lock_guard l(_networks_l); + std::shared_lock l(_networks_l); return (_networks.find(networkId) != _networks.end()); } @@ -122,7 +124,7 @@ public: inline void each(F f) { nlohmann::json nullJson; - std::lock_guard lck(_networks_l); + std::unique_lock lck(_networks_l); for(auto nw=_networks.begin();nw!=_networks.end();++nw) { f(nw->first,nw->second->config,0,nullJson); // first provide network with 0 for member ID for(auto m=nw->second->members.begin();m!=nw->second->members.end();++m) { @@ -140,7 +142,7 @@ public: inline void addListener(DB::ChangeListener *const listener) { - std::lock_guard l(_changeListeners_l); + std::unique_lock l(_changeListeners_l); _changeListeners.push_back(listener); } @@ -176,7 +178,7 @@ protected: std::unordered_set authorizedMembers; std::unordered_set allocatedIps; int64_t mostRecentDeauthTime; - std::mutex lock; + std::shared_mutex lock; }; virtual void _memberChanged(nlohmann::json &old,nlohmann::json &memberConfig,bool notifyListeners); @@ -186,8 +188,8 @@ protected: std::vector _changeListeners; std::unordered_map< uint64_t,std::shared_ptr<_Network> > _networks; std::unordered_multimap< uint64_t,uint64_t > _networkByMember; - mutable std::mutex _changeListeners_l; - mutable std::mutex _networks_l; + mutable std::shared_mutex _changeListeners_l; + mutable std::shared_mutex _networks_l; }; } // namespace ZeroTier diff --git a/controller/DBMirrorSet.cpp b/controller/DBMirrorSet.cpp index fd7f32a22..9372eef65 100644 --- a/controller/DBMirrorSet.cpp +++ b/controller/DBMirrorSet.cpp @@ -15,9 +15,12 @@ namespace ZeroTier { -DBMirrorSet::DBMirrorSet(DB::ChangeListener *listener) : - _listener(listener), - _running(true) +DBMirrorSet::DBMirrorSet(DB::ChangeListener *listener) + : _listener(listener) + , _running(true) + , _syncCheckerThread() + , _dbs() + , _dbs_l() { _syncCheckerThread = std::thread([this]() { for(;;) { @@ -29,7 +32,7 @@ DBMirrorSet::DBMirrorSet(DB::ChangeListener *listener) : std::vector< std::shared_ptr > dbs; { - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); if (_dbs.size() <= 1) continue; // no need to do this if there's only one DB, so skip the iteration dbs = _dbs; @@ -76,7 +79,7 @@ DBMirrorSet::~DBMirrorSet() bool DBMirrorSet::hasNetwork(const uint64_t networkId) const { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if ((*d)->hasNetwork(networkId)) return true; @@ -86,7 +89,7 @@ bool DBMirrorSet::hasNetwork(const uint64_t networkId) const bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if ((*d)->get(networkId,network)) { return true; @@ -97,7 +100,7 @@ bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network) bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network,const uint64_t memberId,nlohmann::json &member) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if ((*d)->get(networkId,network,memberId,member)) return true; @@ -107,7 +110,7 @@ bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network,const uin bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network,const uint64_t memberId,nlohmann::json &member,DB::NetworkSummaryInfo &info) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if ((*d)->get(networkId,network,memberId,member,info)) return true; @@ -117,7 +120,7 @@ bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network,const uin bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network,std::vector &members) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if ((*d)->get(networkId,network,members)) return true; @@ -127,7 +130,7 @@ bool DBMirrorSet::get(const uint64_t networkId,nlohmann::json &network,std::vect AuthInfo DBMirrorSet::getSSOAuthInfo(const nlohmann::json &member, const std::string &redirectURL) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { AuthInfo info = (*d)->getSSOAuthInfo(member, redirectURL); if (info.enabled) { @@ -139,7 +142,7 @@ AuthInfo DBMirrorSet::getSSOAuthInfo(const nlohmann::json &member, const std::st void DBMirrorSet::networks(std::set &networks) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { (*d)->networks(networks); } @@ -148,7 +151,7 @@ void DBMirrorSet::networks(std::set &networks) bool DBMirrorSet::waitForReady() { bool r = false; - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { r |= (*d)->waitForReady(); } @@ -157,7 +160,7 @@ bool DBMirrorSet::waitForReady() bool DBMirrorSet::isReady() { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if (!(*d)->isReady()) return false; @@ -169,7 +172,7 @@ bool DBMirrorSet::save(nlohmann::json &record,bool notifyListeners) { std::vector< std::shared_ptr > dbs; { - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); dbs = _dbs; } if (notifyListeners) { @@ -189,7 +192,7 @@ bool DBMirrorSet::save(nlohmann::json &record,bool notifyListeners) void DBMirrorSet::eraseNetwork(const uint64_t networkId) { - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { (*d)->eraseNetwork(networkId); } @@ -197,7 +200,7 @@ void DBMirrorSet::eraseNetwork(const uint64_t networkId) void DBMirrorSet::eraseMember(const uint64_t networkId,const uint64_t memberId) { - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { (*d)->eraseMember(networkId,memberId); } @@ -205,7 +208,7 @@ void DBMirrorSet::eraseMember(const uint64_t networkId,const uint64_t memberId) void DBMirrorSet::nodeIsOnline(const uint64_t networkId,const uint64_t memberId,const InetAddress &physicalAddress) { - std::lock_guard l(_dbs_l); + std::shared_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { (*d)->nodeIsOnline(networkId,memberId,physicalAddress); } @@ -214,7 +217,7 @@ void DBMirrorSet::nodeIsOnline(const uint64_t networkId,const uint64_t memberId, void DBMirrorSet::onNetworkUpdate(const void *db,uint64_t networkId,const nlohmann::json &network) { nlohmann::json record(network); - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if (d->get() != db) { (*d)->save(record,false); @@ -226,7 +229,7 @@ void DBMirrorSet::onNetworkUpdate(const void *db,uint64_t networkId,const nlohma void DBMirrorSet::onNetworkMemberUpdate(const void *db,uint64_t networkId,uint64_t memberId,const nlohmann::json &member) { nlohmann::json record(member); - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); for(auto d=_dbs.begin();d!=_dbs.end();++d) { if (d->get() != db) { (*d)->save(record,false); diff --git a/controller/DBMirrorSet.hpp b/controller/DBMirrorSet.hpp index 883c98fd7..e33b63ec9 100644 --- a/controller/DBMirrorSet.hpp +++ b/controller/DBMirrorSet.hpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include @@ -56,7 +56,7 @@ public: inline void addDB(const std::shared_ptr &db) { db->addListener(this); - std::lock_guard l(_dbs_l); + std::unique_lock l(_dbs_l); _dbs.push_back(db); } @@ -65,7 +65,7 @@ private: std::atomic_bool _running; std::thread _syncCheckerThread; std::vector< std::shared_ptr< DB > > _dbs; - mutable std::mutex _dbs_l; + mutable std::shared_mutex _dbs_l; }; } // namespace ZeroTier diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp index 2ccc16b8c..b60c375c4 100644 --- a/controller/EmbeddedNetworkController.cpp +++ b/controller/EmbeddedNetworkController.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #ifndef _WIN32 #include @@ -459,15 +460,51 @@ static bool _parseRule(json &r,ZT_VirtualNetworkRule &rule) } // anonymous namespace -EmbeddedNetworkController::EmbeddedNetworkController(Node *node,const char *ztPath,const char *dbPath, int listenPort, RedisConfig *rc) : - _startTime(OSUtils::now()), - _listenPort(listenPort), - _node(node), - _ztPath(ztPath), - _path(dbPath), - _sender((NetworkController::Sender *)0), - _db(this), - _rc(rc) +EmbeddedNetworkController::EmbeddedNetworkController(Node *node,const char *ztPath,const char *dbPath, int listenPort, RedisConfig *rc) + : _startTime(OSUtils::now()) + , _listenPort(listenPort) + , _node(node) + , _ztPath(ztPath) + , _path(dbPath) + , _signingId() + , _signingIdAddressString() + , _sender((NetworkController::Sender *)0) + , _db(this) + , _queue() + , _threads() + , _threads_l() + , _memberStatus() + , _memberStatus_l() + , _expiringSoon() + , _expiringSoon_l() + , _rc(rc) + , _ssoExpiryRunning(true) + , _ssoExpiry(std::thread(&EmbeddedNetworkController::_ssoExpiryThread, this)) + +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + , _member_status_lookup{"nc_member_status_lookup",""} + , _member_status_lookup_count{"nc_member_status_lookup_count",""} + , _node_is_online{"nc_node_is_online",""} + , _node_is_online_count{"nc_node_is_online_count",""} + , _get_and_init_member{"nc_get_and_init_member",""} + , _get_and_init_member_count{"nc_get_and_init_member_count",""} + , _have_identity{"nc_have_identity",""} + , _have_identity_count{"nc_have_identity_count",""} + , _determine_auth{"nc_determine_auth",""} + , _determine_auth_count{"nc_determine_auth_count",""} + , _sso_check{"nc_sso_check",""} + , _sso_check_count{"nc_sso_check_count",""} + , _auth_check{"nc_auth_check",""} + , _auth_check_count{"nc_auth_check_count",""} + , _json_schlep{"nc_json_schlep",""} + , _json_schlep_count{"nc_json_schlep_count",""} + , _issue_certificate{"nc_issue_certificate", ""} + , _issue_certificate_count{"nc_issue_certificate_count",""} + , _save_member{"nc_save_member",""} + , _save_member_count{"nc_save_member_count",""} + , _send_netconf{"nc_send_netconf2",""} + , _send_netconf_count{"nc_send_netconf2_count",""} +#endif { } @@ -475,8 +512,11 @@ EmbeddedNetworkController::~EmbeddedNetworkController() { std::lock_guard l(_threads_l); _queue.stop(); - for(auto t=_threads.begin();t!=_threads.end();++t) + for(auto t=_threads.begin();t!=_threads.end();++t) { t->join(); + } + _ssoExpiryRunning = false; + _ssoExpiry.join(); } void EmbeddedNetworkController::setSSORedirectURL(const std::string &url) { @@ -543,6 +583,18 @@ void EmbeddedNetworkController::request( if (((!_signingId)||(!_signingId.hasPrivate()))||(_signingId.address().toInt() != (nwid >> 24))||(!_sender)) return; _startThreads(); + + const int64_t now = OSUtils::now(); + + if (requestPacketId) { + std::lock_guard l(_memberStatus_l); + _MemberStatus &ms = _memberStatus[_MemberStatusKey(nwid,identity.address().toInt())]; + if ((now - ms.lastRequestTime) <= ZT_NETCONF_MIN_REQUEST_PERIOD) { + return; + } + ms.lastRequestTime = now; + } + _RQEntry *qe = new _RQEntry; qe->nwid = nwid; qe->requestPacketId = requestPacketId; @@ -553,593 +605,528 @@ void EmbeddedNetworkController::request( _queue.post(qe); } -unsigned int EmbeddedNetworkController::handleControlPlaneHttpGET( - const std::vector &path, - const std::map &urlArgs, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType) +std::string EmbeddedNetworkController::networkUpdateFromPostData(uint64_t networkID, const std::string &body) { - if ((!path.empty())&&(path[0] == "network")) { + json b = OSUtils::jsonParse(body); - if ((path.size() >= 2)&&(path[1].length() == 16)) { - const uint64_t nwid = Utils::hexStrToU64(path[1].c_str()); - json network; - if (!_db.get(nwid,network)) - return 404; + char nwids[24]; + OSUtils::ztsnprintf(nwids, sizeof(nwids), "%.16llx", networkID); - if (path.size() >= 3) { + json network; + _db.get(networkID, network); + DB::initNetwork(network); + if (b.count("name")) network["name"] = OSUtils::jsonString(b["name"],""); + if (b.count("private")) network["private"] = OSUtils::jsonBool(b["private"],true); + if (b.count("enableBroadcast")) network["enableBroadcast"] = OSUtils::jsonBool(b["enableBroadcast"],false); + if (b.count("multicastLimit")) network["multicastLimit"] = OSUtils::jsonInt(b["multicastLimit"],32ULL); + if (b.count("mtu")) network["mtu"] = std::max(std::min((unsigned int)OSUtils::jsonInt(b["mtu"],ZT_DEFAULT_MTU),(unsigned int)ZT_MAX_MTU),(unsigned int)ZT_MIN_MTU); - if (path[2] == "member") { - - if (path.size() >= 4) { - // Get member - - const uint64_t address = Utils::hexStrToU64(path[3].c_str()); - json member; - if (!_db.get(nwid,network,address,member)) - return 404; - responseBody = OSUtils::jsonDump(member); - responseContentType = "application/json"; - - } else { - // List members and their revisions - - responseBody = "{"; - std::vector members; - if (_db.get(nwid,network,members)) { - responseBody.reserve((members.size() + 2) * 32); - std::string mid; - for(auto member=members.begin();member!=members.end();++member) { - mid = OSUtils::jsonString((*member)["id"], ""); - char tmp[128]; - OSUtils::ztsnprintf(tmp,sizeof(tmp),"%s\"%s\":%llu",(responseBody.length() > 1) ? "," : "",mid.c_str(),(unsigned long long)OSUtils::jsonInt((*member)["revision"],0)); - responseBody.append(tmp); - } - } - responseBody.push_back('}'); - responseContentType = "application/json"; - - } - return 200; - - } // else 404 - - } else { - // Get network - - responseBody = OSUtils::jsonDump(network); - responseContentType = "application/json"; - return 200; - - } - } else if (path.size() == 1) { - // List networks - - std::set networkIds; - _db.networks(networkIds); - char tmp[64]; - responseBody = "["; - responseBody.reserve((networkIds.size() + 1) * 24); - for(std::set::const_iterator i(networkIds.begin());i!=networkIds.end();++i) { - if (responseBody.length() > 1) - responseBody.push_back(','); - OSUtils::ztsnprintf(tmp,sizeof(tmp),"\"%.16llx\"",(unsigned long long)*i); - responseBody.append(tmp); - } - responseBody.push_back(']'); - responseContentType = "application/json"; - - return 200; - - } // else 404 - - } else { - // Controller status - - char tmp[4096]; - const bool dbOk = _db.isReady(); - OSUtils::ztsnprintf(tmp,sizeof(tmp),"{\n\t\"controller\": true,\n\t\"apiVersion\": %d,\n\t\"clock\": %llu,\n\t\"databaseReady\": %s\n}\n",ZT_NETCONF_CONTROLLER_API_VERSION,(unsigned long long)OSUtils::now(),dbOk ? "true" : "false"); - responseBody = tmp; - responseContentType = "application/json"; - return dbOk ? 200 : 503; - - } - - return 404; -} - -unsigned int EmbeddedNetworkController::handleControlPlaneHttpPOST( - const std::vector &path, - const std::map &urlArgs, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType) -{ - if (path.empty()) - return 404; - - json b; - try { - b = OSUtils::jsonParse(body); - if (!b.is_object()) { - responseBody = "{ \"message\": \"body is not a JSON object\" }"; - responseContentType = "application/json"; - return 400; + if (b.count("remoteTraceTarget")) { + const std::string rtt(OSUtils::jsonString(b["remoteTraceTarget"],"")); + if (rtt.length() == 10) { + network["remoteTraceTarget"] = rtt; + } else { + network["remoteTraceTarget"] = json(); } - } catch ( ... ) { - responseBody = "{ \"message\": \"body JSON is invalid\" }"; - responseContentType = "application/json"; - return 400; } - const int64_t now = OSUtils::now(); + if (b.count("remoteTraceLevel")) network["remoteTraceLevel"] = OSUtils::jsonInt(b["remoteTraceLevel"],0ULL); - if (path[0] == "network") { + if (b.count("v4AssignMode")) { + json nv4m; + json &v4m = b["v4AssignMode"]; + if (v4m.is_string()) { // backward compatibility + nv4m["zt"] = (OSUtils::jsonString(v4m,"") == "zt"); + } else if (v4m.is_object()) { + nv4m["zt"] = OSUtils::jsonBool(v4m["zt"],false); + } else nv4m["zt"] = false; + network["v4AssignMode"] = nv4m; + } - if ((path.size() >= 2)&&(path[1].length() == 16)) { - uint64_t nwid = Utils::hexStrToU64(path[1].c_str()); - char nwids[24]; - OSUtils::ztsnprintf(nwids,sizeof(nwids),"%.16llx",(unsigned long long)nwid); + if (b.count("v6AssignMode")) { + json nv6m; + json &v6m = b["v6AssignMode"]; + if (!nv6m.is_object()) nv6m = json::object(); + if (v6m.is_string()) { // backward compatibility + std::vector v6ms(OSUtils::split(OSUtils::jsonString(v6m,"").c_str(),",","","")); + std::sort(v6ms.begin(),v6ms.end()); + v6ms.erase(std::unique(v6ms.begin(),v6ms.end()),v6ms.end()); + nv6m["rfc4193"] = false; + nv6m["zt"] = false; + nv6m["6plane"] = false; + for(std::vector::iterator i(v6ms.begin());i!=v6ms.end();++i) { + if (*i == "rfc4193") + nv6m["rfc4193"] = true; + else if (*i == "zt") + nv6m["zt"] = true; + else if (*i == "6plane") + nv6m["6plane"] = true; + } + } else if (v6m.is_object()) { + if (v6m.count("rfc4193")) nv6m["rfc4193"] = OSUtils::jsonBool(v6m["rfc4193"],false); + if (v6m.count("zt")) nv6m["zt"] = OSUtils::jsonBool(v6m["zt"],false); + if (v6m.count("6plane")) nv6m["6plane"] = OSUtils::jsonBool(v6m["6plane"],false); + } else { + nv6m["rfc4193"] = false; + nv6m["zt"] = false; + nv6m["6plane"] = false; + } + network["v6AssignMode"] = nv6m; + } - if (path.size() >= 3) { - - if ((path.size() == 4)&&(path[2] == "member")&&(path[3].length() == 10)) { - uint64_t address = Utils::hexStrToU64(path[3].c_str()); - char addrs[24]; - OSUtils::ztsnprintf(addrs,sizeof(addrs),"%.10llx",(unsigned long long)address); - - json member,network; - _db.get(nwid,network,address,member); - DB::initMember(member); - - try { - if (b.count("activeBridge")) member["activeBridge"] = OSUtils::jsonBool(b["activeBridge"], false); - if (b.count("noAutoAssignIps")) member["noAutoAssignIps"] = OSUtils::jsonBool(b["noAutoAssignIps"], false); - if (b.count("authenticationExpiryTime")) member["authenticationExpiryTime"] = (uint64_t)OSUtils::jsonInt(b["authenticationExpiryTime"], 0ULL); - if (b.count("authenticationURL")) member["authenticationURL"] = OSUtils::jsonString(b["authenticationURL"], ""); - - if (b.count("remoteTraceTarget")) { - const std::string rtt(OSUtils::jsonString(b["remoteTraceTarget"],"")); - if (rtt.length() == 10) { - member["remoteTraceTarget"] = rtt; - } else { - member["remoteTraceTarget"] = json(); - } + if (b.count("routes")) { + json &rts = b["routes"]; + if (rts.is_array()) { + json nrts = json::array(); + for(unsigned long i=0;i().c_str()); + InetAddress v; + if (via.is_string()) v.fromString(via.get().c_str()); + if ( ((t.ss_family == AF_INET)||(t.ss_family == AF_INET6)) && (t.netmaskBitsValid()) ) { + json tmp; + char tmp2[64]; + tmp["target"] = t.toString(tmp2); + if (v.ss_family == t.ss_family) + tmp["via"] = v.toIpString(tmp2); + else tmp["via"] = json(); + nrts.push_back(tmp); + if (nrts.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; } - if (b.count("remoteTraceLevel")) member["remoteTraceLevel"] = OSUtils::jsonInt(b["remoteTraceLevel"],0ULL); - - if (b.count("authorized")) { - const bool newAuth = OSUtils::jsonBool(b["authorized"],false); - if (newAuth != OSUtils::jsonBool(member["authorized"],false)) { - member["authorized"] = newAuth; - member[((newAuth) ? "lastAuthorizedTime" : "lastDeauthorizedTime")] = now; - if (newAuth) { - member["lastAuthorizedCredentialType"] = "api"; - member["lastAuthorizedCredential"] = json(); - } - } - } - - if (b.count("ipAssignments")) { - json &ipa = b["ipAssignments"]; - if (ipa.is_array()) { - json mipa(json::array()); - for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - } - member["ipAssignments"] = mipa; - } - } - - if (b.count("tags")) { - json &tags = b["tags"]; - if (tags.is_array()) { - std::map mtags; - for(unsigned long i=0;i::iterator t(mtags.begin());t!=mtags.end();++t) { - json ta = json::array(); - ta.push_back(t->first); - ta.push_back(t->second); - mtagsa.push_back(ta); - if (mtagsa.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - member["tags"] = mtagsa; - } - } - - if (b.count("capabilities")) { - json &capabilities = b["capabilities"]; - if (capabilities.is_array()) { - json mcaps = json::array(); - for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - std::sort(mcaps.begin(),mcaps.end()); - mcaps.erase(std::unique(mcaps.begin(),mcaps.end()),mcaps.end()); - member["capabilities"] = mcaps; - } - } - } catch ( ... ) { - responseBody = "{ \"message\": \"exception while processing parameters in JSON body\" }"; - responseContentType = "application/json"; - return 400; } + } + } + network["routes"] = nrts; + } + } - member["id"] = addrs; - member["address"] = addrs; // legacy - member["nwid"] = nwids; - - DB::cleanMember(member); - _db.save(member,true); - responseBody = OSUtils::jsonDump(member); - responseContentType = "application/json"; - - return 200; - } // else 404 - - } else { - // POST to network ID - - // Magic ID ending with ______ picks a random unused network ID - if (path[1].substr(10) == "______") { - nwid = 0; - uint64_t nwidPrefix = (Utils::hexStrToU64(path[1].substr(0,10).c_str()) << 24) & 0xffffffffff000000ULL; - uint64_t nwidPostfix = 0; - for(unsigned long k=0;k<100000;++k) { // sanity limit on trials - Utils::getSecureRandom(&nwidPostfix,sizeof(nwidPostfix)); - uint64_t tryNwid = nwidPrefix | (nwidPostfix & 0xffffffULL); - if ((tryNwid & 0xffffffULL) == 0ULL) tryNwid |= 1ULL; - if (!_db.hasNetwork(tryNwid)) { - nwid = tryNwid; + if (b.count("ipAssignmentPools")) { + json &ipp = b["ipAssignmentPools"]; + if (ipp.is_array()) { + json nipp = json::array(); + for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) break; - } } - if (!nwid) - return 503; } - OSUtils::ztsnprintf(nwids,sizeof(nwids),"%.16llx",(unsigned long long)nwid); - - json network; - _db.get(nwid,network); - DB::initNetwork(network); - - try { - if (b.count("name")) network["name"] = OSUtils::jsonString(b["name"],""); - if (b.count("private")) network["private"] = OSUtils::jsonBool(b["private"],true); - if (b.count("enableBroadcast")) network["enableBroadcast"] = OSUtils::jsonBool(b["enableBroadcast"],false); - if (b.count("multicastLimit")) network["multicastLimit"] = OSUtils::jsonInt(b["multicastLimit"],32ULL); - if (b.count("mtu")) network["mtu"] = std::max(std::min((unsigned int)OSUtils::jsonInt(b["mtu"],ZT_DEFAULT_MTU),(unsigned int)ZT_MAX_MTU),(unsigned int)ZT_MIN_MTU); - - if (b.count("remoteTraceTarget")) { - const std::string rtt(OSUtils::jsonString(b["remoteTraceTarget"],"")); - if (rtt.length() == 10) { - network["remoteTraceTarget"] = rtt; - } else { - network["remoteTraceTarget"] = json(); - } - } - if (b.count("remoteTraceLevel")) network["remoteTraceLevel"] = OSUtils::jsonInt(b["remoteTraceLevel"],0ULL); - - if (b.count("v4AssignMode")) { - json nv4m; - json &v4m = b["v4AssignMode"]; - if (v4m.is_string()) { // backward compatibility - nv4m["zt"] = (OSUtils::jsonString(v4m,"") == "zt"); - } else if (v4m.is_object()) { - nv4m["zt"] = OSUtils::jsonBool(v4m["zt"],false); - } else nv4m["zt"] = false; - network["v4AssignMode"] = nv4m; - } - - if (b.count("v6AssignMode")) { - json nv6m; - json &v6m = b["v6AssignMode"]; - if (!nv6m.is_object()) nv6m = json::object(); - if (v6m.is_string()) { // backward compatibility - std::vector v6ms(OSUtils::split(OSUtils::jsonString(v6m,"").c_str(),",","","")); - std::sort(v6ms.begin(),v6ms.end()); - v6ms.erase(std::unique(v6ms.begin(),v6ms.end()),v6ms.end()); - nv6m["rfc4193"] = false; - nv6m["zt"] = false; - nv6m["6plane"] = false; - for(std::vector::iterator i(v6ms.begin());i!=v6ms.end();++i) { - if (*i == "rfc4193") - nv6m["rfc4193"] = true; - else if (*i == "zt") - nv6m["zt"] = true; - else if (*i == "6plane") - nv6m["6plane"] = true; - } - } else if (v6m.is_object()) { - if (v6m.count("rfc4193")) nv6m["rfc4193"] = OSUtils::jsonBool(v6m["rfc4193"],false); - if (v6m.count("zt")) nv6m["zt"] = OSUtils::jsonBool(v6m["zt"],false); - if (v6m.count("6plane")) nv6m["6plane"] = OSUtils::jsonBool(v6m["6plane"],false); - } else { - nv6m["rfc4193"] = false; - nv6m["zt"] = false; - nv6m["6plane"] = false; - } - network["v6AssignMode"] = nv6m; - } - - if (b.count("routes")) { - json &rts = b["routes"]; - if (rts.is_array()) { - json nrts = json::array(); - for(unsigned long i=0;i().c_str()); - InetAddress v; - if (via.is_string()) v.fromString(via.get().c_str()); - if ( ((t.ss_family == AF_INET)||(t.ss_family == AF_INET6)) && (t.netmaskBitsValid()) ) { - json tmp; - char tmp2[64]; - tmp["target"] = t.toString(tmp2); - if (v.ss_family == t.ss_family) - tmp["via"] = v.toIpString(tmp2); - else tmp["via"] = json(); - nrts.push_back(tmp); - if (nrts.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - } - } - } - network["routes"] = nrts; - } - } - - if (b.count("ipAssignmentPools")) { - json &ipp = b["ipAssignmentPools"]; - if (ipp.is_array()) { - json nipp = json::array(); - for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - } - } - network["ipAssignmentPools"] = nipp; - } - } - - if (b.count("rules")) { - json &rules = b["rules"]; - if (rules.is_array()) { - json nrules = json::array(); - for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - } - } - network["rules"] = nrules; - } - } - - if (b.count("authTokens")) { - json &authTokens = b["authTokens"]; - if (authTokens.is_object()) { - json nat; - for(json::iterator t(authTokens.begin());t!=authTokens.end();++t) { - if ((t.value().is_number())&&(t.value() >= 0)) - nat[t.key()] = t.value(); - } - network["authTokens"] = nat; - } else { - network["authTokens"] = {{}}; - } - } - - if (b.count("capabilities")) { - json &capabilities = b["capabilities"]; - if (capabilities.is_array()) { - std::map< uint64_t,json > ncaps; - for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - } - } - } - ncap["rules"] = nrules; - - ncaps[capId] = ncap; - } - } - - json ncapsa = json::array(); - for(std::map< uint64_t,json >::iterator c(ncaps.begin());c!=ncaps.end();++c) { - ncapsa.push_back(c->second); - if (ncapsa.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - network["capabilities"] = ncapsa; - } - } - - if (b.count("tags")) { - json &tags = b["tags"]; - if (tags.is_array()) { - std::map< uint64_t,json > ntags; - for(unsigned long i=0;i::iterator t(ntags.begin());t!=ntags.end();++t) { - ntagsa.push_back(t->second); - if (ntagsa.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) - break; - } - network["tags"] = ntagsa; - } - } - - if (b.count("dns")) { - json &dns = b["dns"]; - if (dns.is_object()) { - json nd; - - nd["domain"] = dns["domain"]; - - json &srv = dns["servers"]; - if (srv.is_array()) { - json ns = json::array(); - for(unsigned int i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + } + } + network["rules"] = nrules; + } + } + + if (b.count("authTokens")) { + json &authTokens = b["authTokens"]; + if (authTokens.is_object()) { + json nat; + for(json::iterator t(authTokens.begin());t!=authTokens.end();++t) { + if ((t.value().is_number())&&(t.value() >= 0)) + nat[t.key()] = t.value(); + } + network["authTokens"] = nat; + } else { + network["authTokens"] = {{}}; + } + } + + if (b.count("capabilities")) { + json &capabilities = b["capabilities"]; + if (capabilities.is_array()) { + std::map< uint64_t,json > ncaps; + for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + } + } + } + ncap["rules"] = nrules; + + ncaps[capId] = ncap; + } + } + + json ncapsa = json::array(); + for(std::map< uint64_t,json >::iterator c(ncaps.begin());c!=ncaps.end();++c) { + ncapsa.push_back(c->second); + if (ncapsa.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + network["capabilities"] = ncapsa; + } + } + + if (b.count("tags")) { + json &tags = b["tags"]; + if (tags.is_array()) { + std::map< uint64_t,json > ntags; + for(unsigned long i=0;i::iterator t(ntags.begin());t!=ntags.end();++t) { + ntagsa.push_back(t->second); + if (ntagsa.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + network["tags"] = ntagsa; + } + } + + if (b.count("dns")) { + json &dns = b["dns"]; + if (dns.is_object()) { + json nd; + + nd["domain"] = dns["domain"]; + + json &srv = dns["servers"]; + if (srv.is_array()) { + json ns = json::array(); + for(unsigned int i=0;i &path, - const std::map &urlArgs, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType) +void EmbeddedNetworkController::configureHTTPControlPlane( + httplib::Server &s, + const std::function setContent) { - if (path.empty()) - return 404; + s.Get("/controller/network", [&, setContent](const httplib::Request &req, httplib::Response &res) { + std::set networkIds; + _db.networks(networkIds); + char tmp[64]; - if (path[0] == "network") { - if ((path.size() >= 2)&&(path[1].length() == 16)) { - const uint64_t nwid = Utils::hexStrToU64(path[1].c_str()); - if (path.size() >= 3) { - if ((path.size() == 4)&&(path[2] == "member")&&(path[3].length() == 10)) { - const uint64_t address = Utils::hexStrToU64(path[3].c_str()); + auto out = json::array(); + for(std::set::const_iterator i(networkIds.begin()); i != networkIds.end(); ++i) { + OSUtils::ztsnprintf(tmp, sizeof(tmp), "%.16llx", *i); + out.push_back(tmp); + } - json network,member; - _db.get(nwid,network,address,member); - _db.eraseMember(nwid, address); + setContent(req, res, out.dump()); + }); - { - std::lock_guard l(_memberStatus_l); - _memberStatus.erase(_MemberStatusKey(nwid,address)); - } + s.Get("/controller/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1]; + uint64_t nwid = Utils::hexStrToU64(networkID.str().c_str()); + json network; + if (!_db.get(nwid, network)) { + res.status = 404; + return; + } - if (!member.size()) - return 404; - responseBody = OSUtils::jsonDump(member); - responseContentType = "application/json"; - return 200; - } - } else { - json network; - _db.get(nwid,network); - _db.eraseNetwork(nwid); + setContent(req, res, network.dump()); + }); - { - std::lock_guard l(_memberStatus_l); - for(auto i=_memberStatus.begin();i!=_memberStatus.end();) { - if (i->first.networkId == nwid) - _memberStatus.erase(i++); - else ++i; - } - } - - if (!network.size()) - return 404; - responseBody = OSUtils::jsonDump(network); - responseContentType = "application/json"; - return 200; + auto createNewNetwork = [&, setContent](const httplib::Request &req, httplib::Response &res) { + fprintf(stderr, "creating new network (new style)\n"); + uint64_t nwid = 0; + uint64_t nwidPrefix = (Utils::hexStrToU64(_signingIdAddressString.c_str()) << 24) & 0xffffffffff000000ULL; + uint64_t nwidPostfix = 0; + for(unsigned long k=0;k<100000;++k) { // sanity limit on trials + Utils::getSecureRandom(&nwidPostfix,sizeof(nwidPostfix)); + uint64_t tryNwid = nwidPrefix | (nwidPostfix & 0xffffffULL); + if ((tryNwid & 0xffffffULL) == 0ULL) tryNwid |= 1ULL; + if (!_db.hasNetwork(tryNwid)) { + nwid = tryNwid; + break; } - } // else 404 + } + if (!nwid) { + res.status = 503; + return; + } - } // else 404 + setContent(req, res, networkUpdateFromPostData(nwid, req.body)); + }; + s.Put("/controller/network", createNewNetwork); + s.Post("/controller/network", createNewNetwork); - return 404; + auto createNewNetworkOldAndBusted = [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto inID = req.matches[1].str(); + + if (inID != _signingIdAddressString) { + res.status = 400; + return; + } + + uint64_t nwid = 0; + uint64_t nwidPrefix = (Utils::hexStrToU64(inID.c_str()) << 24) & 0xffffffffff000000ULL; + uint64_t nwidPostfix = 0; + for(unsigned long k=0;k<100000;++k) { // sanity limit on trials + Utils::getSecureRandom(&nwidPostfix,sizeof(nwidPostfix)); + uint64_t tryNwid = nwidPrefix | (nwidPostfix & 0xffffffULL); + if ((tryNwid & 0xffffffULL) == 0ULL) tryNwid |= 1ULL; + if (!_db.hasNetwork(tryNwid)) { + nwid = tryNwid; + break; + } + } + if (!nwid) { + res.status = 503; + return; + } + setContent(req, res, networkUpdateFromPostData(nwid, req.body)); + }; + s.Put("/controller/network/([0-9a-fA-F]{10})______", createNewNetworkOldAndBusted); + s.Post("/controller/network/([0-9a-fA-F]{10})______", createNewNetworkOldAndBusted); + + s.Delete("/controller/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1].str(); + uint64_t nwid = Utils::hexStrToU64(networkID.c_str()); + + json network; + if (!_db.get(nwid,network)) { + res.status = 404; + return; + } + + _db.eraseNetwork(nwid); + setContent(req, res, network.dump()); + }); + + s.Get("/controller/network/([0-9a-fA-F]{16})/member", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1]; + uint64_t nwid = Utils::hexStrToU64(networkID.str().c_str()); + json network; + if (!_db.get(nwid, network)) { + res.status = 404; + return; + } + + json out = json::array(); + std::vector memTmp; + if (_db.get(nwid, network, memTmp)) { + for (auto m = memTmp.begin(); m != memTmp.end(); ++m) { + int revision = OSUtils::jsonInt((*m)["revision"], 0); + std::string id = OSUtils::jsonString((*m)["id"], ""); + if (id.length() == 10) { + json tmp = json::object(); + tmp[id] = revision; + out.push_back(tmp); + } + } + } + + setContent(req, res, out.dump()); + }); + + s.Get("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1]; + auto memberID = req.matches[2]; + uint64_t nwid = Utils::hexStrToU64(networkID.str().c_str()); + uint64_t memid = Utils::hexStrToU64(memberID.str().c_str()); + json network; + json member; + if (!_db.get(nwid, network, memid, member)) { + res.status = 404; + return; + } + + setContent(req, res, member.dump()); + }); + + auto memberPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1].str(); + auto memberID = req.matches[2].str(); + uint64_t nwid = Utils::hexStrToU64(networkID.c_str()); + uint64_t memid = Utils::hexStrToU64(memberID.c_str()); + json network; + json member; + _db.get(nwid, network, memid, member); + DB::initMember(member); + + json b = OSUtils::jsonParse(req.body); + + if (b.count("activeBridge")) member["activeBridge"] = OSUtils::jsonBool(b["activeBridge"], false); + if (b.count("noAutoAssignIps")) member["noAutoAssignIps"] = OSUtils::jsonBool(b["noAutoAssignIps"], false); + if (b.count("authenticationExpiryTime")) member["authenticationExpiryTime"] = (uint64_t)OSUtils::jsonInt(b["authenticationExpiryTime"], 0ULL); + if (b.count("authenticationURL")) member["authenticationURL"] = OSUtils::jsonString(b["authenticationURL"], ""); + + if (b.count("remoteTraceTarget")) { + const std::string rtt(OSUtils::jsonString(b["remoteTraceTarget"],"")); + if (rtt.length() == 10) { + member["remoteTraceTarget"] = rtt; + } else { + member["remoteTraceTarget"] = json(); + } + } + if (b.count("remoteTraceLevel")) member["remoteTraceLevel"] = OSUtils::jsonInt(b["remoteTraceLevel"],0ULL); + + if (b.count("authorized")) { + const bool newAuth = OSUtils::jsonBool(b["authorized"],false); + if (newAuth != OSUtils::jsonBool(member["authorized"],false)) { + member["authorized"] = newAuth; + member[((newAuth) ? "lastAuthorizedTime" : "lastDeauthorizedTime")] = OSUtils::now(); + if (newAuth) { + member["lastAuthorizedCredentialType"] = "api"; + member["lastAuthorizedCredential"] = json(); + } + } + } + + if (b.count("ipAssignments")) { + json &ipa = b["ipAssignments"]; + if (ipa.is_array()) { + json mipa(json::array()); + for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + } + member["ipAssignments"] = mipa; + } + } + + if (b.count("tags")) { + json &tags = b["tags"]; + if (tags.is_array()) { + std::map mtags; + for(unsigned long i=0;i::iterator t(mtags.begin());t!=mtags.end();++t) { + json ta = json::array(); + ta.push_back(t->first); + ta.push_back(t->second); + mtagsa.push_back(ta); + if (mtagsa.size() >= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + member["tags"] = mtagsa; + } + } + + if (b.count("capabilities")) { + json &capabilities = b["capabilities"]; + if (capabilities.is_array()) { + json mcaps = json::array(); + for(unsigned long i=0;i= ZT_CONTROLLER_MAX_ARRAY_SIZE) + break; + } + std::sort(mcaps.begin(),mcaps.end()); + mcaps.erase(std::unique(mcaps.begin(),mcaps.end()),mcaps.end()); + member["capabilities"] = mcaps; + } + } + + member["id"] = memberID; + member["address"] = memberID; + member["nwid"] = networkID; + + DB::cleanMember(member); + _db.save(member, true); + + setContent(req, res, member.dump()); + }; + s.Put("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", memberPost); + s.Post("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", memberPost); + + s.Delete("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1].str(); + auto memberID = req.matches[2].str(); + + uint64_t nwid = Utils::hexStrToU64(networkID.c_str()); + uint64_t address = Utils::hexStrToU64(memberID.c_str()); + json network, member; + + if (!_db.get(nwid, network, address, member)) { + res.status = 404; + return; + } + + if (!member.size()) { + res.status = 404; + return; + } + + _db.eraseMember(nwid, address); + + setContent(req, res, member.dump()); + }); } void EmbeddedNetworkController::handleRemoteTrace(const ZT_RemoteTrace &rt) @@ -1235,36 +1222,66 @@ void EmbeddedNetworkController::_request( const Identity &identity, const Dictionary &metaData) { + Metrics::network_config_request++; + auto tid = std::this_thread::get_id(); + std::stringstream ss; ss << tid; + std::string threadID = ss.str(); +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + auto b1 = _member_status_lookup.Add({{"thread", threadID}}); + auto c1 = _member_status_lookup_count.Add({{"thread", threadID}}); + c1++; + b1.start(); +#endif + char nwids[24]; DB::NetworkSummaryInfo ns; json network,member; - if (((!_signingId)||(!_signingId.hasPrivate()))||(_signingId.address().toInt() != (nwid >> 24))||(!_sender)) + if (((!_signingId)||(!_signingId.hasPrivate()))||(_signingId.address().toInt() != (nwid >> 24))||(!_sender)) { return; + } const int64_t now = OSUtils::now(); - if (requestPacketId) { - std::lock_guard l(_memberStatus_l); - _MemberStatus &ms = _memberStatus[_MemberStatusKey(nwid,identity.address().toInt())]; - if ((now - ms.lastRequestTime) <= ZT_NETCONF_MIN_REQUEST_PERIOD) - return; - ms.lastRequestTime = now; - } - +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b1.stop(); + auto b2 = _node_is_online.Add({{"thread",threadID}}); + auto c2 = _node_is_online_count.Add({{"thread",threadID}}); + c2++; + b2.start(); +#endif _db.nodeIsOnline(nwid,identity.address().toInt(),fromAddr); +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b2.stop(); + auto b3 = _get_and_init_member.Add({{"thread", threadID}}); + auto c3 = _get_and_init_member_count.Add({{"thread",threadID}}); + c3++; + b3.start(); +#endif Utils::hex(nwid,nwids); _db.get(nwid,network,identity.address().toInt(),member,ns); if ((!network.is_object())||(network.empty())) { _sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_OBJECT_NOT_FOUND, nullptr, 0); +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b3.stop(); +#endif return; } const bool newMember = ((!member.is_object())||(member.empty())); DB::initMember(member); _MemberStatusKey msk(nwid,identity.address().toInt()); +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b3.stop(); +#endif { +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + auto b4 = _have_identity.Add({{"thread",threadID}}); + auto c4 = _have_identity_count.Add({{"thread",threadID}}); + c4++; + b4.start(); +#endif const std::string haveIdStr(OSUtils::jsonString(member["identity"],"")); if (haveIdStr.length() > 0) { // If we already know this member's identity perform a full compare. This prevents @@ -1273,10 +1290,16 @@ void EmbeddedNetworkController::_request( try { if (Identity(haveIdStr.c_str()) != identity) { _sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_ACCESS_DENIED, nullptr, 0); + #ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b4.stop(); + #endif return; } } catch ( ... ) { _sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_ACCESS_DENIED, nullptr, 0); + #ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b4.stop(); + #endif return; } } else { @@ -1284,6 +1307,9 @@ void EmbeddedNetworkController::_request( char idtmp[1024]; member["identity"] = identity.toString(false,idtmp); } +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b4.stop(); +#endif } // These are always the same, but make sure they are set @@ -1296,6 +1322,12 @@ void EmbeddedNetworkController::_request( } // Determine whether and how member is authorized +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + auto b5 = _determine_auth.Add({{"thread",threadID}}); + auto c5 = _determine_auth_count.Add({{"thread",threadID}}); + c5++; + b5.start(); +#endif bool authorized = false; bool autoAuthorized = false; json autoAuthCredentialType,autoAuthCredential; @@ -1332,10 +1364,19 @@ void EmbeddedNetworkController::_request( member["lastAuthorizedCredentialType"] = autoAuthCredentialType; member["lastAuthorizedCredential"] = autoAuthCredential; } +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b5.stop(); +#endif // Should we check SSO Stuff? // If network is configured with SSO, and the member is not marked exempt: yes // Otherwise no, we use standard auth logic. +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + auto b6 = _sso_check.Add({{"thread",threadID}}); + auto c6 = _sso_check_count.Add({{"thread",threadID}}); + c6++; + b6.start(); +#endif AuthInfo info; int64_t authenticationExpiryTime = -1; bool networkSSOEnabled = OSUtils::jsonBool(network["ssoEnabled"], false); @@ -1362,10 +1403,20 @@ void EmbeddedNetworkController::_request( } DB::cleanMember(member); _db.save(member,true); + #ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b6.stop(); + #endif return; } } +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b6.stop(); + auto b7 = _auth_check.Add({{"thread",threadID}}); + auto c7 = _auth_check_count.Add({{"thread",threadID}}); + c7++; + b7.start(); +#endif if (authorized) { // Update version info and meta-data if authorized and if this is a genuine request if (requestPacketId) { @@ -1401,8 +1452,14 @@ void EmbeddedNetworkController::_request( DB::cleanMember(member); _db.save(member,true); _sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_ACCESS_DENIED, nullptr, 0); + #ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b7.stop(); + #endif return; } +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b7.stop(); +#endif // ------------------------------------------------------------------------- // If we made it this far, they are authorized (and authenticated). @@ -1410,6 +1467,12 @@ void EmbeddedNetworkController::_request( // Default timeout: 15 minutes. Maximum: two hours. Can be specified by an optional field in the network config // if something longer than 15 minutes is desired. Minimum is 5 minutes since shorter than that would be flaky. +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + auto b8 = _json_schlep.Add({{"thread",threadID}}); + auto c8 = _json_schlep_count.Add({{"thread", threadID}}); + c8++; + b8.start(); +#endif int64_t credentialtmd = ZT_NETWORKCONFIG_DEFAULT_CREDENTIAL_TIME_DFL_MAX_DELTA; if (network.contains("certificateTimeoutWindowSize")) { credentialtmd = (int64_t)network["certificateTimeoutWindowSize"]; @@ -1477,8 +1540,9 @@ void EmbeddedNetworkController::_request( nc->remoteTraceLevel = (Trace::Level)OSUtils::jsonInt(network["remoteTraceLevel"],0ULL); } - for(std::vector
::const_iterator ab(ns.activeBridges.begin());ab!=ns.activeBridges.end();++ab) + for(std::vector
::const_iterator ab(ns.activeBridges.begin());ab!=ns.activeBridges.end();++ab) { nc->addSpecialist(*ab,ZT_NETWORKCONFIG_SPECIALIST_TYPE_ACTIVE_BRIDGE); + } json &v4AssignMode = network["v4AssignMode"]; json &v6AssignMode = network["v6AssignMode"]; @@ -1607,7 +1671,7 @@ void EmbeddedNetworkController::_request( *(reinterpret_cast(&(r->target))) = t; if (v.ss_family == t.ss_family) *(reinterpret_cast(&(r->via))) = v; - ++nc->routeCount; + ++nc->routeCount; } } } @@ -1798,12 +1862,22 @@ void EmbeddedNetworkController::_request( } else { dns = json::object(); } +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b8.stop(); +#endif // Issue a certificate of ownership for all static IPs +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + auto b9 = _issue_certificate.Add({{"thread",threadID}}); + auto c9 = _issue_certificate_count.Add({{"thread",threadID}}); + c9++; + b9.start(); +#endif if (nc->staticIpCount) { nc->certificatesOfOwnership[0] = CertificateOfOwnership(nwid,now,identity.address(),1); - for(unsigned int i=0;istaticIpCount;++i) + for(unsigned int i=0;istaticIpCount;++i) { nc->certificatesOfOwnership[0].addThing(nc->staticIps[i]); + } nc->certificatesOfOwnership[0].sign(_signingId); nc->certificateOfOwnershipCount = 1; } @@ -1813,26 +1887,48 @@ void EmbeddedNetworkController::_request( nc->com = com; } else { _sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_INTERNAL_SERVER_ERROR, nullptr, 0); + #ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b9.stop(); + #endif return; } +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b9.stop(); + auto b10 = _save_member.Add({{"thread",threadID}}); + auto c10 = _save_member_count.Add({{"thread",threadID}}); + c10++; + b10.start(); +#endif DB::cleanMember(member); _db.save(member,true); +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b10.stop(); + + auto b11 = _send_netconf.Add({{"thread",threadID}}); + auto c11 = _send_netconf_count.Add({{"thread",threadID}}); + c11++; + b11.start(); +#endif _sender->ncSendConfig(nwid,requestPacketId,identity.address(),*(nc.get()),metaData.getUI(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_VERSION,0) < 6); +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + b11.stop(); +#endif } void EmbeddedNetworkController::_startThreads() { std::lock_guard l(_threads_l); - if (!_threads.empty()) + if (!_threads.empty()) { return; + } const long hwc = std::max((long)std::thread::hardware_concurrency(),(long)1); for(long t=0;t expired; - nlohmann::json network, member; + Metrics::network_config_request_threads++; for(;;) { _RQEntry *qe = (_RQEntry *)0; + Metrics::network_config_request_queue_size = _queue.size(); auto timedWaitResult = _queue.get(qe, 1000); if (timedWaitResult == BlockingQueue<_RQEntry *>::STOP) { break; @@ -1846,38 +1942,48 @@ void EmbeddedNetworkController::_startThreads() fprintf(stderr,"ERROR: exception in controller request handling thread: unknown exception" ZT_EOL_S); } delete qe; + qe = nullptr; } } - - expired.clear(); - int64_t now = OSUtils::now(); - { - std::lock_guard l(_expiringSoon_l); - for(auto s=_expiringSoon.begin();s!=_expiringSoon.end();) { - const int64_t when = s->first; - if (when <= now) { - // The user may have re-authorized, so we must actually look it up and check. - network.clear(); - member.clear(); - if (_db.get(s->second.networkId, network, s->second.nodeId, member)) { - int64_t authenticationExpiryTime = (int64_t)OSUtils::jsonInt(member["authenticationExpiryTime"], 0); - if (authenticationExpiryTime <= now) { - expired.push_back(s->second); - } - } - _expiringSoon.erase(s++); - } else { - // Don't bother going further into the future than necessary. - break; - } - } - } - for(auto e=expired.begin();e!=expired.end();++e) { - onNetworkMemberDeauthorize(nullptr, e->networkId, e->nodeId); - } } + Metrics::network_config_request_threads--; }); } } +void EmbeddedNetworkController::_ssoExpiryThread() { + while(_ssoExpiryRunning) { + std::vector<_MemberStatusKey> expired; + nlohmann::json network, member; + int64_t now = OSUtils::now(); + { + std::lock_guard l(_expiringSoon_l); + for(auto s=_expiringSoon.begin();s!=_expiringSoon.end();) { + Metrics::sso_expiration_checks++; + const int64_t when = s->first; + if (when <= now) { + // The user may have re-authorized, so we must actually look it up and check. + network.clear(); + member.clear(); + if (_db.get(s->second.networkId, network, s->second.nodeId, member)) { + int64_t authenticationExpiryTime = (int64_t)OSUtils::jsonInt(member["authenticationExpiryTime"], 0); + if (authenticationExpiryTime <= now) { + expired.push_back(s->second); + } + } + s = _expiringSoon.erase(s); + } else { + // Don't bother going further into the future than necessary. + break; + } + } + } + for(auto e=expired.begin();e!=expired.end();++e) { + Metrics::sso_member_deauth++; + onNetworkMemberDeauthorize(nullptr, e->networkId, e->nodeId); + } + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + } +} + } // namespace ZeroTier diff --git a/controller/EmbeddedNetworkController.hpp b/controller/EmbeddedNetworkController.hpp index bc95acb58..ef369be39 100644 --- a/controller/EmbeddedNetworkController.hpp +++ b/controller/EmbeddedNetworkController.hpp @@ -37,6 +37,8 @@ #include +#include + #include "DB.hpp" #include "DBMirrorSet.hpp" @@ -66,27 +68,9 @@ public: const Identity &identity, const Dictionary &metaData); - unsigned int handleControlPlaneHttpGET( - const std::vector &path, - const std::map &urlArgs, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType); - unsigned int handleControlPlaneHttpPOST( - const std::vector &path, - const std::map &urlArgs, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType); - unsigned int handleControlPlaneHttpDELETE( - const std::vector &path, - const std::map &urlArgs, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType); + void configureHTTPControlPlane( + httplib::Server &s, + const std::function); void handleRemoteTrace(const ZT_RemoteTrace &rt); @@ -97,6 +81,9 @@ public: private: void _request(uint64_t nwid,const InetAddress &fromAddr,uint64_t requestPacketId,const Identity &identity,const Dictionary &metaData); void _startThreads(); + void _ssoExpiryThread(); + + std::string networkUpdateFromPostData(uint64_t networkID, const std::string &body); struct _RQEntry { @@ -160,6 +147,34 @@ private: RedisConfig *_rc; std::string _ssoRedirectURL; + + bool _ssoExpiryRunning; + std::thread _ssoExpiry; + +#ifdef CENTRAL_CONTROLLER_REQUEST_BENCHMARK + prometheus::simpleapi::benchmark_family_t _member_status_lookup; + prometheus::simpleapi::counter_family_t _member_status_lookup_count; + prometheus::simpleapi::benchmark_family_t _node_is_online; + prometheus::simpleapi::counter_family_t _node_is_online_count; + prometheus::simpleapi::benchmark_family_t _get_and_init_member; + prometheus::simpleapi::counter_family_t _get_and_init_member_count; + prometheus::simpleapi::benchmark_family_t _have_identity; + prometheus::simpleapi::counter_family_t _have_identity_count; + prometheus::simpleapi::benchmark_family_t _determine_auth; + prometheus::simpleapi::counter_family_t _determine_auth_count; + prometheus::simpleapi::benchmark_family_t _sso_check; + prometheus::simpleapi::counter_family_t _sso_check_count; + prometheus::simpleapi::benchmark_family_t _auth_check; + prometheus::simpleapi::counter_family_t _auth_check_count; + prometheus::simpleapi::benchmark_family_t _json_schlep; + prometheus::simpleapi::counter_family_t _json_schlep_count; + prometheus::simpleapi::benchmark_family_t _issue_certificate; + prometheus::simpleapi::counter_family_t _issue_certificate_count; + prometheus::simpleapi::benchmark_family_t _save_member; + prometheus::simpleapi::counter_family_t _save_member_count; + prometheus::simpleapi::benchmark_family_t _send_netconf; + prometheus::simpleapi::counter_family_t _send_netconf_count; +#endif }; } // namespace ZeroTier diff --git a/controller/FileDB.cpp b/controller/FileDB.cpp index d454e93e1..0ced1226a 100644 --- a/controller/FileDB.cpp +++ b/controller/FileDB.cpp @@ -13,6 +13,8 @@ #include "FileDB.hpp" +#include "../node/Metrics.hpp" + namespace ZeroTier { @@ -39,6 +41,7 @@ FileDB::FileDB(const char *path) : if (nwids.length() == 16) { nlohmann::json nullJson; _networkChanged(nullJson,network,false); + Metrics::network_count++; std::string membersPath(_networksPath + ZT_PATH_SEPARATOR_S + nwids + ZT_PATH_SEPARATOR_S "member"); std::vector members(OSUtils::listDirectory(membersPath.c_str(),false)); for(auto m=members.begin();m!=members.end();++m) { @@ -50,6 +53,7 @@ FileDB::FileDB(const char *path) : if (addrs.length() == 10) { nlohmann::json nullJson2; _memberChanged(nullJson2,member,false); + Metrics::member_count++; } } catch ( ... ) {} } @@ -88,8 +92,9 @@ bool FileDB::save(nlohmann::json &record,bool notifyListeners) if ((!old.is_object())||(!_compareRecords(old,record))) { record["revision"] = OSUtils::jsonInt(record["revision"],0ULL) + 1ULL; OSUtils::ztsnprintf(p1,sizeof(p1),"%s" ZT_PATH_SEPARATOR_S "%.16llx.json",_networksPath.c_str(),nwid); - if (!OSUtils::writeFile(p1,OSUtils::jsonDump(record,-1))) + if (!OSUtils::writeFile(p1,OSUtils::jsonDump(record,-1))) { fprintf(stderr,"WARNING: controller unable to write to path: %s" ZT_EOL_S,p1); + } _networkChanged(old,record,notifyListeners); modified = true; } @@ -110,8 +115,9 @@ bool FileDB::save(nlohmann::json &record,bool notifyListeners) OSUtils::ztsnprintf(p2,sizeof(p2),"%s" ZT_PATH_SEPARATOR_S "%.16llx",_networksPath.c_str(),(unsigned long long)nwid); OSUtils::mkdir(p2); OSUtils::mkdir(pb); - if (!OSUtils::writeFile(p1,OSUtils::jsonDump(record,-1))) + if (!OSUtils::writeFile(p1,OSUtils::jsonDump(record,-1))) { fprintf(stderr,"WARNING: controller unable to write to path: %s" ZT_EOL_S,p1); + } } _memberChanged(old,record,notifyListeners); modified = true; diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp index e7bdd052f..319c02684 100644 --- a/controller/PostgreSQL.cpp +++ b/controller/PostgreSQL.cpp @@ -119,6 +119,7 @@ MemberNotificationReceiver::MemberNotificationReceiver(PostgreSQL *p, pqxx::conn void MemberNotificationReceiver::operator() (const std::string &payload, int packend_pid) { fprintf(stderr, "Member Notification received: %s\n", payload.c_str()); + Metrics::pgsql_mem_notification++; json tmp(json::parse(payload)); json &ov = tmp["old_val"]; json &nv = tmp["new_val"]; @@ -141,6 +142,7 @@ NetworkNotificationReceiver::NetworkNotificationReceiver(PostgreSQL *p, pqxx::co void NetworkNotificationReceiver::operator() (const std::string &payload, int packend_pid) { fprintf(stderr, "Network Notification received: %s\n", payload.c_str()); + Metrics::pgsql_net_notification++; json tmp(json::parse(payload)); json &ov = tmp["old_val"]; json &nv = tmp["new_val"]; @@ -372,6 +374,7 @@ void PostgreSQL::nodeIsOnline(const uint64_t networkId, const uint64_t memberId, AuthInfo PostgreSQL::getSSOAuthInfo(const nlohmann::json &member, const std::string &redirectURL) { + Metrics::db_get_sso_info++; // NONCE is just a random character string. no semantic meaning // state = HMAC SHA384 of Nonce based on shared sso key // @@ -386,9 +389,16 @@ AuthInfo PostgreSQL::getSSOAuthInfo(const nlohmann::json &member, const std::str char authenticationURL[4096] = {0}; AuthInfo info; info.enabled = true; + + //if (memberId == "a10dccea52" && networkId == "8056c2e21c24673d") { + // fprintf(stderr, "invalid authinfo for grant's machine\n"); + // info.version=1; + // return info; + //} // fprintf(stderr, "PostgreSQL::updateMemberOnLoad: %s-%s\n", networkId.c_str(), memberId.c_str()); + std::shared_ptr c; try { - auto c = _pool->borrow(); + c = _pool->borrow(); pqxx::work w(*c->c); char nonceBytes[16] = {0}; @@ -450,7 +460,7 @@ AuthInfo PostgreSQL::getSSOAuthInfo(const nlohmann::json &member, const std::str "LEFT OUTER JOIN ztc_network_oidc_config noc " " ON noc.network_id = n.id " "LEFT OUTER JOIN ztc_oidc_config oc " - " ON noc.client_id = oc.client_id AND noc.org_id = o.org_id " + " ON noc.client_id = oc.client_id AND oc.org_id = o.org_id " "WHERE n.id = $1 AND n.sso_enabled = true", networkId); std::string client_id = ""; @@ -460,11 +470,11 @@ AuthInfo PostgreSQL::getSSOAuthInfo(const nlohmann::json &member, const std::str uint64_t sso_version = 0; if (r.size() == 1) { - client_id = r.at(0)[0].as(); - authorization_endpoint = r.at(0)[1].as(); - issuer = r.at(0)[2].as(); - provider = r.at(0)[3].as(); - sso_version = r.at(0)[4].as(); + client_id = r.at(0)[0].as>().value_or(""); + authorization_endpoint = r.at(0)[1].as>().value_or(""); + issuer = r.at(0)[2].as>().value_or(""); + provider = r.at(0)[3].as>().value_or(""); + sso_version = r.at(0)[4].as>().value_or(1); } else if (r.size() > 1) { fprintf(stderr, "ERROR: More than one auth endpoint for an organization?!?!? NetworkID: %s\n", networkId.c_str()); } else { @@ -705,6 +715,8 @@ void PostgreSQL::initializeNetworks() } } + Metrics::network_count++; + _networkChanged(empty, config, false); auto end = std::chrono::high_resolution_clock::now(); @@ -772,7 +784,7 @@ void PostgreSQL::initializeMembers() if (_redisMemberStatus) { fprintf(stderr, "Initialize Redis for members...\n"); - std::lock_guard l(_networks_l); + std::unique_lock l(_networks_l); std::unordered_set deletes; for ( auto it : _networks) { uint64_t nwid_i = it.first; @@ -925,6 +937,8 @@ void PostgreSQL::initializeMembers() } } + Metrics::member_count++; + _memberChanged(empty, config, false); memberId = ""; @@ -1011,8 +1025,6 @@ void PostgreSQL::heartbeat() int64_t ts = OSUtils::now(); if(c->c) { - pqxx::work w{*c->c}; - std::string major = std::to_string(ZEROTIER_ONE_VERSION_MAJOR); std::string minor = std::to_string(ZEROTIER_ONE_VERSION_MINOR); std::string rev = std::to_string(ZEROTIER_ONE_VERSION_REVISION); @@ -1023,21 +1035,23 @@ void PostgreSQL::heartbeat() std::string redis_mem_status = (_redisMemberStatus) ? "true" : "false"; try { - pqxx::result res = w.exec0("INSERT INTO ztc_controller (id, cluster_host, last_alive, public_identity, v_major, v_minor, v_rev, v_build, host_port, use_redis, redis_member_status) " - "VALUES ("+w.quote(controllerId)+", "+w.quote(hostname)+", TO_TIMESTAMP("+now+"::double precision/1000), "+ - w.quote(publicIdentity)+", "+major+", "+minor+", "+rev+", "+build+", "+host_port+", "+use_redis+", "+redis_mem_status+") " - "ON CONFLICT (id) DO UPDATE SET cluster_host = EXCLUDED.cluster_host, last_alive = EXCLUDED.last_alive, " - "public_identity = EXCLUDED.public_identity, v_major = EXCLUDED.v_major, v_minor = EXCLUDED.v_minor, " - "v_rev = EXCLUDED.v_rev, v_build = EXCLUDED.v_rev, host_port = EXCLUDED.host_port, " - "use_redis = EXCLUDED.use_redis, redis_member_status = EXCLUDED.redis_member_status"); + pqxx::work w{*c->c}; + + pqxx::result res = + w.exec0("INSERT INTO ztc_controller (id, cluster_host, last_alive, public_identity, v_major, v_minor, v_rev, v_build, host_port, use_redis, redis_member_status) " + "VALUES ("+w.quote(controllerId)+", "+w.quote(hostname)+", TO_TIMESTAMP("+now+"::double precision/1000), "+ + w.quote(publicIdentity)+", "+major+", "+minor+", "+rev+", "+build+", "+host_port+", "+use_redis+", "+redis_mem_status+") " + "ON CONFLICT (id) DO UPDATE SET cluster_host = EXCLUDED.cluster_host, last_alive = EXCLUDED.last_alive, " + "public_identity = EXCLUDED.public_identity, v_major = EXCLUDED.v_major, v_minor = EXCLUDED.v_minor, " + "v_rev = EXCLUDED.v_rev, v_build = EXCLUDED.v_rev, host_port = EXCLUDED.host_port, " + "use_redis = EXCLUDED.use_redis, redis_member_status = EXCLUDED.redis_member_status"); + w.commit(); } catch (std::exception &e) { - fprintf(stderr, "Heartbeat update failed: %s\n", e.what()); - w.abort(); - _pool->unborrow(c); + fprintf(stderr, "%s: Heartbeat update failed: %s\n", controllerId, e.what()); std::this_thread::sleep_for(std::chrono::milliseconds(1000)); continue; - } - w.commit(); + } + } _pool->unborrow(c); @@ -1138,6 +1152,7 @@ void PostgreSQL::_membersWatcher_Redis() { _redis->xdel(key, id); } lastID = id; + Metrics::redis_mem_notification++; } } } @@ -1228,6 +1243,7 @@ void PostgreSQL::_networksWatcher_Redis() { } lastID = id; } + Metrics::redis_net_notification++; } } } catch (sw::redis::Error &e) { @@ -1261,6 +1277,7 @@ void PostgreSQL::commitThread() continue; } + Metrics::pgsql_commit_ticks++; try { nlohmann::json &config = (qitem.first); const std::string objtype = config["objtype"]; @@ -1587,7 +1604,6 @@ void PostgreSQL::commitThread() } _pool->unborrow(c); c.reset(); - std::this_thread::sleep_for(std::chrono::milliseconds(100)); } fprintf(stderr, "%s commitThread finished\n", _myAddressStr.c_str()); @@ -1679,6 +1695,7 @@ void PostgreSQL::onlineNotification_Postgres() << " ON CONFLICT (network_id, member_id) DO UPDATE SET address = EXCLUDED.address, last_updated = EXCLUDED.last_updated"; pipe.insert(memberUpdate.str()); + Metrics::pgsql_node_checkin++; } while(!pipe.empty()) { pipe.retrieve(); @@ -1786,6 +1803,7 @@ uint64_t PostgreSQL::_doRedisUpdate(sw::redis::Transaction &tx, std::string &con .sadd("network-nodes-all:{"+controllerId+"}:"+networkId, memberId) .hmset("member:{"+controllerId+"}:"+networkId+":"+memberId, record.begin(), record.end()); ++count; + Metrics::redis_node_checkin++; } // expire records from all-nodes and network-nodes member list @@ -1801,7 +1819,7 @@ uint64_t PostgreSQL::_doRedisUpdate(sw::redis::Transaction &tx, std::string &con sw::redis::RightBoundedInterval(expireOld, sw::redis::BoundType::LEFT_OPEN)); { - std::lock_guard l(_networks_l); + std::shared_lock l(_networks_l); for (const auto &it : _networks) { uint64_t nwid_i = it.first; char nwidTmp[64]; diff --git a/controller/PostgreSQL.hpp b/controller/PostgreSQL.hpp index c37c4e1a1..8eea3608a 100644 --- a/controller/PostgreSQL.hpp +++ b/controller/PostgreSQL.hpp @@ -26,6 +26,8 @@ #include #include +#include "../node/Metrics.hpp" + extern "C" { typedef struct pg_conn PGconn; } @@ -53,6 +55,7 @@ public: } virtual std::shared_ptr create() { + Metrics::conn_counter++; auto c = std::shared_ptr(new PostgresConnection()); c->c = std::make_shared(m_connString); return std::static_pointer_cast(c); diff --git a/controller/README.md b/controller/README.md index 331710a15..41cfd3ff3 100644 --- a/controller/README.md +++ b/controller/README.md @@ -3,7 +3,7 @@ Network Controller Microservice Every ZeroTier virtual network has a *network controller* responsible for admitting members to the network, issuing certificates, and issuing default configuration information. -This is our reference controller implementation and is the same one we use to power our own hosted services at [my.zerotier.com](https://my.zerotier.com/). As of ZeroTier One version 1.2.0 this code is included in normal builds for desktop, laptop, and server (Linux, etc.) targets. +This is our reference controller implementation and is almost the same as the one we use to power our own hosted services at [my.zerotier.com](https://my.zerotier.com/). The only difference is the database backend used. Controller data is stored in JSON format under `controller.d` in the ZeroTier working directory. It can be copied, rsync'd, placed in `git`, etc. The files under `controller.d` should not be modified in place while the controller is running or data loss may result, and if they are edited directly take care not to save corrupt JSON since that can also lead to data loss when the controller is restarted. Going through the API is strongly preferred to directly modifying these files. @@ -19,10 +19,6 @@ Since ZeroTier nodes are mobile and do not need static IPs, implementing high av ZeroTier network controllers can easily be run in Docker or other container systems. Since containers do not need to actually join networks, extra privilege options like "--device=/dev/net/tun --privileged" are not needed. You'll just need to map the local JSON API port of the running controller and allow it to access the Internet (over UDP/9993 at a minimum) so things can reach and query it. -### PostgreSQL Database Implementation - -The default controller stores its data in the filesystem in `controller.d` under ZeroTier's home folder. There's an alternative implementation that stores data in PostgreSQL that can be built with `make central-controller`. Right now this is only guaranteed to build and run on Centos 7 Linux with PostgreSQL 10 installed via the [PostgreSQL Yum Repository](https://www.postgresql.org/download/linux/redhat/) and is designed for use with [ZeroTier Central](https://my.zerotier.com/). You're welcome to use it but we don't "officially" support it for end-user use and it could change at any time. - ### Upgrading from Older (1.1.14 or earlier) Versions Older versions of this code used a SQLite database instead of in-filesystem JSON. A migration utility called `migrate-sqlite` is included here and *must* be used to migrate this data to the new format. If the controller is started with an old `controller.db` in its working directory it will terminate after printing an error to *stderr*. This is done to prevent "surprises" for those running DIY controllers using the old code. @@ -43,210 +39,17 @@ While networks with any valid ID can be added to the controller's database, it w The controller JSON API is *very* sensitive about types. Integers must be integers and strings strings, etc. Incorrect types may be ignored, set to default values, or set to undefined values. -#### `/controller` +Full documentation of the Controller API can be found on our [documentation site](https://docs.zerotier.com/service/v1#tag/controller) - * Purpose: Check for controller function and return controller status - * Methods: GET - * Returns: { object } +### Prometheus Metrics -| Field | Type | Description | Writable | -| ------------------ | ----------- | ------------------------------------------------- | -------- | -| controller | boolean | Always 'true' | no | -| apiVersion | integer | Controller API version, currently 3 | no | -| clock | integer | Current clock on controller, ms since epoch | no | - -#### `/controller/network` - - * Purpose: List all networks hosted by this controller - * Methods: GET - * Returns: [ string, ... ] - -This returns an array of 16-digit hexadecimal network IDs. - -#### `/controller/network/` - - * Purpose: Create, configure, and delete hosted networks - * Methods: GET, POST, DELETE - * Returns: { object } - -By making queries to this path you can create, configure, and delete networks. DELETE is final, so don't do it unless you really mean it. - -When POSTing new networks take care that their IDs are not in use, otherwise you may overwrite an existing one. To create a new network with a random unused ID, POST to `/controller/network/##########______`. The #'s are the controller's 10-digit ZeroTier address and they're followed by six underscores. Check the `nwid` field of the returned JSON object for your network's newly allocated ID. Subsequent POSTs to this network must refer to its actual path. - -Example: - -`curl -X POST --header "X-ZT1-Auth: secret" -d '{"name":"my network"}' http://localhost:9993/controller/network/305f406058______` - -**Network object format:** - -| Field | Type | Description | Writable | -| --------------------- | ------------- | ------------------------------------------------- | -------- | -| id | string | 16-digit network ID | no | -| nwid | string | 16-digit network ID (legacy) | no | -| objtype | string | Always "network" | no | -| name | string | A short name for this network | YES | -| creationTime | integer | Time network record was created (ms since epoch) | no | -| private | boolean | Is access control enabled? | YES | -| enableBroadcast | boolean | Ethernet ff:ff:ff:ff:ff:ff allowed? | YES | -| v4AssignMode | object | IPv4 management and assign options (see below) | YES | -| v6AssignMode | object | IPv6 management and assign options (see below) | YES | -| mtu | integer | Network MTU (default: 2800) | YES | -| multicastLimit | integer | Maximum recipients for a multicast packet | YES | -| revision | integer | Network config revision counter | no | -| routes | array[object] | Managed IPv4 and IPv6 routes; see below | YES | -| ipAssignmentPools | array[object] | IP auto-assign ranges; see below | YES | -| rules | array[object] | Traffic rules; see below | YES | -| capabilities | array[object] | Array of capability objects (see below) | YES | -| tags | array[object] | Array of tag objects (see below) | YES | -| remoteTraceTarget | string | 10-digit ZeroTier ID of remote trace target | YES | -| remoteTraceLevel | integer | Remote trace verbosity level | YES | - - * Networks without rules won't carry any traffic. If you don't specify any on network creation an "accept anything" rule set will automatically be added. - * Managed IP address assignments and IP assignment pools that do not fall within a route configured in `routes` are ignored and won't be used or sent to members. - * The default for `private` is `true` and this is probably what you want. Turning `private` off means *anyone* can join your network with only its 16-digit network ID. It's also impossible to de-authorize a member as these networks don't issue or enforce certificates. Such "party line" networks are used for decentralized app backplanes, gaming, and testing but are otherwise not common. - * Changing the MTU can be disruptive and on some operating systems may require a leave/rejoin of the network or a restart of the ZeroTier service. - -**Auto-Assign Modes:** - -Auto assign modes (`v4AssignMode` and `v6AssignMode`) contain objects that map assignment modes to booleans. - -For IPv4 the only valid setting is `zt` which, if true, causes IPv4 addresses to be auto-assigned from `ipAssignmentPools` to members that do not have an IPv4 assignment. Note that active bridges are exempt and will not get auto-assigned IPs since this can interfere with bridging. (You can still manually assign one if you want.) - -IPv6 includes this option and two others: `6plane` and `rfc4193`. These assign private IPv6 addresses to each member based on a deterministic assignment scheme that allows members to emulate IPv6 NDP to skip multicast for better performance and scalability. The `rfc4193` mode gives every member a /128 on a /88 network, while `6plane` gives every member a /80 within a /40 network but uses NDP emulation to route *all* IPs under that /80 to its owner. The `6plane` mode is great for use cases like Docker since it allows every member to assign IPv6 addresses within its /80 that just work instantly and globally across the network. - -**IP assignment pool object format:** - -| Field | Type | Description | -| --------------------- | ------------- | ------------------------------------------------- | -| ipRangeStart | string | Starting IP address in range | -| ipRangeEnd | string | Ending IP address in range (inclusive) | - -Pools are only used if auto-assignment is on for the given address type (IPv4 or IPv6) and if the entire range falls within a managed route. - -IPv6 ranges work just like IPv4 ranges and look like this: - - { - "ipRangeStart": "fd00:feed:feed:beef:0000:0000:0000:0000", - "ipRangeEnd": "fd00:feed:feed:beef:ffff:ffff:ffff:ffff" - } - -(You can POST a shortened-form IPv6 address but the API will always report back un-shortened canonical form addresses.) - -That defines a range within network `fd00:feed:feed:beef::/64` that contains up to 2^64 addresses. If an IPv6 range is large enough, the controller will assign addresses by placing each member's device ID into the address in a manner similar to the RFC4193 and 6PLANE modes. Otherwise it will assign addresses at random. - -**Managed Route object format:** - -| Field | Type | Description | -| --------------------- | ------------- | ------------------------------------------------- | -| target | string | Subnet in CIDR notation | -| via | string/null | Next hop router IP address | - -Managed Route objects look like this: - - { - "target": "10.147.20.0/24" - } - -or - - { - "target": "192.168.168.0/24", - "via": "10.147.20.1" - } - -**Rule object format:** - -Each rule is actually a sequence of zero or more `MATCH_` entries in the rule array followed by an `ACTION_` entry that describes what to do if all the preceding entries match. An `ACTION_` without any preceding `MATCH_` entries is always taken, so setting a single `ACTION_ACCEPT` rule yields a network that allows all traffic. If no rules are present the default action is `ACTION_DROP`. - -Rules are evaluated in the order in which they appear in the array. There is currently a limit of 256 entries per network. Capabilities should be used if a larger and more complex rule set is needed since they allow rules to be grouped by purpose and only shipped to members that need them. - -Each rule table entry has two common fields. - -| Field | Type | Description | -| --------------------- | ------------- | ------------------------------------------------- | -| type | string | Entry type (all caps, case sensitive) | -| not | boolean | If true, MATCHes match if they don't match | - -The following fields may or may not be present depending on rule type: - -| Field | Type | Description | -| --------------------- | ------------- | ------------------------------------------------- | -| zt | string | 10-digit hex ZeroTier address | -| etherType | integer | Ethernet frame type | -| mac | string | Hex MAC address (with or without :'s) | -| ip | string | IPv4 or IPv6 address | -| ipTos | integer | IP type of service | -| ipProtocol | integer | IP protocol (e.g. TCP) | -| start | integer | Start of an integer range (e.g. port range) | -| end | integer | End of an integer range (inclusive) | -| id | integer | Tag ID | -| value | integer | Tag value or comparison value | -| mask | integer | Bit mask (for characteristics flags) | - -The entry types and their additional fields are: - -| Entry type | Description | Fields | -| ------------------------------- | ----------------------------------------------------------------- | -------------- | -| `ACTION_DROP` | Drop any packets matching this rule | (none) | -| `ACTION_ACCEPT` | Accept any packets matching this rule | (none) | -| `ACTION_TEE` | Send a copy of this packet to a node (rule parsing continues) | `zt` | -| `ACTION_REDIRECT` | Redirect this packet to another node | `zt` | -| `ACTION_DEBUG_LOG` | Output debug info on match (if built with rules engine debug) | (none) | -| `MATCH_SOURCE_ZEROTIER_ADDRESS` | Match VL1 ZeroTier address of packet sender. | `zt` | -| `MATCH_DEST_ZEROTIER_ADDRESS` | Match VL1 ZeroTier address of recipient | `zt` | -| `MATCH_ETHERTYPE` | Match Ethernet frame type | `etherType` | -| `MATCH_MAC_SOURCE` | Match source Ethernet MAC address | `mac` | -| `MATCH_MAC_DEST` | Match destination Ethernet MAC address | `mac` | -| `MATCH_IPV4_SOURCE` | Match source IPv4 address | `ip` | -| `MATCH_IPV4_DEST` | Match destination IPv4 address | `ip` | -| `MATCH_IPV6_SOURCE` | Match source IPv6 address | `ip` | -| `MATCH_IPV6_DEST` | Match destination IPv6 address | `ip` | -| `MATCH_IP_TOS` | Match IP TOS field | `ipTos` | -| `MATCH_IP_PROTOCOL` | Match IP protocol field | `ipProtocol` | -| `MATCH_IP_SOURCE_PORT_RANGE` | Match a source IP port range | `start`,`end` | -| `MATCH_IP_DEST_PORT_RANGE` | Match a destination IP port range | `start`,`end` | -| `MATCH_CHARACTERISTICS` | Match on characteristics flags | `mask`,`value` | -| `MATCH_FRAME_SIZE_RANGE` | Match a range of Ethernet frame sizes | `start`,`end` | -| `MATCH_TAGS_SAMENESS` | Match if both sides' tags differ by no more than value | `id`,`value` | -| `MATCH_TAGS_BITWISE_AND` | Match if both sides' tags AND to value | `id`,`value` | -| `MATCH_TAGS_BITWISE_OR` | Match if both sides' tags OR to value | `id`,`value` | -| `MATCH_TAGS_BITWISE_XOR` | Match if both sides' tags XOR to value | `id`,`value` | - -Important notes about rules engine behavior: - - * IPv4 and IPv6 IP address rules do not match for frames that are not IPv4 or IPv6 respectively. - * `ACTION_DEBUG_LOG` is a no-op on nodes not built with `ZT_RULES_ENGINE_DEBUGGING` enabled (see Network.cpp). If that is enabled nodes will dump a trace of rule evaluation results to *stdout* when this action is encountered but will otherwise keep evaluating rules. This is used for basic "smoke testing" of the rules engine. - * Multicast packets and packets destined for bridged devices treated a little differently. They are matched more than once. They are matched at the point of send with a NULL ZeroTier destination address, meaning that `MATCH_DEST_ZEROTIER_ADDRESS` is useless. That's because the true VL1 destination is not yet known. Then they are matched again for each true VL1 destination. On these later subsequent matches TEE actions are ignored and REDIRECT rules are interpreted as DROPs. This prevents multiple TEE or REDIRECT packets from being sent to third party devices. - * Rules in capabilities are always matched as if the current device is the sender (inbound == false). A capability specifies sender side rules that can be enforced on both sides. - -#### `/controller/network//member` - - * Purpose: Get a set of all members on this network - * Methods: GET - * Returns: { object } - -This returns a JSON object containing all member IDs as keys and their `memberRevisionCounter` values as values. - -#### `/controller/network//member/
` - - * Purpose: Create, authorize, or remove a network member - * Methods: GET, POST, DELETE - * Returns: { object } - -| Field | Type | Description | Writable | -| --------------------- | ------------- | ------------------------------------------------- | -------- | -| id | string | Member's 10-digit ZeroTier address | no | -| address | string | Member's 10-digit ZeroTier address | no | -| nwid | string | 16-digit network ID | no | -| authorized | boolean | Is member authorized? (for private networks) | YES | -| activeBridge | boolean | Member is able to bridge to other Ethernet nets | YES | -| identity | string | Member's public ZeroTier identity (if known) | no | -| ipAssignments | array[string] | Managed IP address assignments | YES | -| revision | integer | Member revision counter | no | -| vMajor | integer | Most recently known major version | no | -| vMinor | integer | Most recently known minor version | no | -| vRev | integer | Most recently known revision | no | -| vProto | integer | Most recently known protocol version | no | - -Note that managed IP assignments are only used if they fall within a managed route. Otherwise they are ignored. +Controller specific metrics are available from the `/metrics` endpoint. +| Metric Name | Type | Description | +| --- | --- | --- | +| controller_network_count | Gauge | number of networks the controller is serving | +| controller_member_count | Gauge | number of network members the controller is serving | +| controller_network_change_count | Counter | number of times a network configuration is changed | +| controller_member_change_count | Counter | number of times a network member configuration is changed | +| controller_member_auth_count | Counter | number of network member auths | +| controller_member_deauth_count | Counter | number of network member deauths| diff --git a/debian/changelog b/debian/changelog index 76d9d0408..e03a94a20 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +zerotier-one (1.12.0) unstable; urgency=medium + + * See RELEASE-NOTES.md for release notes. + + -- Adam Ierymenko Thu, 17 Aug 2023 01:00:00 -0700 + zerotier-one (1.10.6) unstable; urgency=medium * See RELEASE-NOTES.md for release notes. diff --git a/debian/compat b/debian/compat index 301160a93..9a037142a 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -8 \ No newline at end of file +10 \ No newline at end of file diff --git a/debian/control b/debian/control index c7bfa47ab..195acefd7 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Maintainer: Adam Ierymenko Section: net Priority: optional Standards-Version: 3.9.6 -Build-Depends: debhelper (>= 9) +Build-Depends: debhelper Vcs-Git: git://github.com/zerotier/ZeroTierOne Vcs-Browser: https://github.com/zerotier/ZeroTierOne Homepage: https://www.zerotier.com/ diff --git a/entrypoint.sh.release b/entrypoint.sh.release index f104d4fca..284a3d419 100644 --- a/entrypoint.sh.release +++ b/entrypoint.sh.release @@ -81,7 +81,7 @@ done if [ "x$ZEROTIER_JOIN_NETWORKS" != "x" ] then log_params "Joining networks from environment:" $ZEROTIER_JOIN_NETWORKS - for i in "$ZEROTIER_JOIN_NETWORKS" + for i in $ZEROTIER_JOIN_NETWORKS do log_detail_params "Configuring join:" "$i" touch "/var/lib/zerotier-one/networks.d/${i}.conf" @@ -107,7 +107,7 @@ log_params "Writing healthcheck for networks:" $@ cat >/healthcheck.sh < - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - tap - CFBundleIdentifier - com.zerotier.tap - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - tap - CFBundlePackageType - KEXT - CFBundleShortVersionString - 20150118 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - OSBundleLibraries - - com.apple.kpi.mach - 8.0 - com.apple.kpi.bsd - 8.0 - com.apple.kpi.libkern - 8.0 - com.apple.kpi.unsupported - 8.0 - - - - diff --git a/ext/bin/tap-mac/tap.kext/Contents/MacOS/tap b/ext/bin/tap-mac/tap.kext/Contents/MacOS/tap deleted file mode 100755 index 48bf9625551ea8af1d97fe3a0868e499ab55a48c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50496 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 diff --git a/ext/bin/tap-mac/tap.kext/Contents/_CodeSignature/CodeResources b/ext/bin/tap-mac/tap.kext/Contents/_CodeSignature/CodeResources deleted file mode 100644 index 0710b4008..000000000 --- a/ext/bin/tap-mac/tap.kext/Contents/_CodeSignature/CodeResources +++ /dev/null @@ -1,105 +0,0 @@ - - - - - files - - files2 - - rules - - ^Resources/ - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^Resources/ - - weight - 20 - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/ext/bin/tap-windows-ndis6/arm64/zttap300.cat b/ext/bin/tap-windows-ndis6/arm64/zttap300.cat new file mode 100644 index 0000000000000000000000000000000000000000..906a15a4b4875ed8635b0e49c30a49c0d3f120a0 GIT binary patch literal 11761 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

;gan$FS|5r z|J`lBjHGT(`_lhyBICDn$4dTw^C`*~SY2vx)MP`|jevh#5qBMIj)&yVO)l}!+34r4 zdr*X>aDU2Am3_szr}{YeZe|Sk3`x0Je7#;S+J&(%N^)X0@BAeichV&_RCZZ-&&vC) z7?PdkD(JrQ+ zQk~rWX18|v{G9!t>!ryL z71MO>2fRC;^~}8XQ0dhNbthZZDbGquqO&f}vwK^&z|gpM&*_)d`z;DwE>8G(VzpJ5 z6-QG2&4T1$-`;mkxl36E4i>Uy32c!KHICT4upsTz!X~EE22D&R;Nhwt3mb=BPkWIv z7bBwqI~%JuA2X8_vnYdrz#AXe>z9@s4EicuAp6OezjEK)1&z%HjSWlc2DqB$g%8Ov zva&KTu`)cr;Gb)tB*70I8Zk65GBh+bkAe!A7{CM!N(^AjeOe;9SQrg;473cmpay{E z4%nF(8JL(jrW-&Qf-@kp7Zezm>U}z$`q!kJl+$wTco?8;d}@G1x@~-JekSwr|qd|n_p*Lvi}&@Kacz> zHp_}%7AJBK8947Ue;I$5Lt?pSVXWy+w|5eMmR|fEk!)ibEq$Bm`>Y9zEWLsY{(ULS z+{eqnDY1~jvbE*^)u2shwp>qL^!nMIB#(@QHc5&u_%Zm=Ag-$_19ij zGfi?6e;3A^f2ZNYoPuOO{>lCZjWY&8KENJuN-PS#uNRo_@b9^zYH&VN;J0||Ba2gC z)DLV_JnGzLCFQbr337tu1`Pl+F>t9EFqi9yypNvBYAI;B`dP`%hl@%XOAb_SJy&{m z%aKIw^t-L3$iY*bJ=Q_wb%H8;>8CG?)+RK6;l_S z-IMA3w3aO`Wp|q2`sJ?=EYIe=5a<&g%`x*DgZYnt2WD+!ecgZdVsG2Gf}F}V^^O;h z{#?J)w{?+P#>K{aECN!|H};;8pW%2)YIR56niY=r7V0XWJ&(R=dCM2QSAJ5X=eC`t zuUj8_U)Ym7!EVOP`o$p(v3tT=&v72QdG)HmpVR5OCl20SZSKz#`^Y=-Nbi}a?@k?@ zzxsmB-Sv4zE~|Pt?fHYt&r~PwH9C7F?RnDMiLSC!H5r~=k^kbYQ>)M8zW4uzkVc2{ z&*e|VZuFYmKRKIiwdf4xKY{l%PG8!Vc{Jqe%{r&Ek?euXT$^rsdmQQvV|(sjvG?4o zR^<&Vo)>S8$l3MKv`{u)blXn7!1Z@Fm6u=6T+?v*HMfW3oG`Cyjiv6aj|1W&xbAQ( v#6&(wo>DJ)!y^Bk@5KoL$!AV9Z#=?jdUt>O#5EIg7e}*6*twlcDAoZ0lRw~T literal 0 HcmV?d00001 diff --git a/ext/bin/tap-windows-ndis6/x64.old/zttap300.inf b/ext/bin/tap-windows-ndis6/arm64/zttap300.inf similarity index 91% rename from ext/bin/tap-windows-ndis6/x64.old/zttap300.inf rename to ext/bin/tap-windows-ndis6/arm64/zttap300.inf index 453797b38..8e74daab1 100644 --- a/ext/bin/tap-windows-ndis6/x64.old/zttap300.inf +++ b/ext/bin/tap-windows-ndis6/arm64/zttap300.inf @@ -1,10 +1,15 @@ +; +; **************************************************************************** +; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. * +; * This program is free software; you can redistribute it and/or modify * +; * it under the terms of the GNU General Public License version 2 * +; * as published by the Free Software Foundation. * +; **************************************************************************** +; + ; ; ZeroTier One Virtual Network Port NDIS6 Driver ; -; Based on the OpenVPN tap-windows6 driver version 9.21.1 git -; commit 48f027cfca52b16b5fd23d82e6016ed8a91fc4d3. -; See: https://github.com/OpenVPN/tap-windows6 -; ; Modified by ZeroTier, Inc. - https://www.zerotier.com/ ; ; (1) Comment out 'tun' functionality and related features such as DHCP @@ -15,14 +20,6 @@ ; (5) Rename/rebrand driver as ZeroTier network port driver. ; ; Original copyright below. Modifications released under GPLv2 as well. -; -; **************************************************************************** -; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. * -; * This program is free software; you can redistribute it and/or modify * -; * it under the terms of the GNU General Public License version 2 * -; * as published by the Free Software Foundation. * -; **************************************************************************** -; [Version] Signature = "$Windows NT$" @@ -30,17 +27,18 @@ CatalogFile = zttap300.cat ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} Provider = %Provider% Class = Net -DriverVer=08/13/2015,6.2.9200.20557 +DriverVer=11/24/2020,3.00.00.1 [Strings] -DeviceDescription = "ZeroTier One Virtual Port" -Provider = "ZeroTier Networks LLC" ; We're ZeroTier, Inc. now but kernel mode certs are $300+ so fuqdat. +DeviceDescription = "ZeroTier Virtual Port" +Provider = "ZeroTier" -; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! [Manufacturer] +%Provider%=zttap300,NTx86 %Provider%=zttap300,NTamd64 +%Provider%=zttap300,NTarm64 -[zttap300] +[zttap300.NTx86] %DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated %DeviceDescription% = zttap300.ndi, zttap300 ; Legacy @@ -48,6 +46,10 @@ Provider = "ZeroTier Networks LLC" ; We're ZeroTier, Inc. now but kernel mode ce %DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated %DeviceDescription% = zttap300.ndi, zttap300 ; Legacy +[zttap300.NTarm64] +%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated +%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy + ;----------------- Characteristics ------------ ; NCF_PHYSICAL = 0x04 ; NCF_VIRTUAL = 0x01 diff --git a/ext/bin/tap-windows-ndis6/arm64/zttap300.sys b/ext/bin/tap-windows-ndis6/arm64/zttap300.sys new file mode 100644 index 0000000000000000000000000000000000000000..ae1a16f4b03f9728c923a9f93f99980d65976769 GIT binary patch literal 38400 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 literal 0 HcmV?d00001 diff --git a/ext/bin/tap-windows-ndis6/certutil.exe b/ext/bin/tap-windows-ndis6/certutil.exe deleted file mode 100644 index b9a0a09c574b02561019912dc3622c5306d16538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 903168 zcmeZ`n!v!!z`(%5z`*eTKLf)K1_*F~P^1JvLws4+R+`;H`RxuL_>5pS69WSq10xiJ zgc%qZ1o*&#_u~XF12cm|BbcKAk`sXF2Ppw@q4-Z355pOd6#={qKfp#qC16wnFGE2e z14Duo1A`1q3=5sGfQbPmjszGOEVvjLYzlc87GP1YSCU#$!oa|gH;)J6E|6bAk&dKR zfq@}GFD0=gk%58X!UU+_ix?OfmY_P+fq~(GUQuyTG6Ms|4*|Rk415d>3}U=UrZIrr z=b%@VnvF9X981_lNd40TQ@8b>+w3xQ@H28m`K2EAq;2D@e+hJa=s zhP-AThOTBFhI!3A3>%tx7>+daFkEZqVR+Td!|<<}he4o)he4r*hrytQhry+Vhasee zhas(nhoPi}hoP;7hhbI=55tlc9)>L~JPfB=co^=r@GyL8;bCBC9rev4V$T z(+VDj1uJ+Mrmf&%Xj{RFp-C$V(L9GJz!uxb_$L)R=GhJsl<3_-Ja z7))mIFi6efVfZ$ahvC6Y9)@!>c^LN0}7F@=XAWC{<1!4w__g(*A?JX3fW-c9CV zxHFlD;lyMfhGmm^7@8*YFvLyfVQ`qt!=N*nhks!NYK&gNNZj2M@!B4jzUrojeRJ9Xt$K9Xt$S9Xt$H9Xt$II(ZoQ zI(QfuI(Qh~wDU0BY3E@$)6T;%qn(GLuAPUWsGWx)p`C{zq@9Psshx+x1SHqN!*HaN zhe4o=he4x@hrywXhas$sham^VZ|7kUYv*BLYv*BT>EdBn)WySar;~@_O(ze-k4_#2 z8IW7rc^JO6@i4q-<6(HShKJ$S8XkrdYj_xTt>IxJWt~MTqd2KulTiSRSj z76yg}2?mA+Nd|_7Qw$6ZptL0nOGRco<$S;bHi*golA|DG!6fQXYmyAU7~DFtjY>VTf7C!;lAc??eWM zh6fA`4LuAD4gL%a4Sfs@4a*rA8YVL^G}JRNG-xs~G)OZrG)OTpG^j8zG+bg}Xt=<@ z(BR3y(7?yQ&>+CT(7?;U&``+0&~Tc8pAco+`!@i5%#<6-#H$HTzW&%>bB&%@x*&%+SW&%=<_ z&%@Br&%-dQpNC;nKM%u^ejbK9{X7g``gs@_Ch#x_OyFTqnZUykHIawm6Vz>g7#JE@ z85tV>Lfv$ofuZ3nC@nBDG<=8p!D}K9gVjVH29=3C3_=rm7;b{(C-N|Sn83quV*(FD z3L`_qEs*;e85)=v85)jE;9=M_frnwy1RjRI2|NsS6L=UhCh#zXP2gd0o4~{H4WyQV zfx%=Q4}-=!9tN3pJPZQsco^8$@i6>Z%fs+#Ef2%1wLAg8dW)62s!rI&}HtCxqNqL+suua}1*sh5W# zs+Whsu9t^Ft(S*^tCxr2Qx6Zriyj_^dp$f1mwI>@PW13F>{!dg@THrF;ZPS3!ExVTkGGVMyubVaV&| zVW{fnVQA^*VK~vv!*Hpahv8l~55tRY9)^8AJPiN3c^J5Qco>9wco^h*co=kgco@uj zco^(@co;l-co+hDco?F3co>`co@2Rco-)2@G#8j;bBj zVMv(6!_YK`hhf$n9)@*uco@#i;bC|)hlhb-E)Rp;Tpk9qxjYOZb9or@=JGI1n9IYk zY%UMOwz)hEr{?l7+?mV6@L?_w1JgVn29bF@3@Y<@7)<8zFu2X*VThZ@!%#MlhoNI0 z55t^!JPaG=@h}{k$HQ=K9uLE_c{~i?=J7Ca%;#ZHn9svt1TFjQ*6}bzt>a;M2IX&C z$ir}AArHfig**&z7V`3GaxR*of>w=?M>`(K3I@}0p8bQVqjoUWnf@fv4DwT#S|un zq{I}3#GIV`;-ufd-!-WxH3e7!x5VHgP98ww+H7VJq9hXy$s;|kj#+DP{5GMkjjw9P{L3Q zHZzo=7;Gwt2XcWc*t`;kN(N^JKL!Q{B?gGgb)htbrv%muVS{WdU{HXoR06vTl>d?$ z@)^p&rh{@}C0M)^Y9B&9y2-d@xKP59G<%a7iWx9nNx5tE7z!8+8H~`v1LX5OhBSsu zhIEXONoPo9C;^vCpb&wDA+B(S`B@JdgCL8F88R3W89=ENG=7r8kjjt)HZv8;E{M4h zQVDOk=|E!^5^v57`3!l`SSw+0We8w!!)YoarcmwCV@PEvU`PWwmBE1l;yzHiM^}%~ z1xk5fmrRC4h8zYz za0!_N76FAcD4szjCMdT37!nzB!9D<)lgLoc;K)z}4zEmbN=RYwW=MsWt=RqU!H@{` zOArG{KXz3hdqMRUs9e!w06|dsrwxu1L^%j4BSGPf@DC^q5v~jdhhG*rPD>c{7_j+8 z8yr%YB_09Yu47ZK+xNWKB3vl4K=NoA;D0HrsGyO48K0JudJ%n;7t&k)4m!T^dv zSa}93d$<^^z%?2u=aqnS8pwQ9RUr4mN=;B&0p(kS{h;~~p?kweCdRrCOpNkZm>Bnb zU}8M?fr-)Z3KQdl4@`_NKQMvoZdHb21`u{-s9*rqodw`}6O`f=z06i*XET7*ZID8DhY-U@`+JKZC-w5-L)}P{xo6b}L8? zsAP#@NCT?})hMw13esJ|P{a_=080HCAZLKFB10}iJVODv#;;;fV5niJVNhTI`NEk2 z)M5p-r$AVPA(#QAA5^xbGdP2Dx(~QjkPa?S!WlGBOwwUcU`Ph5@?}V5s9-==3z9Qn z&}7hLU;vjP#SFy^i435!SOFX=pb|Eb0aW6GS}cj+au3uZH`FuIvoJBxGc+_dHL=t) z)HBxuS7^{SeNbv~Nq$kPduoYGVo73BVsWYuv(>fpLNw17nUF10$$Z1=W;34EYS{ z3=9mO40#O6;PMGn8iU$sppu(`ffrgsgYp%qC8`SUA;H?0pqiC|ftWl9Y7=TPFfiys z>tJW`pW2Nd5-Z9Zn3149N`H45bVO3;_&944~Qo6pN|g_yyTt0nP`YTw%me z0k8Q$CIo|f7vLym@L&jG2w@0dh-V072nF|WKz#!raH$c(5YGVWfw`cy`LXM9Wr$!1 zVDNP}%0m;LZ@w5Xun5 z;EB_09|nJDj}X>}!)~54xbFw*H~N9y;L6~~01^X*1gKYr+wG1F;SBK%9^jrVsP7lV z5De~XfqJ-ZINcS*fK4CnFa(7Rs3#f72!;@lavWibsvhDKPz>Pm2dK{taycxN zaH#{C1PUQg_<-WdhXKTL2geuKIXK*dt}lcE6at_=rW-g7#)HiPsX~M}v2F-qhy?dk zajExZ@MQ1>j|iaqGKV3BA(5eg!HNOY_5syEpgf0Y8N=#JNZS}BpMsLFoQo<8N`g{L ziZWBnQvH*%Qj<%ZDnpCF;~t*iR8YiF$pEV9{1`y}3|EFcaLX^0p@<=e!5N&RGZ<1C zK;ob}0Mujlj0cvf{~1z8=a>;U;2Sq$V?P#FTMk5d>lp=|_5aLofMB}>3%jTVDG zgBAlXSQggG38 z-Xey4aIXPkQyI7i1rZ08*^vGTqz?|#U&a9PO98kC0&;&bcr*brDgcrP*$i)vq2+D?%>`U$fuyO5l~(Ljmv=gC!pK{<3sw!pp*j&Gf>G>1di)e z2GGc92!k8g)?9{ghEQ-?t^~K7!omHM45%o`Z6F_ldg+k3g~T<456KOn(1OJqLl1UDa?w?HaEe8@;6D5o))*Kt1Qhlq;8q<(g$n~{WE13f zhJNfybws%hav!9WgR~bxp$008au{3~QW?@15*bRt zBM2c3so;JiC{;j07u1&orNtC*>mM{?2rAVA7!bJ;*%oARke!YUAlEyBnBblQCczpz<43wt)2&zwP89;plN3aVs;PC`1<3VW; z35CC#M1IYc3IQ&SQJ3(n2 zlv6=@64|$~@B`&Z$aoaULSozs%K^wC3h_6n6%NV~piy^Fn1Jks#07qTfKp*91HRBE z%@+*d)-qb-a@W`nv1895!G&&BkM~OifZCoE@FKirKfx(VJfx!hlW9`V` z$>7HT8jFLZLQqKx%F&=O2ZbkOmIE|537WZ6V$ddFE@)095o{hPZ(tvXS75MVP+&-6 z0GSAyCqz~0$pGrNg3K{tFo&w~W5@@OBY|3rp!pb3j)0VppfU*3cLAvhVt}-{K%oHQ zJA>!DKzWFP0m27`14uW74;tSE`52V5L3%)~hj<3a95iUe2zjO(As-A4ZIEhEiv==P z5f3eQK_Lff&!#fOGuSdHL1#dM84AF&4z>(NP(R^PkBD_!1_K5)uxeatAz=Wj`9Y;+ z5km;L2cODd%U}rA334?91F`yT8GOP0G*BC@m?57b4Lr{U8S@3D2GE?OGXrd#05tXp zYF!sFWPo)kK;sDE9*FB1;BLX?4oLqCG>-*}D^MKSf*o!I9~-C!_fjhuN*HPxK=X~D zS$Ew2GGs7dPyo-XgGi7mh787F5fd zAo~p%K=vCjfb2H_=LiF^{RVLRL376-y`Y?;#8AxusUs1ggB)TY*Me3VfO0d04YCQO z6EvOy!;mmFWPr&bX7m*pAac>r7zU+fP@Vy;2quMIfCj|Q11cKR#yP8fq;zl>M|ha)O{I1Gu%cDW(=tepzug!NMuN30EH?h z2CbOT1@|mKWkC@GqQ|em04om^7>pUr!QT8TXucCs)_~e; zAblWrgJ@8R2JsD~MG0!#f@)1r`%jkvR1bh!GLUiz#0S;%uym zmjyB(G^PX^^>>4g!GOvgP@f8<2U0GiGl0rc2p`c`LpC4cE>LS7lr z%?&CwKR!2lj%1@#v77(g>ZkT8Ob+JIVhkd|I51877H6hb8o#Hs_iD~CZ3 z+~)wb(n0-Q&>T3ZtOM06=<=ZbFWL;Cu>epi2hG5P#$`Y=QXrp!#+wSjBeI~>1o9)U zvJIB=A*BGQM6h5mgO(vi40;Tv40;Sk43^-W04f(ixe{A`MpX-1H3Z7dkenIK0IJDA zEV?oB|A^l58e+JT~W`OoxA!4989Z-KD z47?Hm)M|sY+fm0NK;sUOybcNzNIM3U*Fm8Sicd&Rfy^UA*sweb;eqPq5C&MQ5+(*3 zI|7Y8g3>*xy$$M%fZPI^|8iqU1m^(;1_+;lArQO{3bYmq)W-nLs%9{N`q7TybO>rw zf>Hn|t$}J3kozEM2{s-KayzV*2NQE-C;*Ssg5*FYCX7aBW8=fbK=WIU;MvVQ@Q5&I z%omggL8U|y17wXwK6HH*sGk5zd7!aqm|H-h4k|$*y%R)O!&-JAH-YjTD3wEe1SxAk zd_*pXja7nD24p+}6wZjzCs25R#*RSg9W=@W8czYOFoBd0us#{cE>Ot`<3s8nM1BFa zNI+vzh*1Yfc!SoifXb>ohIDZG49Z!cnMhDA0vgE&jqZcYhV*P8By6P@NIaSWlrEha zY{Bb5^gu#r{T{^V38?l2g)OKyft7op@B{TGV7(+<;*d58sK1jA9!m#>Ii!CATlWNU z8^{5m_yu8A2G|S+Xzmph+n~7`WKj?w=1TJO$4GA;sYl|#ZS6g=k%Dqlh6IA{bD)bfXoT!GRMsB{303FKfm{aFQcJriinrU&W6 z0IBa0?QT$+0_w$q#?nFV0Ie2DWdN1xpj9!T@()z=<$_BZ5E;PW&EUzP%K%%ArHe%^ z$W6#<9ig*YAUA;eub_NIj6O(y)MWtWJLGjNy5QOd*~g$(1ZZtYF$2tf!QfI8)kc_k z$ZJc`-HJ^gW@tdhs6e3z3Oh(>gT~iDVFT**fLc8uUxL~p*y>xDT7(>^41}$L1Fh+T ztZ%_=SK*3l7Y5MWIH>$B0FMQLYIsEd5WTL19(#|l7sBa@*DS`HzrhqxOwCxV)@(ZdscEF7F_&MRqGh+#kGl6}0LBH1-z&ZSR8Su0igD zr~&11&=1VfJ%T_jUMHh|U(g8ED)DB_@A2BglcL=uO!_fX3d^b!wZcQOO6852n8fM&x%sSA|m zK;;@}t_~E#p!5rA_qu>r9)NmI<>1k|JO)rJA{8tOO5qF)2yxVwA@Y2YI|Hcw3|d_X zS|fyQ9tm9>QwV zd>J4st3Z8MP}>tZjzMW36oa5vQYzjO2;^o+?Fw=&sGLe?Kz0#&Ekj5>D1Cu^0_j8h zL)W%|=2k&7v!F5tRDOWwH6i6g3PTupKT|oB7h4zdTLCKX)5 z;no8i8w1$|N;8!N)PvS;f%0H6jyc8v@CXfP^%2NDxbhXE?!sR0Gccfzff+J@_UVDb z0@U{gVGx@Ww5FQ@)ZWEr3M3_i`iP(!0ds~CWCEkpt(jz8kh^InW*nx$ox4i%msxsdX7{8ml2@03T(8U zdU5a|h=CEbu|>fhLhpg{GXf!e3n;w-D&7F4IiTu4xIxq@K-FI}S~kZ&P-iXeQL8xgxQ zVD3bf2Z=(=2Zg^oc$F}Sh0Sdcvp{p85HnEMS%Y+eb~gAicrt)$uXqN~9*RhC8xd13 zoWYgBmBAY<3o2(F!Mh?5dOP3u%Wn#57QP zfrJ2rgqRIV0}wtaUO+1=AUu#Pb~8XSh$fz%tu}MP%#2$5HkUk7G272HHVHo0udLZSnz3?WWK~5}cz?@SX?I{1a&2$(JF30kne$#0H&Q02&pEXK)9f4*=TZ84vDhHa@PMx60HsgRxe1_AYhvvLt^WYI8MJ#R9=t0Ev=0QIZd5me_A`P` ziU6$=A*2&D69b#0gRL$B+35q`HAI|$0~kUXoZ$X-WFSQ^D6Ej(Kv*}bUqRsQ}*_0?G*>b7B65^_gILK_v@F zjVeP1c(oT~#s^{wNF2ErAH(3t5Xun3;1Aw~1e&L_Vh926a!3cS^DF|7-++4apk5VZ zzYh9X7^oZpVMLFeu&JPNGEhm0t@Q{p3)PLFol&5@4OS?#&i{1DAD_K;#m_`ti|!s@vRZ$oudu_k=?Z7;ukg19Gl1$HP|4y8auNe* z2O8+S6)=Z^fguJw4hrk7K-M?KFo0J7gGOvXJw?#&S#0fo(Eb6C?-A`|!cnU@J#0pe2ZT$Grc?U$IF3bwFwBgnnBo1FaggQC_8leG=Qb2M5C>t-ST2F=oz zGQ=`KLI@%T3pI3_fdN$4f>tzv_DzHK)q4y2Z=(&KxTl#1tbcQhwV@V?G*&6gSO+0Kn*NdeG97lT^QmSKy@jo zWo!yPAqJPcF@psIDBN+$8!?zNfZA;6@`(Bxw4WK$9s{LUQ0pd~0kjjCfdO4l2!jtp zFoPij=p-kQ3Uql7@W`MuIH1wxKzpxz7>uF*0?j=@MsCp6fp$lOPO<{2Fk~chAA>9S)G$cP z3bv*gn|op53fj#MI$sP_dj&CIx)BnFM&MoV_|ye3I5UJWfX8+7*Ycgb}LA| zGXp-iV)_rH2WAIoXF14a9w2XGq#ua;jS0Hnl>s#Fg53M0Nx7^X)B+quT`$k7vM@-(m8gwY}KVEkfRi z!2*lhKz_lNKb#pN89=AQ`7wBd;}z7i#}*dG;FIP+XAOW>A%k3i={HbFL-yAPGkAl` zJ&;QXsWZbG#-MQnP^!e{7Epf^bdn!7InesZU;%`s#12TTnt=b+mM z$(x{EDsdJF5tOM-149~LtOU5%)n(ox;X4K1yGF%avNkf25i>`qzp#(Cqg|a zcO%@05C^3iP@M>x=fWlrn&SnX(t#Sr2>p-{#APR_48$%6^BKZUXYeQqNC&J$29;P5 z3^3n;`pw8@A*%<~L7@5$mpo{M4z$V^WFlyu9X3LPOFbxkfyy>edPIy9V0SC1{BvjU z1CN+M;sd)nn2$ku6*5)AlW9mr~MwK$N~V743}X$h9L z@vDXShj_K1TnuXUAh$>mVFB?IW=jOs4Z#ec7AvS^0mTcb#fKh#*lRz8J+PV{)m-#i z9--cYA(X)#+#&&$qc9s0@}PDNC~br2NN_EMkV9?(LF7SWaj^CeLLI2w1Lb-|%LiR9 z7~0lBh$C7#2r*E40=0~h{RR>P)pp2Yh#D247g3X9ih*(sq)&;EgP4Ju{~+ZoEJc87 zY=nA027hoL3b7{=AqOg7K%omOrI6hUGZUK}Bn6_n0aBiTdK3urVX=m6E=UYLtUzLr zu+n1yje&vAvS469utBRz3PIL^_qUWl&&|;TpX~q>M^*!3gNH`IJ6v+XE44x96)=GI z!hs9|?EwI-X+y9|=HywV-ie&}b;gwV<_4xKx5hia_Vo zfX0kLBSEm$9H6yih;dSoe?hVg4E_v7450N>p!J(o;59w4Q5~2Z=!8FzdIp9F=vXc2 zjAz(c(xBE!IJlPtIwKiWT4A0F4JzG1XFJ2@M9|FvjW2;pvv}~CRzVD*4DsOpIkFy5 zzaDhrG{hFrS!(E}g3>C)eo$!#nnmzp0M)sm*$>dDEU3K)YWILnx(3z$ARl0w0Saq` zU7)iAofr`2fZ9x;GnzrA5@_@qbYdE)w-0JLfqdu30NTk6k_D}#0rhe~xfI&M19E~E=!7oNsa>EJG-&MsXkHPUsmT7vZ7#xY#B7u&xIczJ z%t0kKv7v~t15~1bMq@xNWl)?!#{9_(HDv#x#|vopH!&d(id|%LJiw=!K<2COfs3#5De})-i$YvwANQu`Eav>u8AawvF)IhZXXf_Xa{vRkO zfX={k2KQPat_OuNsAmW=1=%gZ;887D{&57KQVMFH`7=OLA0qtF%|W;Yk@i8c3TnTD zauP_rEBJi%2rRi4*$t4A0ud4*oya*HSuN;%dQhtyWIJfq6Er`B8QLIOh@Vi^qn|*C zsS`bXKz$|T^AJI^rJ#Bj6fU41DTt403c`Lw*nms|l@Orw^+7ETOkK$Sbb^kOfKDX^ z`4bd>_`(H}5-86qE$FJ!tFlxzAhxJ!LzJ{Ca3@SHq)iNpWk_hD zy9(KS!X-1pd{E8f2%dF9gaJOYVeWyb0ks`Lr3xsAVfq5uO_=&X_CZn$D83=)fy!=B zNdPJ*{LlD+8GKJg` zW1?pQULR+oX97NK4WiEk$qYjzwgptJIg~br(uSa61Q;7Mg$`wdW^X~hfUGM5&4+{b z%G)$U*4r91GcbbAsZfE^GEiEinSl{>DIpJ(W`K%+X<}dmT|4`tiGh)ofq~&c69c0L z0|Ud6CW!i)WC*>diGfiLbTw-e10(42-X1930;M4?VqmzU$iVocgn{u+2?OJa5(dUS zB@B#fN*EY3R2UdrN*EX;N*EYz+!+`>N*EYTN*EX=N*EYfKfm`4{Gf}MvOph4^Zg| z>d!)K!PEm9tp}A+pxTcZ^`Ls)p8+(xWk!@AApKv^s2*sQBw;^*+DxF<5g~VnfmdU? zf_polwjjF6*uoQ3x`4`g5Dn_v5V8Z5XF<6iG$R2UXCR~p($)jj?!@^Q)XxC92h@fk zWHzWCfTadd3mfDnfACq6nDGjk#Q=@Jfcm?jlfXbLc?`kla6(psfcUVxlrTj==bu5& zq(+y6@R7q8)QSSRA5kNMY8iJ1P+9@`4a5Vv7gF*e+={6WRCj~MT3i@hpeN#kP9er` z7pP?cIxPgBxu6~b=qzzaI}b9p19L5?%)qA?G)4mQ0ciCCsMiSU2@$I|g24oQIuxmX z0`24jwakdMCy2p~!I{B=!3aDfg3yJ}U!ZXU&}ajwzl6{MS{qc#pa;Gm44DM29VQN{1t6&dw8{unAAm%VF+>)$$_SbUBTGF)&@2wdx;8ySJNegU-eRosovF&l{`{w8|-n0d(3wsPzrG$pDfEVe{kW z;1w!<;PxY^6${b<%0nOwIyV4y6)R}}7GymuWXCY*tUAbUbC3+=3?9(#RFF7iw<>5Q zD`=l5XeA~n{$jwpCyE$g=ZV2qkH&yk7lTI6i^03mLHm|KI}AbYKn`&j8xlVd5)|$b z7O5m^dc)KWYI_-)K`w#;T?J!q3|htrid)ol0$NiDS-S~xA1pnhs)3|4n4B|%F9WDg z?#2Kb>jBl(pwYFjm=zN zu-ibj5NgjEHaZDO!jfa5BanPtSDDC5RGpN3G2Pt8IsX?v-K&b@M z&w<1{X!HTJ!vo|~kS6?kVDS!d4e|Owr3a{&gsBf(Ucg=ELUJOk#0BMVn0rBGAY=pr zRHK5%yAU%u$o@iA2lEeVI!09kb2}*HP{S2f9V9$KHiOD$NIFBrFREHl`wlec1j-kn zds|`Y0>p>71>#c(2`M39p#qxULyUcZVmq3_5_}3KXjC4Q3PEEc5OE6};^sKS&2WgD z;t)5%A#RLA+z5xbAr5f^usEcJ9tK|11FGL3p$E#vkWmEK2n6g_TUdAyRtE_m!s;O5 zMOYmq{0OUqgePHjknkm}4iesk)j`6ausTS55LO3?A4djIiieCQgYqDxJpno&5VSHA zlrO>={1~DcK&RJ&&e;Q%#-M(aKX_dxW}glu@6CX$4|Got#5~AIDXyL`=xjky9RjKa zK{)`^Y*3F9G-3(rRe?rqK=~5Ua|Y=L^^tM)WI^)C=6fi2`nXi$BG?qX0X$K9I+-Jb?=J?`Es=$tOl%mgS*K%tIq z1898%=oT>;4Qc~`ZrponHa<8$qRHJOijq@B!b=1`1=4J7GQrr9+S!kT|Gx1*HZM8x+Q%Fbx9F)Ps7I zpz;)XZUht?p!H(t;*b^qsOJxwbpe@$yI0S^-~`@}j2YITS_EW2Xha6oB6DH@&E-Pe z0m*NW6d4L$M-TA!Ga-bLmrPW9VU+~>!p!PCIRXF$*dr*G{ zbf-5+FT|xFwV;!XK)oZ-4y+=E6b5$&&&#Cl-P328##Z5C$PZ@r^0R0KPv` zAABboXe1L9=Aiv+pm7yQ-3{8U1JVoOfp#S^Fn~xkmI8eIOTt)PX_*`P2kZnu6F2ax20eARa^< zq=JEg@Ezr#(~3c(wZy130H16Oy7e67CWt+dPy(HI3KE0e)#eMn9TXH^AQ!=62BsF2 zJ3#RQ8ZUv}{R>kA8Os2jBMy=Q`2u1OganxYD$^iiBp@?D_rrnGh!#UJ11!hE_@K5T zsEh{nZa`%XXk8Mh{SUc$5>%3aWI^=^sBZ@Zx^TUwV z5y%W|>M>_fK<)y?JjmUk@ePpgKyHMs#)jlVP|XLbF+nSxKy`sD_^v3>S{G1hjOgP8 zgZGld^nm&_pi&uB1A}PL{Za@$pgt?|DjZNL2=fuBhX-o&lVTpkzc6=$)>3+cS3Q7A zGEixY%iWMz1jRq7G=TUYG(+dZ;LD%@y%7Uqwj)CX_>{tQ2GD71x!|+YK%+FEau2fK z0kqE!R2G3&RDsUT4`%@FI0v0o30YN$FxMBnYY0Mu&IC z$PJ*B3lRaOI!GA+axq9e1bnkCX!T(VgFpDDT#%h0mmu$^gjjcToEQmgYb;45**%$N-vO0rf!8)q!eE^j!xCHDTbJ7zn8W z-4H=Y4e0!KP`(1qfP+T-K`l&BZ;ydN8(dc*+X*rcyIN410AbLXaiE>Sh!IdwYJ!zZ zppXZd2U4lPkj4N?v7q&&pmT!r89*zUL8?J@6i6jR6{b2+dJll^;)acJp_lWZQXPcN z!KcvcL3j6}pSNYq0Gh}|J%bB0Zw*Q}pmGXy7dGhZ29T>@VxTp$N#NT3n>1e%gZYI}j=1%yGN0UEak-7Jv=zS9x8 z#RO_)fXaK&xftmT!3^09pp&&>>%l>HQy`}gP`rT5M8+WVK`9D!uMy}@J<#bI6%3&L z=Ac;tP~Jqg55Eo2a5DzY@Wa@k1qA5%3nY&oCq{;P;6(-KYC-z3sfD!I5cvq^C(uc6 zpjLP>1L)L7*y-n>H~^I@ka;Q4IYgkA7f1w@wy}i^=uQyOd{PtbXyuv3%>nFMpI zsh+8xxgKa%O%Lfl3{Y-?r#mCi4hoEV#8MA5MOcru74FiUM z3=JSB(qjo1P&UW5<^`0TP}~km^PtijWFIVTgUTS#{hOfp1l3QVyGTKOGi-jr7Dk4~ zdPblVrLd_7r9~{_;Pb4oiGv~xi~peUYXq4BGBh?dvD7ovv(y7A$L4RW^L~cLkn=2H z`2j@3!WnGUiE(h`ID6%y94 zdJxr5W}xJWbix}X-$H6u0 z*M;mZ(5gRBkC~G2$7Ke@b(p@wWj|=29jLVdIiFn*de1w^pLz@h4CV}wyM{n~PVtzuAwhA37(D>>#v$Xoke)H9-vgWHgSXp|))#@wZ&(@!jfaBfV&WMo zJg6H(D0tihSubcj9~AZ=jL-)fBk=+6i36k1D2`$M2Gq0UF;A8TjY7eC!N@0Uf$kB{2bUFj3?TCg7?K!5 z7?4Fk=T$*k2B7g$2n)SM0&3H1z(+Dc{Wnlc1Jqu@)C212;WiT#uAts9%wM2!XVB;l zNDOq>Pabr98st{&>yJSF?0g2$Y3T~!lkOqCzkKk$kf571K)o{1ja-=Pk03QQq?HRQ zBSHNve7#ywU2bTi2Wn-4+k4pV-UInZRZpwDSQU&w&Sp?8F9r?$6FgH5bngIY4HszN zFvK08zGEJE6c2R57^F>%d|v@50?kQ*!VWTG1iEPy6l28mU}r6psuSXBkl#RiwnD&T zv8fD|;FBjod({WZO(1vafW`%E85k67K{Fr>4AEh!Ma7x0(2t;=%hf5GKj@A^ zpU%LK(!2Lg)qdekh}n4qs9?xoP*L2B*YP659z5yGk|WD z2hC%H?kNGe8>SOv6XaGxkRAuCP3za&P>T+C;_k1&H>+V3mfME#Vn*Awq-D8fYdA?vms(2y@+-t z!ffOig~T4Bh60_yV*xb@T@G}QF>-ANvk{brKr7HeH(r6#5b8;*pm|uxNxNqMJMI_H<>mDsA5g4-Ef(E&x7 zWr-!J3f`%e#W1}tndzA&i8%`JHVRlG!qmV3bhxptYDO_gGgma&Z4r8=1_lZsiC8WM zkHq4P;LNI2TLUhJ;KZDgFwn8gwyNbI4XOr4prer(z|9p~1_o!x;1FA5E{1@j{ItxR zR0U|$2<)_gqWqH7WYE#eU@k*6YGViN9?-eIp#BADb{j@RN?AxM0l5*hrv@emqhV@5 zuXAk@Lf{y`f7 zj1c0GaYRt#EYNNk$ZgZ0Fa@=rLFyp=B*bk@p!>iObM2rruR$kbfo?%V z=mPDD0hP0$Ta7`oAag*bL+-cI1#!W*@e1k3qDp^YyV4|RK zgWcy1(F2i(+){|R^AqM)m_E=MSp^KB7y{jElLAibpcQElcYsWV+;<1zgKU7Dv<0#Q z5iYPBpHk_$m@2KC{689+CSLR#dIP=dADK=nEzOhBUz z$oC~HfNz0>+zbaYAHBZy1ovM-Z7xK}crbw0fx9q(+KHgHEvO|6ayevOWimrHxX%d+ z<8<&UC6KwucU^$;Au=B%4{1$m2CcaRg(Yb1E@&Sns5}9!1VYsV8=VD>EQ5A{fX3KCYuvEu z1g#N9jxoqMCTQ?R1bjCoVs!?reg@^^5(dy5A7}&yv`QAzUV*Su7(g_vp9q@+1g)p`X8@f{ z0jjk?XS_hpdBT^n+J_%D=>h@vqATG zB5s0)l%k+9c2G|UBo7*g$Ya1Jp2$#vA`WREgG`33%LKKmA#1}xYv4dUSQ-YktU>1M z!bcw=dO@iH)Cxqtffdw_1C{R(IndZMs4rH;0CF=Z4}<&McDg76U{5HV02 z9^@X>9OVRF&7Q~r%Bhgi0R{$6h5`mqyA>2RkeUp%A`8|ghV>d?wjtEx8jC^K0W%-8 z77cRmE@TWn1iUs3)S5)s0kQ)W8;DjSOhqXJrk^;$F^gLB5>^lLEhtn=89?n!NQ^`3 zTf%xl@d9e~A!Z>6>jBMOz)}#g_8_N5!g^ro07OGdR>-~v5Fdm=H3ul(3m8DFia>2G zPy1|$x{ zAbC(N0NMorQC9&j`&Ahro)=l%ypLmEb#xP{R&2 zFM#xFF~A_G>;%QUA_M4#QBe9+fXiut=ZHY+VVJb=1GyH}&&Xj18iy!m0G((7>fJ$n zfjAQaGt3}ig&fPsAp|SyA$CI4!a@z92OwUDXy1cQF3)9vt@eeTB@VjvEt3J%iv*SSpjAe&-Z*Hi4AiCvtp>P7(mB7lBpgM|ttb`LZDj!UhXcW5;h?e)6q2Ae3n;8X z^$94pVD1L_7c?`EnobGn2c=Nh+Go)HZ!pt9DH{|Tnhe;@bzvxGz;stJgA+p~1I%?G zv(d{51qM)k2pV4~0;>a!M1b-Es0;#)L4bS(;-`R12GE!xVSCVXA1ppWegKWs6f;2L z9Tqa6Rt_jNfYv}jWFYoH(lRWJVWaIJUtkL%Sh(QRi*OlCHN{fx4e;{?Jtu&A>Q0Rh63DDh-kkpE9b_hcT z1EjT*0&cy6c9(%hYe1upATvRxK=k0Y8{#K~UqSj1JcwUGp$JL~AUTkkpj3?9@`jYv zp!GGNeFmUh1sW>`jVOcMUJPD01lmoO3T|IP`j;SklcD7lgbf;N$!Abt0QJ0KJLL4h zDG79U45*I=Iv)nK-XD~7toQW!utc7xIgL`;|KG0kz=w1a-S^~{~;<{S`*?vqt*v$sb%Yw>L(D-pWc-J{-RshuZz^)!tUgt7^ z@=G2{IEOHR`e2}$98d}d^<^Mog&MB`;1V6w0s-xxz@-Or7cpq>94J038Bld$-fIa< zL!f*DDl0&9AL2h^Qvq&&fYyVe z`vjXyaD_8yKdvJKXfGaUhY_SafuvvL{d2hO$6nST^nzNSpb`g{{h*Oh&|QU~n8p`g zAa#`51xm+|x(2ik2h`@k?Jv+ee^4Ea%iWN1g-nKA22lSV7Mqa!cL@0dTYZa|UBc}q zh@GI40aUVqdWfL$8qjDVZau-^{tBpkOk_Z9cj4B9UKT;p18()8QLQZSS`y;j1sVqg z^+iA{szBvZJ_E=X&ZH2VQK&>oDdlJ&hf{+k7$PN*R2!up!;lTQZ5IIPz1tbRQ9ioas>;%~b zF&Wf10k!c;q5TL4EUm8daNDPEk8IWy(wb39ZK;#kb0kL2* zATvN1<^z~c2p^e*-Qx}M6T}RNJhBMLEG-7mC_5-@K&p^sA^t>N57(<1)1T>NX8tZ|qr$MfNK{IKH(i+t21-1D> zBMy+7IukrH4(d%n+J&$(7_pKAxy}I1)%t+*FK9N`hk=kP1_sdhZ7}p^HBjpfv_b(C z7WmpXgxVC4UGAWn5>V+4np*(1%s`H|BWw3d7rK)d|{P{csJ6Oax>zYjUYKyC)r zMyO(tvK7?gMm`S+6lS132dHWxVdKgG>dBU%*bJHn1GTk4bup+d3=3^k{h(Gu2?J=( z9(FStB-9|KFK8qP6q1lq8`kOvg(*lLG$RWcvxl_4L3_nPwFszv52;BQ;On_Tu?}+q zBxX_Ffz1b?`31!4ickj78Pt&3KF}OD=O* z30V#3yc5t#ub|mVm~H54Ks&@hJ$+<-pcA(|89=^+qydc`(9H+! ztV5WMt`9ksP~{+@4+$~Q8D^jph!Ez0cF4lkW`IHlRWD?A9JF=@bUrIc7btBOGo*oA z*`QTpd%K>apQFA$*)RNCZYz0VMogA*B&7(jUw)Ek58f!*#0OO2ou3tF=b z>Lr546>+IUtYSeg%OV&+Yf>#4U~BgL7(l5U)MEyf1*zaURmkigvQAJAgZ0zV)ghYz zDpNrx9D?>ygI1V;))|0K!~^Xi0j=)Worw%`BM8IPL0o_tub|jQ#0KiQ zxS-Mqbc!U%_aL)Cm^AZ1Cte|^572#7j^I-oLA#V;sf%=TL7@aH2|#5fhz;5S3|f%{ z@;zuw5|qyoB^6{H6zC*EP-r9K6=W}Rtbkk!D%DZfYZ0dplsZ6Z6jTCZTd#%P6m++e zvQ7%SiKzYot>S^CKWwT|)uOKJBCH;gbNv~@89=-2L8S$xWB~adRMvt*7t?uwdgHJy!?}KtKXs<9adQfX1Q2GX?AW&_K8WzZYgRI2@*#b&w zpi?eEZbsah2a+Mye&kvlQy(bANOK3Iv;vjApmc`_0es;`tR6_K0<^*ml!`!Wy+L=& zg3>r*Z6U%&RCgovg4FvmfL6UBN*RPMbax{3fo_p>V+dhD*on}E%PvfJBJ?1a2nbs+ zT?dK->}o-K%MoV|;8q8^fdO=@E@s;ZVK2JxP}?jBb?80<^=Tr&r_j2BZ*hRs&7c-3 zs9guq2T2W}{rw;}f?^xeegmE1fvO(lBTxt+PGZ1rKB#pCO1YpltN{$T)PU|94`Fa& z0OfATUI6TNgZdGm`(;4q7(iT!T^*>b2AvxKs)0b~AwztOT0>!X3oJZ{@f%DnsAK@$ z*#vPBesf821FBC!@eJw{LFNWQ`vpNgJ5Z|-6j#Wz+#oqvp9R!<1l`b$E)Tjx33S#l zHoXu%r3{chQaA%>L=Uu54%A9THwV(DL~Y?>GZQqPhFE2WY6CX)sO~oc@2LW9u1B{Y z*>wn2m|=y@o%qy)a$z2LT{vje9-$K5e&m)gEIoj39tNEN0y+y7)RF+T4MDS4pxOX* z5;39`0qTE%Zs7)rLiW4hGXs$xK<#HxixzZZsWbR|P<;A8bq{ij2NK?()v~ZM4%7w$ z@j-24$Q^;8G6CUs7x2m2pt2K|#_^c}YD0ot2QmY+sutAF1f5R{su@A`AE>tgYH@)| z6p+sm;Q=xg6n7xEAlwGZ?VuCoA*B<@M37FxCV|?-he9j zQ&6nI><5L93wXZ*sP;#8A;Jz&ynw`LJZ^{P<%nm0J#TrmOP~821-ewnhmtF8rG|VlreKw}}GbB;hK-+*c|NXUWW5@f#%_*OcQJ3+R=LIskKU?ml(7Y8cGKG5|{XFn?iF2TC2FeI}s&2B1+OT=s%m zaELpH9kI9%lrBMK0jS(Sy(s|H_XqXnAY&S!Q;R@%&xJ66e2LpWY<7Uc2h?{4g)1nJ zfNnqng*YS~qxugNXNZ%IK;RJUM{H%K}J<$h3J1)anXav{WAV*CfP88ns&Dx(lOLHlKJa4z)pDTw!a*e?y1xmT1F9Dxw~T>&g)JR`?tAcJfTVCx zPtFy5I|IZwAb)|@(179rR1$)AZV+bUJ7MvGIIj=nD^N`bDpeq3t&6e=J$f${+;R6yo}ti*IT=w>2pJr3mB12c>up%3cgfnpR? z!-8feK&IoXWiibGji-Rx5g=1Qr84e*7buQFZ8}KoBia(!%O_C%3mQ=Yxd!A`klCQp z02EG;5Cxr93JM`m$iixAP$(hC9;o&N5EKq&$_eS^$HE`Nde2b??Gn5LL62CpsGVP59DXiI38?l1e+T{?R6gpX9gDrkV`=) zu7dilpb$gY=?1-58k7z|r4>XEB;2u^35pj`{{&(xsvB|pA2jv{8tDL)7NC3!>%V~R z9S4=rp!O-~K2=a36m&8*KJ}p73c52MpBh+B!KVh4+VIPRW-&ow0m_}AJ%pfK0@~jV zDw#niG=S19C`J+TpfH5Ah(YNIWCN(A1cfAMPZu$2L1hJ~!~vDFsCI*F0fk)<1E`z< z)n~ZP#;z9AY{g0r>`zPeErufyOQ%s$3W#t#^n?kWm4U z-JmuiNCiwksP6&mQDbuhs!mXS3W^`lOev%cN7ob1V8r0ffX!A=tb=NGknNz^HBc@B zg%h$5Q2hW34_J8sN;?4z#OVXs0P`OtjX_#;pq2p01;Gqq44^SY$T%dborv57$;-&D z1GxtlKcLzN6#k$wBaoRO6G1oZf!H9OuJBt#QO!q|1C49oG9Ogp!N&e^sR88=P)iv! zhKNfIsH8)b?#QZ8-37{Hpmskf<>N~epnAZQ0i+7#Q$)%^4jT{~5pM`JAh&>0G;F>S zW*@Ar2ue$+Y9OUA$TmW1V0j5rMl*oRWrST2b0FiJFcsL0A!!RVdg80%ZghQ+ z^Z_bWApSr$6I8Z=;uD)bSp5&G(?N605Vf$n6VzV-wILy6C!qL1mk0RYahwgrHIg6oQ~N zPM~#>AY0rSK=y-f7YDUwK;^LqIHiKhLQs1IRJMYA2C6kctzgJF1-kv9K8rg8EG9rB zaG(>#4H?Y9_m*PX2T>17OQ0GVl-fXU4P^k8;vg4dHy>3!$n`-`9q8&owF0PY^=1Ig zXn;}{XwDUMVhm{X&y2wUhr2+12+&C;pgnbv78K;3+Xx2G%~7BmSFriTks*p961+YN zly^WQpqTCf)xDsa3*u^s|J@ltE(4``O!c5x2jx0f22d{zRGxxrCJ@FJJ`mNQUXULH z=*$|B8b~V~luA)k2gr>eb6gn^W5l5L2Wa&Hs1*!~4OIQesS`BA4GLXIn*!7(0hM(j{o^04O(s>;jEIfKn}} zMFYy)Apat}7uLdo*bNFNP^t#i7m)rNvL1;2pppS(0;paD)yJTG2oeL;&j{N|(+9E_ z5e_iDp!Ns;ybAF@NF6A}fLf5C+7;6^pwLFn;Rt;on?WN1pq2q>d2sod|vS?L)*3$Zdq|K=v=FtqWR11@i+)FLKBrtHtI9eCk1Rn0^I`BHIA*BgAZP z21J;ks{@5LsCN$vF_0cmI~BRi2BkhwN(Z&)Kw~nXybKB#Li#{+hM+bYsro>zXHe-2 z8q){$6F})0R8E2FR6=$_YAH}20qKOrSr}3|33558?+2QX2Kfq9*Smr5|3LOLY`hEE z?U0caP^|@W1t_hZ*259yg)Ph9rErEOh8Uq03 zbWliwN(4|%2+B#I)*_@Vg_If~zkt+&$`;hJ6l4l4?vc|9C{=+jrJZ%~UFw2}fjenIIGQ4c}tK9D`2841`pA}FLmEhX5P zA}nn}dhwtd0@RuU>5X7OO&PGTg}4#qT99v%?MKa7Aa#ftVwi4FegVZDsJ{gg1Gx{~ zAE@Sl*3cnV1%krPmjSdE8kgGtYA}H0u`Y#~ggW9X%44{w& z`2kcyf?^ZoZ_xN0C_X^rf}j)%YR5tPcCb-Wkp3|63MNoH6Vi&uXCJ6n;|D(R6*MY} zYCgy&Pzr+B0P-DVbsDJN^k#s};z05Xq%Vx@Cse(l_y*Mppz{$yu@k@mnvXd(ULeeHEPCzw1sLc;zgUTLI3li0h$YBTaF=%x=$k!luf#g6v7tnqqWV=A(u<(ZY z3KVW`3?Q39b0|LGadTun*zy{3*$hfqA>f`PsGI@al!@+6Q11wouRyEbVf8#n7rHt` zoPtsrDBpt0T2NjEwcJ6bqsJ$v+aNoC(ba*{DQp}E6z|BRZ|G`~!^n{V($WLfO(2(p z>R3>}1vz{$)k8)CKs|5JXbC7}A$QQ@_AkU9WPPBpfcO~MF67b$6mN)H6l4p?SN;qj z|DpQ{Gn_y^A>uZ}9Vm~2TG)_Q z8z}#QMqJSKp~n|!>=5Jw(5MHf#KWZzqz0B}37G*Zu~*izGD7zAB9ov~f*^ZaLHn;k z7`CSvb8oOV1M*36u)X3S|A5$_bM-)MWYZyR(5X<6Gs-|Vf$Y!#-R;BxId2WL?;Ud5 z8YrGXrx$|u>VZy}gzQ1Zb{+-3Gdn=$!|Vl_4cZCq0lxDP)Z+q`nV?h%YN>(BA5aMi zs*PP4Vi-VoYCvKc)E)qh@PWb=)GC72X+dCBpmAl;X(pi4jv(i}fc#xu$I9rqh6@_T zpwqoTzJ-ikf?9}9;L#b-cn4xk6C@5wDWEkQkU7g>hA0Mv9taP?cVPh4f}mX?puO54 zpMrLHL(c05xdGyD&>n8kDF_ICi19d33mRktL_bWu7Wf`YkO{E;@Gu$B-gpQbw6`Cm z0(90v9s}rPDA1`ppc7kyJPI^xk67yk%4MLI3nU$YT1bde7SuKZm7$~f$Y-;opF`Qkiy`~0NY>Bzz_@x@Z{9u;^30RqLS1U*Rs^S5(dyt z*hGdD@V#S6;5!6Bd5VFd9DMp2=#(hPt^~x1f5>)2TnVuiv{Ss8!I=Scwm!&DkiD;< zRtv-g*v)33eF-2NLA$;oX%C@B1$@Fi>K+DMYF(js7=U*7W->r_v4i&9f_BtbFo13h zfTTuHEQ4YjmR>=&f$|opjSebhA!R=(-}*6t#%#mEEg4YR4oWi+GjQnv8z|Vq%@Nk(AQV&Y^pt=Nf!WQVX0#GhOK34*A_73RG2GIE)AU`O8 zPksfZtymD3L4iS$0EC=#!bL!pB7*|hJkTjMh`az6V&DSTg`oNn8-|o`q>|W7f{B4b z6O{TPc^DR35FYHz2lR7wU?+EhTnsC7Np%ys>Ot-W z)MOA7dLpqoZyPpVlmyw}?p0S=G`W@@WdL~%zJ%Xq;g5SrEYK8%JaV+;FfmX@D z+yT2M3A9I}MTLzr2Gl1?8 z1)Vi+%K*8t2Ek8eNMR^Ik}m+CQU}^42)fxen*nr(qyhuzq%Y7(4xrKtw5JcG9}*h4 zNRTfW745chZ4QYXOyB5cfgO*@1){kh2+C)M5na4QTHV?GQi44_kvLm5D~F2T-ZLbwPL-=MpOK&n9Je1Y5t+Or92{eeQ> z2OJKdHW|bu$QhBKw2$31dxj*i4p3?a-MgiSbhj5IJYaP*BrahsA&^TzI|ppRC#z&L z_Mxo&j`IZW71|U<{H&oNWo( z;R-rS5_Cd2sO=7FYaq8xVEtLp$u=3_6YpTXM||dhMqDAMEkVu=P6FR+2QdqD>I|sl z1GS4m4#I5?=oIJx@Tiq8xc`BEk|(JB4mz0{)VBcT8b=0D9s-@>h2LB)kTe5w`qzh^ zRSY`s4s=ovs9b=Y)dz7iNCU1E36cZVub@+`Kx`dw2@R@W!oa5vgT!F*gqiw5eN9lD z5sM-53^J44b_uogf!qMP(M>I8fSjHN z@(awZpz{<{89?oR&{#R>G*@I>L8=%Stf&GZ@d+u5VxXxIGHL-!pYh;&8Pv`N)f6Be z1A_*G8pb{HpnD5JVQI^t#h}Rm@i)X=NVvep7ZBzqfqT{|3=lIB;-K6K%H^PN1C8)A zKu>~XU~ppqosO5v06Gh{m;qGdlrUs~&dg^3%^rgKN+2HSTy9YR718>JrGJJfDes8$56F#`3aA!i&T-*^ns2f1S*4_ZS&bb#CosufBYV6vdz8K~X>)k_e4 zu+$3aL&5ZcVl>w_L^>#of zuY+2BpgOt;ej+qP4a9$t))VNQWKfG1A_fXaP&r)5pw9pifrSrpC_us=_c_q`44C8{_ra zY>Y?R*%-Mx*cjJ$urc!1voXrmvoSgsRTh-ErKTFh zU{JQPAyQut)*nN@_ZA{%VxecK2T}?iVFk4zLATC;ZU_LC7NGNPL3~jD0i7xf3M}Mv zN|E^>b$YYe82>e~G1|1SG4{5wG2UunV@zsgW6Ww}V-%mw#;7ryjS5l%;5$G;H?=_SOM%2O zD10FG8R*PY(EZ?`8!{k$S`g2!$pDRH>lK%Pk_baeW^rOpPJVf6N^)vZ2}CqBFSVi|HMt};1;PiV zQ$np7h?|i~LOMV-2B@tBG982=dO@Plv}y=Sm!P-=l@uVKrohJoAYlf&Q32#9P&kz` z=zwp5291^_Tg8ApQ(BUl1DZ}@a09Oy2erN-YdS#Vv5+}e(3%ra4*;|Z5>yw0X3vn- zflj~#jnY7R0HEh|RZyUrVaUD7p!svq8d^*}pq>Y0#V=@m z0%&v}wDJMF`MzMEfOZ#vW-~!^y_n{KW->wJ&!9dAXr3N4lK>ix1+7TO=10(6H>5X& z-&~M+ptDXuGq@m^f@%fGY!dG90FCb=#%DqES;%1sTU!Pi`vQeBc0Yqw)Pd}Stp7sR zk6k^gyFha+kd;lK^+zE0K=#vMh8xHp&p2LN`P(?fuwfOna0RvKWOd|6vm)+RG|AtKz$(4xH0JV8N@6J zCY)dt`xW&sI>tq*FfzX z*x9NueXtXtLKzCcqah%jU}rPX*4+?$GvIDyU|?hbm0Jwp8=ygFYJFj3V0gg{iUZJk z49NJpk)ENMo`s14s2(*mHa7+_K;xd!vJJct1vc&hYGZ)fX7-uV*`i~(qn+Mar7BLeQ$^g(A_Zk44}C$eeem)pb;TZXzDYR zF&H!GL+8Fg^Qp-U`V63257f>AsQ}Fr>VsQrAQ$N}q=9d&N@HLE-~Db6otFlkX%6ad zgKBBm*e}xfu?47Qfhh4oCA=zwCxaP-2?J<8R)YaD+X4{*-J}Pq6F}N zx{V9M2dM_#^A0-m9yCG@87G1CWI^L8pd4EYaz3UbY64C?r0LmEh89?L3pu7YsbwK@_JaFF|)Cxe%HG#&$L47Dt8w(VxpppzU){f0w zV%4F#2i6J$&HJY^pt}>nM-2m1GxQiBV@;sZW>DV?lomn#FOZp_QAC7)V0WH?+z$yy z$fyp44O0)QgFz=dfmWb_T85yq1=NxS^>8318%RI88z3h6gU6L%V+^R}8pwQfKZ4wc zY7)q7P^to@JW%-$;$x->h;5KQ87ST{%?9ZM)fOPy3N6+lVxSrKbOtx@IskC5% z3lEtOvV!)_A*M4h*f7|Edpe-J1;UW@3(Aj(JORp0m~KV%b3k)XDGZQ22HLLx`N8ACF-Hx7z-Pzw-qod;-t5$Fs> zP!9~0UO;_zP#+mIJ^-4X0LeqfH9)y97o4WBseyzVHWNT~krP&Zpzy}53qkjZ!rI@# z;8`Ki=qspo4jSzN-OLGU6+p%zLHz{C_!p=@0m_3#&~g+q)()y|A?qPPaSf@}85lt7 zK>ehAaO(r)3I+zVN_NIsjqHq5E7=)y>)9DSOnDh+nDR1$R&kUvq=WDK0Nn*x!2qgd zKjn#wf@c`en zYXBb?1GyE{4vT@-h2{*PUZWvHJVQEobxRBb=%&aR@W>nTomCJKGJ0ELUJMKd;8}gp`hpB-o2ZPzpP>jk0){FN8P@@s4oU-74Al20Xe0`9FIfyjB6xH^ zpCKMRe+n8M1C0Ubfky^G<2$fW0F7e7M(i{gK(no|6b*_$m`pJE_S9r>jHQ8BO~7P8 zsRz^(PG$hz=Uu{3%mAAEh4@v0!G^(xL4g6Z-%=B-SB)V98a9ye9zrb z=K{X-v`B4Q1kWZ0A5^}FO ztPBOM@&b(q7J)+rA_r3q8tns(HiF!q2TxTnQCQs!k_Fv@kPNP$A+CVL1*qPHtWN;- zoLm{gp=%aFz1k4y7&Ic>hlW2u>$O3BYS3ybNDL$UhJhiC0d%WYGPraEwYoqd0V>lp z7}6O0!Ry?L7|IzyB^f9ccrv6hfJQt)WhqECsAR8X0L7Uag912pgJxMlwLl32Vgv~? z>kXQzQD6YAqXO+%1Fgmat*QpCAqS;s(AXokd;l^R)FuY)Dh6Q#@M*fBGzIEEg31rb zJT<7CE@l9&qX5;Jpm8Bk$_1qcn2$&=r9ovhb~8a~h_n)#9_2Hrbq8uqz)C25!PUmzB!H4jR6uzEy;0a06k%*_MeW`cS%J4oCBTslBVP$~W*?`*Qp#B8tj$u$+3lh>GpMy^JM&uJv zy#ku81&wMW@9G2XJOHg<1nqPJjdFuVg+aQ>YvWWffO_X3_aH_ID;Xf|9Z;Vgbki=V z^aZu=Ky4y?>OplG<^G1<6$RQ=1KRyVJ^z-1+wIu>hAap12W{#(?Co<<>jTu*tz>|; z&QZe=H2<2%09xk=x&|!T07?~zR1DhZ11e)dGl-!5 z#Gq6ROWClqCtx)YwpMutLlFaL_dyMK9|S1Bk=hdhwUR)#f@%X;F9X(JfS3-7YY+yx zoN#)E)wrM#1?fQe6|%Mw)T;*V?*!S4x(6CG8;PESL8g$Ce?hB#Q2W-P^ax57$aM{< z>;moGNrl!&khG1g7c>?J%H5Eea^#zfQOi%*x*E_}7HFg=5xgQ178bD92WXWEYO5TU z=FnAw{EeC3u-k$^&B0O+XnYQoK2XbJP=8c`!3}&47HD5MXfH14v?frBfTcg!{44An z7}WMR!hFz3m;wWG>qUV9lot_ux)c~dGfSWmTm|roU(l*v$UGFRjX;@OAnPcK7(o32 z&{=N^450Z71qRSsHPBokhy}XG8Z^@i8Z!mWS%Lb#=?t_RcLdoJ$^aUR1f8i38e?!_ zAZ5%GTgo85KMl%(usn;r&Kpu%q1Nw^)Q>$~BhrhNiB6BSX~fl4yW9YC;KGM&IRIB3olG}~9g zfP176x%UOBhmw){W1v`o#T%-Ph`mP0X#ly#8m*_(8HyQjm5FsIB^hYVFQHNrv?>I2 zb~&W}hK(IU#wW0i5Q65*K&29B))JJKVI?W7Rf&)!A7&RIY*6SfY>M zVIOq_mHpUEg`{)P*aKw55mpkG%Pzea*BkxcL$$?yjOAb=& zz(_bZeNkwC3G&`xF0 zNOb@M=oEa=$zYiI7c`;<>dS-H?}UMaA9P9-XdND?tqodf2|9NNB!Lh|PGz8V<)GD+ zuv^+uM?paCbI433XdfHo&UjGY3pPrEkVo%-fz}m*W{yDq0-YfN8g)n5f$9R#IyTTs z4$v9+s5_QHB@*Z?8qhjX(CJU0{c<2bq25OTnm2@U4(EGM&;2jz143NFiB@B8Dp!G|bGun{3(Fz7t1_K5Q z=&F8Dn+eo51l16*ISl09GUN8Aq-k8l*a&y3uGU{!W~%* zG{yuwp$R$E$q#qpQV#=o$1(QwgX%t9sRvaRX4(PmB?pZgfkvFt89-x9pmS*;p;Q1~ zPn!bXe+NpJ2s>cwSs`HoidkaX*18OK43L>FNNo$7wIr@SgRC8bwf#Z6`aoy=fXb6} z@CqBqDI=i#hP>_zG-8&|ki-BQO#!tQKx1R7&@+KRbrybi!&VBwW)zXvnh@)1kSz=h zxeS%ibrk;K^W8x6r63nWc6CC+12h%~TD_UU09oY&+98BJ#E@s35w$L)-U6Kt32J?V z?jQq=!-H1VgU*h10k;j+7(gqzP~8BEKje`xME?;qI}O?=0y;$tQoey|E{KRX1L$5G zLk3XZ0Hv!m@ERpVoIv~yiVtk*7d>sk*5`p{)OX_K1n7+Fau~G zX8{9fU6=y+6f@9@Ezs#{5ey0p`V62E$|MFBH!gs4?uuxEhm3da z9u&_ITR{CZm@G&Xlq(P`2SBL~6waVHgsFn0XHee?)}Ek7NRt<03gG>D5T8&UUXZYK zW&riEV7`TgC?sqUAp_!Tfy)q7G1Tw_se<&6kjE3K5niC034h82*@)= zcR=!H4-HzG4LK_g)?-7i!?Dlaf%dk5*64sn!H`RLSeXeLqXO+QhU^0X)$s)k z*$kP`6$pqHAfnF!(*ZLPW)k|S8%!KFZ;wb>p!AQK@*piT)Oi(1`3%X8h_*baPD9W0 zFxxd9D900D;)BW=M4bXFLqPp3`p$AddKNcM?quBpfpF@bz#`|9YE$NAmN5NKLpB&pm>IrivyRwAU%1|$RcR8-h%-&ZVgFu zl!YE>*8}EQ18mI!By>O{L9n$)8Vtnfz!jd5eQuzBR1yQ|tiB@fIwMdC2I^OWPC*0h z4ur`2gZG_*_8}qn;F0$i5mzokazAqK6cTP>47l?gOAuR|85GK(`D)OenV|cQ+`)4no(vHTklRL3=L?Zrg}6&<&>SS_F|P^P7YMpP093{x<}^WL(25M8G5HMeSSv^t6jmUN2rtx}51LN_ zje_JdXfU9L2*_t13;_&~{xWFZA9BAINF3C!gM}Q34=E{;MIfalq>hJ)qq+ko>H=Q> znuyhYkUcPYkUgMM8krBV1z8oy4p2*@47yJQG{=Q~-arqelmQVgkkykgS0RUs0+x^| z0M7w{MvFi#1W1fP%6CMM1mt3n+YskqfJD+55Nk+5DF!r`h%haU0d$fMB)@{jJ0YiC zfYK#s6&>U(Sx`$2!~@M^f=;agX2C#bG(heO_GCb;Y_4Pg)mNaI zQP4;`Z2kZ=R}G0fgxkTvMc^C+*t{96J_7ldwD}c88un!Dz@>lgZg3pEknSrp^mm!g%0=&}$H1-Z!-vp8arDjly0HtzA22ctH ztyxe2pKPMQ02}>9jS)~gB#8l4473&mwC2O+5v05Ym9Ifh5NweD<|E00~4G z^Y_rQAH)XP1uEM?^jD}mB%$&kF>E*vDxVFdCqd~wQ2NSacE+Hm?2I#BL+X$Cr|gVv zUm@(mw~)Hz!gF>;kbR3@vNMA0Tlj>X5rpNRurrE2VP{+g#XH`xGlJ}s{m9M;vhTnr zc1DnW9$(lQLH0fW!p;b?4-}4w@&mITg0$K}wGe~_iDLw*1}#@0vY?o!&;CtFX_XA# z2M8JoFJeH{A;|s#ooNQ^6NCC!pd5s}*A0@>K;;>zqyp{BgUlj=ZYTq-4TH>9xiNrR z`Jk1?2%m#W#Q^ZS7m!ZSxi_GjXh8Ci^o%J73LRJuz?6mM5m3%S9@~ML3@Xb&a+o?n zaR_n^c3q%y7Zw7bSxCg(DfPnxn+p&jf=d?UD{OL*5(X4%4DgZzn>yr>!xlP__`s$U z6sDk_2QzYHh<=_4Bt^mGAif37w@{~E1-S%~o+0jlHw@M3nBJ8FNUjgh+|`;FG>#tJZL>c7%<$ zg8I~ub&sI4>me&SK;Z;xQ@}=lKx;8TF#}qIR?JYzkc+l%02F$lyXjynKtO2_;YN^Y zp!f&ndeDjy$Y>C({{&j!0Pz9H22k4xaf%RTzXxOvEdPP-00XU5g0;{LF(IWNgapMB%zdCf2BJM$^ zf$9TLnE=|i0`euuRSX#CPeaz8z*?}N)BZr`&Jf>{1)cK+IvXV)e2N&NJqtMx3zRNE z=SAc&KupC9D^RRJ%1BrVNKOu5U;wqXKx=9lf3Y(L|A(|UKtAUC#m-p9zya>d=Cg2s z`?B_bAnlLCe{C`(qC$2e|$5 zm5T%3{-8&H6Vyfp%`m}oBKDR8$k(8?;(6efE2uvX>U)7k89*fnXto`+h6fa9p!3_1 z&4Z-{^tEA#b%&rnE#zEjh%KOefS%GJwFsj31u7qqTPvUue#A@;q;#VGNIR&s0JZfo z%Q8r50!nv?83;(f8Nmnj03bdDxfT}Qpgoa@@*dLbAtRcg^Q{o4K!8FDIh+W$(1;BuOxGep z2~!T_OGFsq3Po5b;gW}h6E0cOLkbi+#O4!7dV=I2$Q&bLL;}*2Mh<6)Iz&zb`5#nY zq1FR1|DuXQe2FTCt;RsM4^oq%+lnn846Lg`c^iM7f@s~rYDQ##LRzS}{RxpFFMfzk z`G}Z7qpubS1&v1&R$&zQb%mf@EO%54$WRA7Yn7U(pRp ztEk}v85sbL96EyUp99@S1ghadZ7yt~MeMo^@J>nNm=i1J#irH-W@p zHE96@E;BL9M^HTr8b<|}*!Y}CNgI1~_S`*$3E(~r+BjpemfJjjMAe#$2X9gq( ziy>U{kT}963-KYWPXqD|q!dSXDX5PQDwVLA!NA}t%)xk<57I_$5QMZ*Z}D=#=UYky zIN^Lz z5!0@Ogfy~W&}$y#@Pd@vw5>0Z?Sr`sHdBHvZm^eMsOP_e;tys9qV$1@fMOI8gUI%S zQXuRETZFF>c?sq|kO`!Q8?o+2)L96ZBg8;9W7cCJ|H9mcybl?aLP7HZu(>rze3pTP z!Tmqb-b#A)!;sT2u6`J#+yFa|f%fh~oUaTje?fb#KzAxZc6oxzA5f?=FkBJiU{sfa zlr9wg680VmtaiaJ3rQo` z`19G|LAHAJ7OWs6+Is9O~GFV%L_?l|?_CJxs z2Y2~^JSGa#fyg!3#(Vu3AZL4kQWa>%0923Ro~1)=8-r>TO2>H-H96|aJJ3B-h9-K( zdPaIipnC&Br*nhO^aPzrSOPs06t+4Iah^2#9XpUz4jOX+t(U0)-=73JJrUG~C;^{} z3o7wpD|J9+0qC|lP~HLEAOcc_EC)GX(uDzZLmR|yZ1>n;zjp@J{h;0>s?8w(n&}zp z!SB@q`P`TR+Z}I~p!>F<_l_BZE*^vFh1~TCx#$x#>H>;S&}an6Pssj2mjjL0fo?7a z#Xac6MbJ$Mpw*Sd44_Z|-8~En3DAfDWX(GA`Ov-$pxGzTDkV_NfI<*7UkOqVTD1fU zAJ{rf*u878o&J>!pc`O7b0MHT9H9HHK=+S=+NYqiv_U48FzBJ&$qO<)lp%z{jRA7S z9Vkpe_hx|hk>^0u1ZpaRqz8l=NGS>$odTUTP{{x}Sr0V#0y;k()jWJ^LA&xnCP41D zgPdak3N?i5K>d7JFA=oA8**P1Xx10BQy#=?sP#uc6V+a&#pp~tl z6Eb0A4xrU*ka`8N|4xA+jKP3G4}5nW#5B?GSVDD! zZm)6$pI-_JWl$XgNl&1Aogm^24B-r^3`yX-q(JEoYz@Wq6%;3jhi}kKTP~3vfIYCc-kTroYoyg;33ec1UnqLOF0TkAtxGjd; z11lduX&030bs)}wx&m}wF3dJqXl0_TNJf}MxxJ1I3<_ITGBWxzFf_dQ$_Tp3kU`-q zBO@CFgF^z84{{zO1A{`zN=8Oz28M=)?+|q#zA-W~F)%n-K=~kbsAY+Xg`N@UtSQjh zD4@0*?7VSM=?9v92IX^HL8i3rdfM3?^W4V%39Gn}fUuHi5AD z77PXqhG6xexDH`R1mDHy&rr?)Doa4OTxWn+j)8JxCIcvifP4b#xqvi5QX{JW6c~_4 zQ$Q&IG+zL^D;88{K=z}=Gl24LCHTI^R0h!fX0VZ1kg1@%%d8kc_rz*2I5Jo>fOcLu zGk7vsgU_sWVQ^;f0iQ|&I-xp%A)FzA!G$4&0df;8X#EN3hEZpRaOmn9YX%T>WpHEw z-H}Z#^IWKG9_a2{O!oybfX*KS`4=>I?F{ybHP~mMQF;ajRqzdekg^}qW&oYI0|`fe z1}g@T$?j0vg#mlGg3e-r-OU4`4WV{{bYr>;Q@s%h>W#p+0D)o!=9ggbNf)5l4rQ=r z2xb7?n+A$0WP8#WAP`v}DLO!_p&_9Lx>tHIh6^aUBcf0FNC?D?HgIW+RZ9dhI7K!?1c zo)P4#W&;BgQ#~V4cZmV@R%=kJ7}55{*Omp<7|3^y!fvkyiMuj@=6fMKdqHctDj9qk zK<&X|2FR@fp!5DfeNNE*t)Sc6a=_&|s5F6`@D%|*<17`VQ24VF2Gk32MWGM%o}T!N3s70J`l1 z)M5ekGe9G9pq&qSz0NtMe(*x=ig3gWv`3%%P0nK}Z z%mLlM3A)o9)J6u~3=O$|R*6BMA%?+!m4uds=Hppu5$&Mz_lO2OoOF}Y=QWH}`J$(}M(n}N5L9PYa z2Wo}ofcrLxThtjC!c&WaQ%l@(64Q$ryp4@q^Gb6Ait>|Fi;Gji9#$>Y10yRN)l7Xb z(os;&v;reLD+Sf^Vh95D%&HkctM>93Y8e<9s=;UFR6yDJ@ZH)FIZ)W7F<5|Q5#f;x zzEJ_@I#BF^Zd3rZA3-feP~QjCBLaIFLMW_pU|?wQcge}|P0R$X2?qHSvMvl1r=Wfr z%ruY&J@AMrs1Fna;(}W|pwUjqUE=y+F%1S#KT{V>g6eoR2GBWzpcDy8Go=iWTd~ne zJq9fX&>kU>*$fP!#i>OBMfqu&IjIccnRzamMWB8fC`~}dIY1UUrxum?WF}cDsAd#{ z2@r#efx$U3FE77DA-^CskHNnnH7_*<*!+GWauq_M5^^ z)L>vJN-asu%wb^Q1mBYk+W!f10|( zRKX-zh(Q%B4OPX!0OITE>49lg1EUHCP6h@B1qIN(;|vU{1}5OZRy8n#(BNoNF)cYJ}u9yI3!N=cwR zX3Jm&5@HDUaZfD?&&*57FE94YOUp0HO)SaG&vOa)4{`x1C}zlENM=B!Cd_+}bs0c= z%s}hF^TBS`#oD({h42TM4J2j2#&$qy7Zi7(5iFSfpu7tzx3Sv}vJF&ofoSZu<}!e0xV;%X8Fazt z8-T_ZK;vDoaToNlGtkO2(2jOU9RR9S~&`2_<42QTM)EBV@pZc2!o<{`j{Dj>N z1!@Q7fk)BO8C)3rzyXd=y$b{Aem%&{08Bk-Ovi}9n85@*nq$>0i| zD{y4MXC7$85VU(2HWEb0e$YG)Xj}($hY95T_#g(*x$&U0w?QY>f=(LpX9xj#1&k3V zT{(kqqyV`%o*{_Al_3mVlQ=Sf&X9-HxF8jvGg7=6K=*%v=1M#mK)wXY`Y=RNXdY<3 z7GgW-jB3ybPACKDEPjw{{25?wCf~g<^TEyp-(C+oZ3*NPm<-4!LjDGw*98hkm^&b* zfyT~3DFSp#Ehv;gBXOWM3ifaWg`6`(D1$FUCd<{u|Aa(KJllnnv5_DcuBskrGQVS?Gg3k8`&6YuoCeFQ}^Ol1d zf*C+F5TIMmkWEHDV;+=_KsOfPiWg8UB0>SQ=M8jz3@9ywLKKpF@wp3CKPXRvVjZL( zG>QYdGXg#Iu=@{`GeNpQAqFzV2R!cuN*|z;=RtQ7#WSF~2)j8Ty)YMm!WWbqK`sE5 zub{XE-7^8Y&jOUXL1Bg~TtMfMfzm8w2PDE~kSij==ZAtqg|Hhy;e(n>5PBfHpFw7W zN=s0g3A)R|7d&nY%K6AC9oe18`an4rq!YPph0Ruj^n=0xWJ3^mOdM2(!crP`cfia8 zU3zQc?;R*^9m>nQ7T>b;80fo6M zgAaJ!H0+ceR|aq+9VH)PvlkH-pfj^Wz$YX@LL1~eh|M6^~QWojv!AfFemx4^e?ng*mgGx3~IC_Fl13*r9Af34U18QkN zLI)JD#H3n$Zt!OS-5UeCp9NC#fKn`aD*)meT<(FT8&JF>YH(1hN2EwlZubM1YKYuP z$UKlgL1_qb${%D-98`x8V=~0W*!>N2FU)*UdjnLDfc#IK*~FO(iXHSjQ3!anGCQ27g*g9Wu~K&F9O)862=eK@p_ zf!!=feg>&Vl!%~m8&nTN+E}>V0nrOfjmR-fS~-Vm4k$)Jy%JpI8$N%)LIzY5fa)H6 zYGLk1lz*Un1d4Bv|8eDURJS7ZB76@DFVIWsj>J)G(cVd^0Eg8Dw76<&@EptV=X^9Z2DXeKCj<5z18 zRSU5nzgi=PVg}G!QP6G%(3&aGm>IGTEN)?dx!aHdStaV+hY5J@10fG;-l@@Tmo@=77k9`WB!uO3(-!sMJIXTO@ZFFo5o@NoPod zhZQs}Ak=^tp+Q<33JjpNfsk1rka@;>$ZPqG48YOA07_S&(;g6GKMD-)45bX9^=Odr zL(^vp(dWegI!gnz{t0xtHDZhsa)%=*1VH%?G@=DcJ4Fn+;Cq!p<3OMh8;}@e^aeB< z4!U^@w3?}a0W>288J|VA8?uJbT+he^w0#K&Kx-#->2GyMV@SKqF?Lk$aG$I(Ey+Q9sc8K;KO zI1OYd1<$*IR+xiU6N1LfK_gnAGwVR3b)c~`(8(SO;E^=MY7~&)LHP=lPGDhfXbw9& z736wQzYbw9T#XsB8ie~nBk+(g#G=O(6ql(CpqUcTT3FC(e31Ph_kl{B0tV1(IM67o z0)roTWE7M_Aai{n|A1^kl|eqs1a$W*D3n1l3W{ma35hR`;-(I%o#wZ|A73F2=4#*GB`6RFgP-lFo0J6Wimj<4nd>DAon{nK;%KA z=pYk8H#9@W6~WVe;E_boi6)>Eb098&=>Yj0Z(J}Ss|1zJAm0^3=UY+Z%@ABC!PJB1 zQ9(Hi4V){2${nLoiGHNB?8UKfleg? z%>t`3R4`~VfM%pr%Zn9kK~t9s8U_`r6`Ei%@SIIFcz!Jwd`A^XKWHWkM1#x$sbXMI zEiaB%EsX`~&nO0&0h<2;&vk+3Dpz;vJ zgVYg_RE0>7zL~|vpowTm=z|v^fQ({rE6vGKNX`H)17P5Ctw_!(O-WVANli>sNKP#( z0fo70IjDpK#f>8aXpRt6*FtJANcjhve@57y$bhKlL3&W{R0E}(at2rMoob*O8g%X| zs00S3euz2P)Whl#RMnu+2gN%q79q1Xpt2cswjr!Ug3+MxNMR_4-(ZMrmMsIQj05fI z!sRxI3Q&M?ffgV@GYY6c17RzLlyXqM3@%A5DJ`~Dtx!lQcP%Q)FM#A&f8|HGIi)IjBy8`5l{ixLi+2A8z-f=T1=B02;3ZjsAc}xM4FZkkJXycmQY~ zK>;IIgW?{RJr$f?gF@n+Jsds#;+_5dLR=$46ku{7b+8l(S?dKFdxQBI9#7gT^00eQt;v(5NQJe#rhuh#K5;1)v;; zh=170P@vKPbbdrR(z(jW^#k(xh@kOm&<)F=J2F9Y2C!2JL30V9HO8P@X+f?8%};?` zNZ1_ExB+PF2jmmT_$;!1%)6^WCoTpsptlhrB^OK%)Gx>fudD~nMHex^?h638A({0-?xfZBYZdKAgY9 zchLSYkQ(&x03NAIrA4U$iA9OI zsU@jJAiE)<8V2r%VXoHzl{TQg6QHyWqCvS4)E@%zLF0d(44`o{P#OZA8wwf8@?`+6 z4h8kPL16^y8No_MQ0qMhyzZ$4yrvY?b_ebM0QH!P!MZ>qB@Dp~Wemw+KB!d>>Vc+% zd-0%&EUh}%YZHhnoC9&1GzVcA%y{X%^xTY*)n)DfX3XZ zwX;c;!Hj|Mx)P8d@vSPMY+VZ^j3E93`5O^NsA7;XLWp4xA5iV$2;a+voI7DXQqU*| zC>9a%3JXopIw{cJG*E9F)C<*NfP_yn184>eqzBX!2E{g{-2e#_P-%jD%?~K$5Wmt0 z5*DDjU{HMlODhOIBn%*Yh+1FpstrV#A@~rr5I%HF#n@cW0Fw8>{TOIpBekd`Gc7YY zu_QGd6#j_39?IZ}w2lzg--V3@85uwpUxU^egKqN8V}RtI9B|nI%2lxN1ce-^2f%<- ze?iwWGJsmIpt3xZ0aWs)Fa$GXfXjE}ejcbi#wH39N7s+&9fJIVxta@RFUU=xF{L8# zs!C8#rWm}w40LJ%D3(EK9;Oz(RE4!RkV~UfusNWy3Q!#bausO(A#RnR@*ZRdC^e;n z^@7SE$gVq3zYk_NXtV)TqC)tfJA*-K57Z+7-75_e^=AOBQ3u%w3PVH*gph;nX9bBs z?9FA!1&;(FhZbZ77byHeH2`Qt1+;1pl*>S21qy4>$z!MLn!E2ad_JQICq8=d!67yq#+(iOngIbuN)&Xd7EvUT?tE;alGBExqVPL#d!oYZ< zgn@BS2?OJr5(dT$6$ZwZ5(dVI5(Y*acLqj}5(Y+-5(Y+z5(Y*VkosZ<#tX#^j7y3c z7_r9-W@^!6K=luZ2MRmL$R}ug5;7_Uaxd&gA<(EVB&13hQowaSXp{}K4ihxyTnw%` zKqUgGJr7#<4bmH5R-9K}P?VWhlEwhaIVlVv8H5TAhCJ|H5joKN93bNupcTxZ{w4#1 zI<&ve$&dgt4m!>OQ3dK#sU*fQ`!-4EJx0UEmot-6G?PSD3YjX+ygG4{=y8GvRNFx7(Q1wdn-pd1Y< zi9z;(`k|naO3=<$Q2RoU0a90k+60a$JJR*QJCi{x2SH^bq?Cf>K9D(})s3Kh2pVGr z)fONzP|1uC2l)at{+SQnEs)Gm3BFqdltV%LKOt!dRAPX_8j_AcB?818&}a&14L&4S z!p24+Z3~bMp#CSQP=7%0r>@#?;-0mOBjk7u$hHD52BASg4%Ma&=w>p zEU=FjgUko*$tVS{^#q++1M*c412P}9r#FcK6hffzgTx$YPY2*p>&Mqx*&dD!Em`NRN z8ABWx84Vm583i05V%XLpgH|d!gV(~kF@XAko(x{lo&adZJ%AyQ0W^CFTBi`k5Y7<6 z5XlgQvUWM00hD^P7_u2at*bnSe1-ysLI%(tt`de)hBAh7h6;vChAIX{24w~n22}<% z@ct_;25kmi20aFS1}g?@1{(%j20I3O1_uVnZmoERYK9tyT826X1_m2921W&S2F8?E zjEo%W42%J<7#R&-F*1t0Vr2aBl9BO(8Uy2#myC>i)EF3-s4*~}dCAB)L5+cN#Y;xU zj+cy#Icf}ypnL<$p`dyo6CjM+VfHUWA_@@{pPp z)Wd+4e3j6B2cXh9kpa2ofv^))pQGwQ9aAd+??fm9@5TV-DNt(&)UJk{4g(t3hol2g zm|&U(s@ox^V~$@HfO7ySBtY#~P|5+B4~cDj?gN=w$^c3WpcMfb&^Z)PY@^04YTpAC z_sF-%Vy{~f_JUd$AU%lwF=*TyG6w__hva3DJ3yzilz{UAs7?fxkf2rvsJ_bsr$*$u z8Ih)t!w)%ZAbtSVsiXube6*N;DJK{`PyLG46Ps}p1bNDN^bBn&_<1GPdyJN*0@N*Qt)lE5Qe zF#jOu7f}8!hTeb%T1|q>1)#niwot>?uL14h1I29~$a`R{prD`-oL^d$oN5c2?gDXL zQj3#|G7CW43*llOsW}CpS{5V_ty&Sw1yTso05ZhWC9}97u_QS|*UmGqEI&I{L$$nE zQ^B<&ITdUQXa*7F^AZN+5)X7X1t?eNF@%BFDwKnaVhDzg1AzLspnL@CGl2Ahb_x4~ z*HeK;96{&)fn;F$6cpBw5C*l_U@-tP5EP=I7GW+!9!lN>nF&eZ#o#^`D6fNB?4URS zg$`(s6DZw7&a6T<1=UVWd5~I2j~-+{#8n_Mm@5#e9#+O7>_zVVBJwRl9%K%}>@;u= z#qNGkX$|rVEY-lm7-Ry>B_Q`f!W6VO8I)#0qgsfyNFaHbe$*U^Ep5SUfVmsg|EoX= zbI@KqkS(Cx2CBC~ZD)`j!3^2plXpODT<*qJ2H;YQnb%=%LN1|TVi0$t_iaG8RU%>o z)KY+{N0e-k_=B|Qao0zP_y+ke1HA5~fB~|nTb03(K_6aogZu-kS#lV181xw+Cv~Bp zw*{(8L8A)f>WA468ky4v+k)E#pdKBl*I&jE4|a_nxW88b@&NT_SXBliI2+Uw4uJCzbx<+`xns1T&;zaM133sXPEKF@LH5GJ6A}&}7lFb8 zQXZqnCusK*BvwJ^U4iC%K(#8!6wv)IkoF~|=72`-u*VB*yqo%C? z>;u_@-JhVjO<384z2pL&(gkrNwNfC&=h)o?N{_H`z~&yv7!7DO9O`Heq<;_7Nllj$ zb|+-6h1zz5)&PUz4HEXq;X-};K=$M_AXbop>K#x^479cg)N2IoT?V!5LFW($Fo0Gl zfNt>&VgT*s1no(J>{tNJaR-5C@q!o_kjgvQc`g;;lV3n~fv^U+_l;^Rq-6=2iLGP+ z?LP z?m%O1pq?J61qLc7A@eh!o-D{65ch-TNI)(Hg(L$5s6_~>nUG@uG&Tr{chK5a(0*#j zS`Sd$1JoNwZqq>g4=X!BHbL9~vX7FPPLN6I(D|+^@QvUQn?OAP(Ar|qXbz}N1hNOz z8b;=W+MuAc3hEPrdgJ)UgOS|`s&_!~2Dz0Jq&t;Cm%$&tCLMHI322rRG&2CQ7lgTN zsRTglP4%=gKz&zU&{-;aTHtkUsu{%$Aik9XXi2MvYKkTUgOvgU1J-kUK>DEP`heW# z!~hz10mU_Fyc0C90vfXc&C-D49@KINjq75rx^-vpWe5SUZUmhjqY6Gz6*R72&H$-* zLFpc3esXc9PkuURAd!Kgyo7-vu>{s11NAEqeMr=PJg9{TYI}p)hSBQ@nFXbNkPb+m zO=SShID_&!DCL4uF=*r&60aati1YO|0an4oz;$VsT!Pvisb*9V<{h08yn74?vF zBSEAgg9Sqh^xRH}PSAOp$mgx1t51Wg2dyB&bQMB<8u(mU(21Rp^C>~A3Q18P%-|25 z-vymBc-;r+d|%LrFla6ebb=med>qvO1SJ-jnK<-^!$>WyIlt+xi%`k95hP{S|0(LCC&%m%$CSd zz>vXE$$+dMG}8*I5kUD3RF8uE0190<24wrFX*$S15Ep{ZD+l$JNp(Faox3o^fXCxO z?HbT-FwmSNtV{>BHbK4z`KyG%1-wE4Qo4g`FVGrihzxRD1|$la;{}y9ptb;LZXYzV z12PBH)&PwmfXX1mnp2QJs2wkmGAbYJGf-;~l&U~2QP4^UZ1#~BFZfM|v=d;qQX?H; zFNZ<(9cYdPb{4iX18C<|26RsmsB{OF^Pn~$Xv_;Vh6So=kWU5!)fF&tkUMq3d!!Jx z7h*OCG|ubD5CPs92Wp)|;vHEY(vyO@6j=ro-jU$F`>qVsS_cU__Yb^vlmXQLhl~(` z+z4?Os4Wj#RR`jMM%X~*3urtIwoeUPY@?n}7sC+2V9H>?V2L9IfyR%$K|#h4%mB)L zpw>Sq-a&OBq4(`5jpeXjNAcctdB{Za+0t!2j9AZ5bM8pwXeuL~(U;y0* z0qS>w)PdUcptJxgGm&NVz&kiVyZb=p8>n{*$~lnsK4_&jstjZf7UTm^zRF<81>Y_K zTFC}ka}4PPf$|vWY)#_yBcJIG@dGwDfoulVM96l70LUH)2IXpy{h-!0q-|NupvM53 z@dV9aR5Iv+TeYYv^q})SkU2PRvk3m`RS$5q>448)6SO zRWLIkZD`mDfRJ^Npi%*}J^|FH0{I)!GXdp_JO;Tx;( z36NbN3^EIZk;mv@DnV%kGWr9G0eqGNv6+KA{E2f3%Sut?-UFp%^c}pIsh3=HFntFKV-QA-TYRp8*^ONX$d{PrA@5dz>4&T$0gXiIfp=1u zFd)h_+-i`^H<(=rlVJKlH>81N5qv!c>gQL9Iwoxe06IL+mHFbceWs7~L?xLfST& z450E9brv6D7AR&wH6Cn59w<&htzOV57Dyas4rF%=Och9P2tz&tDCNLh18OsXR5LIz zG8ix@>||gB(KdoijEoEm1T?@j69WU3ejor6H(=NTrr8)uz%+w_fdCUD6N3SRfB+LC zGlQYv7k(y276t>R1NAg^34-2445Lo@@xzOd`yg-3=9e)ly9bTU(GpVENoi=Zw_kZ1XfLxUme7wPNNBpt1F0hCHOzVxWC` zpmk&*Inb;xsvO)Tki#JEu~Ntc?TgK^1vv*r-p@5S1kKs16$p33)%s=@=YrO9Sb;(S za+G#XYFddxVhKnDzM&beJ~S`2q98T7BsE2$Br#nfu|z?&!U{y?fPzv%wbV*ML$yL5 z6ppax;pI}bYYTR~S>0mRl&tpK%j zLFape6hVSB*vim~fx$7@&&tqBL8~AMbrx+K_L6~AZS&w$^aTC2CdxziNHn%Kx@HJ*V~}#L0-L&TMuz#T>j9NrVI>eCk6O^S6mXDaE0N3 zf90LfbTobj8vjsF^nyL&OdiVxo*#_bk+vukO&%1MuyNP`2K13tcks$3n)gJYMo#9^Kh4smnv`Ciz~GRI?&Ip~NjTxNn7 zGhjE<7`)U5yPOdoeTI14Vu+#-avqYQ9!S)XL650NcF*nv(;K8-T{DKx44PnE?(?29P_D z+qs}I2g3G)z0Xh}&BRzE&BWLu&BXX6iGeXhnu#$%nu#$(nu+lThz~x!3Y20YcfWwl z_GbXCQUvX-1hqmzyW|+ay%Ug|{lWK#f!5`M#!xcA`5xpS&>kL;Jfwdb3|>u{%m7+@ z3>qmVzAgc+Aq2H&Av=8_En3hS2cX^8kaaAuc}mdO7ihi`H0q3)uY`@6R5HLulCY}} zWhi3ELE1eEayxz_2#+N|jOQP|m(D>45d>J&pEE-=9jW3VJS3u({ zqVbi`_{wN}6*Rso8ea{Kua3soK;vtn@wL(TI%s@dG`=1hUmuNcfW|jO;~SyzjnVif zXnZp?zBwA-0*!Bp#&%tr3;LeI z#ynxWa3fNAusm(bmnh45e%qcKZ8l8cJ&-6L+dNh7g!h)q({r45W_)KwQ?G``_fqid zKrUar(fE#N?r}onN2Bqb(fCnld>1r+3>x1RjUS7~cSGX`pz#CI_?~F|AT+)Q8lM5p z|BPsSCNw@X8lN4F&wPme?wEw~`qp$OqG$ef~Iumr((Xq(FT zfA;%gIMHLjnWpjf zv+0|S(9GN5dFB|heHLi)A3m?2p@L+-8Yjc5egDr3b}&HfbBOcu(J4lRe}(z->|17* zK3%PQe$_ItPiE+jdDj2*r{l^ui+W4cPq^$}n6SOY{eVlqP-r}R!++J?iRJ#*^C!8^ zdoZh5b&jFk?Rutyn{yRCJ6$%%Y?i+C=1kC})*j^!uN{9E*VVE->z10kr|SyS6Q`|C z;u~L|)(>Q}G`BDgF?QSVTXXyKrlg1b67thxzS=sj++3^m<;D|zrWpTKHGM}sr~FD^ zdM0k|mOY=DX0Gq};j=EO&>>hfXq(ZmN9#8_&UIaS&vWgK<%&%P1&bzJ?Y=CySr0r8 zQ`8uFF)q|$sq>EDh(l-X4l)+Jj-QAuzhL8S6n=o6_atQbgtVn7dU5#;qT{m zZ1G)dSZ zo!c+&@QsnHLwk^9AK3wK))-$@D{?dPHx$Cr>A0|y%F!P=%vV9+R zy)sAUSMlpEY>~StIQtsI0sn2yzciMb{_NUy(|1?pr)Kq-P4@&%zh6E%>9l+Qr`}Gf z8s8_6qKoG&4ZkQj`!+;<*tXi|!DSZ(XWxVH(?sr~@O|nX+TMcWJ#K^E=|7<6WmCU%b0!FL2!4aM!EA_qGOTzb7V9TpgppnduBm>Y6gZo+Dwc$w3!&M zXfrWh&}L#hq0Pj&L7Rzjjy4lxk2YdH1$6K`cp!}7|Np$y)D(r3%w*7x(!`=lhRnR= z{Gy`NKx|e90R|2zn+?2P z2qMnHAiyBN&@+{rk%K`1EDmEgFf>5L6&M;A7#Km~AQlrN0}F)B#K^?RAOK>6oyow! zAi%)DAjrVLAOv;=0|N&G0|Pq)1NaV7HU`i+tPBjS3=9n13=E)|E(RV31_ovZ2JqT? zCI$uuJ_gWSAp-+H0|Nsr+>$a&6d8zg$2lMAiF^(@Gx*N^e}KR_%LuVoMGT# z&|%i@P>hdL56{YVGaWaLkt54!yN_=1{($rhCK`%3^fcK41X9n7?>D1 z7@8P37@Qb57!EOTFeou_Ff3x=U`S%%V0gs9!63xI!7zz|gCU54gW(bb2ZIp<2g4=? z4u&EI4u($*91L6x91L9y91LCz91N!zI2g1TI2cwja4=*sa4@`L;9!tq;9!`=z`+p3 zz`<~ffrG({frDWe0|!GD0|&z|1`Y-`1`dWc1`Y-{1`dW}3>*w<3>*y07&sWx7&sW7 zF>o-5F>o+UW8h#2W8h%8#=yZ~#=ya_je&!qjDdsU8v_Re9|H$N9|H%29|H%&IR*{} zJq8YjbqpK~c?=v3?-)23m$Fl=Pt zU?^nZVED+u!NAGD!O+RT!Qjcj!Elm+gF%ylgJC5D2SX+U2g6GS4hBgE4u+Ww91M{R z91J%ZI2bG$I2d*^a4=Lda4`I2;9y{7;9zKF;9ziN;9xk)z`>x(z`?MTfrBBHfrH^G z0|$dB0|&!Y1`dW$1`dX+3>*xm3>*ww88{e988{feGH@{PGH@{TGH@{XGH@`QW#C}Y zW#C{~%fP{q%fP|#mVtvomVtv|E&~TcECUC_T?P&YTLun>y$l=-wG12#e;GI!gc&#) zgc&&*CNpp{OlIU{2xj192xjDDxXi%GaG8;l!I*)Q!I+VgVKW0K!)8WKhGGUzhGIre zhR+O~44)Y}8MqlZ8Mqla8M+xb8M+xc8N3-d8N3-e8BQ~BGMr}QWYA{dWYA{hWLV9> z$*`J{lOdadlOdatli@W3C&Oz-P6lZPP6la4PKMbGoD8!WIT@lEI2ocDIT>y({k(1#!11H08MotEH22KWcMoxxy22O@{MotEI z22KWdMoxy~44e$d895o$88{i#895o2GjK92XXIo^XW(Q=XXIpf&cMm=oRO13oPm=; zoRO1ZIs+%ebVg2wa0X6>a7Ips>kOO>*BLn(%o#Wt%o#Zuwli=tY-i+TC}-egC}-qk z_|Cw|@STy9fuDhsfuE6+p`U@1p`VeH!JmPX!Jm*yX3?2;Z3>pmV3>ggU3=$0N3=s_M3>FOR3>6IQ3@i-n3@!}p z3@Qxl3@Hrk3?dBd3?U5c3?>Zh3?&Tg49pB149yH249*N342Kyw7?c?}7#1^dFeEc@ zFgym=KA?IJl!{pyBp6s3SQuCtL>O2Zco5_Ygcw*ExENR&q!?Hk*cezD z#28o^_!w9j-@w4Yuz-Pq;Q#{z!vm0INEqE-kewj=Kz4!b0oeg+EQ8DjnVZ1C0BYZY z&0=6=U}zx2fB=0aMg~15M$l<$a*UAn>jh&b#tuD5pF)lSA_jIQNG$^cgD|vh4C*)J z79^HrCgr3ml%*DdIs+heNu_CNsYME@peq7E{LH-K(zLY9pUmFo@_dG2XCXVtgUX$auzriE)nw6XOO8CdN4yOpHAi zOpGN^IavD}-mnIpca798&&e!FElSMMhqleZvI?1bg!(PMiAC88jwv~*MGBC%Ken_1 zsyRUE1Jp+4g@zrdUjYg;aRvqkX$A%cc?JdsWd;TYZ3YGg&`h{BXiXIZq@M?x7X~%* zn;94w7Bes~9A;o(c+9}S0ErDyXhQlV5EgC{loXILC_N)%P+J!ngZzSwL1`WtgKPq& zUl0a~gUkk*2QmYs4U8ofH25SAPjOB2!rwx2!q@R!k~Nw!XWp8FeuJI7!+?H49asL4Dt&I zCxA48EaCvo+cSVWh@d9)M2Z=|36mmey9FY73P}*Ta_ z2c+B!<$$EmV0K7)2FZhWrf@JYfX5*?85mAL?FWS;NFF>?z`?+v0?Cx(76;K8Z=e_@;@k_g8UE4(;#v1 z30WKr;C<*I_Z@-yAC#^@^59c>IT#p}pyn?D(Hsm6p!5rpZ-VkcV?ZGNPoVaLk|0Pv z3MwxJqB$8Dra=7VHrf1d`8!%7f120LgEG@mcHAdd^Zry$-wXiYCkBSg3ONtiE}V8fa)fY`{zLY4=OuB z@}M&|L9`u69VY|B9jO07WiLn^yn=@VwC)>{|Mq~?aX`j!K=OT1z8{F@WMKHiz`%f< z{{und9FY73ihod9jhz1rq4MBWMw|=`hoJ6B8$s@01XT|zUO?iYG7>~P zg2Xu)7#>0O!@>uAn>Ggn1E_oj>7Rs_|3POfcLBk(ZCWFK?LFRHWFo4$G zg5)G$#YYC#e0P@)V>$6eP~Uz#s||2c=s^Nc@B9Gmv~KR35xgj+24m z6x4oL{s#|Nae($QLc)I)R6Q(xwLS)28Lr$|HJY>ES-YYb22b21KGm?X;XmofzlI*2Ipr^ z28L%)`(gP%8mb&j5849_ za)&y|9!>^^bs(ApGTsUjZ-?^TK{O`=!#k+`u=E)Z66b){x10TM>=7RbNAR1QxKZN=pmjBV~|A}b%AHDv+2n~N&{ztF>H$v?PJAs3N z0lohJ2(=%U|4FU?PeSd7uR{F~%m3*0|5m8|u=I&u|9^$r56l0g*8gXr{)go+&{;sBaE8_YYoYeT(l>hj z{}yULEdQg||8t@Khvk3t`u{G}|FHazUjOff+7Ft;0l5pk{{M@X|4FU?LG=T2{ztF> zLG4G7y}0UsQ2!649~M67_5WnF{EuG$UxtQ1EdQg||C^!yhlMYC{r?#n{;>Q>YW;s2 zYCkOhqu2kdq4vYl7kd5w8frf*|D)Icv!U@1%m3*0|7~de!}33R{l6P(Kg@mT_5W|E z{jmHGvj>!)h^haNL;VlS|FColtN)in?T49;L~C`&l9LyWt=j)ZS%qLS091IL$tPBjG ze!u|`KLMg2R6l_12aTHqvqIYcVEZK?_JhI?Y(E>seo#3BwjZh=lz+kYGehhL^-sX| z8$j#_rGK#fJP`Xq?G~8*kg-0{9To~Hm3fJ|naK)>>Fr{LlA_d9hJ4T%U};iua#3ay zXypMebx3BR4aI?tK{p4hn$+Bal1jwXIY^^Id1grl>O47Ul>)@gusL>+LQr(0yA@p? zqy|(TgYqOOTtR6AG;RlKQ-abLC{6rlWMKHu%)s!Uoq^#$KLf*mc?O36_6!XF>lqmS zgA_0@FvxLlIOfaQd%<(doT*!6gL{t^KlGmMoDm+R(j`>&*`A+4&F*4g569V%bj`m1 zq4o1sKCX-3`{J^nv(*xg-`~rnE8ng>u>DA5(W;zs@7UF)|9|>O{q(J>@@jSsEWCR0 z>S>0Km8Wt7%SwO$4RHMR)BLynmhf-yKim7y)lRJW{kQ)7B8yiItSXZ-zOV4Vb`ga z)AfHkbR}j_lFOOVestE!)gp3sI}BDWT5FUNQBm#bvd1iS@2R8q>U#`Q?-W+QJIv%b zq5DgEC_`BDME~A>tA9MbbZ?Vi)+Do<&50$h=e{12p6b?VyHAw+6RW99#RK1uztc?j zs~PXI-*1;&Ww&j|VK=AU&l`<=EnXM>6WSWW)2;N+VcE7?|B@XX{Sj`m?i$}ee_;3@ z;&?^IAphfR#k+aTQcpept@|-&e@W_&+AD0mMqi{o)he}?{kU~JWui-X)YH0ub7X$X zR14^>+*VV$rb1-%zI}4P=7%onI6JLe&uZC2Q`c0D<3^pWTo0YpX4p5roGIFUdGW&{ zcE5*Z-4jxVvUty_x?nTe%A$)3LFHCITUi1XcdfhnCtdUOnFfhN zLUVbd4BkA-ebL6kbFWq96?b##$!kJfn#?`FP0ZU=UOozZ7<|y{`S;R3?{}XC9w~Zg z-k7}Z?n`NbFXvxQw~-LhW;yA~`bSA=m(huCONm`QU8kjdvn1Ic+-SLaJ=Ru&<=s8D zTSqQxKf3;YvMAr~KtE~o;2`%*2SlP>K2LH$Q|AJW2b`2v#=bY?ca`j{XTGVGDp&rlznXt z_xV-#$<)Y}saI{f$e8w4px!qUt zoch5gO}5=(RlHpphc2pZcfR*oQ7QZEml(~X9m@-M#ch8naytCtHnD~JcT~PcME>$A zFUr2qth75UYc5;vo!`xot;Ypl{W6;SeU`G=(vYJ0E6z)>E!4i$Y?j?0u<}gRz2%|R zE(9Dw4z2@fLe$|ea>yc`e?O~;xKZ#9S zwTtz{Es+C^N4U~M749F~FLA->dG70v{>q<8yT6r-z^dvz{jAiCL|s-Yv*d#^-Bbn{yKhK+5UQhL15kUE#6rr zCPEkgTR%Sk^3}7{18UdnUUNqYK2_0U+n&C3{o@6_J7n(oWCZROjO;yP%HUsNV{k3u zivOyD)3wRE-TE14VNB947_4Vf#i)3tbUHZPoZ_&4_S2?Yov&?m0z$Nmw<5hG1^;8~TrEZ}~+8;|pm84|Cwgn1=zS!g>mV7$oVwT?P z^-s^Nd48d`V$YW)J2?M}DT*jr#k(7BS=Lx-G|6&(E z^K^csvc&@zrd>NlJ%Wln=9OCI%6V>%^X@yn=&$s%6wNmiPd&b;{_mny)Pa3_m8#|+ z&}|I3&*LBXN@&WupECtrxMoD<9qKnf*tOJc_A2)db>ZwOtDYtlm`iqTg@2eY@!)`;D{5ieKy~Pv5b2B6swn@Gq@Ox-FZp&gfi}b>a4fE82VKwpcvj z-fDW!^O@(|a)(8ceNo5tYEOzui*J4Jqro1wqA%~*l#^1vHC30Ts@HyAdQVzX_AgVy zWMNx>dBactb(D*4ub18bGvi*FO4H5ie-hqJcV;*gU2d8jmpfy&mG~Z}YB|NQ>GOIN zp52dgyEa*;Dt&I3_G8tJE;U!GY~P*|Bi$?_k&4=^weWzb13=fBSp1cBLFo!R49E8G-S?JUowZunUW;{0!(Xx683J zSNgN**1h;S{TrK=e*OO6l7BQr{#9L~K*9CJoeOq!cb|GJ#Z>*;fh$95@=g(!AeoC- zp04zp&OZMI=XHgPUSDS4ajL$%ZOxTEwQCnYZVUSISVe?!LB+K0|7^C4r(SY5H=7+a zD`HvL3n|yhn^Pw^GbZwEJgw+>b(2%B@M`7v)vvalG3{)+bwnq8ZD>#R*|-^Og7>!B zurN0MoVLsJb%J6-uXRM|Tp3TD^m?-^>8?BUm1i&W68kx||1oPO(>IIny%HRo|F8Y+ z7k0#FeXx@~e@;r*OQEwWg0oihY}>||tfqY1m0u;jho@Ajp{T$oQ=m&p9IYaN19}v44f#tCaQa;-|O&n`5;6aEa-CkC4Cnn$kkv zeq7onSZiuNZSAQ`ku^U{a+3sShZ)aS?5ut}t+@Tu@*izSEuAxO-C4X}t$ywQHwlel zOMhL}Y1EM0ZQ7P>e{Ac4A9JOyYm}ejzL6Vs0)}r%B*R2?;+cukFWNMbl)}nm*UI%NYCn6#e%ddK|b*AHHtBBv)Az!UvzeC~JpXAi*^|jgTZSxklmgg@vI1&E2_m20A^Q~9vZ_Wy@Sblxe zfmbQf2PbxU|GVd|{~+%7?11jc+74C|M3y&~JMVWc&SeyJPh^`bo^7%IdZytf-nLom z#1mTr8K?1;>ahH5{qwrZs(VU}M8u};7rq^Kabe(Bz4ll4ezeDgeM^#7#;w!$Hmp-v zchafbnW6c*_M3B)t9l+jE+~*tTluE)L|NOK-&r%=3j+SR)T~{hzoO#QviqsW+tObz zcyglevY+V6W#;!Q7cQ3QI&dYmY|66omk$?QTk%r&dTc`zyLkGx)-#%JKRJKR*wMOe z=etefa<$Gr=N4V88nsp!e!uU0@&v;y;pTNAk_C4%5^lQ&Ro4Ztzxsb! z{>gbK+*imbyj*GXy;m*BaJBmRAN3yh-B$SKa1_2Q33&bB&#iSGl^5bWk6zsVeQS7q z1nYmTUGrZpll!kR@w;SpweOjN@?}bVo>IpXznCeo%nQX z(7|o{!khVtOQDgP$1a^J%}<8MJaqFuZBNO%xpbqD&Y9!9f98s|uiP5_Ug1I4&A%LP zJrw)Qp6(Q!G)b-@-1vr<&B5EPkN$m1SS_Q*mr{86GQ$_y;+y@~7BwH;QLbss<-GAm zbD>aWE6>v%Ut%3+_PseNz3o(H^~R<91JgP9JM>~Y<~nfeX3vYfVcd2iV?R&-Lo22d z&$4qHwU4O!FS=qV(kykGnfZ(4ZH}9VjQSa5KdpRk^u=_4{3e~XQF;p+KTYkO*!Wh; zBu8BQwn6yBjis+PJzC{qyG53n|MA*4S1bz(PjeP!N&cu^HF3Ambq~Q;$Ah{bc}z%l zuzWA{q|U_m_$dq3WhFo6O}LslbJ6K7mW%SY%v{iyAa%9a_Q~2?Gj{fKJkyGp?6>r- z&WZCu-SzJl_6UT#$nRh=nJ%w2>-6?p9ITg~*QKQ%etz+r^m7jniKcU=x$E=V)GF_? z?OEGqt9s7&<4HEl<6&%WLYHq%Gw)wE@5Q0X>6dOsGboELP7#=4RCOa}q0N`f*&Nz8 zm~@!rSLIxgSex@@g8&D+)8$VRq3>7P-&wlPt}HpJ#aE_(YQt&&t(qr%cl=w(@4iB1 zaxBXlodWUbfRsm8>+aos_wHC3d+?v9As=6Cdc4oLBswti=dv>=`g^XgwdfY-wSALS z7ARBof>-9_ysz6@=1rA5{KIE%dFrB=lQOc$au&iSh`Tix@9+g*tl--9QsRf=wD32qy&K%(Hh*|?(tG#SZ`r>jG_#~8 zCoOeLkIt$zoVVS0ZupaXy&G)0BWCs=aA$36IJ?9sxo+JAJ&nj>oA)bijwgmLuoG3g ze5%3HD5;&zZRW{!_UY4?-E7QveQCk>blvf*X|uH@moGWJ%p|v_b=j=;#7EmxS(i?m ztmLT8bz`NoXXCG%f@QJUu`e^WSRW3XmGNz2h@y1}U;c~&|8?8$1wA>|Q?vAU|Njra zpF1|TCr!McVlLM9aP_yV|L(3e+^|wit9I2Dg{zlNm{f^hd-(pI|C8`%YX8qo-}Zc> z+=UOEN?RT?Y*K!okg()2>!}@fN4AxkyZ3ETp0dJ3-FWtT?M96&mnNy4FRs7;aneK| z-V^(-YucwXXv|!d{4vVyFn@MZm5vi!B_k9M892I%YJe7xeF}|J-xE$pPJ0AF~jx938wiA z*^e{j{l9nrKJW1pSNg1GT6leoXs#`77xaAOG3(@6;l2ye*K7CZaq~($ef{@cZB5bP zs;rmx@Ao;s-B-B6{MGs`c@l5_|G&3wm0pv(FoU7tq}1t(-UqDj7frwXnA=rQ!sxF< z%j5t5{)u*;t>#(9+EXf_Cvruk@Woz{sR4ifom(EN_|Q0Izu&RFWwT8)Yj3yylq+R_rjISE*@Ae61-vCae2?E*K4+F z%+o6mS>498I{%b}xbB)qzSAQ$c8U}SaTf^)9=~uR>FlS;>wnhW2|0GR!|BlW>w6?l z#C*32Iox6F@$tmxyIb-Tu3Qkl(Di!hRxvx?1+X z>Fx_3CF{~&E!ig~(Xp1H<>%Uv!-2(XU*23)u=)0_lH{&vEid-Y>bvh>aJ_l&Q9Wn# z#_27l8n@)<%^Hc>*&6J=MU{q zH+tD5xbF4D3PJ%!igj<;@(5fjcxOT=}o8?|<$7%m1_2I@aCY zm9ez(e}CfUqke|Jqu`-2>+LFW`!N^nPADe@M~S!=XTNl^2Ke(H{5-DcdEgD8Drm@MQ(n#JN(Zt zj_q)JdF>5G#lMsph&ej!3~s(8*xjK2pCkU>m!D5REncG$b#(29Z+D|k%$eVH z-@4Rp;e6|(;Xe<(H%@-N*5unq-ryL|{(}pcnYMhb{J2Z0x%a5bh0nU*9%M#@f6#Xb zOYF7UJmFy1;x$*a%+jNbOGBPans`L4`EIkU%ErbA+I|-dJGMs8xBj}}0S( z-%#<&2~soieKqfC*P$uzZgQ$5ul%CrvGrK_ohSWk%1@noy79iCAv2dlrp4ENdtY(C z{9+rxTlT79rNY^Gfd^4Hv(~w3Oi#{fn4xmuPsdX)X^s6pbsW=8rOW$Oa-K&oeYP*+ zPv|;!iL`9SX%>6#Wc}4U!X$lTiF{3~>IL?w8w5I?d{LD5`jq0!b2mHBm834*BE-+v*cSekox7XUK<2OS z1-CQYK(;Gwx1Q#*~?3}#~-$?lKRLsF*0zjMf<`;a}Dk( za$ik$a4(r7a(3~Sb)`W%uAzr&KkS$J8oJ>u^Y$0-8}>S_J+Nn{t1DCD%HW*SY?uE` z-rHZveN;TJa^g=5FU1^RNp@42ldbDGB1@UOD-0SVTs9~C7GD0R_Rj<3iY|8(1<7TH7{u1J z|DHcp{=?cghmPCGJvP&eWaZy_@QwOcxu!cw-hWQjyg2v%%l@68Prq^TcVQHAiP?Lq z`_ANtjQq@o4t(zwY$mhq%$+VIv_7gw;$qb1uQzWVKQDDge%dqnWYsWkLyd>6PtVv) ze0$s@{Ot4h5zk*fxcujN`sI{v+0PsKvg54e zTeo?J3ndDxT6fLA_on^*j8}ZU0`KmxkN0ue|Kwl)`fYEOcy^b#`^c`XIuXUAd;9$n z8HfJ)8@8w{)Ll~HeEij&TNV>@zBMvm`k%-;MQiUag*~Uayri}=KM(biS>COBQAXT} z)no&63}fJ*Dz4}s&8kVt-Iknxce1>k?;*CXz*yI2YMkQB4NJI|9oWty|9!HK$H`tp z$y#HcZ~9eiUVlHUq|B<_{fEou7n6+Z&X294Z=Y*lQ%X);oe*-0By1<}Z|cVWV7=O9I)jfM3mxgK`SJQh|{Ra?(j z)7)TjQhW3B>n06GFK6doFi4(gu=en8b@e&v$J1(Of3ot?^Y&g*_hl#Row~nIo7?{$ z>t9%7Z~Y@9Bl~#4jKWh#_jOwBayqIR_h8{hPyX5KRa7qUF1*d`Wg}JBUsluN^3c%n z&dF%k+lIHf3R+fwtkitgSjF8o*J8oCwXd$9?aWx+*iiWLc~?Yta+4+}hsw6o(UX35 zYUXi=TCet+`ZKP4v(;?{rT5j0-OVOT(|z=&)X&&*uQ(udV}ge3gj?TgVqy&TZh8EM z`O?9@&N)%;*AA=qOYGqYX$k(bA)SrYanZ+xdL3V*j&5D&5PB*gYf03i$=52sa_K(i zkv|)^@vm0y*?%q_|Gd`h&ImK?`jT}fRp{fgnLo5#J}+Kkp3eNVtkZB$q*})r-V!7G zq%%J%6ehdWFt_IKcCj{lbu^jn`{ZIS$MubWEPtMTc4z)dvr`uuwV(XFbyRJcbJ9t5plz@;9f2MY#o`2a1lhMca+!QjHk0WyXGbgCujR0a$^c}$G{|G616{&O>S z*zrQuB2?w&fzAL2t(^g{USrT^0w1dYSAd}bD&y?$>*C{XYy|Upm}96dF=R04GB`7MFo0KQF+ljByLdqNfG|M$AbIfWRVW`K58AJi#8Awj%K$o6 zQkMaAVsHuglt~5#h&W6Hq5|YZh&V*OGeaf##7u-ZOa!4mlc5ysK1T*r^C990^FimC zg3KvqD1y5OW*R~qCW0^@Sv|}&gnF0=y82*-0I;hN?uVFzFdua8HNqT-dYEYlahM1w z1|Z?@35^F=2JmV@1`h^TkaF` z6Qd{#1H+91CPqmX28Ig-OpL573=Ag9)47#I!|Ffq!rFfi;WU}BVJVPM!$z{IG+ z!oaYifQb>b*KR=p6C*DR1H+60CPrNr28Ia*OpN?23=9=VF2SD`Am!pkoX<>OpFEjOpFovOpFdl;s*Ilj0*Woi~{*g zj0{NPps;QzLf+K~5<%bsJaPzC3=AH4)XgYjVhm;==AJmvDYc;Ua?2P}859^m_e_B9 z!zf^gVen)Cl^>uRCPDY8f$oI>-E0N9PZ)H%F60E=Vul!oY6c4iO9l%DBL)L7Hek?Y zaAk02aAI&_&}A@WFl2CMaAVMAuwZavuwXD{&}A@SFko^npY(7(n|CK=)!&E6yi@D3h^JZK#Ns!KrjfYgIzAnH-g0j((qxd%B6Abf;6 zkh#e65I#a4bk~h8Lnyf9gs=m^r4xkh2abOT+XGx0fzqBX^weXBIOt@21_p?@F9T?u zI7HkDT&h9DJ;8cGcXjD91cFOBh?)SfdWg6a1E?VY5f4QYcLbM)5OHU4$qF$u0IVLO z*P8*jOUb3ZfTLr}%0B1PylWn7BJ*6nfW2`axpsmBQ%$Dq5+br~RW2Rd~gmO>z9Bgi&LdO=6b4-eh`9v} zpxdTE{s8X=W&qvL4e~oE6pI+j89+H4RNjE%qXeuA(#|VpNCfu?VC~0rhGMX4SbGn2 z=PM{YK&?(toWj_-44Dj|@Bqa?DYU);*_8y&QxM&t)A}I24N%I0_z{#dASEKG9s-#G z@jvK(Es%Mjy^Pu5@O1~5n>h?g;JOZ!wv)g)9^z6^&6Urf%K*vc3=ANDfzmgm1ZQBV zWB|$ffzu^woeQ%Cl%_#(?aKh#rvQY$Fr7#PyQ z{)Xf|P!0m=1DTQyw#OS>cYto@gvEIh*pHC#gXJHPNuW4|nVJiZ4_IAR47V*8Y!^g4 z8=S`=Y|vSZFukDG9E=UR69L8s-7^4V7l7jgq8E}^A#Bjyd!RH2iZ|5u3L@W@fPD|T zkpPtMKxxz)oOiOp;q48MyKJx;Z*cC+1(z<6`WlkAA^9xaY{ zq)b87gRn9MbPqHrXM*Z5&@C3a3}N813Ur?qC>%j~3$@Lr%Mii8WOd(*&d!odI?Oq^AqI;}{gSAoC&RGNeob<#SM)0M*BkG8zP^s%B%pi`-s#H#DZ?4SWjCmN2bJ3(8dSD{#$G`A8nh=FQbvRBUIXvY0@t-5b)YgC zM1#s>5DhAeK{TWshLyjNau*~HDsw?JsJsQypt2T3gUVSD4Jl(`WhoQxKiP z06xKj0Tia7Py^NeAaPK638Fz|C5VRfaX|KiS_B~b!6zRufXYUYJfvKNm4~440GS55 z(--1DQ27T^2P*qOG^pGI(V#L9M1#TwM1#sY5S<9^mw?JR5Fb>&foM?K2BASUDrkQ@ z_yiILPshz6BcAR1Idf@n}V1);$^1sOo)6NnFLgMesI z83m$2WfF)6l}8{NR2G3~P&ovmL1hq#29-Y`8dUax=v)SfxsWmk)c%8n8>pNC$%D!j z5Dh9*Ks2a40nwnc1Vn?%4hRj2Cs3II;)BWy5Dh9TKs2bF0MVc_0z`w#2M`U)6A&7d z>Of^Q#GGOV@W~wvpt1lY4=M*hG^h-K(2#fo<$Vwzlc11MjE_@F!uqCxo?LPPrVpnMGCgYqndhS&qjs~|oopMq#m9tF{$ zd&TL)3#tY`;L+ zpgnMJplr}S+$T^rXiw%HC>ykY{0fu}+Dm!{$_DMLKLTZg_89JgvO)W;w?Nta3=9lw zplr~&3QM4D(4OTvP&Q}`eF~Hf+RNGlWrNONYk{&sXOh%F*`V`jN}z1e-rpQ38+49Z z3X}~xLnQ{vmICb~g|b0=MSY-b(7A3dP&Vky5gRBQbpDJ9lnvS&r~_pyFfcHvK-r)( zUSyzb(0M;1P&R1qFAtOrItPgb%2s7yVEEGn34hT3_%Bd4=&X!4P&Vk?rYBG~=nR)T zP&Vj1pDR!{=q#2qP&VkCqa#qZE&~I@9w-}h3+@&u8+1?G8Ymky_P+$m2A$zF2g(MW z=Q0J#2A%EG17(BG`DlT%L1#|YK-r)kaS4vBWszBMGF)|q_8&r~tK-r)HO&%y4G?vH$WmkdnLIWiHL1%h=fwDp8 zJG_CiL3?pC6d>sebZ*KMs5ofv^c^T0be`4~C>yl5{tT22I%nhvlnpv_U=NfHI)7pd zl-&+0m!NFWxhPAZY|t4YbD(U{`72YPY|z+xM+0PBn~8;ip{4;c|HaJ0z);Wtx(}Fv z0W?35(!j(R2`X#0V;bL30!f>X{fp zWiV(SVoE&|V-zC;185GSqn?QoR0f0QHEQaa7(r#QILN>COpKs1Sb~LtA*G&)5mW|) z<|-oUnHWK3uoMdegHJsZBd81p%~3eiGckh7U>Oz$29tUwMo<|HniJ8eXJQ1E!E!7N z3^MghjG!_YG`As8&%_8SgB4g97+C6=7(r#QB52N}jtO*ZAcGPM1H+p-CPq*htPGkn zsbgXUmBFBSkSldejG!`D6*Om3$HWLKgVk6V81~dLF@nlqbrl5JDIwnTY zK7BKgAM2PHL1nW!$d9#5jG*(SEI@v&Wnu)C)0QAV)-o}I%4sVW28JuOOpKs%+8X4? zS|&zNIc*2>V=WUSsBE?e`LULX5mYuiurM$zsbyjWmCcSI|JE`wg34wmkbi5L7(r)g zIfMLI%fuMZ$iU#j!oZMG%ftvOr(Hq*tz`lo(a7KiniH#KVg!}b?x1BdDAX0L_KfFfoQRGB55CjbTlYE*MR1e7#LzfdA5d$F@lkSAr6#=YnT{8;{l1F_yxIvfq@|j6u%%f3=9m( zp!ls}Vg!wjq=4r9YM2;7<##G5|JE=ug39j<76yhd)l7`Zj0_A}pn1M(CPq+Mo(=L> zH4`JKEYAVOV>J^as4UL~#bY%S_(;q=P&`&MF@nnVd{8`AGckh7^#V{lg3M%KV5k83 ztD1=sRIXQn{8i1w2rAcWSQr>`s+kx;XY$msFfb%kGcl%v&Xr|hUW)}AWR{pt)1?4YwVs~}}2CkF#V2~;l^2LnS!6{MWx;b35hse+V^ z0-&=zt03i`Fb4yJOBJ+y1I^o3F);=)GBAMVQgx~zWttQRWPa3_k%2)Lbbekv%!@vNV2lfH^g@=KG1L~J-9tMUV6%czt6~&thh`lTV3=9t{pm8C< zz;LAkYL@^5!-)#0T>=aYdn%xI2{15hsDRofz`(Gi0#X-P3otND0htdvA6A5cp#x^V z2m?b+1=KGh3=9P@^FrITK?j$el6_3?IrN;lL@w!0@CT z>R%ZKh8yJ&|4PX)Fo5RK!Qm;xz;FVlSAl_H4@|ED1H%TGUIhk*B{01T3=E(-b}x|o z6&M(%lru2~fb3OaVCaD9RbgPLfaz6XV90^#RbgNVDTlgQg@M7PoQcs7q*sH1!2+gN zgMmQ@rdNZ3K>?;$gMopgoQV6*erwr;x9R`LEWl%rrFfcqRgZfd2f#FOU#4b=J zb^xZ{fPrBPOuYdE!wQ&s0|tf(Wl-}?7#Lb$>P;9JDq!kO7#MP(>OmPO0jh?}f`K6f zCT_#P-~ki2VPLR7=sxZ7^E^77?!};ISdR_N|_j= zLE;4r3@uQ$bpZoIO(~?T&?#YH$SGxF1oh#pOBfhZpyDhQ3=A=)koK@h1p`A!DH9{8 zA1qbDz~BQF*QsD&uz~5VU|=wT>UFMQU{EP#Vg&WE0xB37L`s<$L4BIo3I+z2QYJ=F zpM#}_fdRB$12hgGQp3RTrvz$#4FkiM5{SJTH4F?-N|+cy{ZYLd28KH&koJsq4FkiK z5{UbqYZw@gltAsOVPM!&0=27#fniAr#IE=n28IbGOpKuZO-2m^LqiD@Bj{W|SX&;{ zw*<9ySn8MA60|O{MnldslfXXb;$~I8mmtchCKV?QpT5$lG*TBRG8k+>=4_!t`-UgkI z4$5m9j0_Ba8ld%OH4`J~d@WEP5Y#>awNpUniGljtp!fsDBdA^g)eoR^)If0qY8Qgq zhoEz-Kz*YGP@lY-i4k;8D`-pr)JA!|WT3t*s6Pyea~Iq3XDQ2GF+#Vw^wjG!_ERFH@og8FKp{wt_$1!`j* zU|?VXjTfbgZiDI_7P7F6C>yxLD0ApXehGN3w!5mF8~GD6B)6-G$@cV>jtBf^Z3vd4-MlK)*n@n6QoXvE0C z0P1^z`l6unU7itArkR1<-wY`mK;@t@BcyC`VuX}i)*!l^iBXFYQa6b(Lh1wsMo2km z&d9(3s(+b5?r30Q1g-x8)sZ}mkTS=O5z>AEor4D|cichdS1>V3f%KI#G3qly${-I$ zNV#VZipMf0Mi)j%dF06mDJN|~@m}m(D~V*F(FVN1=LpooktED zQv&sIKz$w1`O2WNJka5ClxPrzrL1Ubtel}Jx(chM;q5L1TfS z@xdQ;OpKs&yFud~pmCQO)l7__b2>p|AD}jRPc;)G=-gh=m?)@^4(h9e#xX$SqM)(T zfGQ?N(7BkPemiJP12pCXF2hS9{gQ|pCPvV?gP`&j)NTZ|A3^6Bg2qxopmWfDnjn2lP+t>t?k{LO2-I)cP|d^$ zI;Rpe?gi?Tt*BvQ1f81=8uJA8!8g<~G0p;&FHMmCIjElwI`!HXV5qtsNMtBf1tkNjT$CK(D}chIttX*2DQ0C z=RJeQnm~ObP~Ql2emrPg57g)UP{YIsIxieFP6_HmgWB<+^AY#dGBJYAF$axtg8JN` zzV|B7_*DsHoCGvp0vbyKjk|%y@f>QH7(wUag2u2xV=AD&$2-v7AoWa)pz$YA-45!1 zSX41Fg3dn#jcBE>bu^k zW?}^0LjdZpfX-6|^&i+lFY0DsU;vHHgT{(LV@9Ac zw>1rr{^OS_CPvV?$e=M+Q2!q^4gfmG6*Pti>URoMGcn$Wjx&SCJwSaIHc)*~%ftve zZxqxo`^vz;02((1jlCAsFfoG8=?0DYgT|mhV^N@UU_s;Zpm8G5coFEFO;CFZ)ZPcR z`(;7ql`}Cafy)09CdN2MNWX<2R1Q}#F^V%XfZKGSwl=8Etph6GN+IobQ2SjSG>*~? z8Rr6xcY)5G1hun3Z9`BS5!B`e^%oRD?HthhUPee;*@6+$CN}`JYf2$)ZO}Sh8Bo1d zz{L2G0n!FH0hRmZOpMwf_cTNLstQ$1jG*(}L1Sv5dm~($AmcnUYMB^8=Wv3?ltJSi zH8o6(pmU2sW8t7CF=)I7bWSK}JRCGuqfpDl2)Z``G!Fr43xe8&pz*O8bxe$)^H@Ri zBA{_P(0Cnad=xZJ4;n-2sbyjW-8TW6UjU7FfyTW+=ih?nPC#RMpfNqrdG?_3d(hYt zXp9MTK0Rpc8q`*tPy*@uHdHb(g3jd!jrW4aC_rNspmW|q^DCh7KG3)y=v-vbJPc@D z5HvmrIwu!2M*wOAgWAHNJ~ycE4Z7a})LsRRYn9Y8F@ny+2F;^@#`Qqsd!X}$LF2xl zv5FT}OpKuO_(5|bp!+>!>X;Zo_cwsX!9n9SFRGas&x6u!DH9{89Ss_r0Nq~!nqLFW zxq;f(pmASNpB!{&52!yY$O!2-bAr-G0}~_Y{B+Pf3uxR=ppJOaeR%S^_)_K>|DsRRTN=TLgF*J__(K=n3*LL<;gSOcvx}xFE>Gz$(PU z;4Z|&&?Lmea9)UqK}48`!Bd!rp--5H;kYml!+T*K25}J{273`6hAa^thDjnk47)^l z7#@l6Fz|}~x4hvBR^55re+ z9tL9x9)>~*9)_6`JPZdVco<$v@G!_o@-PHR@-S3M@-Xa>$;@GxAG;bHhC z!^5B|%fk>L%frwh%fqljmWSb?EDwXc91nxL91laj91p`RIUa^Xay$&o@;nU5@;nUP z@;nUNu7 zwh|9Ruo4eLoe~d&k1`KKxiSyKd}SVnNP_M?ruw0FYAzGb>p--KMVV^n=!!var1~CmD20INNhCB@( zhM5{X4Cgd>7`|!nFsNzrFih6uVK|}5!|*|qhe1M%hrvUOhoL}=hhc^m55s9KP>T>L z#drS??S9kk%F+CSp~Tsv#L}Zg-=jp;qeR-HM9`yzeaC4=28P%AJL;Gi7+!1as0C4q zJ8D3b)Q)NpCA^~wMDgsX1W~LzDwr4;0$zkjurb6QVqrJ~0$@AB{+IInFXedQq{_z7 z{h{?6e+#Hh8oZlh0}o?(H*@QOlFyBIt_YT zWB&jD9~RJA`k}M*PiN_u&e9*pUGMCXVPNbmeb8C@q_gzJan~~&!2AoHrB^yjZ*-Qv zd9mmQ3q!XnM|T8Ix3fWKYsvrr|GS+{I$JBi4290t8Zbkp)3u@7S)A}(Mz|wq#r?WNZ|NsBJttlW!_qHa0sQ;xroxKGhm%V7Zz`@Y{!}?zd zcX);#qXY9xP=y%Q>)I30>pCGI3^Y~Blrcw!fia8mMaLpGB(+}5FMB|je;w%E>+%2p z|J5J>@o#5q2*^s;KLKH3VZE&&*?{9<3RFtI@DFE(7{dXwGK~4PN3ZLbfUqpauq>vq zu(1E7e_n_mg4zUDlFa;CwbxZ3px56|k1V#xUe_l9y{<0;{+Isft)23D=?mj}kmA<=B?2G~<;*W0%ds)M1ohdv zYmXd!&hp>&Nbeq70g&rU?<`%qw6_(+?sPq|^nY>A|Kf}cP|W=o4H0BuY(2o=0;-&Q zeR%?VecuFTF+~UeFW~rJz>_7J#rWb~1=xN3FS05?R)VaX$o#rLi!IXlK<{3I|NsAg zUfu2b1{7T&PPYR~XR8UwUe_xDy{xKa^GioiBx5-G z%+jSxm%e7sVv6o{y=;Sc|)-5|lgn`kr^g{{j|I!ctFI$$r0kPhIST8`V7a-OR z5bMVO%a&U~X|06gKbQu|OaRGD0I`06SU*6lFC~g$|4YC87iAFu8U3e3CQBfT5fuBN z)bL-F0V>S;zx2=l%iYK0#{N0(`U0Gt zV&8Pee&~$-(i!{XMetQfc5>k9_Au!5ozd-K(&;;=+e4w#cR{y@N~iCVZV!!4-xb{+ zI-S02x_x=N1v^7~x&t}7Jy|+^Co~`7>Gi$Q89JrYchCQVoc{&L>A?Che+#Jd3P}e) z0<)NqQo)NdXgH^o!NOUNj{O?*UK}a6JNwGEe|yG4;A00LA|A zRaN`ZPOm$9Yiw`ymc9VRd#^7?V6X3=z$~WVUf+&D;{y&^%mJOQ z9WQ>Ag3S-JLGCqJ>hBm*k z2@VT4KG0ixWVP|_)vFh_DDg6O#{K|D*qu&L%)RK0ebO2G2ONJ7I%BVNy56upT*BtD z7^D;wL9QB|64s~rTS5K%ZdVRaEP%So-4{sg=V4(cW zheo)37UPTWB~TNK;U>;wc{v+w;+xlNz%CcCK3t+?eY!-hH}pwRASjMI3PILee=gw$ zIbk`=%Pb}ahR#@?{frFE0^Ph@lz16?UH=4hyYd8ozaf1fIQaVoW!ERc!2t_rDDg6a zgh12%4&QG|pKN@{#lXF5jM69{?!T%D0ecTM3;M)B) z%S%xI08|(7*mE+p9_V&eC}Hh(;CLv|+0~1nOMe7pF@ijN>lnx!SaJ(v zeQ{TujiKB1Mz<{}*MqYdJi}kNjD?o<*DYhAW&QR4rBD8g@`y4pTE_k<;RF@XqA`LX z-VspQaOD4W%h)p@))^4%ONqQ??3EHJQ2dp0f$R^k9ddZ2`-o1>EtRB*bnyjBNA#(&W{ zA`Fb+O6&_OgG>CZ=8ONVf7Wop4M(gbo!RA^XhLY6a z3_V76wwIvXl=VLxR6e}mt_GzPNJBg9f2jaCW+07~5*_Vh2VbyQy9yM`cZUjepE&rC zMf(EtIj@6{Sb};T1p)&9i}pw`Fg73I`R@zS2uck9T}43cP+yT=mX2l%2L9F}P_qNn zHW29K=ysLqG%)^Ve7p5q347RoQILlCxbDNzCl5(5Ks?)hBSVjopY27pC>z7;8=$_y z8F1$yusc+sIrR@i_9cnn?pP7#%htDwb;82CeL1YTOGUe@S-MMkP#XIsoXv+NtZxB(p6b_&^`qC_DXbFJADV*)aPZ2hTm!MIOux`^S5)6#t z`=7`#FouJI=vrjt|5AZYSC0RsJgo;xrT&-x33!otlmimng&+eG+5VUQd7T)L#qc5k zCczDo$YlFp%JJGGJd5G~waCa$SB};LCHDVIB?4ZomV>&01Ej8y?e#UVqV5lok*(iK zq`{G{CIMB$15#7T7WSf7gpDCSuDSLP12kiS0u>yjsBIqyP}`?l7L>TcI$i&CyUK(c z|L?Tuc2zO{)=96i% z2Ols6g#W+X>H5X`c&P*=)-v=MH?VcO3cNTX%*OE2hKYfp*Y!jIG;bX{_<$uK%K@b2 zgZ1%JUbvQBY_Csuy9zLW=q$aE{Y@e){Qu?d8`k%c3_S)mG#_N>9Z)4wDgaXVzf>gn z#h%mfwk$_&;I|2Voue`YO_y7M+R{`te{H>sFZZIhF zOGW;d-g%M!_y2!Tu<^Hm2E0KEKof=Ct`{s_|L`}12C2J44;UZ#@A@Z;t@~djsMU6- z+gGGHRfM6Ft=siQr$Be;kvk3R z@A{^*LZtb)KxgfZ;|`!%Vg}>?udS_*mzZZsXdgDd6#4z5wd)^H=Kj-tBKxF-_66qC zUfGu9Eg zM7QrBa9;2B{n07W?WzFceChU8>16Eo{m|{I1LA9R`@S*04N7$2K0~d5_5Bj|V2IJ( zv0tq3mna#3v#kA5CeqEa+4^`1djLev&ARkQ(HpqJ57zffv@C1il*x6wzUeLI>2&4k zWoZAS!`fIE_P5l{v*J~VEq4O z`v3p`k;@=gk#1js;Oc7#Djl3XO?bMn)SsJ&0WF@3=ANayc39& z+$E$0;q&hT%|?O5SdC9QzGgB$*~tMae=KWxN)*EXm-2+a*08=`@+Kho#j|tZD))QI zeNg3G%KqBT`hE#ZaQN#x;o%u94Gat~mR*Lb0JpuSvi~pTdC?%i#_(DTRB8XoV*D?f zAjrUIeY{j?ABzH{4K$Dag%U^!JGjdR3Sd}u3@SCC)hcSakH4M9^+%`cn@-mkovsf$U7vI^cDjDB{=we@YW;P`^JG~B^tvtxc)@#ug`xQfPZnQf z_vhZ)1)rB1|F^6K)zGy^N?D8#yk-XVSbAM|1b}NEo)^YH{{IJY!!vl97#PA|$SZ*x zh2KlSK77vpB8{Jo;bl0ubU6?Zp1}uJ^-~e5iUSl`~PbouN*IhiGg|s zV6kpcDNw>^X;I2$S;4XcbRtLz>y9rn42+--RIjf<;Q!Jq|4T1qF$TPl`vGpVLEX*H z@nRhx8^g;9pv&rOMHouWyIudlG=aR{>BDgD$R#kKs^fO!vQa@{sHMSzHR*(;t4m7*Lwd;4Zh$1 zU#cVh|9|O?Ue^WxO9hmF1P6zM+R`6h$b16nfHf_HIbJmJvN3eWzA*l8eZNEzl(R*f zZFYm|Hj~|u62RTM_DvByL&rX8yIN zXs-PMGOP3l#4NOGv$^&QSoRA<7MdS)keZo|Z$NVi3qgbX#z(=`C{MSqL8t4UZdZv; z*BhV)j_a9jR~1m(lLOR!aMb{n6s}vkU3H9aca|RLbluVEyP>o8NoVbYPK(ak3!SxB ztiSWOw1Sqv7WB3{{Qv(yJmAHpBPf%pN&|HCu5!P(}J9CEhV#_@Vj zZ!2gVFd#gG2drQrih`XSuV+KDjy?x0>qJ7wxF8v)`$y~lQZJ|wB;SCA%)3huWHAPG zyYYZJZ2!wR{+F@5$W~xsXgyFW4e8ds2*?r%`!5;+uE9#!dO-!t1xPZz5%9ls&HvIB zpfc^oiz8n^sipNBq__8&<0WX;s=4+IL$~jZZr3NBzAHLi*MKs{gP`8f6G8t$DH@b9 z`piKYqxBmkRet1nUDNG)qSJLnH>mtt(_FiPp_ILODJXOqKs~cwaP_|hl)CSHztQW> zBYi;mV8Dy-;5-2{g_-lU+5gfF-*5jf-64JZf9VlO7FdcU`UA&{=(ut zva1C-U(DlTV`#2@0#0jBAZe|+_5qmt0K)C|{R2vU#%H5n+&jd=aPkmxB5Zym18M_@ zg=euFABgO&ee!vAcddXTyCQS5@00(atO*J`P<^1K3hEuhTx`hsI;5eNgCV@v^+|9* z3Hyte?(7V&Szj=CKvmg-^u72f!p;DSxe}4^3=2@PY0JjW5E&T`aarR(CPsz_B|^>r z7)y9TC9Wsui*uZ846m7tzctrB`Cq~bHl#z1odM(nv^F=Sr2k*ak;V7|G+Y^bhzBWm zA!Hd|2>t*6A62&bjYP2VZBU1a13d8a13cLCrZe_MXY3!#SRVdX(3%FzSONZ4(4rU1 zSQY+OQ2N-n!iJth%S%A!t>kmtd2tNXr1}6edL!pc z(7Gg0sU7|zES~|Chs;nd0u7Ot{`g<20In4vHokeG5A{GvI>@r4oUbE5!`$I7bn+O$ z<1YNIp!Gf$u`(sR@KWVG=W8RJW`hh4{$Kjy#nWG)#BKcFdH;!WdFa^Aj1We!frEzQrQ1egBRy?nHT~xGC>u% z(LYv(fENdtVRiO4W_D0>!uZ>3?y!ufOrR#ve^!S7AkThzaY%rj0W{PM9%TT9&kK<} zP@Dcmzzfw}@R$@*_XwIWQS+2QSa>g}UGo7Hr&*x!GvogOpyplekK?XiW=JtGzPREF z$|%;*8u}{NYsv8NEXMz)CzN;@|A+qQ{$TwbQZn7)da;X*jiK=$D+7B&Dc5mU4rN|O z(6NP6y+_$ehoQ&eA*J`Jf}mT@Qfg zNG?7C4b)oygG^NX=6Yep#>Vgxv`7V9wVQf?2J+T)f^xR?zY_2)$v>{wH+x<81b~Vz z*Aoz51iZKmQv;syVCR1Ek(G_%C1}-Fx9c7cj}m8(5;KnyO%MK7&`8w((jyu5pr~m5 z1BxtRCRk)~GJzxObsR{=22gC@0kJlMSeGE}z7qj2?7E;1;sech$Z@}DVP#|JEIshQ z^uUXKPyYW0xh-Q8C^4vl&EL!jGk+x`$b12i=UzPe%f|4(^ax~xsoVEY_wjh+vvDt$ z?gbT`Xsub~&=mmH(mde$c@M}*VV$){ARS*wy$tRO-|4J<@WPp$jbS&a;Ru?<0j~2FCCg z93XxGnECfV8$$-D5DtIw=|3Ao^AQzLA=JwKVj45Jm*ogr>Iu^NzjV)wM00Rq%yZmz z0}}%S!%NV*undqnAW0X9B!^jAd(Spc`A9vlsV8Flt@>K}PmKoeH zK`Tr$bfD^(kkmOq)aiiKE#!U)T3H2lCdj;7W*}$qw}O^Ofy@j5t1V&etljWh92%PZ zpnw3^kkbFz7$PGmpk;@5T^IDat_b*FdZ5?!#Q)MAowX|h z1MkYH{4d=A%YARAfQqpd-5)aeK{2fV6BNLE|FJOyzu5i{6m&eWBIY>vi*P13@Hoqh zhrieuENhQ|O1LACS{kYSFmD$m8-RSdn)`(k6C1(cBDbGvLf~)VY8$h@3 zmLM{+70*l1in%O@h%{^F(vmC=P{+F0^?-ALbMT968#q8KC=|2Up`ro7FAi-0*Ur#_ z%#G(IXrX-;N5ucq9ci7ebN-heIPQ7`w3sXWMU@38)OPf`?)hJOAmBylOt6c~;Vus1 zc?nuA+UvR`Aov9b6DT8<3S==yfXq4WdIVHoz4nL52G~Po*whq)YC7(E z1hnq{#itoyD|q2nIR(>2}@I>AD0dQ5?a`mu>*(x+BM3 z*MMB`zjVw0(iyNMa;_Ds2OKHQJTHF#V+9o=pe%I&lBFzb*MQo#Cjwp+eFyn}OSdg( zM&tkW|D}8WUq{Mty4x{Rj|WofaRrSa@qlV}P=646y}swT>k&{$SRX4<%Mfs3U<`QS zVFU`Q5`q1o~t0-*dC4r(-qhllsN z@_<({K-$kdowYyymvVrH8EgN%_#BR$^WO8k1g)*Mto>0cu!9#m(ej1oC1`FQG^<&{ z3m5&#^SS`kF$f2(k$~6{9u8`4mi~A#4`wJhwXyNO_GqrS<8eyXVZ}*26<$pkF5Y}MaBgDXHS^K4g8#Foh<-h0w zF#iWAg+fO&Ak9gXwMuU=5*`OQ;koWXWEdPx%N?DiM>r;sf8A=RlNv$EHjwwl$6u@rucsrbg0OB= zkQL$GwH*J;IsRY!UoHS5L_mZDh>!sh3jeP`JIwKMsEZi_gTw!qsun(-i;XYjr#|HaDi610CLEK4QJ;Xia@u=QK10DKB%0q;xD z#;|Tz(8{?^H=b^Ho^FP2TM1DH#!fdDP}wBV>Ba$~MLOLCK(s`sn+S-O>2#9-(JGy8 zGN9g~sE8;7qw&d3Hw8;Sj*@IkKY@}oOJ9)^R!cvTk{C;02@p%7B*@ZFro`9!V2Nk9 zt46m)>;DqfZgxv!bM4B~QDT|xiYyK>*u>YbnBp4VYBU=xYF#3mu zXY2rVIWxY3iyZXW>2~EXJ{jKqBh8wl#3n3@DUN?TM^;P}^RYDRi=}e>+Xb3m<&_9F zzhWuj(7sm6o5lH>EsOUxQx;bw^Rcu}e&dtO|3HnGlX1oe(mL7WQKKHz-{9zG3pc)P z{J-@;iCniY5C3+~z<}->NKWK1KAG0Z(ObdPX$PJgMO}Ru*zL*#nzw9LU;xiUwB9ad z-Tg+E0n}d&2!3(j7gWT-27LbWzYghk{S)5l%CYZ-ECb_fxr{sD7Wp4-a9zTmaRkhL z3+9#zg@MYq7lEJ|ThL(MrS9LLIf)nHHXuXeVZ&~M0x#}jls>M^ylm3EY)y??@L*_kG}@>x_j$f zdi|I>OMh6OFE-9%>h$G^>URCZznz0I^baU#`O>TpmPj#%a%8DSFn>z3K3K|;*2%{F zi7}MJvX-OhGANjiFcml#vf3QF#}5rbi2w}A1>hlPx5uf z{xSalzf=H{TS4vyXKlnP574v{blsN(Qq~Ow=L8&~{ipRnsrZXzf6z=fXqNkoz>D0k ztPC$fI}5|RD|mX{SpqWHm>3xL-Ed-H412-A&Ip-!2hXox6nF{R${613ZV(Wbkqa6- zc=?)@As{S^;l(X^WRjjizTYyeLL-#8UxqO&0co38GR1q!Ki&p2hIO z6Q&Y8&Hqy1b$WQ%i#xWApcXl}a(g52qV@|bL)eR>A3&>YK+AF?9Re~~L5(Iku&dU5 zV1v$ME&9O55cXou2av-AGA76~FlI4lG5jz6lg04j1*mxeTK@qKmu~_u)W5JY#6t%0 zvp_m(|1d;?YENik3t5PPydpa=5VY*>TgCwe(DLIy#ft|zya!)cR1H+5HSD+T3 z4BS0JAo*I3<|90>)w|s}tdEs2b>FZo<8tX*Y*$_i$M-Ev@B*R(XlN3 zQNo>30@Ca8o{b^0+w})%YU}%jUf(~;2Lr;xg2TdI?EL-z|9{sX-O|?gO84%_Q2?z* zyOSj1KP0mDz5}(9w}VtfhJ{0=jp5Ss-hnLo5!ubq>H5R^ zSm`{F@hKSw3ZU}jPk08%h2SArku1g+NxxvB6#-^JLhA&mkO_MS3N4keuot$!AfaXY z>;M1Y7k2O17~rO4%mFFY1}hb@Ed3K77Y$89psbF%z^3sHD9IywKA;M_S&bn)1JtJJ zZT<51|9?;fuCfKS8e9KEip9&6lAV(tI`{~>|k#uM;jK1jUzm_*o%ssI1~k4Lt$ z`ArBS_&}2%puri?cwuMkiO$$Fov{}{OI<+=VefRtKIn|y(;0i9Gxo@TQ3X*3M*i(= z0slppfSNw72TG(t{pqk5m7iEay}jR%5H)0Y3EH=h=nK5)ECxk}HB{b|;U#Ea8^|Q+ zKr_NXmH(xnP6Vt6J-ZyDk-r7BLm1S8wPARj2Nss_9SVj9DXWRO9iJ&Vn?M_5Z$|Cb)fSPQD-Sf7Fl;>oXI6+`DMP-f-R=lLtiP8i2Zx8fm^BZy{LT7)iAXS{wqysH8wp)_6AkkB3(IHVV1|ye zu`a_5W#mydSI`ifK$!8jPS*qBy{=Pm&4KIzcT{(DmTvhkx<9>c5r6vsf5eU# zcgB~Zj0_B6;Oqpdp$@#@vj-<{sQy64m!LBoKput;z?c?*(=1dzgz+V4(y!Zh&vDl+ zpl-AEIsO*VuJz8+1D1yTEuf(@;{&~+M}q#FaJ=|=f{nrYUnx`f59?$6t)Rm)K!eWW zptgX}V^CBscmYc8|4Vng=so@ae?W$YA_L=#?ia9h(D;Il;jZhFNboT84p2raJp#+J z!iDS%-8Zc7mB<8Vya8pM;wP*OpcYpV= zAA}UqpzUUXpe_!4X(pE=s43Wby9B&6a|Yv!xYw)V;*q@uO2v= zUOR_{zo`EV%CfEhOZY)G4L{Rsy)cN~-F%>s;pp~b>GWV}yjEw&`4x1(`%((SJ0FrXl*=*1!{vQgWBMr*-3C! zl*IJn#&cGNm!RW)Kt&-))r)>uwYLytOe)js+s(d5n7%`XvP)T-eUC6A6^nA&(7Fv= z|CKYnUi;1Uh){{f|I#CO!Q+#V$uVe67*GmTT@5n3j_GxtrR^NhT&FX3^$KA1jsHMf zI!Z(u{|PWMHk5#7ÎJ3%QXLyxhS>4o5PR))K-dyp&xx$%W4sL%#^7aUzvm|nbm z#tI%)e^GoNR*Qj4F}wMYQVdagp~N9*V}kF2|KJ5X-K7Gcs06JB;{h!M!yc!5AknH1 zj-Id=0aD=TVe3BJeGk0CKnyBj4wfiohYsX}*2{s0Sc6|MzJj(s1VLWi#}xb`;~6W% zOVEiqAg@7drTLlA00qbAL8ccRAVr|#h%9UOlo*0qZdpuO%#hj2EFoB>@dg?${4JpE zQy>e@Gra`Ok}d?rhV}7M4>X;EFrAygI-xNl4vi6h>+dBoAX6SOfk!t$%x6q5YM!z( zSl=&^4~9<2?)YE22(mqDu@Ljuf6yMYQBPE4VO7XuVXz(fI5C|Nr%6 ztUEvzQtN>lA<+I>Uyh7_|Nqx#F}yH(&A@=Vq^UcUC)oHv*glZ9)=MQU*4Ln#yJI<8 z57Y>T_ttWBAAaGm7?k2T;z28hTMyI-cZc$Hy9$J9U(90YlFh-Tr{f5&2LP) zeI>eGMZmp=kKrA$FF*@-eSdViN`Q72gL(@ez&q#eSRXEl;omL*t^j_Om_RFlUnN@Z zY1Y3=RG<~WuM#O}1@NmxAWJ(QB*&5E0HRCzI(@-wf_)`GOCmpXyGnpYh_aL;L8GW* z)}KqHdfk`;GIBso6K`=)axUcnkGy?(%>mxDC(->GyossXS0YO}BF&nyL>L@~0iCWQ z8G4L1TrW$Q7#NyeC77%~gB;72r5l-MeWFBXC#1GIQKIAs;>+xW)K(`-gm(UB04=&c zQNod>4N_Yw)O?I74C034Vjwr5+Tp?VQUJ8;&i9A)>5>Hg?Tp~n+!spRp{uzsl-N3@ zSzjnIhpy(nP@)T6&3&OnIZHbVBqyEa0H#qKAHoG*mkE(7)o4D*)aiRC7*t1s7nt$9 zIB&wn&oo3FUFUYzHj{)pm?>?DYL{%=HB$$ZY10*cZW|WxK(_!GSMk!}V+h z=}F;w2|DL27_{&SY^uPEO1KK}pi(*4OVEjMov{L)u{@wXnIXNdX97UWFF_luCVU6& za}cpU44GbOk<|5E18Sb<*GGo7wHma%6_ zIV@vAON(Q9K>Mf+x@+GUU$XvOB4m8hQpU1`+o}81!G}ziGK{4kz^q;oMoXy@ent{k1M zE}#*6SDsGr;Q`=%KCv>OeiL{LeYdMfcxS5$ScyayduOY{|NsBNo60r7o5~?u)^T;N zrgWCh=q#PnS-Jq+%UaP{x~6k0Xen_gc(ZorR?wQ^&aI#$13F75bZ!NmJkYrnv<#zj zD`-O}(k#hBO|Kt@~fy(|Qc*@XQU zRRK-3wMu|`LB~o3_JbC~fK)i}z4ZV8|9=)o3y9uhl)Xcg0H+#`>Q2!ciX&TH@ z4Uk9D_+GaC`~M%rjOY6gG4%1uc&L4>s~YICvr1;>E6q;PUJrWM#AQ?cP0eL4Nsf4q5!@+-VMq z&6mBcpzsd>2dq*J$Zw#qYK;Y@k^h#E_~3zge(@DH2C&LmV8)4n7Zb0rG5p`M6>Kti zLdUK7AA8YTXh{JXJOlM0kH>>sz&2ArEg}g9Pw!&Y?{|D8m3atl9q(Bw4Gk?YfWd_C<_iuqFPB|F(TS40tv$#O6gU?R$ zw}K9#1RDhkgdNJ@W$RbLUFZ@4kTIeB88skdX50cbQaJ*GLF#fK>eeEui{sC*0I4fL zR;K__2bxW9JpeH;oj>CVDA+t;>N3tKfo2VO!opvG5(`XS0e{8>kU9mh^CcKc)WEI; z^@%0+?SS}L7h*pT$elI(VK2Vi1bI~kS*^@I9wo4!7?ISr^M}1S0ah!3tX5!O2}JGH zzn~$660o_G_`_bzxyj04{LQjdq(l|$h_L^qBD;N*7#M@YU#$EKULyilJC8s3MZry0 z254MDBdqW$8$)DgsY17_LOiI=EQ2&F+3m^!+Kt_MphT!Uln2t7FK2&oXgV9iYgn7U zmc8|V33IbLLp*wWy8^jVMlA7i?ZL6WW=d!27I3wC09?PW=`3B*S-J#V%Wmi_-C=#K zlsltBg@N(KzAK>FM%Og~!7pBK0cF({0llsr;A0cMc5pCQA1hG_00sJ8!52w4K53|G$DSdatuGyaY{fT7p^|6FN)x)MbH=69Sp~ zq7J5-#rk(?TyyP&|0TY?u5$u1GE_i=y(a=*Y=NpM^#*ka|CcTS?-@GqzjOh3mEW8f z@_)eT0^Aao5PBhZot5D~XwTLjYu6by)4F3p3!OSk_q@&rxtLYxCFrm^5R*>`d^iwj z1wNXo0WVI2rV>F1AsqmzR26y&+8WaB44U)g4akT9#T?6JPze_Nf&*G=m%3XPvy`&_ zcRlc$8Du|b2JvjS>z;1k1HCdFmZd%Xt)OE8t?%)-fTmq~T{i^0*z^Qa;+KG1H4Z{A z_cAbmOIkyrmzx+sTO4)-yy%4~0=EX7g$nH2y3(jEUxH-J`P zy^wqK|37Grod84(w36${3(iOX|Nk%D5%$9F9%vw01f<&uq&qS!?1k37|Nk?7fXWno zkWlk)#u6#eDxb#38VNuDHy#G^`daWCJp3nwR!+gUF zdnJ(E2GFTMJ3t~kUg&~Fc7Q~-l(2$g{jz203J`0>|I7bNmq6BR{l5lE7}t=huEt(a z)dg+88y^Vk{&<{iiVAq~RHqw9ryI|4Hvv`$hK5czkxn;>7aE{&J_ehib7W~w6kuph z6ah`$vl?FlEn;>At%ZWIdBC%RU~x~0){`Zyphi6-v^5V>i8eV2I!pj{x>5wDSORS( z^Ee~OnJ-NqBX3ad_T}gX%|wcW-C`Lk016y%4QTix=so&=s=&bT?n;T)|0N0Cjy#>N zKUxozgmnjUv|cLl59=;uY5i8>7HoVQJgwd7`X|j=zJ&d_>mSfMBIDa>)>6?WtUE+h z85sW;3IqlGFBAc-{wVzup0Ps(bTN?v14G!0*Ps6XZ$6?C7k?7!4ba#=Jd9tIKl=aw zn=1!n347R!t?eufk=@6T*UEurXw6>CX=h<*R%3{S26`6Dj#KPBj4#Z3SQxrLc9wo< z_Wko8G?7~ZQkTZU5cz_=mxTezKFAn|_2IDYkKxeBjbrJI;aL@?vy`P{esFwY>D~Alo$E6(M|I2t@{D1rZzhxW;NGW)h z_kXFti_LJQ0uZGF;h^c|D{ue*?>_gU<=_ARpmC(=Sd^0}zDB{K zfy2>#?!`BdN01^v%Vmcy2M^{j`@G-oeVw3NkX8_YXKKo z89+Kf@{9id|9{-|52(*^%=Hh$K2ZMZEIk9V;@tiJ|3TjDEZqQd&HnrU|G!w+#lmoi zg#l(-hK3pg;|qq1tPD^yc0_z(f@bxM8B7ceJ0d_H`qT+JwSuR+l%uot0ccLbRid-? z0+=CVe7mlqL^_Xe1J0wz!V{r~?(%}eF8TZaKWLys*;0ak%E9IX z7ND)dA}<&qC-(g=F##3j`-NU6GczzCD-rm=73A(0ovXl=Janq*l+a5nkixke{{H`8 zqSxEH1+=!~|5gz9#kVe~Qg97+K?o{*09M`E3Np(0fJ0|1D8wx1f;5%zS0hF!+dcpbwUf4`#Vd&ml0BS4$?ra66idwU7aPY%S z1x0aZE6CK|Rurw=lUTrw4+-Iypab^NWZzC?Vd!lICBcB;ET*vkq8o%j+kZ-hUQAU7 z`3e*s>cTHUM@2*I3l0v3L|HdDH)JtpF?G%b#at)YWB*0B2r)2rwt{j3I9UDQ#+VC( z7e4!otl~_~l9l1_sNypuAOL&q6rLma=P{-77X5ekf}+g&bO~EGXuL?E8*=s@IIEX%K$6k_YnF3CNesjX z(I7r3UP?ru@$+IPXs%)_NDL$g$~Gkemf)~2<$&bS*L;?9K?xIN28af!19<_&2hsnp zfyzWknROhTOh85Ei-ouT|L;EjVpb~)14`ez`ArH+52@LA%l}}|i6SeyT}42%oZ#h4 zXF6l=bjIEQuVy*{Uf%>-&}4nMM6uU*OJKl@oo87YI$fVwABJ>b_X)oUJk84R5_IDq zXk=_j0BABY?8TRA4urBS(DIe4!>kN1pMk~>!AD=*0FQlxcDnSs-U$HJE1;zypfPc9 zLx0bUW2&H0d5}dMpw87*;n!1}Yd0`~_k?u1K7kCB-x7WaI#|^*c1J0=Z*fofC1@lR zbbJ|@|48^HXox7>GWHICi$AEWtG$yYx-Ucxbl%_r@OguvqiL-V^SA0SGcbToID7#* z7IiiF2!sWoUJhuV_J8o+9^(U+v1hUv`KKH>?m7o_oP7Ye^?m~~`2B(*m=WP+J;v|C zFU(J|GQ9l6#J~^?GAIKyiWv+ks7i1A7hM6$TCOLo50?tR_@>Op5YXxRBtwspS>)v! za5wM{WZTpK(g&Tfcm9ilwx58fA3$>k$l(S$$74-r?1TTMXI@NHfdv}a`%)q=L7SeN zYd0{XhMT+yxbU=$-2n+lWs#TWpk1o5S0Lf2F7i?xRJhjOvHs290@}ceBh+4k3P;y1 zpyMMYEM2dZ!)IPVUNI5@7oMQr8)&UoukVGxV9@@XHUCS`1phAu9W8O?f9Zo4MqG>x z`*{>N8$b!`c&VMGEGP??n1PBbSCJPVPJlYqM*={TtG%ulAfvRPLn*+9fchGslV2XZ zc+ClpfPJ7O!Mz>^fxR9q zfz1ab0$%X3F*3krU=l=LRGwgEfUf8b{$F|md}`tg5kZ8S43QV1CqO%do|F`T&Sd2M zUkdVdp2$nkohg>G;BhJ~%h(Ggs$nlGkFYUB2LA_bt-kPL_iF}dQUOO(iO5UPEf)Vx z?|}BPgN6u>KotHjJ@LXGJT(N$2dbca&>->>w7xH+1mv#?`#}DZ1N%z?WI^O>R?FBG zrGeeGPr_cX9RY_xDM)1+Sml?)pb&U>7}P5UMZ}f=r8oYUK6t^;4h}icq#?+TsUoj+ zI%}W6)(g%Mc`e%+`{cDOI1Pam=!m@LhI5_^zwkQ_n$9@^T8MfAvJ^eO+x3F=;S#BC z-vgk65>lN0FTDUMEB{}6%?4pv#_j=i68C^kEQOvxc+E2Q4oK_{NbCk=yVVUy$!i(= z0A$AlNN%u%6XUZlbnB7&l;Feb!a(Cy93`$98S0?XHI5fG zzgR)LXE{K-6gU`P>tsYgC6bXPm|jDZb3leZ<41<>4=PtRUT>{g;-p0wr7!E~sPB3AXGt z_i#dpRhn;$ba zKVw|o>HDWM_QwvZ|4fXQz8s~jI~e~nG4_TE1O@hnz6lBl4E!&8M1+B{(-kx{Ao0Ra z4s=MFKH~w#PS-y#!jG^ryae56lEn}f4C)r8fx1z)2SgYccYgsLw7}U|`v-I{R4I6% z`2Y1z*FT^l9JGQQq}==;XjuIZL+K630y3WeqI*QZ4K{%nPh`P0!k-L%#%qkPCBVz1 z#6fG@^%-w6zUF|i9x=YSd>Ax6%JW}z2WaD$D`-9VNt82PkeBiaym$**L^;>@Io3CzBh~ySl=iCyI+>+wR=E7K*0Y}p2p|@ z|NZ~pcphXyIMf1j1B3-?8S_9E#DOh%vkzp!vwdKvfh;g&deL==mEpBjMk`2_1z6QF zu&M+5*cdLp|9-vsIq0a(#`A69!HdR4NHdCt?3Z&p_h3`N8jiu>YbbK)h1Wij?5+ZrcqK42-=lZvQ%6IsRYY{r^7$ z!)ul1AG{@M%|EzG6q|o=lyX{^@|5uT`Mu_{F6Ah;PU~cIbNhdtfBOOJ!=+b2BV=r# zlZ1XS#Ycng1NZ})$p_m3$=n&s_A09?>Ez7b(!U_fqWf=&xn z038Gy-d)Sn+4=$81%3mXQuxN-0=l!L``nH*>I{r&-2$Mq2;|aQFO`U-mj67 z4oaYNK^@E=t^Z3)x_d$H?QI1~rgaOZSqqfH!Z462%{l-Sh6h=i4`760iCabn$S5DM z-M4mw?7p%al#=105ca|pY7c))9%#ZnL!a>`6KH->pYaLPi-`TK46g;cTS2i2aYiSH z@qb*qL%=hYlgdF=GxD5I;~N>26a(6r#uMHP?hQlwi^jJhz6%J3G>|&yf-DRU?wkwi zsCCW-`Ts>7*rAXXi$3E&=GSSx;ItM1?QQmgT^Rsr$V2-3VJ{r*K-Da`pn^0xOVt|x z2Y^ltlFPWD&cK+_1PUPSt)R%+xeHWeY~BTq9P8hpb*%b~d@L`5_pvg(PX50YT|%%6u33UZ2gC=v<(efpd`fsAc0n3vNaOE} zWuORwj=zJmaPymxUe^zuu4{ThCroYucZBwUtIs3B;k~X;jQ@j=AY2oW#R}T;4?dvj zPG>Fn@LJHhwJ$&i>(xFv?z%xioq_SV>y9OAAnL#qFm+-Nn7S}Qje)VV_QwmRKcJ=M z*7r-eLB+5o!%NWm$1JA*qC5iNicsjqZ84AvkgOd8_@Hm&0}cThU(`W`;++?FL5nDF z!1Oyayo4MMbRz^f^F06NhYV!9i{OVDL$mbEuZg?8*>V{ZuPzLBBN=*#dDd@Y3Q zj{s=J@jvtpSQogC31oO(3F&hE0WD?zANm3;#|v^%7{iO;J**6`J;J(6|Gd`jKBn#Z zCoCZ20jPNB*ulooeGGIHK>&1rwDtMYZ`y}0{^%`nV=_Jf+8}-If9aKs8z9wDJ3w(9 z2O7fYabw@lmi^I2Xer135(JT&?wda1&T21`=H$d`iyfJUKs3V zWq1j?{t+o&`Cl-Lf|P+maUsL&+hNAv+`_>A>MXtUf<1#Bv@rsjDwZ*Tj|KuAdx<4h zS2DZ=UBQSRs~aGZ4O;mfh8C^hq_%|td>IO^nBB?nqH-52!|Uko(m(v$*+5mvi4uGM z?Faa`AL#XC3Jd_pbwGxM1_R@Zx!WL7EdZ})kfR!=z4Qn?wsW?DVjDHGPcpn<-^I!h z2Rf<(OKg8hBPzDTx<7WawH_$pf*#k~ti}MHxB+Kw(8g;X&=Tm{Ki0=fm^v-8VxU0^ zT?7Hz!FaqBwhU08k(;^u$BX=(tPC$f_tt5%f~K5TAxvv`E?z%X&C%sQXyz79}lQy!6FAK9fMySdBX~twUhmC%Am~482n-jgwMMJ zH17fGZ^g10Jlf>Kk;PdiRGC{azO{rhqI4aKpOwK&c4yBm;d$b&#`n z>|kYht^U9Chg(>{i_4cmSEXWe7oC~$ND&I8+Gj;NNL)7yM#IT|21%H z8+?z+wYcc+W zJqNAjKjF?$<^?a< zA+tBJF@(REx(O6sJfJl}kswEYTmy1sJy@<1BKKMoBs&)*dl@X72$qe8$U=H`Cz)UT z-O9=kAKmTxCk}o*;Y-jO3Q$8E()SMojTwM@RiFlB3aI(>0dnkwJ|i3BYk82A2hu{WGr#Z#nRgsCSVlT%6l=k1P=M-fge6dw zji7Z1A0Yc3#W#XNUjjTP?)%}z2hf7E!!N4xSQt=lA6y*xNiU*&ewcIz;Z80p1%dOXEONzR)!D%|7Qe)j!2jYQoJuh8?^aIas$Zs zJpZ?{fTTk}(nTQYuowT=v%yYk__7|PNZ|ig9+09?kRo4@q8GQSdQeAUHCWM7m?9C7qHvI+e=9*T)B{%323FJnQIrt@lD-d?&Rq{$ zP}M5);s5`D@bK^#+mC`4D}=8H4_8Kl)NKc=bA_l=fvM{UtJ8<5ivp?Z2dk5XsMCR| zO9!iChp3ANsY?f|`??NnuL(?@{ZR&nXh>riw0He$7N}H09-wP}1KI-169%p3j8EHxiQ<9{j7aaYjz5Cf>{0u2+E?uOP}4xkA**FP`*Ze#`BXyPi+?F&9_rjw)7__cHf zGb4LLK!yWj1=EWk8(A4zzm@Pp%>v09 z4#EbNZF!*55OflHSQc{@)BjSA|Dbt$u@@QKYzzS)d)9&kUmV%M%JA96~20uPp|J7N}A2A`-6rEc1(GkV+=w|DZ!vAd6hUj%qznA_Lm&FT%jstO_!Kp;;AV zA49V$$Qu(R!eS+4!3q*!O6I%{!Su_a%0h z@>m}%5#7b9z}aAZsD!8WTM3u-#}YQ{PbEwkxg#lszw}M>z|FZEn>tp;apmWr^ z-C02M)CwhP|F?o%03$(e{%@WUq61q0xe8Qjio9ILz`y`f>`)Td+j<97`a@g;-{{WY z@`M4jfdZ=80i?MRteFR@AuKHH#mNHU%lLs3{aS_>tm{}AUOPhk z70?Z?S}wi__`eluq6El9eXxllkoDS(b;6M91F9$NMeH+HhHh|}TZ6-zzcmYVn2_9y zN$hM4wpIG<4JASuW%`hUq?h5p`HLrOSQ(mILGjAbe4L|kFNg&?TbRE|6SQ9a8`9B= zmr@}`?k$JTD57S}6{U+KiyX z2zjy?kPcQ8f*vsGz-Y+$;>Q|LAsE~pE6~jx4mw4U4Rm-%XC2E6hg5KMcN!aiiv}&{ zLQA>|prp%?j+%4@z#H*Oc{;&91($`OBjh@_K6wBCf9G6K2zSl}C6CUzpwtUm_o57% zx(&AeU0NC(+}jIM5oml8GEx-GKlNa*4<}ReNyfk|)-Z6vDfdF34IC<<$c$(F4>tKl z+iF&Zm$w-i7(nNlXZ;63(25g~X)oA?m>EE~j`6pE&hG5>0n>9ey0ON}*t63Q!^4+o`ioA@kEt>a&(lJ9x1T-^1QZzJq zyodv}+di~@<8QSDjc0;$9V6HtNDd4@%2=RVhFTAlu6q%|3ieip17kDeYgI^kgGbv9 zNT{{mhMz_2z&M%lg*C|A7eND}VAH#|f&#VIM&h+-w;M}<_76~0hQBCJW?|?yYd*r$ z`mOYNH#p@jTmUMj|CjJsf*1Oig6{j$$%3_#f?wo1f=_Ca1l3PV7++jo#mWG2QE(Q+ zi-gCl46Xl5H7spGrj#US=|f@xvGu;h-@yTr1WH`He}INz*h_2>+f%_!F-S2H{z5q# zv^N!W_Y){;b}@#(Sg?wf!T9!Teh|Nl@uk>*(4HUTZ;(nF|Ld0E6ju7&5}e*ZV|Ac(hjNB#W)di)p>Bf*odpHDH|z(f(G>n)^p65B zBWNtDROH1r@FBe*S3PHZabP7Y!|Rf8P>l{g%1o36mT>x+LDN?bjGq}_%wEX~x`*IL zK=6N24v75O7x`dg8vlVRm{JzwZ=i$T9T*vzUgWN1WeEN+$^%g-@xl$H@J4Wk10yff zi-47^4A$REnYurN@?tddT2ovNDBmB@HWX?D>W2cX0p;-GF%zNz)hv|j=3RZ@fA)qV|KB%?3^bhDF83E8L*`jZt<(>R3(?JzQ z8H*)&(@ly0i;mC#K_e5~AZI>fdhvHTD+8>6x9bKgYSsmKGvj;vdtCuH~!@pjGi-pn(k9$_n!E|I!a2&%XHrvX8%2|NsC0FWebH1w!LLPFP6me8yq2{;N<{yc{>Uf*b!gts1$79j7ekybVe zB<2T50*h`vP%8D}2?J%W4f z4}`Jqw zV|c)S(GOsQIIItsD!vc`8)W^tL@eW(9_VgP2gZ2j@E2)ISs7k}_8mbgmJ%80!V&ZE z7scRCyY=T1ZIJcp%&*I#a?+Nu93^6)es}<=j}E$?f&-)^pZRqN=)_2n%tzRb6Wkz~ zV&)esm$EWI>?l=*nj;(jf*)iDXiSP56xJ2YFPfIJGFX2uW$XS9x%9$;v5xsg?ow8U zZrd*kyo?~5l|fyF>)>dz{SWH6g9?H+<`?cuq0#gibh_%F{~#q2FQh<9z>V@r%r8_R zrZaVa2gO`8YScBq(LkO$1nuF0T=eC71C)X4{+IIfy57lnqQk(L#UJp3_Xy~^syod` zFvnfHKXf1N^r-WX z-EJbx63qu#JWGFc#&TGSf(nCDKFe^9QclZo9{v{4{ga>tcwZnlsFW$ZC=3A~G7c_M z!dYIdS`69__J^S)(>nG`u}lW&#N`YJ#(0(&6BdJV-yg_wGtgu;c=*$)xt@ce#HJf` z!lY%L0Dl|kira2Ck^d$;K#RCU=RlU03W6Lav%}rGPN3-FOE=J%7^M5xT`K}9!5B&< z|Cd2ea4en=DhI%&;!6+sD9Fi~pivOBj4hx7V-JV}83A#f4{CS|fOLb$I~IbZ_JhVd z!e404hmTmu!IUXvfX6+mK+3{ju+ImTHHY>B9jrni13aK029{nj4>X|Q#t~rrA2g2fehcW5 zfhXr%qM#mj^BbA4)=T^?phKoWr}KeV=R@vfa^>iBeF9zp^rqWYB*R>h8FWz|=z1j3 z;Av;+i~pD6TMv}-gAaP{2AA>Ntgk&mJ!w$=wEO9fiLLC*Wh_@M(D?cH+`JbT8{eb4wCNU9ywoGj(Z0Ij5f zoB`f?pwu`Zi}8gAij&T=z67lle6i{?WIBMqWfubj11Pm#V0}4}fq^081E>L1%JU)$ zY(uFu=tzVY%uqx4Te_jjud=>Q{a?!S;u%z?q!eVxE!Nlm-KC(RDE}}Nx0Kj}4Gw$3 z3^7&=bWP)0*l>U)NbghD*TTVJFGOGls(=JvvA*~;hn3;ABq)`>0Pns41tYkz^MLjB zBjax`YTx|-4?6og7G;zlv=fih_`qwHZch$}){~__P(vCt@YwzFzvu}G2F6Y{lzngi z4I#pjkkP&F|KY~}Ep4Z4;bAQC2s1vg55)SvVa667#utK*8ZP&HoIF?jq0Nf|?B7ZlKcJJ-oNhpxK_G)HdKn`y_CBFzznX zY5i8p(#if>BP@#{929B+84RkR$%zt3fi3W&>np^Se>h)Eo6X7qnzBL3-=I_7-3(d} zln6H0=`bKJa!fN|K;9h~+WjUFvbL~07BoU$%hC9p;{$jJ9s^6$an~Q9TjrZjGw!>w zg@^IDD-Y-Hkx#Tn3cy)uam1CaF3X`m82LkGlu3t}I4{h{FkTA2dgan^jy;=eBse{0l#$dXJ@ z)dStJz8|Ez+w~8;+%!IEe87_T4d^~6Mh8pY4=~0T7~=?>Atv9oqe- z+n2-mK&4DfW;g4U3N?yGB44YZH}GKUU6L|R5)m- zSs8k|d>m*d_+%fbO%Xl?Hm&J91(cLQ#i&PEhAv|%&x^OySs7k?2fSdK2#Tr_Lx`D- zFD8P`gw&na7#SE|h)iH*c&+r`6l5o46o6q0DB&*z34nG(F9xmP0MDu*rApAr83NrO z{+IF?-}Va&$2b(Jg#9(|ZqOVScnwE+_pxqYPYB@)^Fq5Ie8 zrQN=NT2GcRcLs8FJ8*P{{%JlG(0ZWsL3b?&Xp#Y<|M$+#3=9mPm&V6+HlJZ)VCbBE zfr)`3`s5+xGOgQ}=i*bp59)Szu>L5FIIw1o}Qz_!`Ryj z5(;=B9RPLcneP8#y&FLWH`_6kh{8jS`@b1z^iwoLn1KBMYva=7Qr+Wg( zX{=xu^+8CGy8^n;bxs4xyhs4ms~`tLtpn%6#y6mW2SlGcEIeZ?sF7>Y!^)7cjgx_) zvlX;|_k~6eD?^riT>{@>XOI*ICdD`?MEgbM>>=U(vfQ+o?Q zBV&70K&SH9hTPy`gxpLW-rEY22Z@qa5Q;Qns_yT*+%ApAxA=KuejkBC5X5ZFg> z*R(=MC_t`(_`(L}3k%Qy#(#*Lm=E@ru-W(8nDx4Ympxquue#!gxkZ}kWj-hwf&=3J z2CxyWpvd|UJ|4{NKlpI4fUw{fmp6gjA^~=bJjB7>4WMR7r$jSYH%~J-tPS{^`aydX zz`@NBjT+!t4F9)+V(35kAhH)r9N9rzaKJY|uJ&eOKpqALO$TxOFXwr2zmt`rITbQ& z!rubAdjnMGv+=ipZh~#B=Mm&&U?^pM5f5q^y7SnYb1^WK@Yz~{D0bT*F0f=4sNYeq z1FFr!Uo8ItT0;=_qW(6xVB`j+pl+@gdnbVgJ2)6hyt+#{Ub|-eaRILjKO+IU>nAd@ z^?!*_Sa`+@P-EahAGomXHK~KFZ@@Zck^_?J zu(h6=>o^!d*XHUyt~d|$AK+8j5|S159<#lSvx`Z6m%a9{BIVJkqj!cPj!HX zKOh$Yh`2H^zVHP*33M`q3)to1|3$$rzY!VPdb>m@JUD{|q)ZL0jHlNoo_{-g7BA?K z#S#wC9e&m)O1a(LU%%V|Y9PIy2JzRAUeHwI{}OJHKiK(O(?LnajU_(1^*{-KbDar8 zDQCb7`wmuyPB)WoHkZ&|GyB-y7TY< z|3zTdgMa`3Z*gT{Jl^``-~az}z^oVl{{QcA1&z<92!l@7KM;`7;L5<5C6OVb#LM_X z=-2=M#s@&_Wn4K*vaLUqnpnCDl(Jg7ij-*W1jRser3OQ(K)0hrcc6^2tAKK-2=}2< z-sXcAjXw=;@GutLf6dfw2(6dFx8fe{0acx#zQPN&c2E_)rH73nqXHE6t9rnx=H+q* z1_tXJ{H>t5;fxeeZ2oBjHLr6(idw~%t2edV?S=6r(4u`FNGt{Qura*$ z16}^))y>8U4!CYN7EW-ub-TT>K3KwM=_dni!6Z`braY? z!!H>DAaQ1pcx3Z23;)t4;{%|52OO5H;Gshf>l^$na!d>i8A%{lyMbK2A9R;y_=|Jh zAaA$cF5&9_+3X1H~qHZ>@k4iEv z{WMBay4@sT-jIQKBkaW`&}kCj$qI%NZqQIsnZ%3Lpa1`FtmEKiW?(2)F+O0)3ho|= zqBWRgf+Qos;eWgpRI!61 zp*QYDH#2ykjKAeM0|V#|vpNC();pj+i7nVtUTB|$zZG;UJameN!*VakdnM}Ke9FC` z^xW;nq706f#)qJ8PiHTvyHUzveVo5#0;nSmj+f>x(BVIIA4*(}4_Mam1oKZl(93cZ zw2-0u#|xcLpy|Ubh8L&%*cdWEossSvF9N&R7@VztN7l0#|9{P-{ri8JMEHwUeW0aa zuQ~r4X9>KR+sDQLN(#qI_$=$dNujd^oD}|-$v|SA7i4RsW!;w&PH;!4;@AKGpbkzi zC=B>pfBpOa9~_@yFStMl#2m9|{0EBJqW9gcAV0PqDB z5yAhrn1ZtZiwn)5Tou;|8eWa)WMgPP#?pL*r}-aG(d_US?jWV0A$0K0kqB4N06KJS zq45FGuCIU>b-zK@!8-mKpsTre90n~qbaMkA^U>)#!}uHQOiWOP+zGC$Uc-B} z9`L!Dpe9UbX-j8mM<=*e>n#0~A*IjE*xL)LkY5~o4?etvF+&HmMOSo>FsNt()qbGD z40K${fAE=`(4hm+8pPKQ8M=%sc)GzSWr7=K0WbKwL7V3rK+-!LEtwe)ch@$w{s&zd zt;@KI=LLHYE5plcYzz$DTR~21uH|6l?*m=5+Z{Wj`7ld2H|SJceeeml2GG-SHQ=Y? z%7IVEm4Kg)%Lh9hm%lX=G}6xF#=zKokSXv*!+uazS;_+%9BOA{cxeTaec;N#*v;(V z5bz=qDt(OgiX|^2<4b9f^c9#iY;cLcB@Q$T26mAy*hMOEmq>wKA_8{_7tAH4j@_;; z%?})mFL56#0j&qOc4XpjISpDQ01{UKi_7*pGJ&&ai7DtomF4O7S@!yxD*>wgBIIj9bK*#ERE9C~~E~r{p4v%g>0qYa|ee)R@7y<$_ zu7JwhYYm{3pV9{F@Jx!5aLUdAh3#wYf z+wD5ze*sHI49L8aAOHUw|95}+mIW&L-#jB4v<3AkSm}TBjD4V8zt_P$h{kSr4c!V0 zW=7CrX4P0m28MvwJG%WutWVVH1O#SW1(|99cICcSm@BumBD*pkWPYphrA|@M<>m_m zlz17f50!`;pLFcx1<6tm8V)3SxnG@`{3HOhKD@T|fs;g3cus?Enpwa2;no0uoVR zV6YU;0gE*9?f{7}Ff>?-7NCkaSc;Y)i-0zdu_%LW*3ST)MH28rteceqG`Uy89iE}f z=)?PRF}S_~Niu-$f(J1`p_&2Od5{6xtOXfm{b794`X@wF3h&E2(0*7q3FF(&%7?iR zmM8`O7iEwFH6L65m+(W5Iniaz=6&e~nogMuDn7d1B)a`%I(<93PwZxBU|>)_ZG0(+ z`&5Z#^8?0C*OrJ;M1YPMd86Xv8n6+f70hR9hII7VQYN& zzyAOK){~_ypi8jA!UJE<2KAPGIhubm)|qv?&gc$c>6{AcYBv95s#EO_;OLwRs!f`I zGS`WB2k>-G1$Ahff3nnZb~^|_JH@VlK$kTm*C9=w#?JzJ#8k3$0N0fogtNNQE-V9#o+~3Mg>3ViXQKcH~8`83#ka ze=|s>opBwM@*-+LrO&fQSiZi~2+G$YuVb5SXMlsT6*QX$*YgatR9ywEXHz45+I2Zt zlR$TwMDsHN;{)6uN>Vb8xH2$iJO?TNS`D(Ixe+wYS_@Xm)B3-}srf%+iETK=PzJ5aEs+d(aR{s>pb@+b9Ms}?;nK*)5V;VPs9Fz{um!w0evy@-c`qohF_f_V z7yTp2z}O5PY+xwihStmppw-XEUu>{rVL;gi-~1*exH}fSoS^$Kc%<|Ty!#Cs4Cr-X zUl~2bowYx@4?`yQ`L}aqDMY1NUo7Fs;snv9EDjE@U-EC~NNYV=Qq@_q zcaD2!?T_aFBK*x~L2cSgt(Qu;)2z8lEgT$-FTJ+RQix8ozFA_K#R;Yjvy?z|DNFZ- z*V4OX6c`xNtZ#x=rN5C?U|{GCee;?%t&`8q&A|a;Md=36jbMCkZfTYrCEN}UX_g$2 z4y5sI<8PfYd*`(NFEi@)nLDTZU~dKTs*B?ne`F~H_Li_QLaqk_pJdA9=H_f2`=jVw zFLe7BcsT}W#`=%-@lthofKTFk*#&BNr7K7HMf^KQ;to>qH z`-8s?w7bx)w{}ivDM#~rmhO0#EQMf*jolwW+p#0R-viC#M)J3SMhn4hZP4Uu>7N&0 z=l=iS%?=7+P{ZnCi4M47b+H82oVi#6YR+6Nfi-6?mcW`b7fZ7;G;|plL3gCR(B1}W zqm)K;f9BuL*8DyFz`_cpaSE6 z>5ms1zkuckt-tfP$o>8QKZ_AG41Iy`MROx7!%LpOC`Vqpf^JgxD6#S=F=&3lTwWpfY+d%`e#5ApkYY?q;r6q-?#*ag}?aP z$_hUtA%nqzfg#|(=oQf7_<;YS7eI96i{r;x8H~S$y@;w|W$2FO*uTJyfib*O)(12m z;9SVckj0WQ!Ht3Og<=#t!+%qdaClgT0Y5DFRfMxM>}RNFUvX;FUv!Bm17ldH>y`haZ@}j^-RO1Qvwx2h17kpE>7CBn2meL4 zh%zvywH_!@1zl3PgMope0n|y!U|=}UkdXp%SJ;2i3n1_Qu>M!d^!vBlvh%qpB+wKu%V0NJ5dsR60|l%MFKP@p7&2@? z-0Tikh71`HE3pF5)Nh*@`L`eIx}kK7f7|cx_oe?U z|4h61BF*>*|Mug9Of>D{3+10_#y`4UInp|93fvn1fle{u?*SbV4?cz(d6FM=@B-+D z7heJX?Mx*KVd4DSEcv&6F#g_M%aL~Q1xK1OOS$8JUlIQ82TGsB$E9^Lp`Iq%T+6{w z!rti118U`jfiLkzz__n4$uy1(6H!>;DexLMWFlhKu4=_1iWy92yk_~ z@^t&&>Ew7V1UbH``$L8?V=v>2-da$__6K^{FZ!KWfpDjEyYj$X!^^;sQw&~HaW@*- zIm;MdD|fs8`Clr~>B<9|pL}uj0LV3^$X2dpd?AHlCGu+L#y19xCuvs) zX3%jSdqL6+`$1#4C1%Zg!IGtF|F?qN05K&bf`Rcx7exPSv*WEG4WRDE>rMMX7u&v8 z&L|0CV0@8L!Nw5ze=Ep<40TWs;BXPB#S{nSDYEubXY`oD&?`9EhJZ+M0Y$kKD=pcZyFc*Lx^f`zFxrQ0CG!56gd#AQ9W zn$!F4DgeqrCG7hYB0$%ggZNAg3?=OQ96T8qU-Nsfy<;erkcDjEOpZ3P(&T95zYQx5~fYyQ@6rQ8rRIzVPX0-do=2kBxH*e3R!3=L9j z)(4B2x(_lR2nf#L0d=S5Z(?Qm4;l7t1*O|=$XKIHN9%3=)_Tyi$PdusC5RQOAS=TE zi+YGLFh)X0%8U<0ztAy48Y=@&^g(iPcPU4>@d4ximTV=i-RFY4IlBW{x;dE-ww^3g zXt2^P6?gJ{E!-vL+3?$-h_&IjWf^P3Z@p4Ur`D6@FWq~2_BC5Fl%8rmPzE}N8kC|z z8$>EMsM0Fg|I0 zvor)6RrUPcU`s7IN*pacSW0XlMs)Tb`S<@nB!h#Bi5DwNAO*x+P)2HA3W_U+W@`ri zmd`8<44rd9Y5BF#@m7#7P*AGh-DW*Int(tjo~bkl|bzyFgt;Q;^R8;2a7r7hmis27CDB zZDt0BZg7ZqyR#f`1(kas4>tc`<8S>48dZZB$KN^=G&BR6Yk(}1>;z|(7lp-a4F7pS z!jV}F5&TmQK*F72G3dgN5;llbw>xNoll1?sAio8?SeXm*mw7R0nWZ7b8Qsj?2Hh1b zt=~!ln*TADa&@t{94K+MQ7CcDVvV-`TqY5mu_A(jG5o*i4RFB;I=+pC`M37xtp8!* zFF1G^A;E1!TbOI{r~@>qlk^6o4MP8C9<2NvlqN#(SfD2bg0X}b8b16jW}pfY6iVIoJe{ov{{8>o?ar|q zRL)r+E@tY!5&XZLr59Xe2E35hV_|?4;N1q@Y&$`Uv`>Q$?gJMs)(4B&I>7}Cr2gq` zkp&f-|I1hcUOd%hVd!$_VPb>CJ*1?4u^V(KGFUJ3;pQU(uu`-eT)7=*1-S|o9^DQ+ z{|#P9+yQx~ROp4mdC;hhF=I083!PF{hS%)yumrgtTq}U1{Y4DOcyRuBZPWaNg})Va zfiEaX1xl5AdryGM?*9cWFCO)PY9C0K7*r^ivA(!c!U~-Uk|<s4?>Q z>3{+inj~BJK!ZczwA)l72{$+jU(5rUX8aA>rYPb4zZFy_ z{ud2^RZHE+;y@QSPSu7~OQ1Zrn)QWbF)PFCQ;0pI;5sU}JC-LL)aV6wZbcKo?Kn_D z^`F0GA!zOCz6qdW-7NgYPSBp910@2@#{?Sx8QkSzEPA;QR0njsv3NB9;3yB_-_~Ff z%*^;-rBx%CnGv*dR{&(_i#cDx6@&>W1$|+Ct^UnbfTM&Hn$1dN5ejv{R|$Yt;uchV#GjwwLc)E{)9Fu_Yfx+Xe<_FYx6V?Y7gIr9+moHH9M%U*I6!XI zVtZ|D{j8~uOUY4z(_6umxDngin(fE?}p;86NSpuD|92v%pE^IG0 z7P2zDmdoM@gbZxGzSYaKp}Ul))37s;r8AVLlesgL1GGOJwB(T!wA4=&lq$PjIZzif zHNTO84WJo+1NAcgZ#!_8hcWoS=p8WzM(g9C+g6tCq_4K!$xXZ)%f7_9} zJd9b4;V(|=GchznmbC6S{sta{ zb2R<~^~{T!Ku4Da{};Ugv4$5EzPC7Dw1Lc4>vsL(QNra>D!b!?6$9gI)*TzHU>;26ezed*p)ui=II;Z;zTx~{G`6M9hMZ*fvQOMv;nGvCI-ix{ zwHYKs^5%e!IQ|g{Di{nhKCm+|yoi6m0BXx}gFGtC`C@K9sK56k_`m28F$Tu?IB-fu zZpJmgk?8gnFh0-;It1=TC#ZY*19X3>>j&!-B}|=+maHkD!F+K`)(j9W2cGl+33c*< z1dhA@0QD>&vL!6dzCRo+S;52qAhv=fD`>PH)JOgS8u5Un|9zmSw!Tr~-);Lt3^dvS zId83$Bl!Py>tm(Dpi-gR^#}9_QLu39ffAuGke9+agI~zzu`+bVzIe@k-1QBpGHR}U z!BCP4UiARd`oHu?i7qHrihcoSTF6p=W5yKDmja-UUF{!+QuDCxe;LM%nVc^{1GWD} zKcJ}0=Y07LRGWZQ@da>q$`mj}bJW*KPYkjDgYk8)(N}31?Wqi(Wa<8Y{2`U}G~%K#B2dCb-IK z{Z=9x2A+=30JkphL4;pBXMuK?mj3yFJ>xSc14H+R7X~Sy3LG?X4^g=VqO$c{iBc9r z*b8;AEnyiMAj4;5f^tRcw-R>f22w~`Yy@e6to4X2k?IET=>}z5a1-#wBG8Q*P_ZxF zrl6b)lDzi6^n>yL|D}IAYrp)z)>-?(vi41B3AlhL{qtY+2{c+tLqLi}AAq=^y*__h z50v=z`hE!n$3g%!$XiOm*CiS=HgLYy49_rTY~y^b_`g&D9565R4uLw$t^Z3zK~fVq zL8n_9GhX0)QI!MPLSy_5w24OBvh+&{59laVkOM&Ov@HDq68Hdi0!RSN0J{bA4)ZY3 zaZEf}3@_$`W)(kxx^SRc@H^)V;T$ZZKcEZ&s$gEsn-5wr0NUG?k);P6(FTv9M`|Cw z_#%w?K=+4m&^c`I-T0t0K?NZT0*x6(xL$0@W@UIS9~K<`f=2~>W&-FSg^TaNEC0%0 z*h7u~58tvFAJ^^56CHa9WjySSO0e;5aK9}ppfmPMXY7a0*eBo{0^W4S{)q?QBz&hc z_J#Fl$TqC380d(0Wb1)QP)Q3KiTV%__Ci}6G*V>!xkL%%dlxS7z13kaRviE}wIJI~ zjTt?;Uakk@e_rP`*M49C-IDv`zrp{~ z4==uej>tVwDh*DkKmHpWcfA8D)Ifl(RUD}d-uuGbPEdIHyL0n5@mr2^m* z86+}?>qT}ZD+6d^>jx;&{{T5d6lAYu>>to-$Upxfw%CH24xrnOSwUIlI$|CSbUr@o z|I#P_uY=BTX9ZmreBCnk4QQ6^4M^+-i1p(Cbn zu&2A}X!b!KJOnjW!onft4`V85i>526F5!65vI!!;9x?pq2|n7br|YtDyer z6g67L{^4(V0j@`0fCgIsi`oHuAcyulUG!&P`82lnpjfnwt zy)~$X0(MFTL>svB*X4e(Af1(=+x3IT&V(oi#u7P?5)p87M{1`-6sX~}QvpQr>|_8@ ztUI4Xg6gjifuPF`7Jv%+^~s=G1l*SXFIodiYT#J624$y!7s3*tn#cNci9i@+^=Lyf zC@{nRUkByPEJo1y^(k+5&_xU2R+l&T3jvTfvc9{%0WA|Ll?={cWngc3aY`I&kZV}R zlt>1~*ZSaE>BXE_P@U8Pa*1j(8^d?kH=y%_A|p#=gM(j81#5!VNNix6tv{DAhyA|} zNe!Qqz^UN}C^$h8CE5T98n9FHxnH!Vu`;~&f~Y;71ZhQO{f8Xx|6*bX6Uf=%V65PN z5t#;VL%sN#gb=Rge&GZWhMcquD*Qkv*TjDLFWQ1+RWtVsDUemXpc3w|JShIZ{J#!u zhao5Buq=j*NiocfpuKka;O!K!#6Oq&#r0HZ;)gDa0}u6eyYhrVN8U3MKsrr9J3d|* zp=jR3{bClH<};9U1p|Y_jBjTwiDF>vjQ#UpG(;Gb;z~tcgzN{Er=Y^%Ecc7JRM38+ z@QjWq(8*e&pi{QGe^~!6<$s|IS9Xp2wRvzbsMO5z_-_g-a9`Ye2FktGpG&|+?0xRn zVi^n^pc^m$fQlnn`TvOf#lI9*hIr7uCVyV|3bTV|N21~9Ac8#!$>GNT!7&ByN&Enx z%kkocU?Lksw=5|0MS|?!2WozSR`CA6Y<;{$7~Y+5<_&xCCYhDtwMw@u=qOa#{{|T{ z(F}|)E+&AIE2w+}oy`Txj-9oCKql>X2mp;Im2&*Q3@$na!DfL1#Gg0(#e!r|V)zsO zLQ0v5q4is-dABR5HDX|CP$B~=asL~+zv0theH;o zgB+H@`%)OxI*t7Tn!b<&9Y_K?eewyYjC&am)&V*`R6Ku>=3-#5 z{#+7r-1UPD7Xt&R>A6N2wE3&`c8OE>Y49zGpzG5c1M(p|*oPvmw@cWA zAz{+`tpq&aH;)&TovtLYGQ8&Nj(q~YVX^zf>pjNbjQ?AIFOlwc6|k&eDP`^~U;#OI z6B|w(7 zl-h$*{{K>rEQS|P!3Tx3{x3C#ByE%br6{I=7O$1=?sgTiv?x^#&M;;SRfa48-cKJKAa`4dRHx+i@0PE~Fjz0eoIEtdcP{|6=4Dg3YbK=dsB z*K8nq1OJP4@vIEdprdopTW_^Uof?pvKzlYJr$~Y<12x7_(^9i-M>qo`L)bnLRU-D^ z3{;)#PX-knB^=GiI6&K*Uv;~&pl=igB|q?7Hl&Tpk;V987e6Q{`dR-2t-m&A)Dw8o9>>b?@-V2xEd3Mw8npRG0krw2 zcrBogwZ^g+FI5VSR+6;!EfER*dEDVgU4+KM> zyygY9mO%H`yif(L)BFq`IEFMZL8s092*|LA25+xw0Z+Av82@kn!CYzqDk?!Y=av2d z>wUQebdvp-5S9B*uHNSKQtfbX{hC9;BT?`4_c%5rrGs}07L*Z{R?81nt^-XuMJ<^ z+YD=U-w}H01v+}|3|!=s&`XdBAjf_adZ`QAOY{wt>LE!5)Sv$I|2k;ZBZvv=U4Tx> zK(AkUf{ky3F5?miA{i zGva7I!ef27R0Y)1`w@`E0d3^}yoKDzUm^l(VgCTdYOk+AU^pnOLDw9gP=z-2ctP&p zAo7Acl9l1L)BjSig}g7e`Gb0SuRx33xnHaVb1t$oFua%tV!qG`1=XvNdF2=Kp`dwT zNw5&O&t4({>dAu_i!*~o!L=u-i2>?T{CM$;4c;I_U3Cb$g&I7^(QO(c$iN7?C&8lI znFrFp_+OCozaS%{Cz^rr|25DqFVGTc&;jNkzk$*K$NvJJER`(A7fUvQ(m<)$3x!Rf z3I;aN>>vuh61Cg)4>+${FqDONJFs-Relh;v?fa#>o#j3cV>f4)pp`(WM9ZZTfv!MC zs{qDQ9!Ez9hn7pF&rt3^Is}>`KF-qopQGpyIDh}?25m(7!eY%)w7%P!2kP1quxmjD z2`F1YT>Ar@V!^Hz$YOl)4Rnz7fl`SVMH`{6S)EaR8koEt+0jRoo zVYdgO3R1v>Yo67jFCQ~7FdTFJ&uAI@qr?-`W8>fE`X9Wn26P<(?*ULl64b})jOF+* z3Yy#i9S8`jyR%q8<7AK-w8N!*pe1g;JO^K}fp&~A8vh54q;Y~(fX0>omwtepu>oo_ zz5x-)Vbkpni}V?A&w^IULyD<4h)4$&Q;ZPL^1rABl}=#K9u|Eq5AtHS>zn@t952LH zgHnU_Z~hi_@Xb%gjK@S@q=m9Fyaa8tM2yZgzp+3p_JPF*C^ov?d5mv^$BAG3FEHt> zJ@dc7Ama+uX{DZ)u{@=qW6S;*n1Ccsz$6SZ=72VQZ1V;!`EUtD>;?hBLhQc?1OF(7G~cE&6bRvz8CmgpD}<0Z&*gM@V8w8v#)eVaxlkUX$DQO zgU(OtE@tUIhOyEev;?N92b8{QKP+8pd|)YP6D0Vu0Z?P<1xE+iP1&G!_zO@+@dcz; z+FAPo)P(zA%<{r(8>qOq{$2v^085L%_!Q;dWFZ@k%hm>7*tK%2905hce_6M?|P@( z_fE6x0|jdi{wB~R@UMCQmx2OUNBl)4$e`F4pq4e%rIxWzpp(Q;AWjFJo$va_`0R^a z+@Ps_)C|hg?J5&&e7jSk+f^Y9M5=%a)Yw1PhfA0`CAv#NbH4$g%mO+X8FHj+1!#sJ zlyOB%#6Szc6s!-I=m%#h1cbeiV`FF7*Q>zZ0G{vDllWiC18P}m1hFz$mU8g7E@xz5 zc-aA3sZshT?7wIMXzf8HsNgGsi{*gDI$e1{O2bW$2Al31@L%)^sDaV#E72`zeWApr`Pcsv(+qad%>`>cKpDZ> z50Me{{XiMv0qFj!3}eP92~aSc4P<3_IRlhdK}(*%>j5+F_=COE87qV0BQHz&61VQ} zpst%t#v4#|e$N+FohvjS;Q@Ie08~Yry>Mp)kI{022Fi;iUgQL_GW>Uy>2{UrHEFk$ zD+S#ZD4W3sav?X^g)@B-F6{LM-Hhj|Vtu%TrPIRrKj;Wc&?Pp|m5P?Jpj#?SxWLtN z3MizyT{%u3Qb5`P(Cy3NxdSvj-TafI+~vPY?}id)#vONJ85m!i?U)0i^minHD2*K& zAWCt^hZqLN*HSw+fGFV|1t5xNhYg5g-N6#Wzz90AU_xFAGh=B9GhHLqFf$^GHqgm0Sqv}S%NZEDOF`WOcJRK`QufwwCCuG!NFrPr zJ)m=Z7~Me!Ih68b7{oI$zG(M>4hQhJ+y;&Gm2qV7fW-5CK>N3OA|nF=Uhx0_|34t( zOB@5^iwKBt^AVob17+sTKUm86L47sd|78Lh7vdNgUu%O{TR=*6!Ab?d6M-_#KmHYq z2fX;^2U>m#QZfakgv$riLTav)U?@>+t`lJ>k_yNFgAYjgVUY4jki2wvnF45J1GJ5Wt%Nr$Lj)wh7%Y!=>`gc5 zveXhT(9%ZMV+;(hq05BIL2A2QIsO;01iS!kurog3fI86#S{B;+pTA`%0|P^FcRUMd z$`LfD2tH(?oP)n*9;oHd-|fcIC1528Z6yUTS_Lwe@;Ep+I-<3bO5$2?m*jPOgN`av z0J)p7L=qBhLZEfS0wvr5fiG;DK&5htF>L*hUAH?+w}(vY$r2NY7F|fds6n*I2L!(0 z1Zyc30S`XESl|T?QI@b5$N&ES9~W(Wz#$&hTY=5B9REShgHjeyODaRKjG3|5^*`w1 zD$p476d?vi;{&J%7B#%*m@&@EKPjL)QAZ1QDgcnP|db4No0lD2{bsD?Mzhf8_k8s1C2KHF`p z0N!nKAmIP?ERKk@PS*q7u5W^aJ6%uw7v+$G%zM^?hai7Ry`Bdeh%!Eqk&wW^=nxQ` z5s(17neV}WQ5L95{+?RU@`czR{4Joe7<7a8|Le_f1dI=K|8Yp`biL49dSU6(rAwRN z2z38JW_P>(0CT%JP$UDE{twguotj?@t|f(}UrK<6{9J!@bM%IO2nr7PA1DKo=I{9h zN-nM+K*jxg5R;=f^h?nH(iZ{$15F?*PJo16zkpQiWnf^)Vv2->YYB4}b7Z$bZ|Re; z;H>|FP^TSOx^!v4(*Hpwtp{q@jlY3AqWcw)LUsR}cu-{c2s1E-2WK(;zXlqsJ6!7e zLTnkRJ7dh~C>{PH#)p+*|AKf#Tr#%Q7smfz>u1D(bpCSyRo6Xkh{~`5WB_zXA2d)kQ~HIx7yKN# z*dNe74rn4Ba#|j!(a!;z7kpL70lM@%4(%|r<~JU}pp#=kVZ&p5`?%{B2L=X*&e9j1 zrEfY*|8$mu7ig5;fsAr?mR{&Ay>Z-i2WX|iao0T`0zqdU9+;8@qK;eu^G@U>F)((P zo`LL`1XU}grl5(USdfo&z&_gL3fn8Z!4+Js?Fa431O+sw%nN@{R)&{Rpmp!1KP*ds zfYy6mVYDoLQNj&Mjmm`_44tJfEKA>j8oh7+i~ayzs9pNT`d$fd@PE+`(8{ITk)5$0 zK7kglnM(!?)oJniGlII z=pV45B^m)QEEd5MkcZ5Rat~Gp%hDhGt)OF?j=TNpw{U3BLI4D)|1b_}l&0-4s z4+`Kf9$=#wL>U;ZkCi9~ym$*b(v=;pz|fdK;|fb&8Y#KBVc{3#20GLG`KmFz~Rk|Nn#h<0tcS&0kOm-w6oob=?ur?fRzMfhFThB4~uU zfaAF9mnVs!B{QNGV4G#EkCjM3ZI*%Cyi(@nU(ne!rFVk=i^7`yKR{`P1Jq-5y#T(+ zwe-V(@B-tPpjrSU@qzm5|3OMXeFR8%;2$LT|CfH)e?#I zBdw2>KFa`Q)ZiDlDnad%Qr6DeC$D8PK)E*f#WA?pgV!9ezQ_O43*d>Q575=fH$WYi zd;G21pwY$BA7C%Qx+9<tm3`(m!Ng*toJX82^8*wcnkUy#W-jSuzuiQ zmZdjJxIj7jzbK0+10$%Q;RG+j0u?l%WqMrTKmZjqk)UYS0j=fZ2kqg{0aVi^T`kMpdOCG!Xsa46l{CT|ZbKFHy3zD3JrL$^38d;t=TkRFHmNkdtB< zUWhq^Zg}c;{Qb@0SfUMD9|u_>TEYQ}PmqPpwQm?e zyf>g);~IznF9roIYJiNCK`U3pDEKw#S+poK@y)(}{s)84C~W;-QVeSLvzO#_AII2u z*jwWMFG~|NC0H8g=VyG|`g@rn|8_R$?##&610|fsx1Ig`tiPAPXuVw`YW=-TFiQih zo>Tk##dn>he_pFX=Bz;7Y6qt97a5MADNTf!5z`AfCsu}TS5OxjwNDTT-WLHnqZM@0 z?~Bsu;N6J=Ad|wFUYvGhWq1jiEdo^spq(MjKmM0+c8C4}%`oyf1$W2(={_6=_Y&-2 z%-#~`U)GAK;#>l{#(-x<54BldJh?BR~s zL!Gf(I%9Wq#xCfLU19yZRCFJ+149ESR5$K@InccXg~{WzFjkf4b|TZuTtoxX#ieh!k=fwA;4V_ekKy z9|2)6W^aI8RR+;(#rKjI+zvVt0GiG{@}dSs+LrI-JJ9AL*CSa>k>4MJ3<(N&QPdBe z83Mb}f$!xhkeb*d!C4NFttp+ZTUrm43cx#~ZhS96*P#3_ozv@j26EOTPrwVYIFK>T zM+9ICU%dEUUIm}CyQJ6k30&FxSTtq6d@t8AF)%dL9%9(>BZ+~rly%1!P#ebl;_Cp= zQpsM|GXWV_l0c1%(k(AGK())Xek?3!zjfR3{PAAsX*1sYr^J(6Jv8mn1o0_v6=0HqWyD>jC1*B#AAc>bF( zXMo)DV%~d3hSzpkT>nj&|6c<&;!6yh4=`nM1weVqC_K^s=HP=%YzjdMtdy1d zp8u{#x?_)YyY4vnn5o%@nSmdCYA)EXAjg#oG}NAEC`o9p-SfZH@0hy~qw%-q+AR#A zG2$(d`Vw^W&yN448~#I=2QL80Er7^@`fDp*RKI2e9~2AS6;}V1nE`ZBX}9ZBlKxda9dBL|1lo(<0znSkPXjbQ#y8t6d zNw@2oESAXc4}$_;F!X}b08HHuK5*UlzjO^E!7V^ZaQpaPf-X2P{$_mAvh+xqG}yPS zmcDyRxVl4kbc=L#ifnLmwDvtx^b{lox-4Z&C(nj}V6caw%iusu$iRam7x-Q~gopRK zt_TQ+&W+yP3v!S3cgOiv~z-noR4*Xe9heLD$(is1GLH{V}A=XBjm)1&eAV0ex3*2i~*a(6y$%A zXwAydQ2P(G*?&FgOgV{$+P@&qS`df3q4p0$iQ~R{E(Qi{d)`6&wVQv~lyPL)MC=Sv zVqgpm4hVa3!Vr|O6_ObkUj&+iTAm`%n>dUajrm`Euma!2fw2Ts0lY&AG+_&BOG!XZ zoCUR|{&X^0-zXFB{`cSfh3oDA|C@g>mN5T!{n31!$Gh}(x9gAW13Uq+G|+vcGxkI4 z?NWjLpd+0@O;u6Bmj@Ub7@AWbFo2Ho;BNzM%wNw;RiUgBNG}LA@N%)*sNu_~zOdjQlO2`NHGOpykfp zZhtzRSwO+w&6dRy=>Sf)o?W0z2wpIB|0vZ0X%q)fVZ4F4xYPAZ>w!`exO*)GUkWfX zFo0Bk1r0QpBB=x~A^{z9+Q<#skk#qT(Jj|{yDYBT_eHlGOSj96Kc1c?W}YRI|4Y9F zyikO@6?9!|v+Ea@*M|Q=)AeScNqx`(ZE~OhiWGdg25b>ez>5ucAjyNjbup+&bLC<2 zE?v~@`h=%D_Q`+O2i>j@nvd~VyK?Y1f%g1@PXqYT$3Q*>wP5778Y>4(nJKgV5P;5wtqDmIFM_@}$$iGM0zGbrX1y=}$n$lw=0*F2@^pK-)|CTR|6cfySJ& z96)#a{09$QfYuN}Do{V+ms+4Y-1SR0!)qqy!)eVHpkWE$AA#V*-a!Kr2*u&TFG2g! zK#grsx&n_nfY!>D{`fBn8gFPlP^#1I`k~o^p-cs|IK=@pH6iuCR3PAme=n%Yhn0Y- z!Y{WlGB6l_0~Hvh9H0@03E)P^pMWsXgsekw_zQ_U;EtRQs9jku{G!+#wBztkK({+j zMolv4v@3&v7dPBl8LW>%wx!k!zqUT^%8}vA!1&rBi#hzo_1jB!Y_o(K|8~byK;c~y_Tha_*?#hW&y)Mc_ND|?8V9*pfVHYgB8Lr zKY<4bdH7pFM|tgVNM?W@_s)Dc4R*9f_m6JZ7m(xKK%%hI)o*~7L80FY*L|Yf^$)n! z13Lb_^&6iyHE2f*{9ic z(pmeWv-Zo24t+=^1*yUqMPB=ZM(H5!r#FaIK%cjPVhvW)af-aw=ynxQW%$p)U<+FC zQDSNf>Zg{d+JgGDC8GO4qlut4leEYSMpIUXmwt>4498u6ya;Asd@XR?^@l+S10!f> z=MRw(2F76H+uhAq?(r}xy9%@%;BOHEjRiK}xW~iT>3YZdI4F;l==Zwb0d4#Z2d%;W zU-~5LKWMf5|I!cPFZMNq@`UyG67a4k3z3(g*v*S{g|=5Ga^dkY>|`I7-& z^t8hOR59^b+JZNQu{ZjPFffC5g@KkpJ_vv;Yy$6#D&+tLbK!r`6`7!Iny*2pL0@7A zT@Cl3l=sCQEl^ztUDW-MnG3Kxf+00HrX41h7<%?A|p!_Km`hD zp(Mm%Aba{)A@RZAIssfHL$C1zm8FL{ntvPcH(dlB{Pryxv{qdLH0S|d81+gYWDj_0 z38c{JSRrT;Sq2+unFc@D(Q`qDfnv{91hV8fT;zqd zF)PFCE|6fM2q_3FA$w(7_2^w1NF8vYqV*h(k)8c<=EO@;Y zcp1xqWYBOjXi1Xw@eE$i?57~p#5{DZ~m9Q$ol`k z^iCM4talL6v z1vJvw>v|<14BDvY*aWegzXfy&0LYAI3@@ueJ?m1Q63*kUe?BBLFuqo|Gz|fr!wV94 z0TK{9?)v9JG6SQfDR^5d$Z!n2vI+Qt^%?C2NCV9;b81#u@4A?^qfJB z*az14kQ%YS7+!)_f&VY%2oHX74YYK$^iO#33pVfn|2t#-w)av+ODi9nVl=VL>Fd*zjIq2Lv z(4~XiAU_K*zH9~;KwltZ-JRN?0tS>V!@x7XrC&NrFT5zNU}ES7=>dneIOFRe%Tk^a z;pWr-ElXueWI?l8Pe2vJYoX>^5zrmrr81z#*Aq~k(e3&q40PS0O!EoREYRVXBA^k_ z7cUM?ftm?+hbiNW1A3s*8!obS$hS%TLx5wcGe!SzF(r*>v|+0_{DF1kejT(mq=RH?tv7I zCmCOYCPhF-b;cfet?~K?k_?y6y?+bv+UALVG>bKy^@caG&voye_Csc_QG&N>!AhfRd-sp@7&u zowY}-@0Z=`bv+R9zw`*$m_n#ArRvSK2bfF6!~d5a0RH__ zKMz8kr{=!-tw8`ZUcvK16oB=gcL4!odb%jp1uR@sdfpFvh4xrOy zo^;l}fwWP(HO zkC%Xl(QDXVv}mz1yp(5QVCZ&z65Jgt(&_ra`hJNn;tWR6D8C%2SPOn}E*sLq#}#bgg^w~X^ff^%LwP`j91o~n0QlSssK6Ica{+0VzV;7v{zn3AjSo0-K~s?5OO(6WtdEz7f+mjwUL30fon#?n zeVo5lm5G5N3^uP2$<|4U%Ni#CM*w~Pq=kb##{49)y4HK6t$8^~W7pf0ZO zpTK|@Uyb38*Z>|=`2uQ4n}NGyFaDQ`yoi1dYMt=6n1WU;)hd*T{x4PdZ}uW=8#JBp zw>Cgl3^%7f;3(nwZM;C_6}$!;zNcEXia683aI+)KHU6(WjE-oy;9cQ zprJ48<0U*9JfPD)ugbA9yk-S&Jq4Xw6p$g3!oc_>Lp|6fZ&&0@8zeNX~wU4jDt zh2@t2|2u2%z~a^T8~EH?q@}Q+B-T3j@BjanwRcLPO9E3s7JfU-#NPtC8w1?Hu~X)-ADQ7VW!J~#}#P8zh@8@0#+m#2jhoSiaOY;c@(C`q4WvoC6a~4wsXdwSda4@JOdy)6+|NqzF`z-E) zZh3vc$-uzS?f0Ympehrn#~aI2!rXjj|u$ueNehJ9-Jm#fP`HxgWC$-u6N=MRD(^cByGCKTmQ*k9COQ{MbW1Uv@|iU#BV zpbjE*U>`P40_wQF_^}ie8E;^f%0KoO`YNmpFF{u{hhC{ z8<4n+0;t&F0o@VAY<;}+2`KGD27kKmm4J2#gJoI|lzs{Oe?2-5T;74lRNr3&O(VUD zM{j28fTzQGKtm0nRCfh5zQF-oiTVY+fbR)-0pE+x*gr2M!a>zHZ1?{L!PnlPbOfpc zK@}yquX^Q$`wMU@@H3<(yhHG{T6gK2UY4z(UU5J$v>S7x)Axt59Uk9;oU>kj?WDbncBe2B;TSkc!`nZ|C{7oDIr{iV#EwLF%xprb|kTR9Cy6|Dwi|9fP(R=94IvId}CR>T3Vv}wj*Y?iTco9VNnH2wZqPY21uPjHpy{~JQLGHXFBZtLF}U@zY;U$;h%CMT zTDP0s_}golfd8d8AV)Yi$bsX=t(#^0an~E56QDtNm?np5cYc2IBRf9a3ot{hL; zL2ZW*|IPo4&H%SgM7nQ)8+nddF2VoJU$BC*BdC=J-fJ!@1TwElk(HtOw@V3Y^KZw} zV(?f#FDR{nn+~9z+TFfyT2GdVb-RA)7HE6~nviHd#ndU#e1ONZ^ew{frwF^JK%aL6qbr~U2Reofmc<@ve4w}X%IDS1zE}Q(4uJ%<96<{`ZiCl< z|LBbU^5Ow#!uJPkoot@a%ctNj*q;DUjAroM=V9CjDi6ZIr3Fa;i=}ShagE<4e4ze$ zxlq`PNAj!;;3FffKl8VOjsZ9R53RUj|9~na@UFWn|4X#M`m?myK$pPXE)fWZ1kg5V zPyhx0zXq08w_#%dP4@l>{$Kj##j>+(u(hfp3}KMcstv3jQWX3Et>(KD@L~?A%LO_r zMj1<;)LY`l1X_K=R=W2k=rB!?yX%Ese2`;hcp3a3b?DFoyiNmL{~hU!J<%C^r!)2f zxL|q!-gI^bTsz+AjJ?ts`^Pd?fWM^$JZ~Vv-wH~1ma!6$69xa53cPr#0Iu+oJ7Wd@ zi@HGWmIO8Y50~=%7u^BpL&}yCsepitB+%fekSHigF{CmuzL+fq%H#r;u@WWGAP<8& z7ySyX44_r!CBC3UI#2Rt7HEYm$T1=%GeEHhYH()36oEUGb&@Y#Sr`}^YdT$p5;u+f^i>)Ai4bK+rtz2hetl$)NT%Xz#k@ z%k9hz3<03#)&a?|7kgyDs~fv*L0ZGISpQ%DU-}1pYjhUV|Lfg9tUs5sbbo)XX#KlH z9&~h;RJR*X7E7e{!BS33f1c7O)(1=2K@2A2|JI*Nbu(Bv7#Loh6=r1!co8j$STOA` z$;J=~_xTISmqwt)yKyX8|ARq8Z!dO3wqGEYiM*41$q!QEdZW{o=e1$h|1fX@UEc@_ zA*AIb-z8r@2iLEEx?`^dgGOLM9_juN9QK0e%>Vzb|4YQIzn2I>wsoA8U}K034uA3K z^#A|Hw_CrJ$alN3WO$V^Gj_V}04)FkEhO(O-P2in;J+wn3kPUu5L5`RI}08QfiAM) zmwE~6R(013fW|ODgD{|KvHLirVZ{*uY0SMiG8a@(g95)FG+W@!$_`#sBq{YmK!%mU z`gbXl@i$1h1UiH5MTrRL&@b>nz9Pt-k)Sbp@X2aipaMq}yaCKI_6{gh-}!&t61K|x zx@GJQkk}27*cA}#3W#+9#JT{A&J+JjkAOx#ub+gMS0W6c@w?#vr6)2H!WbA|c)f=> z6*79HB=r)MTtIChP_=U5f9ahU8Yn7MrCt_-E2akly{>1VD{a1jnvUR-`3K0lQ^%3b zG?02}&&a?4+Iz|dx-J{EbSnJCNk4FOGJ$r*J}EJ^j6G8#1396u)W-UEiN!w9jyOcrOg*^jEtGnl z51rI05MyJA%;4Z)U;u5cPkwPmfRzDsc}nB+$)LN88;^%`GBAX{*eU?Z7tUg!86aCR zQ0c-Gj5GYYjzPkYzvU`)w@16wi=C3J3@?xW{r~?(CdjM|@GMgti234;D9G4nqF`fR zF8urdKRl#@q+TCIYEyTA?B;7dS;C&h_(J09|NpS1t?g&gmbPXI?D)aK!}vn}5;Fs6 z+wTW($qZ^8cGvQNP6+rA5DW^}ZdZ;@`TqqxFW%{bP8bDMM4p4MI4{Wt<(Z5FObiUcpqU6!&<<*F$*K-sf%r!R)IX4uU}b=;!77OW zC4>K9(f1Od1KmK=lc25EZy<*igY|+(r&vW_OaiIU`0n}ybUH_g>~VHb5_m1TA2j(2 zJ_+KP$ct_XRtD?upiBrlvkKq^S6Y9u8DflBLIp9{#H-WLPirO2FCCg*4`kY zQo;RF_GBCaboiUK10+yGC$aC#yV`PD>OU;k~OE5ts*!QzAaxlEk21j-H zi#J|i^ zUdv}Z0ZT3bOY*n2GB7ag7l0@LUBw4lELgk0%ExR$_apMRP6cfu z1DU)~?1iNmE5l1rqXS--^@)XpwY~&hCJH*3_(ciS$C;pGKT7!bgAVGqbp22g*?gSo zb%>?wn-cZ?pgv(|DNnaEPxAo@&|q3vz>5fVXcDjkrIs~fuk$TkpOo++d-wG@t52Ty#eqcLo1bIt%U?6BC*bh*-3R>~=qqFwU3!Q4vfLp1lWvxhw06d`1iG#;3 zz~h2HUhD@?j#z)^ZvmYP3-a(q@t2?hBT#ROMl)z|jgJ>J!2mA7 zJ8K1Ad@chol?D&=+!uebKm;^&Dgat=EC3lgeI42D`UiA*K>>IcS0)uUiwmlzzuy4O z-^hX&2!M?I^TO^S)IKGUW4?&L77YMRalhFI6$ZEEeu}>^7XdlrPrwV#YS50B9|13< zs{a3njAg?%6#Nf^7O_I%-IXj^j4xV18~V?;{xAIy->k;aoW{Zs2iarr@&c?0oW-(3 zfs=>v#ildN4BZDiT|YD{Ff=EyFn|i67oBIB86X;9%DT@mGj#fX0L%7(&X7q%C{fwr z0WvA$3^PNo?~NCWK*s}o>n#1#4X!DBK~1U)-5~M`sO<%+;yJ+k%07UnW}m$HE6Wa< z&;w7tvGKeF?Y`=Ez0vD?q0{xsi!Q;Wg`vMI!7Bpa@Xo z33$OS3_h*-Ht5iA{+7$&87m$J=uJYU0#P~ql?n?!l?HKr5IvE)lzTcL< z-S`+3z~J!y-7O0a*W-}j&SLm)_Wv??X%eV~U&Qm@?8Qw1P>TH!(0CqH+lE7wfKK+~ zZ*2jMr@MaW^?efv9&!yZzTN5i;=d?pBMC%BB}fHZhRSg+#$MkW0WY542Q6ddVJh`% zIZ!Iw&6dG%oQp94l+4cF|Np<`Kq=>OSAhmj28P##|4U(EcidF~6kIQkOM?;?C*1z1k{01;UE{D=6Rtc z0Kdw%#1@p2KJ!79n1fVY;(6^D{@?6{HwP;Nh+hwiGadoZFb9a+!Snh(h@Q&xS_(v8 z;dw1&{2#J7(v1glKAIoTiv|3kMP`P{fOBJ^7DizVXFYr!v; z@MdX8rCDDr<#KRve$AT26wQ1%95mDu9v&X>!Vq+(CFndyaMi@j`&t$>10@fdGyw&W z705*(X>favgZITDK5$9!4OAlUNPx_uqpfi3Mmi#wWgBd<^9z31s2aHZR^WY6&WB~p z7<7MliCAMT#~oG%h7#V!T8<-}44_M#4!mXtpJ;%5jY798hbritzUCji<(dCgT32jm zX54Y1je+rX>W(EKDsD#whzj4~0iptSh=3^19Zy;r7+*W>*Z`uecXWU#lN}KtN_U3_ zh*I0}qlJO-wfv4FAWCA#6c8o2BLhTnWz1(}V0cl?!pZPZn4AjfgaB_EIje zqHb4?QdaP~ld#}`@Qg2Q42&-lIYBu}B#XD#Bo4*I(hc#^acBoA1cJ`V1Wk#6=CWP? z@o#6#QUVQZlyGG6f@p+uN}$eBX-9HS_l>k}_OwpdKUrL0S4n_2ik0zz-B!Yyr5*7a zH2l=*`X>y0ZgGY{I|Jj30~~A&jIlqOj|lXd#NoEFbV7V|9O{OxZdUW4W)4F*hni&|IPy7$t2V%6I zEU^ymzS!-{(IsgmRVvYPyF{QXlF=#(d{CH^Q_JnrXT~RAvq+zmKGAxzguD3|2dD#A zdge8Aw;Ky6K#`MYASfnVzm=3gf*?0Id^hO+yXI6LhTyQ{u75z0{T~{a-9Nyg#!^?R z&>8#ZxGN8+I&1x3CIn6iE_MG(IsBnb@&BcNK)2{{Waxkbu$~<>s?Njwqt~PkbR(k( zDBa8fhZb_{u-labd~c82f0fqNyOH9IF*9cEVrDGd#mrc-ieZ{Wcp|%h_m+MzKJa;239Iyh<{STw zzgZtE70B=a>GNU(%?=#qd0n&%G(XW<`o{QV8vizy;xztkHN}i+2On^xaUbX3e!%#D zn)Q!TvDTBNtd_oSN_jySvG~5(1v2EdB>(mU0YMoSAOnB0f*rEUq?3Ws_@o=?K(_U* zCrgZjz=x~9xWx*p??8SlRp8&|%pAbK&6x>AFb42%V-CoW0hzHCYzFk)lNBHxptT{s zf1o>gwjKmc$sr%97Z?~E*6S(}0BWdbG5s%<01X(6bjJS4lFVZ4jQ#PVG8xnuEAg|8 zmEms%o!8J^DgZ7ZtUs4Bb$c(LIYfsQl%)Q2b2J|jX#Ocu zrVqNcD}#fVf#F4*BdBr%&2Wo?4yFJN<0JMHKu$oEVdxG05%j-+B`}Ne#lCn@&j&Jh zWy1KG^>yt3(jOTaAX|>HfWqYU#%@;y@EIwfWgeic`j_>!MR)0+@NSFFT8VDHPL6Ii z>mS8T-Nys|m$CdWm3gu705bz<7TPYJzq#Q5|Nr~)!NX7{jBIQ#lsQ-#UdF;&^57l8 z#s|82jw;;eVYK$;C=qgK{$Ww{E<*)0IJ)5<3&U&nZkD4e_j$l47$HVxnrnHO!Ml7) zO}l+L8Y~%0bsH)f8B5i}x=RI`)fl=wnOaVkh&BBD589J$!nl$B#R_&-hU09YY-@ZV zE*9l>bntQ>@BzJ9%-~@!ju(2eOprVBI6!_r!T!1qa;q!kP|O0B7p0&HDp2_aR&b8} zbu3tc2uMKz=y<^wpfP*!E(WlQE9|eWyL}~^6+ydOdqa7G0*|}$fM)-?9ayp${uc=R zFF;)wEArxg0w{7o_CI2O@sbTvv4gs@pq2}CX;AmEIMmt8z+lihLRl=)$6fz`JZt@% zzv%*KOF?%j$A7boW>C{G{4WbbK*j?n2F8pxps2ph#KzEk{7>@{0p`yj^`PEmH=FkF z?(-L4GJo!L<$>JO85WSy0@5yl(0&G_eGU^SJ@POg(EibUM1=W+_3xqt?ArH$l;1S!Axp82!&@gk<~<6!|Atsslm|AD)64oIgl$el+-KyztvpgqFiYvYj;#T$*_ zFwlhUkARFd3QUYyjKLXqRGAn%V*kUYM&5wuML?6ckP~{W4}-RGm@tNLyf*(|3Yzi# zU&;~if^j|@1L&?<$W<~XjFB9#CH|K_08O59WHAN&4+I^}CJ>Ne!WhHx!k?9u;pJV> zP!Z(r$e+JiK$pmac47SJ<_HS-A7}&G2m1uPq{DiCdD`-nsK!zS@9`)337KVU* zCS9O?X+eyjko*D4**v|WFF<-7KzcVo^=5Lsc*p|Ls}IuK2htn%LK;Qe6Oc9+kT%eU zXpkcdIbN)SY6I`242NiY!hmes2aq-o>%%3%AT5;~FUp}>j6gQ2K(uT`(Q*f*#Rs&> z7Nn(_;!2v1!)B75kABSKHD-L zeEcM+Oa+}h2|j-E1&H+oL_7d3W%&_jeK;C+eo&X|f6xMNMA{4lmoebgs*S%vV{m2S zJH(hkm%EuTZsF?w@Pd<>l>t1e9^UKB5|G8v>B<9L6#%-_h#z|5=7$Uu#@$@6)4C3` zF!h#$?#|&j#%|ET<`(usYd5&q1&*52O$Jh+B7>~IzGQ8l71=TmD{4ZK# zU?s~XuGf;_OLqSJH+ZoRwq_UHCcDb@qJ#-F3X8ZN3A6A)>svIx5dd|A4s^%zKq`9B zh_~wp$gJ+4fGj5ClYyY#c$QceW2f(*PVN^xF<>_dz4#ana}z7~%LY(F^5tp%$yS!# z?fR#|!k{#ne_H^flauwS(#VDiCbrUG{%rxw&4<{mPnCKwA8e@jXISdcQ1PFk)T+Bw zpx5yaC=A&kLDUrRaH(Id9uy9DXr{+5gLw7Alr|X{`Cm!-JT3eLxG#}uwwRp_KSoG;N zKj^Yc@M5k z4GhRA2aPUDfttf0-z-QSy!h%`Q9kYixj0n%q}0I_ue$c#^~nY%q$ z0=thLe8CwImQevR9{N6DG#HyQ3-GJA)dxxYo78j z7JYop*6qa7?Zwep%fZmVz);F>3sPFjk;S*;#SRlQy~_9`pwGFd_*K3^H3=s@G)IKz$bEoE}^^)K1uh-i|T#g zO%T69r{tS3F5rKW_@9O0r8;P=rT z!zIievD_B1|3D`y{AaX?kpvfkq+aMjXpe59$ z;-CWW5vZzl`O3l&5ccBYFHivSfO>`{YAv@*xh-P3OW|sNWLyWSm4K*S3Q^lo`=0@H zeOwi&-2D3mY)ltK%J{$WZP*fvFQ8f0FaNK>XJcXK8uKu0W_(%lA9;O4U?6mP!=KLB z9}u6Ea#+fO?%6Gk0u^qcp^q0S(3s%}&oE&W6nL!!zTqN^1vD7;=f!Idc2E^A@?vH< zNF7LxoWP64e_0qn1>TR0nl1*$7mt2|asg*FP5-5wm)=S%Xt9eAvdmt^#Yas>5;{t3!r3Jl2N%VK;{9}X(@O8mP^|A1Dj zm3Ug#v6Q%U*7AT(zGTi~i2yaGL8a!4;H}`&>63K>flj$j`QUKSN?`Dbw4xFMpmP;PtPhu%TgsR6Wq|JE`7gRa7<5sS zh-IuuiGrnEsnCCO=u)~)HtWNs`#WPrx?MrJ9khDCo6Y)g$%g>Qlt-uB>!*myx%mxf zo`(Z8E%WC^o+1Y*;dq8aYSJ$OS%UvdIgY#j05#VCgB=1oHQ|M0C}{nQ38Spw3*X-? z4F5~N?6}j#zzDf-_0CREi{=mb$a8SV0%X{}6QD*ODDB#@gV)aUff^sWf?+S*f3q;W zu7QMaSQuzW$LyVq4B!^}3%l>&193ptnPz~tbiJ7Qk%b}Ph5C0^=+)1%5CzRgc=mzT zL|9gEl<@s8;0Sxc0+EP}w5;F(3Gsxz`1lQCSfpiz07yt6?8Uurpghp+`X|o%czg*v zG=NaYa*zV(#|vKtZ~*0iyab8Q|Dr13OPNb~UucIwLM2x4wH9=>=$C*jw*R12b$=is zr~pwb^x}UoL~W+v3+`Vm46mb_YyYr-ZngZfL!=uPl9P5YGQ4&GO`ZJ-$YKG_*zNlP z3&!*E9H47m!NFK381{kzWQs7@6wuXTkdO@A!N?G2S^Fa%)NA_jUsOhbff2QB_P!lKbv`#@s zM`vfh|Gqr#t=~!?w|*<-@bvWGQN_UCV0Nudh9(Y zN<+TFqSWgvxEKbFUm~YckFfA8k6zauSquR$^fxjyfDTOO==9yu?ZMLNd!XBcqto|D zw+BzB?}=^?fll8u-5xr}UH5=`fxQJHy|tioMtchsdTZ}2T?#rnrBq?*|5BMw-xu8; z2LDSXI(^@Cdw}mX^8L{5Ve!9IpwstDw}(x)g9CWi#UIeRpHAN&FRs^t7B9dWBy!>} ze1EV&cg7+wqr?|L+RD zSh_=qfwB8W>+RCB&|TmrjIom4A6`89&cg7T3p88lE6~Yk{0(}$Rg545BWPX`xn&mG z{iYdpzZgd_XlrG+E$Bix&~~xX1D&NOI!n)h&xpJNKKlT2YUB~?f2CTWy;oT*&?eZl zPpk~xH>~f076Y0vc1XX7{>}nDO04z(XlWBvodsxRCP*DeaE1wEpEPL2>5+gerYz>H z|5^OuAeArju7MU7THga56=uRXL;CfmFi=9xV)`$-1?24?*8fWRUpx)~*$6UavGi-L zFwnTfk^iCs;B#(Ek7R+)xo!a$-=!iiw!_tKlzwsW8w&&IYJokVqo<8;TmLKJ%wh_M zZRI=CZ3^kbfSsc89<-$G!2fIAzJEX`gMn6-zgq_y#zL;=x?MRyQLV3+i%EoLC<#m3pBTz{-#TT71;~0W^AXUm7%sRr8evbd??I z$V>AZ3-H)tc(CzF;{$=96J4^HR>y<3N`bluzCVt;f)^$I7u^8ytj_ZH;kfG=eFg@G7Y#d+70bxH zd0vWSd z!MnOY@PIbYg5x;8^*|~AizmJ?118J7RswB9DwP2bp+eRnyx5rpl83BEGhtjI^WxNJ z76yy_jHCBEpBhmcFC<~Kaut`cG4#^0b>5L^iS z=`?^O=uX!!*2hZ4Uxb4k^8?g^yeab{@iPmyLme=KsYU|BJ!R&M*H( zp}A7%g(6(nbD5W*!5?sVy?6y0aRu!G&f5)IV-*ZC_O;9lb&&f@Irv*Z`|Cmbe0lzh z)rkABG6*7Qs{+y;JI_~fw6zU8KE6!1-NC*FZ(*PJC+AjXnII= zhe~vESr%}Vnq@?EGcbZ~2C`HGweCt)|Cg#j0vEJqz4Qwx5k!KPo`BqH4RWQXEa<={ z1@PuU5%A&^kfPuhkN<+^2bU;+0>WQ7#DNU6zE`4} z0gkB*6UG+V7j++57%ahCZAy9J;*(@w2Ze#!CZIeY2F?@V|3x9$fxi{BG5&>+H!DL1 zH~2^s6UL>oFU&r&FocDL!(&<1Qxc#xlvlLhSb7D%#qQvyyFZy*&HDA7oPR;iZogn=hFU^)B8 zi_M}O3~}9uG0G_s@DV!Tmire@76yhFkHjIRWvSGE(HLRS>Tl33hoD)PeIo1(3@^Jt z$L@oU4uza{bEEZkNoX*LU&`@fmN=-%TjC0eUQjm9Skny}{wN0vm-6<4_SgJ@b`e0~ z&(Q750}3?Ic*2K(j1^$jo)FbsFza9Qcb9$$@2(Zd;*I>g)c9LGv^4|jzD0w_^^u#P z&2KEiK$SMgdQcZa6g0F7+U;Dp$SN#JXqn{SD?nJ2-tq2D)&%jOD*s7Q>4eS5O*lyRT3u*9zbZ8%iNF^PrV%0U2*Vb{~5Q@}>aj zh(DAeK(N1&t!jP)8ay)o-%!iJ0N(AoL&6PoJThqTqSN(DX=zhb(@Y_Ia+?(>a$$2+kTWBYr$#}G11ea+lbWFZeT`@q!;AI*{{IKh zm&t(|4jM|Y1z#A#guv|=U8NU~Ut?)R1_pNf^4w(%yCd5m%fNX5!M7tWRR*B75}*VL z%CeBXRU9vTQH=9YdNBoJ9H=`8QWyB*7N~s$n$pO`47ihIWa~%sqi54jT z2|og*)`ibm8IH54fa3PW)aRgt3`wD&>B~#XtPE&NIGW$6Ku$jfH-W$h9{=bBwM}1i zx<0W!QNjc|%1;2s5P>lyUDN26&Y?)BiG#|7AQ` zpew;{yMP-8yf4CCApP{s%Akd@PvEzK83ce8NI>Q$GE5kED1&a}v46$F@Nx@y4dNe$ zQhCr=VyPsg9|v;9KCmKlkRs4-kNu!?LtAf`fDcm!)mWhB+Qp@yq|jN)(F!_#6ciQ5 zltJPaFIgC@znAdC8u=$dqOTpg!M<<+t*{3z1P3);`Y}v6uM86Z_5y4I=rBkDkhzz@ zqQ_sdFuVp|PtxtmV|>Z_P>D#l?-%P+C9IvHUtY6y`~K++{nN?O?J8h>s04I;UnfUr z=!b4s5eWAOi2I}4RRY3&1LD5vc9nr}Ux2tTpyQySu&rjs|B?4bLtEk~JEx&Xvs^>o zSB=;?%>f?7MsAyf4r~Yu@3zho+ZWS=detOoZAFRL4hBQch5%3;n5lNUioDqTf`#FA zB`7hw-3KM+D^FM%_Jfjg_=}TIK!ZY^r6QKaEM;L~8L6Q1Kmn|3-4j-Z@E0qdurhQz zgDycdz7*8U@}Zlf+kqu4Fd!)C1xFQlI-&JIiFiQ9Qc%%V`+$X^xmJV$bj~VAr>lsY zbumlPD%j8*vL8U_VPr&rM(j7=15Jj^0F^5?Pe6+rz&jRs%2c~u1^%0C2+N2BspwJ0(GO?mo~DY5^>K47Sv=j-^bs+l}MD z$&T=hYLKEYcR|hvJFFI>#@)J(rRa9I8&B(j63Kv!8jz}UU{y={85m!LgH`c#y9sok zXnx61BJEis=vl(P6I5fo7T%fD&%pSaXQv5>V%^Em&%hWEm{AKdqYGq4@C)(BtPI_5 z0?kJRJW5hL_*)-=c2d=Y6l8)Fy!ieIBrg&P9@d3yJ~NbOg^n@af=V_Y;0VZK$Y@|@ zV8~*4AqU!q{h{?6e+y_~KPb1{ReO>6j0LirySq%J`5#Yt(tnk$6Yqnrr|M&1d>y%C z35W{XQ30a7cZ7f_mmL})%67+(UhoZ82SAkmjwv8YV@C#vQrzJHqNH|+fGFV|cX~kH z-LVBkL2Bl(fQ&kjZ)V>CPaSDI0tY;31wRWMpZm;=!S|UNqwX^^Cf;X8y6_6rw>7>Ey7m^-0_%+Z z0@;3Q8Oy=n0xHfx2VS;-u4RFgQlNV4g)eBj4SMjj3F9BNmuJAk2;eJqKy#R&Rl*;f zUnhW?nxI)2P@@;rA^m?{vGfn9WCT@{KmK0_)mETl87YYx-;Q*Q{0QJd(LH(Q;$2dU^9qZ4f9md~4{d{Pd1Mb~}&t(Ab z)&-x-a2+~s#=!uJUru$<<=G~TV(Ori>`WLX)n61oVPSZ^3#k?awOG5^n}0BsRjptw zE$c34x%k4P`vPbU9ZOhgTKBQw-Uz0&ZulWShcEt!wmwwqi)iuXJOEXcr93ar-vSjo zu@6`o!XWLvpa&q|Ahq|*|CdACdo41cLIC92*h4%F;gEsn7tOFe+)qHxf35Z65U9;^ z6X9I`ZN41MKOMlgsqy#MF)}dlx8#A2xBY3z->v{!x31Fr`Y|)(juX=u7+>-;F)-}d z0AhiLWp^wAv3@f$FzlEDVtoX$YCx>#AXWm11zPv9BLu{{3=(qyu|OxD@6Z6T_JhPk zKrGN{=Q}t+tkoc~4^tT!UoHf(E`V6mL987hRxgOP0K{qru{uC3(8}^11t3;FNGt@z zN(HeTK&)sG%K*d*1hF(gEO!u#1H`fgv7Ss}V0>u|VjTgoG(oH-AeKCc)dOOQf>;$G z7B`3$0%9?OSSBDA=%()-A|TdV1_p*5UnVm!f^YrYaRI~v9q_$l2Z(hZBs&AdItpSn zfLOahtPBtfbZl1h!G`9a4*cz)gTMK=b#gytX8fRq8qk%+J0w6X(0OV* zK1^a@d|k8S1c)l#u>eHn?Wh1z={o{IRKgAo5EZ$D0YnAuxG|A|@wNAk6ClcE#|98( zyJH53GTYGrqV#uUfGCX}0U%0ohXsg|+MxiVgm-X&D4rc3Af^6|36Pufy8oYf$jtcQ zAv5Evhs=y$9x^ljd&tbl@rapG=n*rc%p+z-wMWd129KB-tsXHmx;$cL^n1k281aai zG3gOAW6mRH#W?b=znQ_x2X2v~_m>G{fVrIPXh?()$BWA`YkC++X zJz{43@rap`=`k}S&tqmrvB%7e3Xho?uRUaDeEOJt-0+B*aSF&?kC_=G9y2p0J!WRi ze9X*P@R*sg{4q0Q-D76P*2m0@J&&0gCqHIpT=5SnfuMREbe|)1ZChul%!?DCesHKnx35U|&E{YKOQd^c1VPg> zU7Rf^%lI08GMBM7{A2^&J@<#9^&5ZNDbR4NE64X(j_@pjILlI*a^`N(aacUvhyRyy zXuApoWH3x;V0>}>HmE2P08RLmsWt!SDCN!oon-W4{cTo;Nd9ds@&OrNrZF(Sn17p< z!96n4`d`s4@Pw#W2B^l);)t+5CVim$T=q$32knE+2aEzTo`94WfQ{t=8!Hbs=EcqH zEDZen4g_S}0V(i@oA;3Uo@S{`DI54M2vNwsY(tRtS{a5&{&u_n|NmpO0YOWe1;Rm_ zazV8TXb^@6JVC8k`$y3(3v~A_t0lP6&i|s(0yZxmq4U}oG-~0%0U7#sa6lgVZjfRt z;)SnOiqm;5&wL;t%c0X%0J^w_t@Qx>$TbtjRGsc0FKq6yFuWG}Un3@yA{NaDaw}OF6RSKwH*lK!!wxUK}lHo9}8%A zI*TB)E06ZiZa>geon4n;%cT;PE(xn!C7g~RPU+XzqM%z`vKYbxvKWG2)TgpCH2(k% zm%9GxcKy@E&~l)3UGp)XW;=$``SH=sb_{VP?9eN-x?O*uIt<(cY&}`R(fITK|Nr%6 ztl)*Ltp{oxKquiD-wx~k*m|-=tvgg8eE+}y|Le7XYG3H(F>gIt!rR3ITGqk+$et1w>(2#Pj? z+uRtNkB9_7X5`ty`len7b&UG2voe4NsYF19NYiytAtLg>jO9hht^fZ)fpv_d`S_3S zd#{y2mY2FiEIxJ-WO2xK#9)HQbykMR@2sF{X$A!bhEk#C|14#^SuDXBOrWs^mxurV z!ve(O;s5{eb}(`rLDn3Cx>PS_GJpm!L1hA{O(Q;Tbd385mzo zy9VkqLK~Z;y z%>VrFf43{o|B}`>;bAW(e*X9WzblVrEKkv?jFcJRvo~u$|NC!zAZ>A&Ixk}ZOC&11<72F4dRFGCV9xKkGbzB~!(GGGH22F4fLz)DaTEP?b-iDY1W zF%v8a?UaB{5N$nxuD=Yd1XVw%j`IEUA5>3)mYCFvbjx3S4els$gYxIkQ=qfd{xsJL z@RquP?nwe=-WOY}L0&I01szZvz}Us%&~mc$r}iPpBsF4HF%MJshZmc#u`s-JWdse# zeCaLy0!k$k|IIR_L8V>bS@3|ez>9zrplg^qz~(g93NV%MgL;fLAVF5JVDO8-7eU=k@VG1osLZkg?Q7(>U|nomx=_uPzB3?N8&|Zgo4hH@%;npg)>42f55W_Ij2E^4Njw9FMwu( zWFjL$r-Fhiz5fL{{|hoQLZV>{7rQ@zju`-T%|JsO;gGT5|7PJ?0^!}Z6+)mJKK@^C zJy5Fr!bJ}KU_X-OGXgpJ*H0QXh1TO=7!|UY#rC+ibpe;n#53L7E5yQmO zz?vkkurNT*#_|0U7yz>?iy=z@d@Lcz9^MysbRqUEVS0V~f9Zz|22habTmU5|!cznBFwz7@#B$`JPA-+5LB@Nt8n%#+0gmd_H&Vtg^z7L<=l zd0&)6Ejh^aS{>wZ&=@jIA?WCr5{N>H7k*HM=fNHbzs$k_UIzj>5tJW%0D5=m570S$ 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%0DsFSQ1ildOThoq17V=0=_yjop!Ic7 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

^{L#AubU!_cr$M(eNkb}~j9HAHybuFlB!P^v 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 zΝ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 b4S~@R7!85Z5Eu=C(GVC7fzc44O9%h}Vgd)5 diff --git a/ext/bin/tap-windows-ndis6/x64.old/ZeroTierOne_NDIS6_x64.msi b/ext/bin/tap-windows-ndis6/x64.old/ZeroTierOne_NDIS6_x64.msi deleted file mode 100644 index 17fe08c242caeda0fc97be91e86e6a8f7d3d2a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2056704 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�?>LvP)LDJu?D#qbUrhvUjvz! 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�u_nyz(SN+ps@P(o|Le<@d;HmIIJK;ZlII` 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

smyc1*cc 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�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

@uru_+r1-hf7~#^J!Tc#_Bys}Dw8*7s%O5B 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ǂlzAj@I>u~bw}>4>ng`+Y&Dgs*&Y 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%0A8B~uz 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 U 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 z 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

$^;QU-!HC8(#?_XI-dI__3fM z@W#i0#NLfhez(@%4t=@3Y?c2us~x+We^gvL$mh6n`LasAdnqqxS5<60v2u6iv0W9P zoo(Ljl})Y*Gf>Ei`R{pINzHfm3+H)8KmJPd|JuJdtxsNAzW@BqGd)t~!S60#pcXyUUI*tZyy&_B)AZ^KI+3-mhh!#;KQy_SbEE^gH$5|BnCh|9-xb zb9(F6f6vCw|NFQ8z_-q;s{SvN{Lq%ETQN}}=y$}Yf2EaDH-FE5Sm?jrP?jeve&hPu zV~_0rewKRn+%~15*gW>E>ffezmP%g96~A@on&@80K68fS?)#fQDwijIY~q@*eDjO^ z_)kxFy|7=${`a+&-Fhprq*9gLUS%rQY^Pt|n|!D8uB0B@=l&mYXLNQYFMYS?-I@14 zCQGnd{y+a`=jZ*Ozc2duk^91b&H8tL_J6+Kzka@b`M>*5pPzd?@7jOsdi`7TetrBO z{%_Y0=9hs-Y;`$wbr=2aV7pN3)PCV{!Y=U~hP&TQR+Q=Iy^Hoc_~nnltos7HmY*`1 zm2Ys@KUHBa``?UxLQ?r0y8Z%x|M@bURiChod%^eVmu#bU*05i!*^{}`^~-J1#px0s z&h$v6S;+W4)M!hNwfJ>tqnwQG!weSp_vdWp3EDOD?q~h5n_K2AE6-z&<7^*p%k?=~ z+&Z+;PNuaWhs)hg#`lAxu0_;=jasJ~!rA+t7Hnx#=61J}>3*2Oe4NR`tSMPeruX3t z?&E9)_kAqP+V8(C$YDBeVqtZlP+sQa&n>wHTUs7lS(LRrF0zO^Xvo*MSn-F`3#Nl& zOw5gQ^A4PD4#+(|VFF*p?0fG+4g?CcIe)lfeV=uMEsG+H+k2aBsfT=;|C{}tx#EA} zTmD18Z+GyCd3J(NPKVvOK6lyV z*oukvA67>eON1ZebuwSZ%^7<_JaKQrkxJ%6>m8~OX1wMw{N?d)8o@V#=47s^Ch1g*bw|*{rbb=9VaB}mdL74+FP6cztC1H z>BI@U0~epnth79GDSdUuF8xm??>c`)^<6Fe7jnvD*N>Qgzg{k%l&*68&*Oc`FXtV< zoUt?g^55BuPhPJp{rLY(`mOytKFp8#aFdtS$$@ytmC8pg}K-N+n<=Uj2ecs17<#}nT$kkD_?HaJXc}vCk*y-Kj z-s$&$7QR%eN|kV#XZZXQkMa!Z$+Fqsw>`U5@%nByOYQV3wUz$^_L^ADv}la^yg2vF z)!p;s{�x{yp*Y9h={^=Q+3BJ6Kiv_wF-i&)u#Q@}v0`O&^zN+834U#pesTPhY<- zX5v<>u6J^ARgZHRUY`C~6*b|V+`+Bi9~|42wh5Ng;mpR$5-*a|(XU@DsF4%oy{`p?z_xvy3o$h^7|9S2@-hWSa^gW4| zoHOr4ujBjrk3#2m2yVSEcHF}Gq}+?-tlxdBm9Iz3n3t`&8hq@J^7=ZH^%)a#ca}YzxSWH+WPbaeePs=PmlY) zO68)#m-W2Xo2onH$*yd(>HTs);8WgX38P7_OH}_)S^4YRNtL4a2U*TvN)BA}yoAHb zvpLs(Y1unp#i#O4MKgWg8PAxKBcsWE{duyd%(}lNpVKwo2FI=oe!1h(v4}1Aerj&5 z*fej?^PT=v3qEfBT&T5ky8O#_k4yJrB-Ji#wC;Ig+_pvf_)Fm|_j5Tx;(W&^ zUObh!a~{u3uTu})e;Is|w=tTx-ZK4Lx;b$* z&!YRLQzzRrbMz_BxE%ZB$v&C$zKV;p6kaxeOc86DP&VHuYPY=Pe8DGi_rB~Fw7A4R z`FGK$iQ3L82ls8Yk?{CD-|>`v%Y&0o{yd1XeCmDaoXXn+U%&fYddIlrZu+E+r$5Rb zUp^;Q(l!0Iz^dv0POiNZGu!8rq|c+%9?`r?pZgx)X)L){m~1s+io4?}VIKqYzV<7h zjE;K>d;I?W;$_E;^2Hw3J&N&{W;p#Woi(rT8~- zU-HyZA6@>}Kc+v9Z7b4q{yA-7%;|u6sacj`$Jfd%H=5#K`sd`8BK6}ld7gT=6+O+L zdH&B~In@JT+_k zB;{=B`~9v+ThUCv=Ls6^hEw*J)Eo_1m!#ouIAw836^C=Fz}&v00e(pu@`h8oB~Cf> zJXL7>#P7Vbec_(NSBm(Kn_AsDmTNEXE`98`{P*i;I?m6vou6wtKi71AuHpQAp`ZN4@9ViH@m5SMsaH|% zI=OqFY0=e$_nqF=l60qCVP;Z|dZpgc zA9cItB-MnMavj}~@5FNS2Vbhj(I0lT0!M$Wdm+$OIG-`U>*L&H{;rRIi^aP>-gQv# zDvW1m@A@d~Z{78=wm!S-HX^-p8vd^4R*0 ztH|Tue}0NQ-o1Cb#<5zyO`6Bb=NW4p`+na)sOSA5xkVDS|95K~vz0Lm?0H|jev!oe zxA9Jf`<~DCF??rfI6Y}g$5WBVaV&ascYJJnuj;?>d0~GWN7u*NzX4qzZBHw770UN0 ziY$)#xJ;tdmA~sESMfrLQbzTzzwk7}%5qv1i3R)(k-Nu(yS z9@VHmt>Jcec}voj+Aa;Zne+V(PkoCPSu8un*YMO`p02>Yc}pao{#Wb@RKMkFcz~|QV zq%UVH1A2O1IvH-7B7F436h0B(-QD!<)X*!p|flnbAKyeknrx?{eZ-O(R;e|5VG=TFS(Dm>rF(^dGtbF#?e-7nfT zj@1U11@=_8j1P8l-uX3M@xcm~KXL|jisHA#3pjpS=^y6t zKk%N3`Tn8#ikweoAK+Q1TcP&gdtGBb<8GA)=Jk#FjMi!o%0V=@&CNiD|B7|rQB&pvDg53CZZ@2ZYu%B?AYmzS-I$M2 z?YH=&S&Ru!5@OmTSSwhj$X{0oVpL{-yz5xZffEOLH|}eg*qjR{3)d!DBs_U=EF%8E ziGw@b9&$=p-r#%94Kl|?hEbW_oH>Ub#4&4WnArT5QJT?>FRw9M?K97Zsa4BV9~d1t zad2(HSr&sLgLTbMnBDmDdb8CUCN|$@ILFW0J2LUVctq*uJD6?;8 zpTi(wxq~^uGT}*r`hkTF%?ftw)^;!|vzH&TVshhq*Hg;UBXfuMHHU=d4c6Bj65sh= z^_8;pynp%qfEANl-n-7y9`gqe>$ulNxF0xiIS)+k-O$%CarxbiAo6#DETgjd_oE=i z-&po=8x$4WuhCC<^6Xzk{DB?Q+r+O4e$ZGk-TZ;affJXNKr)%~Ao3;S4n8)C%3ItW7{-a>I!wl0I+~$cr zj*>{woN`wFgYJP7ml+$387IHjV6fwqsI=m^euzQY-d2)@9B@I4( z@sK%RTxiQ_A$Hv0!NY>}1u};lE}BU<|Lsn7h&%f4sKtrZH}*GNEbBdBYJcFw{l|s> znB4yL9kH}N-eAu6Y0ASntUWPylCN1McGhrxQ%-pDY2}UnhC=<7nK$|yCSG5jY|rEt z*MF$)h|R?Cjd2YVucs&PWl&y!p4EocAnVO%hJLo5s1&9L3I|qnsy+Ipmhj{^YlAI= z@_qG(yFi?jH|_^ceAl$dV^qGc?-IwYwEWlR&%TBK*WHxS zw|sanvZ4LpPrruMX^!_9%h+Sgx@VWmHFPsBuDils@J}a?uZr;;gHGcQr30CpcT~3g zezk_#M(SKU(}NWgq^DI54?z{l>^UH!e6mbxJSHZA#H!c7tQXcOAcLGnmTe zy545ra9QV;UBlb-i{BV?Y`e4PA8RO-t>C!EYB2v=s?md07Vq}mP)sfS64%iEI3u3n zT>s+lOmn2&-?LgM_ubCVhCkOr;x*F^=jrwwi}XzDjSukcs$sbO>Jy{Rg{RHWUrH3P$H;OQ z%YSZc43P8w%ormCA_Pu9y)0p{Zt>)AEOSHd+06->ml6e}Dy?|Bs?Cn}HfH!U@wHf+vmGs%&c__Nj>$&IP$1Fh=(~pJT04F| zRcZgl{+(%$_qn^-A`hN6T-?{mGKaw;#DBW`ZJ|=xE0x~@tl3g^PDS1EmpIUv-`tr^43&*vXGVA zYieO{^=Ze>-rtKK#}q#)EaRLwU*Wb~u(ZHe;VZ%Cf~%!}GyE2O%5;kTjyvyfwy#cC z__qh$=18?T_38H&^#&`gSF5sD>}O-wza_|(b$U^agJt7yp+)yfn{G{6@qWR*;?7&{ z8pi|YJ^t73{Nl%9!%mr|m`iQPd%d5yJUPZ@b56a*jO&(`;gv9_pM6FDB){@btX=Y; zMrLb#;C3fj?a9BoFVs0&r-^-)RCHf_=U~@@nqz-uE^c%D&1bnsu79%VGn+h{g>PIW zqa5G*UFi?--{t$)FN1xdtx5Z@c?ES!@3%fKG~!LSE{ar_Q!m%4n4{P5`-IYd^GAg? z7y6GEu4V3@{XfpeukXt9!aJ9{kDsju~&*t1Wr)ZI%doBAPZ;`V(_rCSBT;+wC z#|ypd<&H-~ZSkU+%a&bES;`w`YZ)mYDW`He7hNdE0rbSHe!x zthrNjuPkpd27y_vVG-Uc&=qvu=3d$PK48AetrHpA>H+&jZv|%fzg=GE zc*QrsedXcDZ^BH!&R6`uFn0UgU&a^rxmjCJ{Pp01n#=71?yszia=Xl4X}$XH@K@&R zm-Z{)8?CHfz3N}#FOplb<*InVevMbFS8RW@Z$`#;^}zZ34+~h+r!S~&`pu_wf6={; zUyuD?dArI=<^D-|wcXiT=2oq&HU=S(`=sH&DvLqx1lK)mQIV9Dn?;BO_RTk)7X`ofp3yt6dw|wrD=f zU)Amv_j%tsZxLP}EN^y8CZqa+-SHR6j{k*Em2I)V!1vSR@9nQE<9XlOZ()8PxL@p6 zQpRM_Kzp@YH!`y4FZ<`W<>*BMfa9{i;iB=@2^w(BEE7(zFe*A3*#uK+QJO`MY2C9{ffBw&)xn2>#M`gyM^DL z7r%18$BOfoo|?@${-)o(i(Vt*#nHk4lo?2()r~dxX<1g-4wq8`*__*+!=DX`XRy(-+FaNgw zu)~!5Q>|2n`JMB!wOOZE>dXGMdGX%TtM=53_YV7yhrZ%g|5vi3uI<<1i{Z_7vrBgI zHSSV))$&5#+5V>6F1@BYt1s8rE~u;eqPS3Bvv-~Tg8kfoe(yri`R<2*!*Mmy3Pgte6^*!SIEo!HGQ%D z;9tK$e|KA{T49~oc<0>`U$eKwUsOAO)N)Ju>rWQDZ}uGj*_!;)iu>2!3;(zOwzs{L zb7b$yi6{Sl+Gzjnrk>r3&VrW}c9$0(-s^Vn%gT(qrLjhL-#?nNcK&|;ZV|Z{#*eq> zRa|;4|8XgEJD-de*Q(l&N521me7ozL+O$1;a%JS%S*qBtW!eOOt~hk_?HAExQHQyyl+K zC@{_GMB@iRC+BR&%i>KuhvEg!IsTAtTH4!C*lNIcD2U^)6vqq+j%bCL<_qfFNh+g=Z>od{%tZS|ERjpJVN8E(yaH7LMNvds;5+k-Q>&sDwjWA*M0mhRi8GN7jcX zEz!PGDZRv$d8qhKY!4@QanhUFBWRB!aSj#C~ zcC=$>>;DtBDp9Qts~>Fs8$H`#)u$<5t5dFcGN1o^nZ;)1DFfADIiBf9bM7Yyv(@zk zTnbeHrA_-JdZz9c3*q-;modaaeGl$On1<9K3eignxaUvK98Ozpq3!!s?Y(M&a1 z(P!5s1%~`US(i;2Gp49sc(YF<)kj!m;#`N84Q{$V61_W5o%VRD9`I?7wtH_#EI0q| zL)W#_g7S3)Cim4pb(*?<;%@o)bN;79RCXG56-`zDe?IEr+f7@e*3OW<{b9bTpN{id zC)G`SQ!K*0QUg!vy_yoxp)IH_`qayHYf#|AkdUVxT}BIxyj(X11uhENV7Vwd^GW%< zpo!~4L^MQG-}EslpJ-n%r58|H8o2C)qVUw|-A1Z?4ArTpVwhy6EMl2DeR0r~HJ^%t zx`INL7Iv)nC)V zTu7PMwp2qvHS40##;7eZI*R=Nx`=C|%dyEPcoZ7L0?(T5Nm?YH zI%nastx+m1LZO|hY(~s$7d6QmitmoOIKgy&YoOt+5a(;Vc5()Ht?Kd$R5j)d?DkR+ z!g==l0yn`W2J>z^3BrASe&!!#w{w3#Ji^U6n?_4k`z>e_Twa&K!ymFvZKcXwaa z?3lXf&fQxtG;h5);qk_Dt#3eV+w@79Q+p0YzE%Ga{(I`r(>!i$S&M(%(r8>GxaDfQ zMUb6#nAmdd`&`avjWk5eBE(O8J?%Jk1mg@W0gSYiD-xL@QmD^mKmj6@A#>;C^GErU+kED z_`+p@{ZYRirW$M2Jo&19?U(R&9lm4MK3knuo(audEw+@cYiiqTE~FZr}J{8w)9Pb-bTWh-lBr`G)r+2`lA-}!*( zs$HiZsA|>k%UUq;QoiLGrLFOeMio;p={rlCx=Js#=ex6c&7{d$#~np`nD+)AICi0| zujAs@V&la@TN-yZ3e4|ZynxHCFjZ-!qbb#J8EyU zoVe(wx+?4^=f=ZpHy%E`YT@CntKKa+d^qE?eG&I!S@so7fvw*J-wHjP|76A1NOsN1 ztF{zvu61fPoZ^`LV9rlNVEM7|@{=R8G*UHYH=bx9!DI4Z$wWi~X%xWI(gPRim zi)tVKG<6Zvcb%P`@BMnZWL1hnZtc3i#mmx1VtW7HhE+39g{GBlWUx{{^3zUG^!wy_ zS$E|%?(Eo>SYO^Rx#g_`>)Uy&i>3r>m`szHy3hQ8PNV>n2~8S)5&bCn;pt#3vEU6rH_QT4rr2*{_+uj8BjA!*M&mxs4O=?mwYxa4>Fh zkfcgL8>ik!3Fn2UKB-)hycwb@#8Ri7F-cP5hwl2RD^v^u_SDM8914En_ubfOvqP$+UkbVPE_awS<)*7l#x~R5clf#AUJW{c$o2E-Q@403YTFI5j;Iy!E9#7}* z!z)DoKK2TnsO9~3`rGxP77accTs%BSp2%I#e7*hnj+)1pjDim26sG8vSpUB3zQ0(f z*E_%1>7K3k!^3Bw?6;kNr z<{Mu)#gu)sUPL4HfJ$GLNF!I)Oo3M^&(wq>R41=L>>0wfaMjEZ)AJlVmG()Q*fAQU z%c}UvEBi*j;aPiDZ3UBHlIXFX?<;sczh~Xqe}3zX{3me&$!kmk`AmaYqnF>AUVSJf z=xb1~K~v0|$uV2GRxhzoUVBJqrRrppYaJJFIG=kqqqttVck3w^(<>(omj64;w`i4G z-BmB6SRFCfXfiESs(@ou9tx6WSEs?=O)s`*<-)M}-|(ttQ|HBDuCc@D{$ zv!*=Cnbg?9UYDTz?19Atk=zMOoGuy9*`!qds^G0r_7goJH}h~-?$Djnnl7J@%ALZ+wK4RRPl$DZxq#NsfW%bs z=U&ebP4U{fvc=m#D`qMyZ}RDasiC3{nrnS-SehwhbA6H4j+kMxZ`RD3`(^>6X}LcR z{LS1VY%)*&{#~cU#j}!^1abTe`1Ul-GjiKI|8%>{5=}7;yE|6>zxi)Qyuvo-S1)#_ zZrR#$!!Jnq+ip`6^D0Xfg*yutUGi2n*uB(cPiu=qvZiazh3>=?rftPZWtT$jrXS=v zlhDIC=Sq*@X^F5kyAvA4)ef@mI~J~$Y#@Dtx$9Q=>J6fs*=JuA`e1mENBFF=kY}iz z5YyYMEhSab(NgXWg=sTAB1}b!Ln?x5Or6!m%(OBu*_X=uU#Si8EiCYy;;=x;dgbP@ zm#c&H24?T8&Qop0;OlA3p&$P@x7Jl{!{u2_6Cy;(L%nrFAy_l16PN_qVw$vk}Z6HAGU z>+gK%zO>%KRzyTK?CJE?NdbwUcC+5{t?OICBEEJ?-OV>UMe_bUek8ief6l*r-h~`& zu6DEkb5E^Qyral^_KrhNLaV6brB=Y2zRr?&WIg%&I;UKSRj zYaDpBWx=&Dmd#3;drTLbFs3?chOnkTthuSs@AAx2ruGV zny~Y#QVf6SQSlY*99Q;TRroX0qvnY)w^p`P=e;d5!P8z$6TEWlh1-&~0oq!@$0F6A zGVBz2Qt?R3@bQ|fJDl^sO}SZiqG+G|r?-=LuaHtN->OyqsWf`V9dq`BUz$$l{yzR> zo!_s7*(OuBmUeHS7M=9-uljRp4tL=N!P$y&Fa9~@NqM;EN3j0MdKvRlEM7Eut&tUDtC?u= z^_n}Pp~k1Pl&3i#`Ih%F)$puCY>+$m6o*S{RTn3(LevX#d)C53@v+lApi+yMT4Q_Rkacc^{c}+8T5_ ztSW5bn%c>H)4aUn#9y`gMy2q?RUaF<-5P^@Cx%F6vM4v){oHU&Vb}GnV2^WZ4jWD1 z24;jGmY;nwBkzgEt5}mw&r25QF3a)mN%HbB%XyGxdu>6|SO0qwYd;kiol`05;+Iuh z)z-OQBvdo8;-H3@sJ5%Bm)yBGTB}p8{0mvkViZ2Z;r5X=sp|xpl|91LUB0@??tgna zFMVyajn|7GIjs|mmmQlhyXa+-QYFipV$oTfUnXTPQ8nn8l6!B`^6B;7Z?^)=4(}g?OP5Q0GNfXwyK795{t#J)04Iy^} zFR7+-Z@s8@>xJIL6`Ql=3ssg{hcB>hkE-a~(>Htdp*y++*9fOR~n1--P!B*m@a<7xyWO>htHD^hF|xl)&A~PQx@I$ zEW4;6X2!zs9_c-GP97`2oMz@L?%qDRJd8b@Wkqv0QwLwB{P9GABia-P@x=+`a}b$PU;qva{uW&du!mU%4M2yzb+$*;sDIOR*~H z3%i-B7HM&tJYJ%syhS4_wex2C)fuOD3WT^$I@iAb<&w~npWm2FPOC*3d`paR=#36# zW%CN0u9yDSF8J@X71J7P${JO#DE5?IJ5-V1Xnb4k(7p~UU=Bc zL1J5QXIHRM@~jol85lW2mnj5gb1JZNI7E0eczz6Z@e6xd_fOGm@+0jN=ez8mHD8vO zvyRce(RZ%)`D&LQu8_LeDT{cPFa>lt9u&OGG_z}$y8K!8iONQ;FH|nbosn~07Bpqu z7w_O>(;K!pCC*;nbH4n4+SEBs{RiAu2HP|iE=l@UXXdfJV8h=viA;^#G&di%EMZ(< zcXMrqQ;7fUsN+u)?W`jhoZs+t89qAuIehiSLic0h(GiXRY#yB`zUHN@dt%GZOFs3t z<~++bx}rHl=-Jc;mmB}wTQ=96b<2BI^6d38KaQ`3g~IH2Q@R|#gdBVyY#Z9;GecBM zo>402mc%}@V;ysI@>|$EgwL%>K5CR5z}{ZmwY*cRQ?*}u8EZhZbJS70CtH}zb~Cwi zXE>*9+4E@nqgA0ne{=b0fKl8bV^ zwcTm0(q7I#C!bmIPuik&LCYv*k3*l}k~Od0{{~$*P2N6Zw!=#A6A{`MdG{uL+8kki zeRbg%%lmRC?e-@f`D4j3`P7>L_Guoe%g)VIeDy=r)e zZLROuS9h=a2u~3>pYHHopHt+t@6Ah$%X*H@NUh0Sb8kl9-;~@_KW)}7ow&|p_TGcX z_&6sPsd}$5d|-I=Qg)sm^RC;9~4o?%q-@6XE*f<*MjBWMCs|06XFzRe+!;2Zx`3p z`EB;pxQAT2`HgmbDya{`zD4!g*~=Mg-*wrf*SyXWPn))9NeuHEmW#7?Z*Y8Bvu({?v`vl(woQCj zV!~jWBgFL~&-9qW0b|}$qu(Y93C_>Gc()wQW)5lGa*RhafVJ9{qbM%$T&3iO+KAVg zHv-no$hDpNW68g@FaB6AZxNayzToTUH>*k#&vx*q6#Z`ce_*9*gr1 zznJ;PD1TMa#Jca>71l*hQM~o;bf>u3mxRCtb#oNDFGUDFS23M%b&>O&eShu**~fLb zzBCZxU!QcR_FBdN3h|uDyI$C?{VjYuMLYQv%cj?om+s~56@IXeEAg#L-v$lS!-dzS z=av-BICAri$s~nI2Q`;x_DKDF|H4?;Yra#l{m&0NIntIZd;G(XE#G-GUE`3#vQRJ6 zw2nHSjAFKZ{<_--%%u@bd&=By@f?CSrgmmTQO z+;ua28&_t|{8cuWxTJS{F3)+uZK`(RKzi1Omn^$%ighAZHge9q`{uN~TEMQHlxc73 zU-CzvE4<7gEW0Hk+DYl`Uwa$p`ZJtXswq*A7XRzN%(#rxx@xiJw#8?UT9rK6AeO_& zKZEId_y(Q79+53(E=!98J2#p3g{A-SynpxUHqZOcqP;1Xuk2$>(7zsfWnyICj0GaA z^iH2~R@3-7Z{E4<>N`G*em^lKrI`0?u9Vw?$mQ41w4VHRHb+CFS6NEpp>cxXtrfiD zFOLgx+(@&zRq%V?|C2Ho(oV=sKL2mF<+2xBg`|?00uJU(t-G1vDV*MLUu)}qtN;J6 zC8$sRD0%9K^9hOjJYUi)-5CveQe#&7cST<2U6R)oI33-6r1KxF=m$(4NbALOl=aQa6^gmZUQ=U%3p?wK`LTB1()yo@YV zs8;P=KYe}w0ulKw(?7N!wwSv>B)93=8Nt-Yhhu`uwrOvRvO2+Mp`F%zeX`K;Ytt+o z0%kc{6p24MZLT2fr(rD9_tQZw;)30^*#)xa|5ShZ@lUfn zB++HlV%s0{pH{Kua(>VLWH!+$pRMb~?cNpZ4|(4>s-gFt)9brnSP%Vk?u80sr= z32$9y)6L?#`9w&wtH#mq$ZdvQAmAFHAqTj7=_g2<#Un}r@zR1+Hl_Gph8}lae z&X4M3e>=gy=JwS$;w%4M`Kh6C*I~yhFGZj2OZc91Ic5qOYO=BwoxZjCKI<%vD@{v( z^stokubdLCn7rNN>(7%%f*x~s@_rSHj>wu5_%{2g*!k(^&eqfXzr4u0cC9(;Mz3LJ zt@qjYE>7N|meSF=YnB_NT{&zRp}1Y){N{{Yqm%EoZ1dTc`+fTV{lMeNjqP0hc@2N2 zE6(7%rOFdvR<>{DJ!hM9)0Vz}k)=M3d6$m4z_Ls$Nw2ljUbw%_jqK8Y>JT5bR4375 z`P?O8S`Rpqo%vqc`#edG+%@IQ86VE-LP?-_J$*%ZqC*`uD_a5 z-cR$oO04SE)&5NWv&N$FvHO7+Gu5lUI~=TkqM#e3BzE%tq`xd)eQ9g&C1ya!CzRNa!W(^%QQ zp@;Q8*KCnG?U1J{emSj;V^jSPMi0k04{)ff2SCrXp@N&v1H&itc`3 zeXFFT(PC*(o>F4)g6D@9vL8$-zEB?*u=K&|b)Hv~{<<@)zq5MM%+;$LUd`0#si`pu zGb--9mNr-SFgIso(5E)fB@dA*b~EFes0bJ z6WOon&yHxXFq&v3ZuOWe)p+Xs1Fw2!?vDsv5bm)$CiN={)Z{M@syUm)5(sgw0Zzx2odnJ4F%BPtvdZwYR<4xqJPu&TOGISD1}uLth^d+H`)Or1AflA{Di-@~&U~yPg{h zy*#=_OkqZkzS|*3QT>JI#~&>}YZ00K^8GFCo)Al^ExWFM-gDKNx1sOO zdpGOTJX7la2nGnh;E5|RHOrmLX}~7^x#{PoYlnI55A(CuH(fgN!FUeiytzLaX1|=( z_KMm^H#@l-A`Q&nca|0x zFPfmcre$a6`x`55Sbu1+scSOdsx`p$PL~P!BadLBbN8(z6O|K2O z4^2p{soZ_y$up0H&?AvePTsd|Kh0_Hev2B(OF#gb*8L(#PW*K?U9FYfTEt*m-GsuX@*Z6QnZ8zFRj)KfF>x+K%L?`zkF#{DE-Su%VbAq3%0p#li|KvUbNtSHv*Gp5>Fm&J&2;~#LEj7P2`rqUq zoh?FT56|Ccw&LqLqgJo-R%zmf$qy&7DD^uZ&zATvbWX-M{$1b2isS1l3JyK@)m3^r z2^TyYM?k)`dYKrT3Wq9J5_ACiL(4?e?&i{h_1C3A>*R+b2)RFQLpL)wlaiOm*dH_C0~29bJvmJL7|M4!%)V+I{13&zfm&eh(SWRAw}6v@cm} z`seujYo}Z%O{{rPV=T1oJO8?^yAB&pc+31eySVdCOQ7|H71#2*UIqSVKh5enpUVq$ zgyz}W>Y9+NU*B7P_GmLW$ucS7$wG|U{t9 zbJ7y2`z|O~=3Vd-*_k@+r|IYR`j?7%majt0cI2#lV=c1u$*dDA`R3k_pU+%BJ?gNq zOpDi(BPLPtMQhoOGh~iBUipzO!?jT*N#uWNcjBMz0X$V~>DPA}OJ9y;F2A^L!`rsW z^Q+|UmVNsB&RW~zdP&4Vr;`s;4$XC2*F5#u#kCwg;gb5LKaOTw-0Ge#)LPp)?}@^c zU4I{G*7U#A;OSC-kr`Gs^`dgHRU1DG_bJH?manVkR$a~8o5k-F>v))N)6LgvdsjKG zSL)klpBQ>RTk^<+wT!7tuYGN_krnw~_jt;ePWLZCsv9?M?uyv2Zme57Wl}@DwAUt) zv$CvwDtVT^Mt>gH%)A)P&7YVew_K&3&r(ri-N&WEM?1Yf&H50KwkO>1ruwT{clEBu zEmmpw;9K$MXjew_+U}}fA63JCN37z}c=T(1r|tXamA!1LTiAcUo2c^5(?a~Ph(Lbq zoP`I@Y;ZPhd!ObQuNKTZZOVpM-F`ub^yk|~pVE1`X1e-Bmby&zi?!>Wo~F1o!P4EvMjZ>B^&5{_ z{^xc1bNl}ifsOy1!r{llbniqmhIDL9C{*+0K!YV^nBQFRVMr+uba-?b{AfAH{| zzjNAeUfN{&|IhyGn>KdoPCpWQ_qs!O-Oc{FjX6nQSx-vW81{b= z+I#AfY~Zogov%Yz&SzSaVfWCdJTp-EgQD&~j_76crd?QLKC^K1q|;YeV!k);nd`7n z%H`bDmrKJ}bUvQ@{mKf~<*9o7y zb$cx@srtP=6VUPQrpA9h|D5?tYwg+hIGjIkpt#zFO@8jxZi}s#<)vyEd-o~^Z4Pnv zm;ZImC*8Do@0Et7V&V7h&YZESf6Knc3xYXwt24R|YM%)`nwey>b_0G937F zXN}tSzcVt^uCo^+^lh8&*b;d_f~&mo*^Hfc&0?){q`s2r>DNw zcKLXj@94cL-}~k*WS4biPdoQZarfDE>GvFdxw3nNWZr(59opUR`sQN?gM7(6yUPp3 zUtN}2+4$?psUDLjwE^owgk~Rd{apzQTh^?-RPi?CNaml~%+S}N;gxZxAN`r=rd1TsZfa`3@qt2J z)v=W0){9rYWtwlDd2-w393A$o>uu}yF?@Qy{?|qeD?O8G@#&wkml(`Sc2l?Zk@&G? za(mvkCr1*NM%0|qlw{_&tI9b!pG`OWvP@6U=^1Y>s9S2J+iy`(`1fb;luXr|FLH%z zh5Tmd%!pNYIHmQ@&!=F*-xDG|A9B-mg87aeSI+ryP1d!y&*}0E_oFi>_9=e}+?JxK zeKP8AlAcEXZqXAFvm^9g9KI>F`}HLayAShAU4AOF8@AMOJDJBaSiX3)&n8Fm7~kU= z7kiZV_)fW{T_U@@Z1PHR;W~E>9;YkY3->kr*u~%fZ_2l@|EH$yG5A|iv{&Bd$JyMM zVY&M^bUxG1$d^qH+1}Z&aa37z({?F^?YAbeFM4`AS6$V$)8d7z@ACTnZjvnZ+O=(>tmIYwo% zR+7c8r=@+&ZYZ`)*u++RSl~_j^ODJPu06cA6kp?5dy zoHBd6OXeq83q~_7U$WXz`l#)oH_4CTHTf8=PdBWVC za~JZ>mEXXZ^7`zFs*O8NsYTnc1RT#f`C8YsKh`Pw(Z90#_0enU zm-_c^dUNPoe)cT+Umw4X#JR+tn+ZCimA86EFKjmYj_4Iw9hrRC9uKn@AzRRfCEj)SUM7K)Cm~KT=nYA%dstG%y@2&dH^)Qkrb7AY+ z<$Pl1S>{!7r&F0e%r(2D#Be`z`jm&|3tSoYU9O5|d0?$;Zqt$&`%vgl?~@l#bA)5! zI#}-~{oq=t$i+W{Pd97*qvWXf6)Vrm?_yqaa_jRCt4ck8uT`-Y2ose$extKZZmI9DwB=3cy}L5jf^mPX`H5riu2g~e zo^K_XZg`x3!51B{ZQ)As{FQ#CKBv5%9D2QO&(&-&@8UIY+H1}EX^VUOQty5br^ROjs^WLd-ME>^YD~jiJBRP*)av%86 z>3vr8`!?qdL78=7Oo9);tcuxtidTNMX5sxj`!o89wqIX({;=G_d_CpkM&_lj_Qm91 z{nsJfSN|^KYn_EnsQGL`Yf%?gf$)cGZ^;%`u1<)GdD z)c4gr=G$tMK7R{U*8L-LK78+9(|#G{8>drePFMZ>Ccpap)pMEucW9m7GbKvp-zQGN z>qo0X_r;aYIMpLE*W=d8rX9bznC552o$BIUw2?j0N>VV#ZiaU5p)(UD7k#w#etD~T z7Tcx&USf9si-Y!t{xoPmXI|Uhdm_>6-Zx8ABjruAgl?Q?T)r^!(QN00O#V*g>5Q^l zIu8H&-eFN8xkc}1dZncFQwO%)9FlWh_3-Su)F$^%^~#YSchyc#VDC7xX|}5#`~~rtjw`mIWKLPc-;FaqW*iYZsO`cki~RhVk(yeBU_v_pZ5;%)C@O z%p$n|>vH!pE%`HkPcNnZJ>If9wJK$&T;xLcu#Ho;hV}1RasA+wi1hT_y?RIXb4V_5 zm%IAfq%QWr{(@K2S8*s@QL}!{ukx|-<-HQ^&D_N;9}NZPFD+wQv3u6uTb#`MFLSX+2FW8P9^MqdgFJdA009?wca@_bDVPW!NUxDJ*_(JqC*j# zg$EZ3rvCBJHjuJbRX%txD*2H^ZQi?Uab_o*RwW`?^;d3N8? zrPH3M)VbY1wC-h^td{QTFXyj4mPr4|rpvub%Q_(Qn&NzmGOlYkcU~&DUo)%pa?s!J zf30Hk{zUpcG7%KIkrQyM=l7+{>&|=D_++}W2QeELJ?$#Zo9gcN;+lcmp3Kzy`A_?M z=1JJjwcO6hWUPM1FVsqc_53+c8wb|Mg<*Z6S&uAVpVluD+CKlFOT7D1wP{Wnc8@#f zHZZ?SvwwCk__x6g&Nz-J|I;k7B741ObncIg57>SqT=(_YBWA(#)cQCYSr?zSoc7mC z^rN_0X2+~m%f-0(o_=JHtnNgukdtv`EYnw_TcblP!Nj#adzQ`|*O?mY$j| zwAISiqba9kN=dYkgZzK%<1y`i-P(LY?nO~jEv}L$1n>6P*V=wRzr_CDu7xXp@#Wu* z__OzDv^igW{**Gw7Nyq$YaMr=TXXoIv8CzJt`p+tGOleDth~$dPxjRQ>mT*EwO0HU zUfDfi+F6tPv%?nYKa)7Q%;(DS1T*1}Gxpae=*P^ES{)&Jtt0bnyYQeY$ zy+2j#tAy>0*ROY^=xsNtQY(Hp{hHR)Q=3gJ>+Tp8xU{bMGJE#qGY9VfE^_(H=ybRL z@l$ilN345}eEd}9_bH>wWNNC3jn|V~8n>@#-jZ;7xG-8zMQiV4+m$y@h~Auki6!j0 zc2wL8wJWxS44 z_D+qoRq9&=j_UkBaFemTy`@@{H*cA`iC97LrH8+~cSK0t$(?s0k>~ajk(i9{tqI%j zvV>1%Ge0g|B~tKr=g-!zGC^l&HN87Q`qef*hjugWzaT7f{62fm{gNB|qVI?st(nF4 zTe|7)$qhSSZrB-Z!ufmsd+P*w^&6rr(ItnZPhMwR>SkO2xRgbDg~<8Z^JYpszn7>h zJQG-BI{jM9-M{*?3~Vpm|L}D_>%5)$&o|dsBp;s9XpwXB%=z;o_5W+x4vBdh#m$v8 zHm&}Wlo}RZSACFwcEwM*UxlZ3%{!UJeEGWg%pL0zwRZdUUlF!_DHmlhVb-2h`*Q-3 zv**V2%kG+H_AQ8S_J_AY;yy>%eqDUXU)>RJVtsRig~C1Aw3jOF$>(L?O?<;%x?D0c z+ihCVu}u%dKE)C(w@-5|`%Xj4OoPR{1Y37UTtEY8xR$uD9y8pf6qxXStEgpPnx?K^{ zpA#kGW}$e@tvl#K-=oVDXI^~e?z>h-tajlAhm(;VU&UOWM6Gm;KWyjBo0cLP{d29r z^X;WK_(Z>nJP#~YtJ!8I`g@xGpSgis=cXqHf707>{HAeZLTSaBmnRQ4rf_ulE&X+L z_Hx~=1Ln`guN50huT2CLkHPPt3ZC}UbFQzJQSIDb({9h6# z@s#)DKE3=WivB!_jNSI1uKWv}s5bx6)Wcz>XRc29;*+zjFI?~K%!<~=SAUi2EMi@4 zH>NXP%ykZ5%lbl`R2@$ADooE`^7iSob=btkGlF7c${;8 zxBA=1g~pS8>@ z?(;rVYrnT}`!^B)zujf2Db{a|?w2i|5O$>O<8uB3qOSWsxlN1odi-Ylf%Nqoj^u04 zyI^JT?DdhU;!3%)i5LXB;ZO>=Ev3 z<2ys$^Nz)>DI0SXr2StmHCU0Qb+&YxhWD3CHG8)N@Eo&v?=km+Z-GnwywxuC^VWZO zdEZXL(7#}*?QZLN>orwo9^hQI@2|$C(rXWw{9dE~b7lJ>Jx^b)Su-VmM(%3f6!^}l zK&X=M`pdbqx(_CDRjl0c@AbNWA)=yFkL_)3IhVI+mS@fK9>>LpL~k$utCMl(twL0! zl!n!TQX#+Du{Haq-F%YWEE{;S@#fLJ=^5vK{c$u|QT{ycz4`ld)1~g83i#{5V*H-} zb^8-@m+jm6=UHZlC-1sB&GcB3o$d}{yXmV^*HFeaqsbTwWb&(gx41%@%E8m@mn{ zi04^N_?|1GAG)3D3Xgl=t*Lk;KJ$Xx^rwsdrvBXUdUm|T-9QPBuJs*!=RAyaxxcUf zFSdA@#I+S0XG*)9U(7U45y`)NOsK8+_tA}EdH+=vC+xlu^~#B3n$AMO<_9nL#5a8B z&vaIZe)GMXf2EC2!$xNtxBj^%H~)Xm`}IITps)Mb(<74i!e!s?-BmZE`_}F+j_iu} zOCO1w9Jdgf8N0Ss6Qd-@mwEZnY?E$3qzz>o2z5PpWeG?Z2qz+0_X% z`5h^HT%KzDU+&rcxnH#NRJs<2Z*4X9tWq~D_}qQpxo*DP{XG-pdxFYs`tn6T{^0tv zP%^G^!e;&F_qYBzZKxZzZehHJ6v+ZBC*!hoIel{76My$6lU;ee{f9|56cO&%T zkMDK!=RK!+ye;>R!0l(2W!Y{{t?_GorykQwK5Kh6kimOha>m?ltt^d;$r6U|y;3d} z?a|(T`MyV++~NBbJk3nDl7=fKzir7=sZx8Fcw4APkaM>ABYxiO24~;DulIe?+y2F8 zietRS-C34G?U5gn{Ew7(e-Sy)<9Cy5+c%#%{YH;Z@BCZzsPnouDp@Fuy9z67)TD4;D6}`ya_U{s&EjG|E|E)yFUxby}OwBuG+zG<{G0lZMj8jU*9p@oM5ZNlzfBJX3gZ= z-I9}!x1E2sf^F6}g+Jk+F7t*Td#?K6!mHTMy-RyLK2Q4;-RABjB{#El_fF2F=yKJw zHcxNud2-j4_giC|FpV$6$*gNc5S$)y#aqaBaPdE1Oc*5s< zX`f}z)WRE0(aC#@!|$>BO|e+rDb5u9_3DvRlD?1jC%4FRTYGwJFPSu9(bLyw8I-!# zsB-lN`nN<$!}*TTnM?dB33{@-v4&}Vf(pV@2q{~BMk0NQrEhtV$&r3 ze}QDPEBl!_egAJ=WfW`sd8)RT<(p+myUedeH}#$QuWa6Ie_6;(`ljyDcHgAq3wTzu zh->`{kNeb_@zqMYI^#mQrgzPR=?)2@`JuHf_w7%4-#PgHcj~X@m7FU&wDyLw+itaI zUbos#LhpvrQzaMnHyvTF9(rb1&ZWs;bvowi%Fz-!p~yl;^Yw&`z_7P`tG6i4uF)1a zckle2>dhf_+^P$f^`ALuWB82s)hBZ^J8^|V&ZsjDE+JD^Cg@7vez&A{s=6P~iGV*- zB>hT$c8W*x*v$B}a=}asjl2Foek^>wmUF4=+BX(W^%d`Qw}zMb$8P}$j0|t&~DR(*SGEW|9!$5 zyHjWWMD-=+H?oeN{vN{epx!y?PF|LYllPnBCt{~9)r!8Wa$vzr--+6L{@$3HWwLFV ze*Bg_EhV0 zyk%0Vd6Re^Pj(AAqHd|Rh_|(F;^c)|D<|&OjKAZ3HA-x6$a%lMSsI_JOAfSrI(lX9 z2LY=!XB~aq9(}#|+WNEb4&$S@`@e=vuUP#pqq*r(+^VvwhNIVQlahlx=d0=3Z)_}l z>G)%#v+IUfrl75lyzHcy-Y6W1HwxcO*>+}g2m6voRg+VAT{JIhe)V|d_4#g!n^w|GHIB~N z0?V&-Ie7T9e=HI3KYQu!s+&dIS6QVTeUXs9X4PBcbO9rki$9+#>ur<&BCGdnxx}^| zuNeykerZjA#@(uy_R>-3&$*NB3qAxDtUS4JVP@E&voATfE!jHf@4|<#0*_`0et*AV z%CvRovQ{rBu{Ur(vAAGkqDR{9wI>ToCup@TGb;O7x^hWRBJ2NU>G2^`ZswI)$H*@4 z(*N&xbGFrQ5VIIz7=xY#=Pam4YQUFUsZHZ&v?J8UQ}^E`@xP{J9f@4 zxlPuuKdfcn*Xvmu)qi&WS`XKsE6jd$f8qRfw8M8xmXmiz&XKlU$uL%qz_Sain5%wo zy_BC)_vMUk@pCWP_&EvT^2^s>PUV}Fr*@v(@50YkL8E|`w?Df$n@GFP@K;W}beZe; z#u8T>U%w~YPG%@YO{;l&m}8yJ&AlgYX4THLT-~iBZhL9IuK4Uy`OaM((o26wX+7pJ zDVF*1_X4;6o4>0v!oL`s{@VGA$uqtxH2d$;o z_RT6ex!gbWqn~o0yJos=dw90>?HaAKQ}n}YIF*%7|4iIb<+k-svd5zVw`v@qsT{7m6CJymRX2>FrFuQ%}yxIBU7>$(mCelzt`D z%ZtSb+w=Nz7UW2X_{|;;NZ+E!y{5{6-C@1UY?1x7x;2f zcJJ2EgDfmJZ8pf=&a~VXJmb@vb;mCjJJ;K9ylHeT{s+s$oi-MduO>deXuQm9M#Yb} zl@ax8FNQ@wiQ&7LC-!Dqv8-*0RKE2`u|`)e#g>n+SFHGPb!obQ?B~6`%REmPBy2H_ z-mP(K*3wvk+)~$FqV9L1&OJGKa?PWT*Yh6Tta8g-`E%a$t!zoI|5$k=*_1f9-by=r z;G(az_3lM{J9l2sJ(u7r7dhRUjA_Sru`2OT{zeMa9`ktPW}>sV+UfTX6C-JIPF?kvt0P;!&lndju`a$-nqUe zJMr5e&T=cRb=y@7>SrA6Ja|FM=i%nr1_Hg8zY22R`M6kIwSaYj;7R+Rf%Ango>#yA zMkD3kX;tOv6X5q3f1mtos&8Izva;{n>dtpQg`W4^OX z2Y&z8`{~Gesn!J&saGGb+$)@8GNGUMdH3O~hs_LocdSZTCwMsLRGNa&&;H8x4ZFU7 z{HbuZ*81m)FK@RbrFhJ+@LnDicVwYexvhev%FY^(f>_N8!-Yv3UsRtycck^$+>Pq# z$1B(V)Xg+Lw|0v}rKTV2(H3ok<2@@>PD}1waqNq7(uK-}wkAgx{x)=Qer4bw9d|tJ z|Lxb8R?fRC-?rM4Pf+2QR^{eM^@wdQs?S!K{b2jYQn^2_f6vu9<#x}{@(Xawa3s9= zeL7IA{~pW2UB^Nmo{N{T;@rP3-170&IUl>O8)|1h*4nvp$_-7Oi2)Hxj|5-;?fBYf zWwL#Zw^4eg@S=0pw=0Ug?p$B=JFZ9h(32{$7Bj=2cjO!%7~SxH*S1Ei?9kKs%qFs1 znyxG5txb?Vb=Y@b>EBF_*)?CY^$yK%JNzg8x!S+Y&jWug4&Tld9o_aN>II+4o2lRW zk9-u}QLKCRXk*+Z{=ywqt%n--bxV2uS@>9-SyN6#{@%Qq)9M#ZnsBgj*58#20(50p zF7DMdoWI0w{$h-Jyn~PoH+AD4u(*&+XA8Bfz z#aQcXds$#zLyE!)*27n$MGI>d^EftS9D8=f`QEGMsD7_^dw-a?Tv>Zys`g@`6DvB6 zR$RSV^5TD`m!RIpWUtsi%OCdn1@AgO>(ayfk-?{Wj&Qm5+~8ndaPIRf!Ea4h_N)t= z#NOeo&wDDeS4L#!!Y`43Hy>KqSeFtuKUk>O-eC3XCn?Ec&9Td-ZeANM#J{zDt9^Bv zxyGY=*E7@7FC3|gJI$bZb7icj$)tbX{@X%-RIdBG@X$dMVeR;-!E=8%2hTmlxA5Go zx7Kk}E6i#)m1`~ChPt}pB7 zy`RzBo65q-e{7k@DV~BIx9;X`>Dt|K)APZ-U5b7O*qW+cYnCug4tiuRAabyV-zKa& z<>kYydA2)GB=Iso`ncPYM_2mFT=k8~4mtKrj^3}+`-0dW)b6c0pSOPJdfP~uuUl{N z#J`SwBK`47uUKxypH~;nEZFv_&z<)9_Uru;XVF{xF<$^b6aSF3(<-;7K-~L8|X; zC;Kf~c58C^(#t!`+I>8qF)@C;(^>K(^4pWCVy2U$u9vB<)H*pUWU5i-W{uOYcgmit zI(&6Qtj%XB-jg3hwq|86k6h^OuvYC4tIPAZ`C|M$^+S;YVRDaTWMM_rIrDtn;(y$vn4?v*$u}KBN>o|NG&^#>wix=TL6L+VdqQpI&r(M4!q0ern4T z{|UQ6bnO-p^ruGq4VwjX6SrwMf57o2CnDBWc;wQZ^CglnPOYwin5mhPCf zQ0=^X(5#t7`!zA`)d+ju$?fR;&K@UvzW?m(i-??L9I)`tnJ!xksi?-yTvh=Sug# zw^QWOdTP977xn&_|HLC{f9^5Q8P2VF&0^VCxg|Eu|7W_@f&Jgq+@_`bA6wQRl@QzH zw`Y&*mIDvg1m1DKTK+2ehUBh14()1>Ym<_$pL}+YH+@%3Ww8H>FhOa}^7Q|ix1O(! zH+H_+W`9tvF0|<3%;*Y7vy9sgg@t?{bMI(5Id@-Yycyo+b){d_aKf*t7X$_J`FU>N ztD9$)a&2M9h5HA-=N@dI;KnPG`dVO4|B9}1<4d+%uNSlYv0B>Nz|1l6gG9r2A897b z-*-xjSg%@6uwgw}JW)pE*=fm@9=yln)20V*KF7OYC4(0G1d9)wMB@z=zU|?e_qkUj zMNgr*LFT}O`dZ1RL)<)He7H2^9i}o^eU>@>pXUn$v+hKPg_$1zW=yXCYQ(cDsWw{R z?T$@Bd%p2YXou`O^Xk;ghU(sjH9~m_T<-+ir1c)=G2Bt+x$b|6*Z1JvV+AvX^4K2a zCGW`pf2cq?xFB5UP7mMxula{x?t49r;e1(&*i7wPq5YlTUf(U9FTGCY>2d8zj|F?R zPMlt;f7bqXp-WBD0%^aV#nf!XECjZ6x#{Tz(4hwt5o@yOroU`7y z=6|?)o=M|(F8A4rLZMUM2ya>~l+ozBMTjN$`I`jyn717zi=$atnUdC(gtDwHGyZt& zuY48Dj<;ZEr7Z+I7bE&06VK^A`RHJn#J`etWH~=`*7vwhk|4^j7}hDSRf( z;1=*YcahB7t>UsXJR}r1PqGkhn$>#xKt%OzwXNIJk8huF_*#74?3#;{RP_&QGCumB zCu_|y&*S>6b>~`}HVakfcuVX5KF?8T)4P6+NwuZ7od2{H>u)!ooG-CB>_S8fA8%vt z``!M#Rc`D|%Cx>wR-K{y?UrANnaLLcfx{Xi?hoE^uTAsKXaB!E_Kwc%RHo~uWhPw_ z)A!Y#oaoB_uvtj<$)x%Kzg@OG+KcbrY89F+^myuVMXBm#_qH!*61>@|{!cOWGn@1u zmd@uI_m+w7xwp1{yXw*U>vy(DZ0hRIl014};GE6tb1q3Uo;?q|xAR=aYRmo7@d{yA zCcNn@c9&`bCtUBS4_sh_jzzSgy!S6>((pO|u{ zT*A=Cb-ra&x$QNldcQ+CyZ2wSKj&G;-RbqDlcV{F$;IGLZf)8>6L-Y4-R9jfQ8CA* zv-$9r&FpuM={)0q`ifymY*hQTS?@*WYTSFc(pAQE@tKb@+utZ9Mej>1>!`n&R_v2; zD&R)F-T9n=N9S37$e8D+*^~u@wOrd`y{kH_(6XlbnNZ5Q$~d=clO;3ucgFH|sl>Z= z@0b}>xbsYk&ader4^{YdEDvU_JNWj#_Mf+^VvCME++=wvE;@FK`bqay-HTooD=oEo zcGN~{UWCNKmUF`W>1i5|-%HQi>GE1~mU)cQq#a3pg6*AxoyQE;ugjRcI?Z_A1Fjc4 z|Eq5Zx1ac|di(pZPNi1;&9$o+bu2x?s(Sx*PQX*X-OHtY)$I@3R$reS@KUUNd7-B2 zD*@4i91A7iajdy^nadz@QQWGoYvPS851X@ZEL6K}EU?Ep{)vF<_D?0RU0v1F&OADL zFZ1QMUi(4T>id*JMR%k1)?Z9Fzx<>9L;Nt??&*vcyLd(B_qi}NR>%m5 zy6#@GOyfaiQuLo)dD~v-ZB=^1WAwo8&2u_sK2HrwYWKb)qx>b-u_EMwD~ zfu@!o>$ZQ(%$~N`?NPkr?X=xw*Gh4RH zaMrR(&;D^Yhu?b@>acv-vuSPr1n+z|HJS5h64Rq_VT+*4J0%)SS5>s{5YpCM(=ppl zc~yoRTlMk9B5$94D6r&~UHARgc`vUgLKkY>w67SB9UGu(nVxBa`Rb^rPl{kW~m(_V0gnh0#3d__z3 zsjG*9d)7mnr0LwxB|iRVIg-kHhH1Lb|K&TnyH{E=GYJ=-aCon3!Tn3rQFuW#lUP^K z?vQ&^R@^juxctbY$w$u1PcFPG{Xd<|L$+{y{P9g8{1NddVVmN3J}SB9ml+<+HGSR@ zxa|sy%$82=m6MK$S)Hip8Yd$-^eebC8%yNyxHG5(2{+Y|JuuMJh z_t)=qPSt3Re_YM-iw=Lt=2n(omu_)3PIAse?b$bcB}>}0jV9-53Z$-?cFq^I&dLY<)F%DLE)_p*J3mHSZ3*mH+}y1_3|do?>4*#AB6vz78PgvM(KIv z^3qBM(;T+E65;l#B9}`i#@2jIKO?nv!{i+YSG@LRicR8<`WD}4$LsirVyfG`y^pTJ~7X@3N=;s{Jn*9zMVDY2l7juQ}EqHtVypaP~a=rnIb3+f>C+ zaE5Vpr>jFjd-?)4u2ZU}yEp98K9rX6Fo4fB?7|_|ohue_yZ9g7wPaEFi_i1DY%EX5 zX{OmbyRJ)W7Q7bqWh;;Sv5>CnzNm0(9>x#3-=5THujN+~`^J?2&OWixz;o~Ed2^aN zChC0LUKSG*xaeN8`1wHBYlg=aR?n%MdZ_ryCBxF=5&9dte{-(+5utL}V&u=hAc>1RY{4ZmB#TFadb=p01%HGj$ zmv{SiR=(#;Zq=uUen!^qeo(rv`Nzf^Qny$hGcP^p^>O*ym|gSbzF%7Wu`r6KxyJaC zj6mN?vC4wvDSCx0E@!1C$WLq7#nSlyaPNWVJ7ZJ4!!#tW{(L4OwV|@LDs*J~Ha>*)BfJsRcj)H{Rh?xlb1-<7&k#O>VDeV$WF z&IjN4*&`}E`PNp2-TxSLPrSHLrO@MBpK-n6$Gl0uSWlh()pyn77FVtN(jO;--%53V z4odjD^xk8;hS07v%Nw$Bj^4pv-fH-N$b^Y>T;MyvgP6LxKJUdhvB7jtiZB@4K_q zUu#KB+v2#dTZ?L?4QF=CcA0gvSyrv?F1yfVqrD~EQ19S^qJK{pm}rITEV-1i3d_Dnwc{8DZEO$H7>jfIBdH$wNtJ=-9^D%e)(Ozq|$I$VwO zRQuk)^NC~jl=_k_dm@tWzGoQ2r*GkF=GW~%eq{d!rq?%&3M-3Pzr>t=IbFl{zUZvp zMO<@}zN{*fb(_B0Kl0xM#TN@ZXJ)Nj(_Wg9GAA+JOS!nO;(G{JdtBf8MFOnO%>pTh zC+P>@x{=cm^H5~={7F$=>$D^?bgdr8taMMiy*>SW$%_u}E3fA!{R_5F*dn%OOUMEF zxf`6U44=+;Ei#$IX6eLbrq*kN3k8=;_`GcKb^n+fGwI}&b89V`S=+8Dn`V8tY*mu3 zPr4SF)e~~{Yxm2Mp~|OicXSD_3`A&jGBvzN^F}RpZcwSS^8^B z@SksY6&k;^ z{(pDym&NZlpOd=fu;E36#-B~i8*e`oIo?rjsI+s#G{-&j16~K{?DVbvx#dh^O-Koo z=l+K~O5O?RWTx;G+*#iGVBTaa)0gwlvFNZK{d`=(+Tc2mFO-lBm4;*U#^as~$ZVEfRGh%5{qWa&1is_#&FA`q#i(|Lm*%hyZ zSdXNZES^~|aeaqZ(r%@-q3N1(y^GTh`c2~c+T&N3|7_`}&tIlUIP-Lr|Jn34FLbtu zPS%Yk_2RolzeH{8yo)Cqvc_r7xenn2#fPuhu99$HYi2ZS%3qh5Q$5Ra+uwXF zJt4W*sWWG`QX_vn*uH6M?%gBr z|9PC=@cQ2~F1LV8+eO`NTC(Dn=j0Za^e)lQoB3|;c=$-Jru(~s zi1=R@)fv(~%NQk(&1O~$W?TE`*M%voEuWQU$ov&;-JkwRCicprjMk4q55;#sT<5;$ zFo(+gU$O>e85;BUA2Hrq@ZqXKOhW#~7kwMkcHS1=eQ=7}OavvrXIW+%IkZ zcvNPC;?df#kA4{5oBX`X@{7Q$y3FmW4_>sd^goe(vY{a zY+twGiTWv$&4C`%b+&Kf;jaIhSLyMvM(S-+-x9;QA7)I9S$x!G&gqjbk9V=TUNV|| zGt+TmkL;G7Ou^eFp>Y!)ypxHNJF(zWMf{nkGvw0_%6@85em`AZfOVc)4WCcc;@^q^ zf5i50ti5HREPSHn09(uF<&*z>ySp*nqi#{uo2u5+8ig-|Z!fC@|lv zw--+NzV=^%@v0i{dWO)~`~|iA3+xuon#P=)?mV&i&B@1o$Jy)7uiN&>(q&$pp-5mM z+orjh^7ZYW^#=dKMSM(}B+gw~QEKk~c}DAtt;Hre;TJ5Tws_aiIQ}ruasq|{By0*djCW7Y+mR+pIFKMvlAU#@*XC5i-*0M zqcv~doRtrX((O-Ny1weg?-mmsR+HNE7j`x^?2}AfJ7ewBs)Q>m3Oi)Pwk3O*PU}%E zD&A(d;O2vQTVAtt-Jfj5n7sU8?E@L*2?dun-I02^N#6LEW8i_PX0Ok(i$lNhXEh64 zVY?DF-8V$1SgW)C!$E$pNpB4-^``Iaiw<5j>4@d){0~RZZ!Z)0{z8YBHA=bKQ15E@ zMh~;K0TH(!MID>^v2gL@)HTN{+SjhLS-I`YM%8z(G7ebjDQ%k|-F(aIX~xfH#*gQ; zGrSeIKm8LjHNpAIA&vbz7u#G@w)t+)B+vS8o6+LW4Z+N>o)x^D;kPl(NzMJ~5zk-T z*R7`bDY8FFwaxpu@m+|5y;oY%>K^WxIS*GJ_1$3Feb+YQ?8GGo+&ytKtN+ZGNZwGyUJKC&(S}7tS8InXl9O%lT4s zjr<3DbIys1>z+*ukJ8OwHckFQRT!HSUqful)|xvy=d))%eDl)iMv@qN^qaV_X+Bq) z9liefeOqnXx7ck`~gu_@nU$XN7eJZ3+wzw$DoX{W5bZ zxBuBMTV~DYyL5T}kCy_rYnS_(9p$@xnX69d%a$wb3m;9hak-xVp?%tg>>UPE_@md& zyMJ&!$2TJr=lwc)ojqTE6)F3z*N@+w!kng1^**6>!=DzX#f#oE#J_7;`Sb37xs!c) z($U3PEDIOzlvmF^w)C3KhqXKYS9CP5XULELB0b^7*Ds1&7?S`0aW>lXdozdlA|l+;F{|LF3rZnT+?cHtvtzaWA?zC~ynE+wVL}@9V+So}|S5`x5WwW-ezj zYe}9>p4-cbk8-2>%8TNCu5MyC2(5MAzF?W%ij#BH5A964xL7h^f6JdAdC$cJihplD z@%PAzSzHRQe9}ZcoCU@(ZmoBS~Il2uKzLPdEJ^90$aM09DAnL z_${veGdoG)&5V{GK8ZIX1D~z@%M_dVHtmf<%A}7mncGaQ=S57uR9C$E^lr(i+2Ycc z%#W^Z;d$`yN)6LS_kQO)3(U+av*e#1ZTQ%4*YUuR`lkRd@g|As6uEVM{ zVk26871_!M_l{Mka08O+RKo3p>w9AaVo>vRvDAeihZ*+ znKQ1vnz+;|*wprt*elyR>yABEXh}ML-ROj8hK96v{wZdsS;?&)E<1!KC+9`2V!olE z=G`H(wp3ciVxpw+{tprb^WvMH{Njw;eJdkGUvbKuXwL=bce|=>jO;8oevrOp!qb51 zuPP^Yp~34z=SOrce2C^!(ZOOuGQ;%ouxw~8R^u}XHioUw|H@uWmp8eN`IrCh`$Tp zFzm+J?-K&AZJ+%jta zo%W-TG3N7!0OsSC?^7*q$9`{Hc|BEqURu@V1L=Vw(aol-6f5Lf9`q?}U9;A8cbET3 zpY18??^^70G7~R0b}~zK?um^^6w}!IbmhWl6Q3_Vd?h|jy})$ZzE6D5mT~o-to{0F z>9KRYTn`U3=8L`Ez3;d5Eb}UlrC*J7FG&yB_YYkN~f-*=@r zT=To6W_RY;2cd*c)(0B*me%&LvH#{fbV52mCsgXqsfO*xAL|A=HU;lI@mq*@P40zr ztA9?pVgBgqLSe;=n(7{_4NGL#&9VKf+hUWkN9lRx@xz6VuU%IzoSm`v1DDAA`fSeJ z$IBUCiHE#ipnAsn!Un(2-*xZBSHHTH{^sVJBY}$|yjRt)cX4a;b5N+=Cgmgg+Stv- z@y<56wDV^ZUwPk5I?sG=O8=(iWug~?HcZ&T`?z;y%;-C2l&Wq~W}BH>Y;nI@f@0SIPvY9AD4kIMJj1$1}+;ix~^PMIWbZ_Y{eCwj_6wmPIc0999RP*P{ucTI!&>J(tl<- z_3AptH8ZTP>;F3!`Nvc?TshYF{N-@@DXUiV?9aI6ZM;{qy4OW;^MbcAN||eN6znc7 zI%9sYXSwH^-G>&I7(U*qn(CKevWf5GkH}LEKdy4I)Si|J?B60Xzvs^-qb%uVadVZ^ zu79%h7g*kyEy(v|b^K}P(#%(?qK)rGWj};%eXz52o;1_Z<4p5Xc^fxKtqFQw*7+co}NaI z^V5%)WqyBo>zQaOi=63a+l%!{*>AhwUfy+H?_5`pu42~gFKxfi&xrlA?-_6T z5Bml`dGw93-bVeSLPY33v85-=Wxll8g+Ehy*BGmnw`pPIm$2f+3`G;Q+F=QJZ5-4TQaclWLsnSrK%TpnL#S^pZ-lT zyD>K?`p8bk=SiYrZ$Gd6_TfUps+BbrHl6S7RT_etG(>|rRDRmz?co%iw$1!E*Dt9J z^Yo)R*DWsoRjFO*{;2S9xy`L78sD~7z5Cyk?Em=In{6AUZk=WfE8o8UaCVc7mSfzN zds_dhV(ytbD=D?J9xi!va^YJao>jkp`zh+za%{Ht++8!tOiAm_t<=MQ!uOgBgWA6f zDjFUU$n_K}c>T$BM#eJxlTtI8_U+u3&C$P_`JmTFUC+Xm5}b-kxfhz=9ambkzq-P( zbD7!^CB80c4$Fs8Cqqq`rdI8L?QmKB-rJBveHRvg@r)^8F3lIQ3ukjywpkgczv4{D zHm&YVji#EX)rV(xmQ7V=cwA<`IYIZ`Oukq9Y|{=(RV`WmH|?Nc-|Z_h-*a#6>fE+c z{$tB({+X<=Ig`wE-#hMDvPtd?cgmCri}v^)Qn=-M_ik`PrGLsyR&%CcQ+0KrLpS3O zOw?*tRNBO~m;Wv6>x;f$OlR^Jvu<9{*!<&hrnQt1&nIr4HFjpJ`qr=sD;EZQ$^Tp~v&E%yK2Mz5>mKg%y9F1}ztQ)xCVa{?P-S|CzETrAy6S zqgRu6OSeY&^-Nu;2f z|KUul-1mHI+lhyf#_6xO>75quI(}wWk@@}QmrVtJtxmRbVisL_TI6E#MgEFMuKheu zHz-`&R{(Yx}bHm`h6cS?xq^mvwS8+%LSC6#*YVpQ!@ z6u+eYbi6zDjpkufPW#`n?#@XRo__l=&e!tDCd`xaNkp+SRUK zif`3xFEqO{-{MfXqC;b%SWG+b6)xYF==(f-6AM=_|Hhm&vnyI@zt>#-^3Q2m=9Q;q zZuK~5n6yevzhJ^*-D2guXJbR8*yBGhjMwbxk^OMRtlj zG$pBBn*H2#cWJN2{1X!&*yY@MleAmCEr9)#<+-S!`Xj>gJ+`din5Ml}-QI5()1#!i zV~h)z7JR;<^va{e*ysZHw2U(`FM4L(6-y0ob6a$2`?JNIY}scPam#Ewp?j<&z|-=K z`MSE9C-3$pxaExQ-{lXZiuc_9vG<8o)%kdYLRBwwU%cSi@=18n%77P;E&W3TV{bI`nFYS8o6(3O>CAD6B=z0~wEt71#I*zV_n z!AH-3w=UEPeY2dkdb#tRy7|GL|F-;CGA(r_i@uK0V?&WM=UVRDxCFmx{Gxw4qRS|# ztk(Imo|$K9a`UDo2pQvpULuMUtYvE>4=fZ{EuM=UZjOs^yGcZ-5C4% zm;TP0h$nMauk(Cnd*k;k)#dJIO7$$?&ULr9@10W}nsfb+OXQuss;@$o@{dS8OO0|9 zHnzBTWu0C+<7BJ+nD~8xaT2v`kC#Mze|hlP)wlPjZ3%a?S6(F5{4AtDdHxIS*_HqO zULNh+X|+B(W44Fg_H#T3o*dzuAag$dM!V@A_4gTNt0zvZduSHfTuS|Vg^vWX&;+Z{;F4k--cM3}!S-f#6cl5P;t@>?u zWdv8bTONP!IhC0&VwQx6tGRjc)|p>l2ULW;DBa+;_+85RCt`UVpRV0k_P60v=u+$7 z5%_F^yIGFIwm@38TCKgvEHQi-G zz;RDENuD{sPVD=6w0OVM{$qETjZb^08fVD3OK=M)-<7vr?6yhn%$nQ_HIIK~3m-Zs zdGz=*Q8uUSFZIW9cMHjZQ*;u^3msl-ZvHF zC+#ncUnnh9H<{m?H~WX+TtAzZ4;gD`PV{WEwVIZ)=y>S2|IY5y&z%ieF;%tiWt(^Z z=A%iS&i%Po%;DO5F1<)%6*lsD)zTs@v@}LyYSF4>iOV0pWxUbunY3|+nH#fzL$>mV zn8L@lW{V{!p4NS%cJBYm!%izqd?ckAOrH4O3vf_xDKRQ>)0y<|NcQioo7PS_tpCsU z%tD)pXWLRwP0BBa8>pQV( zb1+Y@z^5}g^4?qKtz`1wy+iQm>4);-xuq3JI}V6D&ywD0Aa|ehPVTwF4uAP1SA*^& z8s+nX-&~(Fjc@UXya%_>#yB34GQIlwL%`N#&uh7mA1;OC#u+;Qw};< zC~sY!?DM?Rb{eRpDX zaoUmgywbcR?u>@OS2J98XZ#a6zuMc4?aeAn1G5?b4iuSBZ#G%?V;biXkDgP7>7O16 z?~9p!O}A9;=6dFW7b~Zz=1sh%>wL%WkL1J2($$V(*^}SSPTQ(K{g(J|%hIZ4OU@jd zYofBbL#%nV=^62L+gJa7`M*A<-}*+z>J_W9yp8uy5}R`L!L-E3WlsG&jtUFpmLIIl zkZzhFvT}NgN_Urk=Hk6A54`ujyRLMr)&$V&~MIV(D9TQkkA%hUbi*9Iwisoej%|DAff*uD4Pe{Ozad1v`^ySU^3 zS%0xQt$upMZ`b{G)xK-Jb{@K^dHIjbN1Klaf3-~5>v<~j%Xe#;+Yi~RGq;?Sihb4* zwdnMl5B%n9-paOF_8zxu(w17`!+GJ3x<%h-@7OD^_obXPe8sY8GS|fu_ir4Pxf0&? zt}@eJ)nnfk-~Vk>8Y~R%<{0@zm0vb@VsqE=UQ~8nK{Y^k(;3CcwDmfhZGLPJeP@}M z+8?`5c)IZIRp%$nJoNa0JyuPmPOYyorT`~6ds*?9#zHP+;+UDm4(j9U7J`u|>MM$M?bAy;EmX+LSd zwB)=^^Mms0ZlxK`G5ek#I%~dq+6f?#t_bmlsEWN)ouD=FQf=bdRn6w~a|lbf#z? zuH0B&u&hV^ff#>f^Xxr)Y>&Kq{9|tOy@dNgbqt>kbA&jom#u8N(czsjPj&U*M^n`+ zl#8?GIo`25ynWT_A6>V?rf;t8Op1|tsLs4<@4F?N|1$irXJxX@-L~M@UG*LApZ>&M zG-Naji(wR(=1DfHEA&3KZp)GLuPQua>lEZ)e|Gwy*UDmDVRN2k$KzMC3mVdc_D#@x za7W-`Qt%G3dV`Kb@_Sp?y7{#f^Rfq7if>owz7swB@MDv2FWqE)o_EG8Eo%Fi<1xE1 z;@w&fVUrhXn`DE2J(-yCT4A4M4okoPv@gn}c; zO+Bo-YwFp`U#&lC75welpUrzAQFt=D?bS+_^>XK!cP)*!oT9$3cy-A_#wd5Cn!>eK zB4rGvyrzrhZhfU7$Fod6)qXH|xce@;uJ-l|#8R6tS+wL#y+)e!p=Kp8< zCHtd{)p`1lO(`$ViodV*{-GOtD}lix=WvabyJxe*_MkcXaX-{*kGkyFSCE-3Va&*< zlV7W}R^X_4&m&{K?$zO$a>qR?ZyZqRoSVSkvghJ7MZTCj=LMPA7U_0gmGS%`p=-+^ z=};&VmFcl%<1=+BMfo-^0a zFD!hXbEdA+x9-hvHA!cMmEXE=o|n{*{8Ey;Zy%?%mcrTk-$mbMFa7yz)vb?v7$cot zhuas*Vv&mBE7dcbb`NAMXA6%jB@4_=MwOAu|^whly_0WzI_7l#(r} za%;*TBbE61`eN-l%WfEcJ1prj%_cf)k6iQh`)$=*BDzIBY`>Ux`}Bs`BYW4cTiEHP zJoiF=_ZGfc0;=YIEHkY%+ALnpi#jMgb>7#CzQP}249r$Hp8l1R{Gb_`q}zNu?aq`q z`DI4Te$9(NPgA+{dU0O-k3W6KENVBF%;wK`e!cC<>(C#)&t5)oDEwClt`Q&$_DuV})FNfN%`&DqYeKlhY z?*p#~UMlyEOA-$!l~l(>*jr1}{>si+?x5>Yw^7rz~$5%dAGQYp^^$WYpsWT#<j?&v^%Vuzve~5?90>_-Ybq2w!J_m>ev8`ih2l^D?mx%=RH^u5#JkOI ze*Skiw5}@O#%br?GW~vA>dcyF{yGBh7cLNbWj^g3t6~?ord=WP)b_7x;R30*RW^To zXusCM=AZnBeKI)}mAth%6;94OW}KW`sDC}4|Io{)T7N9!%pM;9R#b1iZQDUL7V`=j z>A%Ip#Ee1 zwpqR_^X`Nw%(`yKtGaK8;pZRkm<+@1rtP!7@n^@Xg(;rVVWAV54EaJulj3h!3qJNg zeRRQLHyN3O@7HhH;C=6He5(Jy`4@lOubH-)nak4olUz*m9HEyVHYLvdAD~cYq*Q#Y z_HeDq50zfq+_xtuy*^gpur#UgZr)3!*J1ZG1Xky@E%#N}@wG~3v#P^QrnZJxB9||n z>=SumT-#$UpXG7xK%2JR4-4k72Vr(P7rdL*cHg;t?{v<`{~7|zJKsh0?oi{r*kNJ+ zJ8W)aM)b)H4V$1gcYy-S7Ku{k-dhzqc5z>KZ>W-tc_OP+e|(Af<2_FMB_h1z4LzH$ zS=!9YSaM3#IKi5J#%ekoe=DDcv|D*Y#(8lArjLkzZB$3;sB^si6Nb#v&kKF`C` zGE*v8`RdlI553;(aLFv$pL06s&kyco_1?cWd*3xqcu|=7^sRen{o9I&q!rvxc$Aj; zNJw}-%$gtnXPv~u?gxC*CJV2MW(SFht!$PlW#LXvzEM@c@v57XN8ZEo*T&;V!;1MB z7PPqkH0am=?XMZz7#jQJ*}o~CzWwP1F?NP}0rxy=8867pT>5aPZ~NUUyZnq~Q@3yT zoNAfc;uto~cHg)EzC@+?J^KI+t(E(e?my+*AU)Zk<5ug=NcY+;0dsZ;-u|4xdez^5 z{o>Q7YWlV*%#%%?-Y~Iv>vc;mr2-Z9qqS!Z{_ws#BL3`?xLEM4nE7uePdV`Zd257U z`^tj79@#ISTa@0at6l!P#oDu_l9ku#t=j6W&UM?Be%2R$TAuf0!}hg>bIJ=N6WF@K z@2MW@d&AheDVF2xRI`r~eb1XEln*Rte9&7W&fVW=y{qLws_o5q?yubjwM`FA#g1z4 zD^+^T@H*_C))j73(}}YJ+qsYKldkaXpYYe5aXarO(fwwRuNlodax`RRh-cMg_qd}j z*Y-bTet7%Mk&ue&UX$#={fTqtxa|D**_gTLp6>FpvmHS{?yjD-d`HUzx? zt;9a1FST>2kk^%YQyO1#HQ%kcA;0H=Ox2}rLGx-O|6Gv$;xW7N z=Ea-~fk)o(G}b(Red4ThO&S04$7!h-3!5kPtxmJj>smMcZ0>4bC6mVJ%9dZ!`|S%~ zS^l{DPGo<4uJKxil5-xf)|z&&oXEfF-_{CAjCTK0W@X`e9b zgxt;a_Uh03x3XTFxNc4+>!u}vZxvnlJlc|;+51*+uU3lxX2agT6_XfCo-GY{BJ@8h z)%n4!)Nd=inRj??IXJ6L`{XQl<*U~xHfq%?JhiV<@^bF~aQ^S1zfHQbtT)%jJQCs$ z`nhrMnFZ=KR&(lCJ@_MRmv|&;-YfPCrZLJ_PT$Dpw61u;wZG@&n;h{4Z_o3XT@2jm zaC>!svHXQ^>$=6x%wBFS?G(y;_VuebS#r^aSKsb_UGEgCF{gI&oLr6z>|(m*idz#D z6;AnicwYQ;Ho}bgO5wR}O9WTT{9a?P@bAOpDV(b}%T}B$o!`3tvW=3^`9SUr<{eA3 zH~)U$Wv3{#UGn>~KFx;h9nn`iKm8T0T((S}-TeQHz{^4FB|@`IHRtUMJpJpdQ;Cd) zo}pyftmBadI-F+|%eL~Ki#qr&Ge+9bbM%yZq-OD01?>4=$|ca6xp{f)qkB^qcm%IVwb55S6T$WH z&e}isS~qxo%;0<5<{=Q9z}hf-&UV$8Df&Ab%8NKpX}>vWnSM#cDy-qw1hFX%&$spG z%wb!1|K_&VvzOm8dM0m|zwu+O$Mn1Gl`+Y8>KEDVv#gPP(fUED;;QQ_pNCp+cT8J+ zmD!a4o81gIktD}6y;+y%*%&l>J* z&+08)>&E%?{l2`T9~g=vj5jQuoT*cNpojTSiyE&+o;!yf*FSO9NTU<`tS(+VctfvD z!Xu-%xwI_3Me#YqRtc1=>PZM);zx|BC-w*6_XXzL?uw<`67TWjn1mD7!%uZ`ET z`;pu=$Ii@Zn}pjD_RIcu^0Kp2bAGD39ba}(>hlrFZ7X`>lxG$;vq^S3KDFygh|$~s zxjmL~+7p$s^ng^Bz@U6dLe^cQr*Ut_uF;~;7vE&pDV%C7hcC zkFc@xWp5OoTOwDgkBe@Z+5U3>B?;ln~vj(B!`eUDuX33fTh{1#b$cp|TI ztaHUL=VNQ`uDvq7z#~M*aLv`oWxb3UEw;|@mRz$~Vw>^z!orNo+itNBgHGSR$G3Z% zsb+YE=vBjXzuMZ{w_hDU{78N;o7JAOxOjS2{^o5bSNXD}aBlzl_5b>9 zZO1p-9NzbkVY_i(**A+7Gxc9pUb%0(L7C~CW!k%*GiPiM&FMT6VW4r?*i4aO#Yc~w z{YF!=cW%2dagsk@!`}G%*Vm@0{7T#{vvu#eZRI=VHx#iO{|)f}`{88S>?=|2+q~DP zZvXUpQiR;`?J_*7ldsNr`e@Z$qp6NF9z3aBrt(eDx=~fM}Y+tyx6pJ8G3G-vjt zDUUwaswUkvx@DC3eXgy*<~G+u6SUa{c)4ZYE!I&NJNec0;~{Hz>sDR9 ztut=NG>iWZ)?d}!U-)P7YRi9t!Na28^O}TJ*rgdZ zs=SHb>3g3=R?ne~d#9#rG%NRycU!uS>TkU8Ye~urty4$D?WA8<>jaiE?97SkR=Ahk zI`uK;BFA(Tg$U_hE63 zkM2`D^nJLup6ahxPjt@pyz-WJ_RFxX-gOBajR$IlE|m&jVbqz$57oE>?;+|%+vY{#Zu37V!sOOyYbn@rlcR_3s-W69NDL6r&Cw-3Ec-#+aW zhdG}Puf?8B;{#voaFxx^}Kwa!bUfOgCI2cco0&^GCNj zAF|%^+>kf*AfwE4d6P#L>la=B!P2&UPmE4T(dD4C)~AoI4RO2_>^c8t;OB(5ETS8k zjF13#!qS}$|JF+J-QT)G z_|eM~)4%P0rmkL^!yi56T(Yj3>;65T4gdJOk7=IIZKZ$Uyye_x?U(5>&&&Swyo~9W zcYi)rJF-51sl34w{`+oAS9~ew|Lgi9U;6J~`Crvj{?$3w?_ak6;R$`k$q^Oe5>6Y~ zcfOgv>X}e)#zcvjW0U_paOPp!EMQi=N;zWhtg43xvv~>|How(a{P$KfpUwWiQa|#o zXU*Ol_mD-wy&yx>Hcn4|^U7PtW*(WAThbIhd)l2BTyl$8ejVLW#pt=bFi2dRNn82j z|#599p2#ui*L5RA}?UJ0f=KMfn>wV+8NCJf9zb)`9WpfuoxaJ$o*6YpPPX z@2!C4x+|7E>RS3**U;&@!q0oFcS=;nFU(!jl+qk%;ILKn@!$17{z@uxE!c3TJ#%rc zJcq^Mf8Vp_i3%*OW|et!C-$rIgTGtC%)U4pq|D!Ti)*TKNf*zig6Vf}ek*>n*DtrR zboT46K(?n3L)T>}om#xF?%bS-Q;usT_2gY%*LE;f^cJtVr`)!SLJJohxUI5oPrTCd zrElujT@s7h+U9jCNO`l*WZB|Kf^tgqd2kCemLE?6(cD0M?5 zbE~?e+={S(po4+Zx+O{~3%8_7OuTqtn@nb1ApcZt!6%(l=9!*L;T1IhJ9nA1z=jD= z6Skdezkb2aX7Qeu{L{d(^aV|1x!JV>}fwvIyr#RXQoeBR@5!p)3WGM@JoV&n_~S40n-`UovtAEq{2CX3 zVK>`5!`hQVt0!Li8K8YeJnB)Az8g#aBX72tcY3;k{;l$_0{CrR|2O{gONnpJKd?4U z{@bPBA)8(@K{V|FTgtFEH==4Y=0e*fJUu<7KAz24XMZCSSW^}LwxoM|rQ;i+F= zy=%NG(UW~lfb)rR(~}OCiQhUd#d~|7uoPw7_(^JZ=J&^|Hy4?%k(;;ArRGma*Xisf zGU9=JwT$`G?-{!N*z>NW%c0foX04OG{Pj@L2^RIGrXtci@Q+xS=&Wv&qUj zna85{>x^8_*@X&Lw_N7iaK>;7%Th;q){FU@qW+{b%O0P7T3c+%=06*q_G?BoD(7CC zW72kd9&64WkM?P`$(9knX1xts|I=h|#DzOC%Ws);ln2e1i#hqR|CQyxi%n+|cSy2I zDAjJ@wqGY8EWW((Nz^5aB3(@xOM$;-FIfNAw%<*e@cr=jHa3=zoD1?hj=cLQv(9|x ztHrAnn)+L3pJ7;ee908!RdQXc_S(+#JF&Og#+rS$Mag4j^GC~n3*3LZ|Et@PSeqFy zGfLU|Hj33;4EeVx+(tA0;afSoYh{nSFJxCveRRup%h4GA-Q}intB)nVFO66k>biqr z^GBOsJXx`8tr!-SH%KT5?0w~Mm;IrW)Sk5)VytfYGP+i8_*P2Ux16%pXQ+^O#2*G~R@UZOXTRmR6;h-4ae-3eQ1 zFI>a$L#S>_@X@Dt4nN(oVvgJ5Ir2+S|FoO_d2NX0da1OC{;*>Y{=XAtm-jCXC{4{d ze*M$iNvCdXj+Z|1T6Uh_hQ(LR4=$8eNQ}#0-t{}bfoXY)@bwr^)9KQt;mflB<)*&L z{`TAA+35*?3(tsFzhY?;O9_yYI9|Xt$M9#(N|ozNawfd?JN<6?^43A!8f1!^9$J+MEU>djfZRR4#{yU<f#DIeKL|dcX6w2A{iEVCUYhyK&k9gM0?{IU6q?@X?=dow)kU z3=aQR-TA_Hf3`3B#Q&OCa-oQ%+$woBBNMX+S0-LdQO&#m=-sW=Gq*0imNB_h!sLCr zlj5^CEyvfj6#sp6Y{$_nHEhq6WILi3AHFN9`tIh_&%%eN8LjnoS$IeK#?_{o@>^3yloH$c3p{Lx1vA^-s)x$ro)X#VS zeek`*=Q9)7Rx?ZfzM>qp-deL+ZuivHzQ1}WJo?^p{Q5brep4NZGXaKQmtCsx{S{gx zvi!<2ccb@AYJXz_1Z*D`YyM~HIH~zRyZ_dujmTUD`gZ z<=*c6Zt}aPF+Q(n+|5~>IB%-O<2(6AB{TSr z9T0t0zo~o?_s&0QQ5#LRL@#meoN;EI%E^Lx+jJOt7bmat&-Toy{+rGjVDo1Kbj z*!$u3hNV2xEQReg5hq*a5{^4wJ=ywhin-g3ebcU=YG-cd=`J{4GyU4DuBvU{E98PB z{(XOPZQAwi+uq#0^(ku0)7A{{^es<6W}LoUy1e7^rYo~&6mAmlWP865&4@y6XRVRJP4=I3osdAfIzM%amx z0Q1>jO1rDu_RfnH`Q5@fC-2b;0mgN^GgpS^{D@Oi;ywFs(T(^C%a-02Uo}1J|BC0V z5&M?UyvXXhk%jq%-L;378XM(g;{tba9X;^;m_bcsj7atL$+kBizVuiBy(QIU)3HT2 z-fP}`cI~>)+`?D6NlonzhtJe_fA>o7Yrgm3q4Z6wC#)Oqo{00jIrmJO=+QiL=QI1m z8Dl@Ka=tY&XZo~x3}w$^Z=6|mH}J&9T_@D@_IJ6x-aqs7o1Qy&a=T34rTjhnp7+nj zZObdn+3voz+qJWFy=G15lC9QnqfFm(afn}e_h9LSt2Tj$3wsQL^>!(>cP}}-{g{wT z^pW%Sp&9OcPcJt=5uC;wEA`T-{nOrKcPkIS^O|HVx#P(x>k7AL7b0A3ttZdRlM>LX zIPd=K#8k1#lLL!?MqjkJx^?H*(%=f;C8g;>v77QAX0U1<7q8g4Kf&dt#jFtPozY7w zKRmAZUg7rl+m;>C=M7UUTkn2vZB?Ed$ox%L#^R=;yCc@s zkj0{4eu4ao(B0-?AFkiZk}hxiyft-h)W>ZZAHT5{zmnQ*{zrJdfX>s_70J89&oLk7 z;ZsY|k+BR}a-BWna@{RygObJdzb7lMdH#K`Yn5oK$(j4}#KJ>1`h8il`R(=Ps^{yr zc*v|jTx4$>^EBwqyGeaTYnjhKus>pvDXH+O(Qj^0n1AXI-=inZo^N?A7VJKSJ%5*s z^xwPNPxo>tJ+Hl$-Z3H2uY@C*W%uo%u*FBbyY%m$VcA`vy?D+ewycZKu3awpR?j!1 z=;`d}{m0I}F9_Zsx%>Z|*zZpdH~;sUUq0iO>!a|zE$!=K{(UNaK5L4ae6HSa{i8?L zMR{-Dk*OB_cCAwc6V_wK=tJ~5yDm^sL znZ4ky)-fo*CZ@9J^O_fBy6tJXw*I$WZ!`SU(3o8%Xf$mjSF(a}cKeF1StZr!y;+-fz(Banent!SZep!{xItY<8P1{QKfqXw>2b&oV#D`|3oA?5hc^&=GWxEA-p7 zw%|;IRpkCDSHDi*pYPMenWJK%^=%E0#Us(%{U^=OeTy#?YyX<{b-JMce&_6${#CzB z{Nq#RFFu!Ce(${8X$R&G_s$*CM_M*-W;%H^O_rh9t7n1i4fRD0EBEgB!C|^|MWM;# zKY>-O#r=!F82iJ*d6+NzM%fI#^1@tJ)Qn7XS5e( z$$Szno#3%mu7Af@p`66N0=-!K-C~c7#J`-Gu=$Jo>X*Hn|MIK7loF~*S=+f+rn>*6 zL#4gh8ZPIrk_TPW^rMW_$|lZC?Vsgo9{p`y_nD>$rc;#%WK`Q!`FaxTO)`t7P6%SZ zp>mK%^b^}G-r&w#ZC!OjJ;ARmcL+~(j4RA_-*)li+2kbs16$s(nDJcY>pXn8D`&qv z*UhSUhbi*OZh2ZSPVGL{VV!>KhwVk7gVooVx>w%PuIgOA+~m!)s{0aq*BwvhH=8B0 z*Di&#<9lBbkvzJnKJKvISF_j^2$_?Z6+t+Wb`}0O` z!h7-kZ_nI2JYP=u_Z-%iD_|}16mEqR28An_=IN!G|*DU!OH^Xr*Yw_L5 z9*6gDpYP$gHu_sxOS-1)wbPsDtnQG^_fL~-d@IqcVUhEJTb(DX%U;1uFS($!!S6zl z$onHj4hLg9zQiUoRj~%I=G;^D;QpUg9P7XJGd_%~-|5@umus5)=-MiqbV^Z!uS+UDPAdCoUR&QfMeixk>}^a||AM}GP7hxb?;vk_bBf8# zG~fEvdogdPgt4(mAc>Z>lqUUm)+qrqj3X$gJ}UoxUo| zq2_v;0PkCV>31w`fsRU>uFF}5zTNX*m+#RYrr@PAPW;n~{#5UpQnbYPdT_9M>WO(b zTT=foTxVN<-f*p1(oELkgk=w(xc%p8U8rw+^wJZH0G(HNwye3i_f22YnKz{+^1HKJ zUY=lmbL8M=pL6RQb>jIJth%~w*A=a8^9p=VpEc_JFx4=}Fxq+d5|c2$Ltj|#d~n(p zdt}w72)o-~#e}y8ln2c{ZGFkcUEz}J?390hayEBwOk zmQO?qb(fy*obuBAvgFG<8|(WET&4S6ZEK58RPTNB^7V_4U%K=~SepzzY+X2<{9N)m zJL+?{rLH|AKRt1|=~Z2 zht=+39f#un89dKnEAjQ6C6szOknPvyZ|c)6Gv*6v&cAxGWKU-}+YHhFA2#WEux`_? zvZ;0oX=a?B_>pD)QRW&k{*8Kzr%#n?fBB|WLU`AMsAWM{xjx=??`5dSIrVp+=bJUl zUZxo*3wtg&oE6&6bz{+4by4L_y1nbZ^!&QGQ6`fu&;6d=H^vzoonvDZU*V{NH?ir~ihnMuc& zR{I`M?>kTu;(HHysw-U_i=`y~YxO2_+cO0=YO`dP#Unbdyh>E?4k8Z1x z)s?xx7{WfmkjdNGvtC&6ZTa2oFMO9@>Zyu7{MEK(jdj&V7Eb|z$Ikcsk}Et`%svxo z8@23(_eIZSrS-w-p>4;VXJ74ac9fUR)OF)2sG8NCeyM=FWlEIf&3GZEAE|~a3!L_R z>#$rcYb+$EF&UI3DE8aV3amZV;(OUDMaKpS^#NdWRi$yOYDRfr&cch=*6rdy zEbbKYSa|s|>FOglZe5$ZX%n*-kC&i`Xzt5PtB>4~Ps{s_*w%C64qNjg(uJ`vg``7l) zxqrL<8Pu_h)Mf|Woq2Ln$nGP}D-Z8`t9N+9uVU9b_Fs9V-S>+awD}}Ge)*>GlyUd# zW%G`*8c&TA}^Yy(&vt93&T|QgbXB?j9(a$RF zILo7TWo6+kr?-Z}FMr%QS|S$D*gk1aRKNBcj$_xE`a<5s9dKOv;#Kgjq#KdD{&mc^ zdhu%iORZPa8ZE+kj_=5s)Mw5oeA?^qWYzd4VXv4OCi`ak?q)x;Na||*qOEE-sy97Z zc**3-+Zz))7q7na!?CZBp)QfHV^{b254_Q}Yz`?Y39GI}JS{K3cx65NEFb$|ekIv? zvP&M!PAuNCZQItMt%BQE`nS(qaqWdge!cKpCC{xfceqo`{ZqYq>iqjMl$+GdE}q)W zdyJ()UA}F3s)0n|1mA?~ZWn8(91h#r#JG6#?V=;R;*1^F4!)acp~B>tZ}_O?{axjp z#>wqW6YW@k9hN))(6^|(Z`(IDZ@IMCXCXJI9P4v)4_?uws~RPn^yz-lCLa0u=MoPe z_cHwJG^5gLlR)(b(?eU$+50BwRmpyiR*_tI7FYE{7@OiSL??)BWnGPa{UErFMiK?J9*(kua{pl zK3(}(^t1kn{GvbnDWCrLPdb^uV*R-jZ*q3CySwr2(>@V)h*RqccloXfZ+-6ZKMdAS z4~k-#QE_y?%AE&1Y%wdH?%ZGXA>^=H& z&1y*jy9D!RACZ_{)T^D$ zxSBDkB8m0%zwQ-c-_-WZIX#6TSo~qsBIcFe25!&2&Fuf%SGdchP*3?~rNn*C zN!0?ympmUEz1;o0aB;MZ`nRaV$^LKFK6^M3s1yW+!goA>3u<4xi7pFOMDmvFM%iSNoZp%UV``z(uWlMb2(}Hi+GaUD3`F}Kjw^+f4cY2n`f+&_~HomTJ_a7wpZFCe~qO~*W zc}mp(hQ-`hWclyUcsfPns+B?5_MC`27p=aC$Z}r_kZot0!MkzS%+wjd51Xz>Uvv$& z*tDPPkz#djw{{Na%<0aPF1-J|@$}c+_=|Hm-pu-H?o#>oG;{G5m341t=A274G%k7MOku&OUQ1zNYcXF&E(n?12v|`of-gnSEQSzs}E4 zwmIpawU2hjyksA3lRv(fxNa`jJANT;iR{Ne8=AidtgA@7bdxVj^4BfJckXKkWbJC?R*~PusDQ6Z32Gk80g}AF=G$%jf`Q-ZgTbX@04t zJD3--o!ND`ZTzkdexNaaTpofB)#s-*SR!}*R^~575BK}D{pUq zaNSbW%~oS1aVz@8jy1CVdp&=-AAIv?$LB`bOUEW(V`pDCLC-_hG&(anI$yO;D!QPc z)#a9d=eAm7 zt+d(a?5p-)Cc4*aoz^c||8A!N?6u?L;dsf*Q)}<|Eb|Pm5Q?JZirc$y6>Irx#Liej{FO;Ugo##X49Nr zy}k8`|JbA--IlMqN-V`z{-3<^_xzc=c(c_wYMYSA=HdC@wQe?l$lyA1;>Oy|2Rb)7 z_81*-JLdOa?u{Au4-q*5f0}F*z+D`p8deWu0&(^2KgVA+a2mYUSU#ZU#x$}^p^fV zL&3Zgvt}(wz4(v0Y`6E!g=&}L%G)PD?6#!oV<5o);5b-kM3+d zAag6lg*EnEpyR@1hes1sBR8dqv_A8)+^^b2j?j**nBLLTShUv_^zDk`fpL~ zx8k>}&*|pgZ0+f}oOP{%W=%4W$_edbX*|o;FMa*&%k=Jz8&4z6{6@OrQB z-96X-P2OmzKB=PWrOX9=Ue%`|)p@5oO4N@Z`*-wtwo|s{n`V})qj85RyyO$BTXr7-$gF#!zF5_FbRAVg^q>iln{M&q! zW6qq%NeQbv+}n7Vog}V({pNA#)H_qNFYo3rwfbLuK`bVBvaX!9-;NcRGk4CotNvsk z%X3>ny|#Uw;!iD~22Idc*%YcQTJKS^yq+)oF9wO;@k?i+|vgOmb$zM zUcW@rJX_r6(S+J_J7#olUOl;NX79py6Fswr(DN^!E_(Rrrs2}~xssVnbFH@@H(oMB z_f28b z$=JR)ZThY-nUb469D$pj#@jpSJl3^kycNy#$W{E>(LF&K4QbPjI3NCw|DAt(-<27ud&~kNW3LgRC-LXqWIBmG2uSlmyNm+SKcrnMU3aaztG!|_dNf*;=;kl^rp^j-8*?Z0<2N44GtH9!4x zNGJZuyKP!!lmGe3y=st%m{aA|-n36AMR!Bf zjIX|HQ0=udym4M%K3*sKHs5=l={^aGg5MfEb?t68FE)L{G4sK~0Ij+JuIyz@m-Qx} zOyuf6oL&6tYrmK4jf%CqZuv|5*GFlEO?7gz%qZGs&-rZ8^F6hj1?4Z^{O9~bNAaTY z(nZsRjyjYqIlt-sG&YOu9DR1X^zus=0_pc!E+w)iTXWz-XecpAYHi2;(p>^*Y6&CE#V3R|%K zJfp;8PsD@Yroy^-P^IMl5T$i8LdAwWEs`TK48>->!?w#47r>UFw^sJ_? zUf;{fdp&I8*b0-Teh95Mf0g_#d4-Su!{f}mH;JmpPwSj{^wJmCCwJ$j6gEnHpPN$D z5~aTNXdhq3{cV@bZnL%jGtYd=zpigie%G4Kv%);(n{O->;gs1_7WVXF+VA#evB}%o zr)4cUB@&rzn#e2^cx%>oKJR6Ln=&3N?62jJFnVp|sa9&H;5lJZiOILFc%v?#DHKZPUVoiCgRiyio7W{3m?pU)4HJ&g0r!Ipbcy{*u;WSL@hUW*@zO zC0<}|4}a2^xaHYmgW1K~_8vCAmuRHKxl(U$RK?CGr;lFcR(aU-d3IOs#D3$#-i=9( z5k;bVL-{*4&dlmg*(!dS--I*n0es9{KvYJUF&p>WHN#pxaK)O-|{Vc%U`*)+uNP&Vs0#FT+rRyex&@KL;o)Sfce|( zPtUWd)l7bPNy#E&wO-b)&AMJ&=h{RSmYjAM+B4(V?Ues6UzE9YReyPtSjMW=_C z@70|DWj8I}PBSmO#g-!UQ#JR}J*EI9ouaRo4Brc$oW#i7bNlAM+-W=5)xSQ`HkrQX zQM~-2o{NcL;@eACK7QHTd9T9o?7ao%Uv$C;6fs>XKAoEhq(-BnS(Mn`E+d+i|^L*waBcIoqP^gS9XC=qh;nQ>UvuAX&s zMfJSG*q=AA`Pc0{>8hTgsW@}lPMP)gR!al}UNf+;Guv1dcy?~%I}mVaqTITS*9yLi zZmpj4wp{U+NA`Trv&Iajhqo_V*17dg#)GenTRxPwTU?*YmnuE4SLJwjkBafcN4f2G z>J64YlRIW6_sl%ZYRI0q-Rg_~$KTHFc6|HWWq)Oq2T8f>6?oKaQRVx%WAa3utN(OV z_+K15zBJY(c>dIxwLZ7Lblq>NeJ?nfKcdY&Jhv%z$;l1RJQZd=+w%IZyP)ppOC>UA zHD%mC&nb~PyD3EGY(e6SB)+U!@$vTl+gs0Q>r^ufd}U!`T)*Q>Th3-N?}c`9OB&ftU3YWtoF^|lTFdWFnsepf7ryRGl`j~r3iIC8 z2-&Z;GJmLk;bwz;e!5|uSn0Rzm(Slh_x8ui*LS++&pP+?$INS$jCJSU_iVp-{>Zt! zKU2!>n&t=2J!sbV;0w1)!LG|$#tThlyM2sT+|quTFZWk>*?zTO(SG%-U*^mHt?mAI z=u5fz-@E?xfxoIN+|9(;corU1xS43mFybS-}?V5f7ry)YBm4cv}+mn&AxRNW>wz4xFI`w zbJ5YSJo`+`^KJ)zP5#b!H>z+!lKoQMjyIc|cLngj63cBYJ?atT*Q2skL1*`a=zRxP zU(jn}{P44L)$xF(*81o6rtJ-1tF*4~gjcIGd!Ec$!dnIp9{eSDnVNXHc7es>mhLTLyMrdaKJ@tIIVnBk2O8NT-J#MV-k)+W-Ra_0*k^Q8;K@yC z*FV!`nA3LNc$)KHa`IokKKq=wxMuFF0QSuf1YQQ*U%sn}_r!J!_FIj6`Dzbq zU+@>$`qXa2xu281`u%!7&w6TU^{+RtxvJ(^@49ocw6t*Rl(rjTw=EWkDG7K#KA^4P zBJcfvuXpq2fCtmf@=j=*mOQrGz|fF${vu1EeriGK$9=txaW8IP(R%LvStst-@t%5- zU&kNuhArw5-^s)L{Yj=Yv+|lYKfhV;_v~QT+WAnd(XPII`JHSR!_d=;271e03QI{d z1?>CrEh_E9^efv!tZvIs+%n6=$9mnYt&T7F-@dqXUuCV@w{qTX3l)QNEqfR;mxoIJ z+*I-Si(1$z5vK!&?CsLg1`IQln9CC#4zFw2wlz7jM)PULqR<`LrD}dIy+wDHZFi8B zbJ6|1=7sRz%Co^oB{U~luMFI`?d4_@Q^5;quFY^-)A>mF{o`A+Zb$LFi~WxZk-+uH216PmyE;p7J@ z9PZoaZ=3Zc=IpQMo?psZqzhLcJ``v7isu%O*>$Z~Th87O6Dj3tS}gQzBSlXR)|u_NpIC9-ZiSxnHBq;O_Fci}e)D_sYgk__6r9l3xPI*g zwu>&@d{GVg;jR1pQShzV`A2n*FN}L)F}E&%1Mkh##y9zuekZ5x zJX#v-^W0@)>V|h$+Dy~W?-M?`f9l*j2T$s|e%fxg^j5V-D*w_Pch~c(mqcyb=HwZ# zcj&pM^@C%6V^;;^gWr;qzu(j{UgXHq?`x(V9X(0&YR8mQj+NSiRjRs%%^W3`g zPZ%E5n*4}c_=jm7=PKv6Nh0{#%6lTYxj<8ZpFXyWdi3U zyVq5o>Qeah;n0F7-kM*herSH1KDkfoDcf#|{ATaz<`tY@R@5(iaxd2Owt{Tzs)7rw zYjWI=8#V6vdSdt86V=_Zf9`61_H)1YUTJ-N2+!$j{W+f}=5|kf%eVW7zOr<65L?Q& zy5O>Hjw#s--hWa&z5VSYJ>}D>CyYGPD(fPqC7&qbos%npswAEM zu|2+iLWKI?qf4rEB6<(q`_1(@YAbKzdvUg!N8i_Lsxcp2A?{igeE5^CwT(|zv+0}v zCwIQN-5{p&?p%tb)3nz?k#$+u^_#!;OGoB8Pm3+k`xZQ}Rr!<7^p6@@QAb`#<`1i`^4OnDu-E+I*;xPUqrbdQ4PXuchBEi!9b`wQ-$B^}QKnIl%oy_k`%`fkcJ->?AXbSbVqZk49-@!NCPU%gW( zF8%M#>9zM}Z9br{S2cBe?3sU88Xs?v;cxN!{xn7^=$meUkJ9?12lnQ~&%70R@7(p{ zMH6HXFuh%MZrRCuXT=kZmu#5%!6QA-F1_OXjst9^2RSD2SM}{N*4Vl$W6Ey_VeN>h|b@8M)tYgL@sVW&lpw{73ry)qmt6ExBpn$oMAt{qQZE4KFFttD@7D}UTZ`^COefDEnHP&L)ZOxC^Pj15D{C`n*sV46lm4na?{ew-_PbH% z|Cie}WL|!ky6{!{);Vm8oPuUv4QgQbwDac4t(ANIuindd_SH#KPAxm#r*ynxM!@RS z8z25PE-w2gzGwgbuTynp#h=zZTDIa#lh3V+54LvyQ*SL#xpj7}r|_ZUwd}v2U3dPI zHM{1i->&{;K024m8ZytUFIlj|UTfnAgGm!Oo}2uMkE!d-S})t5u=CZ|l^J1=)RI%) zNX!h>`y11FB)8Q-N3o<@@32UhJiE%dpkAYcs&%eQxXt!de2{yk^08k(SLm(VnR^T8 z9F=?0bBr%to>}K~y7yC;4-0c6&-qJlWvjkB`{C`aRqS_Jt*70buH@$4@ojd1;KjS& zS!aCOKaC@E+m)D*>h-2J_P1U!d|IlS63dq)wR_ozy(e~G=Il={zEOJV@rt8b66}8u zq}BEm%AY%4YkR0j<XV|pG=15CgMcUh{*T+sTx&7v7gQmH{UdLx` zIah9M|GQG4m$PrB=DxJnyEip1zS-;$bm`#R7cbryL==7FKCs#SV~(t?wBEypz3GOF zBX=(nUL;)07{TQ2akEJL&(7}5bLZF0T_MK0G4S#;JGRDIU5UX#q1KMFbLV8vxa3;g zk$%&6y$OGq^_uT1=YMZw-`n=^8_VDMho{*~ly&M9-?l9CndAEMt%6C{(p80J36I+z zcpsUQYNodCSiexOi_FC*?`+)Wt3F;US1q~3tx55G?+N+B_v`-NPBBp{4Ar}RPF(T- zmcY7=6SywCpZNFn_r(qKgBX2&cCGd^Qs6r@lkMRp)w(~DYYh#brfALiSTVCf?WEof zmn(Uj+PgbgKXR|0xOr#UWafUEx{o(IzbK2#?fmnoS-3{1LTL4?s<8IrUOubjdY{sO z7?ZF<_Pbdcn=2~RPR419h{vl}FHN0N7pTBmD03?D^tP5a2eoFFZSnY(ax2=clWEcR zFRwG*A_cD&t=Jsl{q@OrYthMZ`i3ITVNaMNyA}GSi#eC}JPZrCa2xUulNz4zYFpQ?(^9 zgZHZER-0QE3rq`Q79Vq5n<)0xYfGU=_Ku*{>(keFv%INW)LZ!R-ri+8O({+@GnQ;s z{8}|tdC4Qe>Y!tBTrC1QZ?dcn>$dWiZFPyxzxr+)Uw50}yh&dq8kcVGYkOGvJMb&- zVeUCo6@33xD_X@W$Q;Q7g};W$>Rrx8jy)=y&(4 z%{_vZGydwTW~G$h&HSqLBd&D~8|Syh=OuT&W|m;SrV*`uge$9~MJW62sZT7kSx@^c z*{poGTsxugmTyS@2_dhxIgDjbcD?l|o8_+k#r}t3VCG@n%0v_QN!Gq1zue=lbcpO< zbwU4=v);wII)#Sk*52ZcUp#5slsO6RR&PIxCh-Saap-OkzHs^7;?m`ZD;0|so}Ris z_fg^wP4OD8$=md-?n((eur*7(o_ycA$JD8dKUDR@0`<$kd~YQv2V_+BR(OBs++uS- z!}8dYy!lpsbNqR^4lQxJ^jSX4p`(;PkT<OJhraz!7Y*b32S>|*Ld9K4-wd9J-b?SRgdV>nkD?19A`GkM|<=?e^8>K zWWImS+#Q>YzLiVPQF>*W_CWK?lG+Qe(v1&4yT#hZd-DA1p1%iG6oYhP*T~$H|JtE0 zu*olK+g0ZCa=(-NmzPWBY>fVW^b%LK7<)nF(tVEEYk8b(XR;)C$?NW6@GZIZz16W>zM3DOb4>YH)G%MddxCkR%a$m=j4V~(=SG4VK7kYd z$7<#+=t>gTGRiR*o-^&q+%l;=zBg0irY=5e`7-AJs-CaX-=yq5zQ5Xb|3mKjr0ma% zjd7aG7W`dx_vW_thxRwtzLkp%nQ2kvn`K*Ax$Wb|_<6jWjZ+0aJ$TjgxUBb)%=-II zzDJkc3|ObD-T&jE+{c+W ztn8Z0o@%A?sk48do7R#UhH+>9&enALDR9L4bDe6k;xrT%kxU#yq9u?er>e8l&Q;$xl zg*mQ`O84_AeU;7LedXErn)$`~v-Cdi`~3g&L$l}is<%~7dv5dG^8Dx8FY{JCo>%pl zZLW~s8~uCgcA9@wo)m3SeD*M{M{kphc%lE*qhGHqiddEU_i(X^i^TdF2GPpD4vW6i ztct%Aud_79_~sS03#Q-xZ2UJdbKZt`zr|IrwpV9ZckPTiT)b6rO7QAu79E>fg%<4BO3(hwnBHqTPwDoNsr6TG zuU}`crrqOxarva%>xHjbe!OaPKmN<|L(jIzitW-{C?i%{6mjKbVx!|_@u*dGtJ{zF z*=?3SYHh2_#+h|3yvA z_x|Yc<-L-;{_*Qs-%l_5vbp$CP3gH;2OgELan}kw{WjnKZHeNB6W{DE*v#>*W_g|7 zxN;AV&(rw*?7@*19!B&y(5#vo&MZPY{sJSA3Tr5mPg(SEOC9FFQLQs*G2hkXK`Z54%aiw-h6V{ z_U($&_t|v`rqxT^Zu!J~Zx(USxW}2ZMPA21Q*BPkPxl$B_qcz|>az!NCRX8*6nqoC2R?_X}w?6-vHE&zoUtU!DrLwI| z*L$YQ-A~V$Z<-mHPq|-kAd@k9zjW$>yqj(OcE9FwCf!@Z+_*%*@J6HCgS`^Y6OJ9~ z&9K_DA+G7&ljPRv`N(A}hX!R?7@>;!k9D?rB)N`%gmnvmc=o7`_U~ z$FHc|CdIN!Mpovf+P)pDj@}gg80g#*<*qwX_K6DH{?M2G@B9`EDR*Wq{bv#QxAkG| z8$JGh<7)3*pA~1L8gKPXy0_+E`SoQtq;#gW&${8D_tI1OsqS5_LWW)GR|Hl)Us~AK zxg}UmX zHpsf{iTTL-L;1)GC!XgMPRtBDvG&@7pved86+gZDsO$E+`@hL?9rJlV)Y&%4EVS5X zV|OJdWAP!uHPUJq`)9Hy9eC_kCZ*wY?$#QuTPjW6*O>WiCoEzQN^N+XwD)3D<*SMl zvlp?>x~|<>G3V6ncds**t1GN{_9ZfXdSvxP3h?f4$HtpG@jC#X^RW}1F9`Ag{9<_Db>!|I_irze5 zCjPc?xpj8pIv16Q>M73YbF*rB5FN3JhBaog(7B?14b+nKgI z3G1G_;M(2bow>31n#ISkX_uu;POq%k{Yva~rnj|>7=u~Go~&u>ufK~9+gfJId6%nx zz0u*NQSvc{Hcv`A%2((reNQy-|0UJ@GiB|~fWC!qMA@?yMYvdHW^((oUa2W>l;e36 zk$*{h{SBx3tFH@rX4KV0ty~$mb%n6cyqN1-G7lB)ca$#O8+%G^!n#9J!n|zk0?r$m z3w%yRWkh|Lr8mnvvsX4LFwH6H|G97ro=EmxM(eJviPnkYZVOg-G2T`=#pa0C(}=nw zuR>3MsR{}^uH`_i*&oX$$8dvIHRdR;0KB{b6eZ{u@@!R%CZ?m7tS)Wo6`BCcI zLX%?N-vM6HhwY}U$-dDZ^j7)9#_wnQc>RxED9G3qH(q z5!heX{k_j7^WbTgSC<;oe2@KT{bm%AsF<`;L~`MAeYQE1pIi$2!;(EOU8Tm->CQL) z$y=UweXX;bfynPJ-`?9He69zTC%Q{WHD_-hfT-tS#ouT73!6#x0(jPvzB{wU5b zOTBG+#kK78BI~8cyP6(vyJ5E_)8&Upx3}z^L?`bZ|9+iVn_xQsqC_S4`z`G3vwloj zI@v^a!Bwy4Z{8Va>IE~;Y6<=0Szpx8cJjEEpmkl4gj-QB*uE~)A}t@&)` z)QSE6^W$!9_trdVZ`K-zBkA`y9*c~uX13IoxxYuM_wny1+&yP%c764z z%a8Jvu6ys*&}_Uvd=8hAfqV3yy-~l}OQqjMg_svDyum&1>E~&$ZrwY*k>$K^LVngZ z_i1VeTu<#~sIe+v`F5e>g=qOOsh@pq`Bx{mwQS(+TeMA)Wn<1wx0Z9kZ#He^_}gA<*Sw!w{TFk-tVD}oHh5iCj?HAlR zL~YmooUR`%z?2hK;4fI({#KEp{`NiY(x3NcIM{yh)BSpYo9(HRC(MtvNbRayu)1+w+Af{@ zQo_3~PxZRavFp-{U0v%sOMI7RtHo}=Y}&t$X;;{#uQsvKFMdhKTEASi;5ICm!^6+U-Amq-^F&ZwCmLGf4l$x4;Os8Q|#-a4?er{mcP#1_3ZN2j&(~*re4_E zweI-Ks)_4#OZK{6uP%AJDBC`^{iT)P_2(s5FMQoHZNH-8#S9~L)o81)Z$897*Soe( z{KlKRyS~5pv3K#*&xgNsJ+Lfp-1z0z=UkDpjeW~M&6`(x+o>@mu(kF>kI18GSIe!Drd@rtY4xy!5G zE$%sfV9wPKA`=%eFMrA;tZNx)+HerKSE-OXD2b^Ik^hKDCk3V*Ico z(&SFcM32OMjD@=<-aWccyOi+v@D5gPW!8|LwjLXUZus z*L;<+PO>ob^%cRs8~n^mjjh%upIaGR7*hWARNm3!e-DQ(i}~8R|MJ!yoPVqjImFmC zPyeC3z2bx3t2Va|$HEO)wpSfof-l)${e8xBBv3cs>OF`3`Pkovu7IiiF(YEvjN0R3X zd-~XWvyZoqu+RG~Hc!_2!HR`1LNj>Xd|A`xYwAy0Q8#I8`ojZL zuWdpJac3#_3;$|Dvu5qagFByD z{FvBp-<{k1E$D)7ZRlQq$E8wdK1qvg+H1~vKu52#X7-tv^M3G1FLr;S@4~<*F!Aa9 zjVpTI9W6;X5u6+v)x<7!b-j{vQ3^P08oPvVwc-(`3A**(7-y-(@^q zXE!<8ljXJD$JrSn`4cwYKadspxOwf{626~HYW6a2a*q{MG`LZ2IM42jXm)B!2SZHu z0?Yro;^%7_124RrQhH1Ack=&)8F|wC`)}DkntNXJkVmS`m)c!&k7I9ntok^4`4T-| z;}vb(FP?Inn&d^D=9qr<=F95Gz1%^Ig#H_vh6M4y{%dsIO5)12)HTT|){9;T7hRS4 zJtgLP-VCPc(@YemdGqYFlbULN@ULcW!r7~bk4t$M3-2wydM11Q+-RYt>Fs@Ujl<4H zmhq__aw%%{sEg8OZEMh+)oHqvM7{P{FP_x z?j18zM%{l+8Hf5O#xU128VQFNTlnTG&uqJ2o*5f7Ywm_ieA7QZza#g4hV9aB;k_@H zmzrqE6btabzc6)zzL&t(t0os#Fa6v&d(YCzLNPg$#ZGN^`o4UkQC#E|j}kuF?*)?z z?r% zYo5QxjM;I9H!|n`{&Z$xtnevD-`&!Rr=D2yy@kuGHw0+bX zKWlNroX^v*T)exu#69xzx6FfzPtTS1Y>M=QTOAX+%4B1;?s2fm@uC<|dsmY`6Ll(PHiuJK^F^=L12DJ(J!` z&0w+j)G50?@2G6KB|}#%r?#$e7eCv%-ka9@dc!t~-dO&A&LYOgEE$V8FEqK(5I9L_ zuhUERMU#IUa!+}CD3sOwOlU@X^6{Ck7nXH5ecYh_EC2aja|WKzv$=L@?v@C#YK>I1 zPGw+lnZAiPbN+?PL0_wt*gN&Mvc7+3-Pa#pw&>3J{)RN0?&I4(C$p&)cS|0h`Nwo& z_3{9Vy-NC*GZ{Hl4Fv@5YQ3KDOsGoqC8MYe$Hl3k71ySJe)#LwhUA#0_O!YeV*BO0 zPo_%lc%ya0^p=sn!lO?MJasb`w_IwkI;hK6Bz3R0Xx0+$2o}-X8;)x;Z~yvz)wAUu zrAtc=m_(O|GxaV!RP`}ew93SF)??w#Q%*=b%bpDJao)ILdwa0HYN>7QQPYYk;c4;x z&CC)4i(YnqF6exC+~ldNg63I>)dNC_BB}s?+v78AAhmG|51bb)QZ#0+a7Vb zCC?Y1yI$jR`pd3vp|pg_YL7m6MHYPFN}96w)sLfhA3jw6C3$w&!lXy4K`MKUChl{4 zGRI_NaodywHd4|7XS?qR@|wIz&vdxlAueoxvNK3y;*n#FhgQZ-JO5y_vChMEohrNH zjXLScNly$exbkL9>h61V`0`?@B|iTbZ;)y`qM(?cxjv(+WTD#qQ>t9g1<%f(!D}d? zm!$Ra-g5=NA3HzJs;QnBc4FR<6CSd={QEgxi0|*2p|mVZ(EcI+hj|P58{|4%Sf(<( zc-7{B##@soNZt)gQ zai7`#@mk1Hm)4gL_ygn*bh2byeKm4(t88Y!)RFtsI7zO*J96RiC&G^!-3sUZ=(2np z8FhD0!tqC61sV(`a+%lqZRzTG8miVTlX;}_`uXJ?4X+dbOt{pdX*5|j`B9>gy z{;ldOVjiSbdvn#2^8Hr21#`2s_f5JK$kxfD>#ZMuRj6)>>Kno78>ZZkY%_QLxbCEV zyqe~PNg-LDS$qrHdN;N8>aAM%t2`7)4W zv4Bm%9cM<4)k@og7jQM&aLG6vaBZB~uxP$d<|LkfKEFK8ez;%epZMMG%jJ^?GXAv- zR&%hwoZ-eW zllk>_hwDqjX06)zKdN#QrPuxO-}{W zz1a=@nT>sWdMv%VD;bY(>DZ{zq%}qSg}b1LLSKjJ?~U6c=c{eH?tV={YK36_8&>nf z*~=#iU!C#!Q_fL|Ga}nqimv=oEB`XZ{K*>O`*KGnMNAjZk$Li7BxlPFuXjr_j<=j% ztMf*MyYEeE_|-3GcAQ`OW9#zymo68~J2UCp?GCo(y8D+LRPa4>MY1ndz+BX~`?rF+ zLg0+rU9T0kr!)8M`|rE>lHnY=T>*>#IV2y{etM>Ai@zu9$D^0BA9>w!kIp^%!7QvK zuVL+v%(JhLY@62c&(Ag4ciW`pm6>Z#vqo^|i1|NE5uJ8isc^}WhR8V=ta20PyjsKC zx0T((Hp|`BQoXb_;y!+8Ua1HmdT7$UcLxeREIw z+rQ;{dfWM@(`t92tB>neR$gRvT1AD7P5ix-O(S+Xuoa;P$m^xx#~T{LB~ zj3v)o``z~Z3|W)+EGibA;;eH@>&mz9%qynJa%Z-lJi2b9&(4b`+oN^z4mjPKvDII1 zN&HNg2}Yl~4znL<3#^-)B;k3YBF;qN(A=9FOD1n(iQM1PAt?3K*W_)VoBzdUx=(Bl ztur}zY}eh8r?=`~x5l(Mxy?MvpqKKF@m<~9*AhbhdlHV6?3#GrB60VGr#8vaU+oHx z|5p6Syo^J8x4tnWn~n0r(8(5MCsJmZsz*d*cN{ie7?*1pmU92V)re!S(=T@|jnvo_ zaq6C%q|xz1)oTO%7MI*(wib{#&Uh&*ToWc9wlVUs3FD)d#9bWk!irNAvfCI8y;m|b z-~V5;XVp>JG{avLPJXD*JuY$S$ziTDuV&7;dOcj|dacyC`??l2(F?t-({_t9++_95 zTgvdvL(y+S8_Qkor(#dCoF!!zHbvJ-{Ss80{^P6iW=F{u5Bs{5X%$VAU&SgZ-gzPZPom;5=Pv+eTXoByY~Cmj$mDDqV<{IKm&;hW`#S05VR zoLA(Qc-K_hAZVV;G6!yR#}>A%s*p8~hH9Qq0t_GKy-DQyC3e_GX^XsCSLNHgl_Bis zqq%zQPV3zIe4|S~`R9tcZmEv#^Xz5b+SE_^rOUZgc)dqYvA28tU8TBtGhBAxi)CMu z)Lc91xb~|3xqU_lmlj+qzmmhq-a6|==86jkXRQe{%rt*(|K{*MrKBeI=xtfj>og<` ztUu0?4|sAVwVgLMGX1vhtHmLF)&dVMpWZsh?r+YVqd7dC3z=iHI@= z_P5MQEFZt=g}jp5wOrAEb{X@L37NkcZnqr$_NvKyug-)L?Yb+Q#FhMv4%R!lNv_rW z`_DC->pkbJZ;w0_U%z6Ve`e;~xQk^cR$1~*6Im|5-zO^WYzEgn?=5Q&SUx!Qq_DFn z-dOKs{rMdx|7ErN#oq4S`oetiTSbd9=Dx=B6JEDEp0W*I>T~DRwn&BLwo0~{%ptEl zPRx1u!TQVb`(FkAc7A;%d?@BIWB5xIVfkw2B?>&HXJYbInqE$REn59;lS=E&Y2j5a zT0e7+F3vglz3;|qT_>IQJAbGzni%{w`9o&N(z<;tyorh?hZoJ4`Efjn?R3mF#p$zb zcU@Q%+}Jyv$HsO``%%$5Rl5c2)ER$iv-Ul@e4(mX=ePAShL5H8fAv;Mz3qRr?8d>q zIY%voxVdIlEOqZ*=f~YM=Zw{!Hw&uIi*w%a=1CRIwr_voz2|BQN6mSc8_nCddGDII zaZ85L^5h;-o(IO#!7EqJ6OYloU)l$zMyF zma1*Y-O}w{mca3DO$XYY<*23Pmjcd%r!dKb-DSh<1e z@pVQA#;Nt>7+Jh3U;`Sb0c!@?V-SA1#Qc3OIlV_4e2>p=2KUB8DP%ozNA z7M+}QW~-Xi1=;GGO(9F!Kke%M{Ofw&-4kzq->phr%&NJ`iCMG#X71W^YVlWd?lazWe*TodMH@{PCwDeXV(~X$^sMEG&Gha|U3P1n8su&s z)R`nAT@%8#J8{L2z0t=x>e)A+JIT`jh4cNDhUP4j{PSX>20Dt%6CACaAGfA4#P9B| zF=XDiVBzZR>IKR@X`oQTAjPJh*iU&`dXdd-_ z`|sR$LnCz?=f98d9Q`Xi^R=aaO^ zUAZjtZo8mfX-b~0`%{6<3v;@U8f9!`x^~GkY*o&NOHTxyqYEYMzl*N!Xg#!iE33@q zvm1;*%Qj{++^`Awn5gm9N%!cnxw?mo?)vd~SCogoOZ>b2`w#1Rt^aQOtz)|V@>Z^P zgTWr@(&o6JIf2e~!8RqWhs}95pNmxs{FAF{@37>gYwVuMlIiV6{H!Zu1gcxh-r(bJkN^+rJ8z9+~gr_u$x7{ZGYzo`i%vcfI2+6fAb)vTsk} zs`(?@9zSR{J%;|G6&hO`~SplzNo+|~Z&*J~^ zF(Ig`#OP_PRiU_T8Mos6D1M(iTXVHlk6BOE-Tby?(m1>d4VF~=StqzYV7CBnCiD$cSrkQ_uHM1Ka`&;xpvdbOwDM*wl*it_K>|> zW~_Lw7^>br<>6ix-l}TzO(#}{3vc?ncp-0=_RYStKT{|9-?VXH>0su*-w|>BlE(=S zOMj<1rIR@Q>T=WmdEV~wR!}z1+WBRP&a_t-kFPS$y4qtpQRVA;wOOTh#&1)+xVQh` z)VXcawn^_B56-)v!96dr|B5b~-2x+r1+ky*Se1ouh!xV~7uH+vw{6xYt=yxU4|b?W zco%0CiO%Bc{Gk7K@e$Lc2P|bqXLsLv&)#8PHtW`omNR?iaNZWNTXVYN80kINuOobcocT7FL`@mQfZD+=v>JYAC|i^OX_Jlx7#yh>bUXT z(pVUlDLrlV6c=9pHO~*6Sn+LQ>(2@A?x~7>KGdj`sh;!Zd`FWxLnYV6$AQOO-a1)d z_IWOOYn^3(z^r{Q(+~g7%<7z8m8J6cGvlKRd=ln{HlIsRIn_Mw+27bu`@N2v@psRm z$}JggH*cmon;7(5JO9y=%^;0OXo_{foz|MROFh;PM0)Qux?dR3X(De09z% zfw$6<9oyxn#iy@*wdUv&`^@M%q2iSlZQ|<6?YEbkB(&sdBk=(afKx<4=rOuhfsb*BB?}C!7CfbFp*fdF=4f z%GKXqHj(2yTMzTy&xP6?-^F%V^f>L1%FvNmb7{_!$UDlHUw(+6@Y1KzcBA*KRNr%2 zIWZr$ZrkdaU7j+#u1x6L*=>&=TPYM4ie9Vptqi_7bCtY}qZI4ch#&thUr?8DK70MR z@-l0a%EK4s3>RNgoVZhBn&!-(D;w{{(149#|QNnsUH7(c|+RC@^9PT zuPbn7|D|HXbZ5s|7M+BrE=H?u++Rht{^azcL?vlc-(eDH5N4E%s8wl>NpoFW5b>o_fdCPc2cX!x!#;7kgT(I6GY*Uw|$#ac)Q#lVmSorAeci%I2 z`t$p$?Q&K`_@8%fWIHP!q_E6>t@XLTJrRd3H(MK7CNE#`kx8Mwp5u4A)S|C3&+~q1 z>?_PjDY_XRVb7Mh-qgEa@l91vq_gtj)4QT0?l#*i9Zi3*_tTO2kCxhR=M!ze|2ksV zwO=__M;|Y3WDAS>^Jy1fzS8X2@~||~yd5>2n_{H`6J+ZiZc1D<4ZV2pOBz|o-zlAQ(ql#T73P$U{#m5)zTA+VX<6y}y)>C)v zxw>@!Cj`ccvmS3;^e{J!Wy0?}^_O^g>Ix>**edKkr>=WLZTey54s-3lYpg!TI?i8o z{=4VFXG>TGZxwHGz4lRSXGE~j2ir#zw=aD$bE)a+``4D5woYS`m!1$BwWsT)<$?Qq z)@o0=`)S*;ljee~yFPnY)a{a#%&V5&yo2xU6q-^}X_pK*QaJ zhhLm9Et=k;AzwUY@7l#BQnH@BVauv2&Oa9|m4BH(lXYXCn0Q`#WIbPHJ`YTE-PPBH*J~r^h;sUQyRSj=Ca{zjyx(;@tiM5H>&1;<4i;!Rl^;BH;gM0@ z+jFA-Yq~?Lzlhx`3H+g8W--g-$@TR%r+OV{X$Ttz9owtAm7`Nn>d2AHyCU*`M4#Cj zxy5(}|Bfs7wuRodn6RnDZ$n|j+9#^cvnTn_yWst7-tF4Jl&IrJ>%J_LIhkA-{B4<@ zS;c4HD`^2sSdKIo?|HXmiG;67knGkdmTC3;9wJeAr~bmWB-WV66(vj4U+LejKB+Tl z&AB6qQlEA_-x9c%|D7@W?8Vz2B~I}EQ6eq0{YC+gT(*XNvgvFcq5PW)XV*<}osqS8 zo5v%r0lw#r=oMwg#b+nskGyRP>q zU$|Yk=f;EmDyJ&@R-Q5q3$nYlX9iQ;cI~(TW5!S(=7%SaPUN)&`@Pb@9z*d_k7XC{XNHZ(4Ddb708B>8E^^20x()BJ)D`fl0ddv@>h zH}6lJ{2^L?-+aEy;uoC8A7=}4e|0=!QGG^#)9ZhGBvnM-z75>AaO>;%>jyTyId<&g zjsEMO`GV#qE^O6F*~^y{ciZ`PhkwTsM=rtM-bue#N<0;Le7|tncBS3o@$FweG;9_; z^!DcFj>)qxN1fTVrtd}ioX&+@;jwTt*mYS~P4mh2Bv{MI%1tS(=wkx*N_(!Y;vUU^y1C1R6{YHp^w zet1??qqk>gj%f7i*^)I}hqifc5o6WUE6poC>ilFy@Y;jpC}6_aL|41%9tRFK!7>U8=dPr8a9{>m)UDr zJH*|-8nC=!EWTo@mDIEAnA7$%s;{;k+dS=gZj#+b(+dxSdiSx++Fhoxrj2X+qE>x( zyQz!RO?TK;h^(4 z4)%vJ3de0)cK+WdtCFi)e>)eNa1>fTxR|@!_T%5{qE>!-TQ3N)Z)^G{Hk)BX%wFjN z?Z|jmqf7pm^O8R5o-F$Q^n=&^#{2u53fIeC+1UBxVBRCvM>`L_pUK;HcQ4PJiYZ0r zCBAKYS*AVCU%w^il(}-{uS~xmncGjeUx@j=CfXt)EwSUYHjk!GOXkCc`(LQ3?cp<9 zF-vZC$eCwdFP=JVEn!qkJ^1=!hT46n<4gT|T8}ILI$O=XpXuQKoWqF~yHtM`}am-$WhoTj`_rccvZ zSavy)H|6(SpQNZC?14E~vMsjlj`*u}?Yr5_-w#v6zJE~DFn)Tat!PbTd#`860FNemLE9!@JD8N8d*;U<_t)-!b#&@7$yFnew>)9m~FQ@>;^th*#Q%?_?ME z1XpR#iHfwl%yC}N;T?1Tw}mXdAEw;VJZK($dEVQkcbcBnPOV|79K2!N? zE_b}``rJR+L}SjurhVzo3_cr0@AF*cJlk0*8oK6+X<3w>?tRT|TdN;LKlsR#!&aX5 z_Ve*SL60l0D?iJ964q?E&f=3z)Z1sh8CzdUOLi7*3N`g9=+wWri`$ zb@-(nQf9VmzIfj#^hLO1!yCi0kJom2Z_m5ByF_W%mrwpX>(9Je_wvrtf2t+ZmrP43 zzcN?!(aOm(ww56~jIYgoz0z9S~N^{{bN%w!S;$w>4PEK~Br!Wr*Lbze2NYi*15eUYyzLz94i`Uwd5cJr+Kv z^ch@fUf<)&3lk=s;Qb@+G+Y1@*PCqGk!T)ts!17l|ejGmeCjVW-=8oCTVp{@luhjjmD zSZ_6@e!-g_Q!ck&=H!@nbn^KH zOWXF|*d(=dPsddaseK&B`5V||=_xhcO}bMJ3jSP``Tx-Dqx_Q} z+$lAyjkrGc+x7m~Z29jDuY}fwDQC)lOmF%0@_O8Z^fh;Qr3zfz0wtMuUaaynn>3ks zn*KxgB>C9z*nC@w?*?7Tb!)cS6Ds8=25Y=sKEO(T}t}<4ya^jb?s8W9rnk-cV^E2OWpe$ z^4I*dX5oEh`1{XxJ?r+~2TiA^&23)4rd3>v_q_AJ=099PpQf2UUi<%9>eS5M4{_1$ z(}O4EADLNNaj^9Cxr0})9a=p_Ymdj}pwz#Q+%l z&&8!3GT-NsA=qz5?>$P`V;K><# zjCSr&`p_J;BlexW`r=b^AAeTm%#d$8@~+6{q;govjOd$APhHxMnDnkV9;b3lYlCjh zfisJaooJU^`b}w0eX$aMxX;ZGN@0%|?=#e!7@0Q7sAI9-e8)R+S1%sR_+Pw+b;~=~ z6ZQh%Bs(9T{&h2Kj>pm;KE|70_It4?-wuVU;BfHJt+66y2XY2 zVKp7he9<4}_+qlP^&TH!iT)TZv*X;ifJ7w~uNe&opK<5#hi-1*6uPo9IMup;<@fWl zpEuV(3fbR0&t|H|{R5796~>D@t@i9&aip~JRfLVP{m#i1mCWZFz0Tdb_Ky4fWhL#S zKMvfU#JfhMrk!)s)z^nF`+PY1YQt0ofxSUaeRrB>TT1L{=M$>Tl9f-(KhqV z+UMV{O7!o&xHN|Amf;7_WBaR*0)6yi|V($%679nzi7*6f9FZ=v705z?d{GkDAe_>JbHUVS)Tj) z`%E{44;wW%wtaJUm(WdBbeVqE{FdCVhJ48%+bS2Sea0`Y z@8C1(9MzRIHv0CBuWQwRDKL8Ri|WajOHKXrR9GX4c6v+6=`0*BC~Lga?;zVEgok3mfP3%8!;}F`;+?Z!^-YUfq1o=%*q5o_ld zz`ut3cS@V`y7J$hkEGi~IeB;XvU2$bAuzhj$Y3! z|J%J*@ok3IkE@bm@#$Z;-`$Xq`#Epfdf~k*a_7I0@(aBC?Ru7)uA7nYC~4u*WljF;^ry@@9dOJ}CSn!$q(3KfLS61Cl)u)`-guq& z2J`eR)^F3@4o#L%)U-UY#c1*)*|^i%d-lDpk12P{V=XG$ThYM!-8XV-qw1@ks`cyB zE04;WxcpP!cQ@ns_s-?m|?AL{Mg{_V(PGDrXTD7BVp6v3YPQn~Xh4Jf)E-%}5b&=KGFZZv$ zWL*`^^LN`)ua#9(&*i8%_1-nF{r9g|c8c+(wR4?MU6KD}Shx7cHj$J&VMcsL4JJ$8 z$HZL=tomLb>K|=*LDZpb$CRQCn%&-8t=28Bas8Y;DZC*}WGd_XcW+PadbMBY^}-*U zv{tM+k^JSSt88ffpZb}pZZ*@YHBNu9xVge>cTD*Xvr{H&8}8d){k%5*@mc;5p4ulz z$}&HGO8&ViEA035#*dqreqXFh4$pjh{GM64{VAW;Ytu6`E}fpegTGt+vXsm`_xhT> zX;bGv$+>!X?dPji|CP5~O`E^BCV<_PJ4Q$OE~DZJKGS_4vZF=$%G5TUxxP}SWbNJW zQ**BHe7_mK*U_xHE2k_z>&}IL-WxW|ia5sqQaj~f`JxA}qeNr2vSs~F&w20fwJ6i_ zWQ%>Lo{XO6RsF;NHTN!e7iZDd&Aq?=;P3Y93mzpO4qhp6@wNI+4v~n%r2!5f%5Q{Z zZZewsqNzOmSh!lYZ;iIW;Vm=Te0TnT`d@WE^NHu@*M9o>bmEViyrowjnmn2OcmLDi z)|$5Mr=EWe`j8wL-M9+58_Lg&A9fg z{hEPEOsXi~A};;bN2?9E-c7!F$kO=iwj|qz636|LUe0>Hp8W~TYwvVzDV`W+vc^pM z&ZFg51!_C4{^2~8vuEC!_4cu6BUcIgR9@_Lf9@mR6%QI7A*icYzIA*UuCZAg&+c4}?K zH&%OYQL|R_xsSd4>Q^dDF^V$#ZcllV<#~+xzz3yG`_@g_nQ$O=@0Z4NZme6|AKrJU z{yn9?cI9IK{XAV;{Ipm9yBYcQ{JB#RhpOb54~JdqJ-uObdYsOA@u{bHf2iF|P%^uz zdn-j=z(2viA(`h&w#e4A>Z;STKTDgt0njv$L#Y{H!^i@ICH?y<;}eShv}1l$%j;zobVI8x^Hsan%4<0Ki$8e z$nL1G_qrgL?U-+S4a1Mp?K>oYM@7zVSQfOcc&X&Q9d9qntX`WUmB609wRoY-8fo|Y zMjCsW+?>AlS6pRU{`p9uAxAMG z?ZlHWkBc|=8Cgwjdo%xa=|zs>Yg7DujDN1Fd|hw*JZPO;>%R^z&9?A@Pl8Evrw8mi zF(-G^+JZ=)H4%&bn7Ya{v!>RsdbK9>a>r(o*|+^vqdR*o_k`&2ZrgOAztEBQWxQjo zMd);$r7~XcKO{`s$GI+WQkZhZymHO!3&L(UXDoZ|RAt=Dds4OCF;i%9c*o|ilNj#K z=5h31oAv#xp8YP%Ys(i(PMemuSNZapSN~#D<{r7xU+^F@zrl9%F%$OptIS{AT443f zx9P>n+x*cVjbl7)kGx*Me9iFt)uQg_DjeC0As^({( z$o0A%ZJU&tzC_>tKK<19DRqUv#q{4bZr{TGCbI7JGd{P^F59#ZEblnVfBM?1nM*Wp zcGlaeT-51E`2VNRZ$p1J|5nk}*85hcSC+ZY>@PaG=INu&hZjAcy(8vR+wwCLj-Sf+ zf349xZ&l#lgH!5iX6e5=HP_5n##`0t&qT9rw~oHky}Rm&=uY95=%qh2WsknUt@lsw z!!_fB(ciVqOQtLdU#)+u_r+qtz2!S^T)DXG>r%(hdynew*<{}AHDyooB~u^Qk6hEV zOPNg9>K>|y+n`j|_kX$Qg0tJ#CNS_#TX5>|G+CL#Q(Q7kapwzI^C%tyg zBiEiIwL6|9hEBL#`nV+4Vy@*hJ*)eAz6$BZOLhsl{BrkPlOcBAi~GdCYQ>JV-2cB> z=R3v7ZhX!C)aB-Tul}m9q2_ZVcC{|^+{ZX?+SKy7fzN$6G7wee%-U$CEE7; zW~nFJ(wFQKK5MpkiO~5a9q}FWIUmb(TD{F^-^;LN-N68dO&PKq?Pna3EmZVM|NCfJ z(z6qvR&-ttoH#RPV(#pQ=dOqCbB(6h{dl9pyx#a@RN2FKrL!-DTX&VF3IAZ8t~`l( z;vTt;itna|MxOb1e)_3!)uU3=b2#&JA6?UV^?_T?e9NQ0t3j5K zmsh`jNT2*sJ5y+9*tR!`A%=Q@^G)lfJ(7<+!@}Vnlw$a19~aAJUftBR zcP6RnZFjD#ripC&d-;>aZ*{KK$807nSs|{{+4khBrq1uBikTOWeD2+Qn5+A;bmhm4 zE8_ib$Lh0F&qv-^a(lyz*PJyc*R7by%i7Ph=x4UZ7gIK|m6lsyExn~Q@%pJSbpvg= zUB1~}D*ZcVeg4=V^jUi9S&PaW=|ZmF9|FaX)P^Xvem=C_G4$ca^-nKYUX8YiKlE2_ zXPe{ws_v_*0TmlI&AK~7LhN|H#A)SoS(7)Vbf+B_=`iedezf4(zm2C`=B+wW67_Os zZf>jhpMRP;dt0Pdgw9pUo^*0s&F%G9il&BrFmIf^?djr|Vmg;2e>AlO+azmTXi3XS zopjafzTk_Tw;$Mpd3CnAeYd$}UGrhjluO2jH=ANU^1RlNR{vyU2 z|1#*s)Wa@>LI60(Rgz;7WCxz+JFAsg)@$}>mliO{r-5Z7H+jJ>KSUQER z=6KJ;egC4~<-7ckIQEtl%?h(O`}XeUzB=FhBk7@rI&&^fx@s}=>LK=>b;+?8T|Y1C z7WtURnUE4bb@AI6y`{p}HoDJ0bXQkzsqy+O|ATKBCqAvH`8559Qy)L~{^SnPq()vB z$@FQ@oT?WszJ6e3++O{M*Vq4=TguMg!@B11`uL5(oy&z1x8xt4ojR3IMzCbs!#D*& zxx$yVFW!GzYQ_EQT~OxY!%KfI|Ln4G@5Q#mE+OBKuC!F+6R$k&%eL+OC&{~egsp2e z_TAGw?0WyHn)8`U25fyy_(A1GF{;@0VXI-Y%K+ux6E}_vWb# zQLfuw=C(=*P7aERTdEy>ZqK)hnq8rX4;LFIsq-%45HDy6Sk2MTlU@@3)KVmFOUKK2 zMTQmbC*P(yE!?tqx$TWhf!jp;H|huN-t|Q(d10&(d%XU^56>#S_c;7YF3Qf)ZcOa% z*_h4QAI0q}CG9_J$??=B2jY#@Z~tvhU9((3d)EoU*p%>wk2=1Zf~R%uwEeeO1mN;L^{d&usFX`&KhZC(o{{Hgegzk^p%!(AN zx_EiHoq@0SPn7tzyX@F8t}n;;Cgn|?#{1a+ouu5$^}U`ytBOKvyyax{!UX({tNpCw zn|5B(@Tg+<*L9HI|E=NXf`!-iePDPz`+~ti3(0*=$6GY#g|#r>n(^aNC~sNg)?IZ{ zdR0MU4C0#RG#U;~Dtvc!@|JKc2UzfR0UFpWN zPtEO6u7LWVAG2=1>)$+Wc3pi=xxv%AXAhiOneN=|y87wNRI#6*vhGFo?3EE*dL04W@aSQbMgbKarZF`y!rk&Zd^(o^7rS!$(|0U$k>izq(_}nH*;ZmdDx0UW)H-EJzGg;ys z+s^FMw@Pyl++L=|yKz;|@>OsChlD-l?VP7EuQKNShU-ZwwM%u@JHFrD_QABOQu_Av z=W=h>X|W=?qT$3URyew_dveR%eAcmvpLUdb*z`^USjc#<=Z;j6>E;ZJuM}v z-Lc<8#ZK|4sD8jK=5tkc?`y;S>(h6C`FHw(27ICs`v{qk?}g zvy*#he{znE;XTvBeJAJrm~EG`Uhl!SD-GI*(hGmctl{5dBt zxzi)3&sI-T@@4=1t;))_N0m1oU!VDJ?L8SyIaNLNIp3LGc;lCp%eq}24-?rbotn5IXSswRq zhpd`b{#c!zNvE1GW-ReucUn8{d-lFpK3P{q{$J7j_j=in-&qW9&)*--QkR<+c3_!eoao^C$zwD1*Q+7dJm#x_;sG8CyN{YHw9tzqRs*h5xTe{nzCt z1`YYKX$qzVzG(*pC04}r>HT?gKI6x3v27FH?P-;&ndH2a^=jq!^M*f`tWIsc^MPNw z;6_-@6prKWrm{O)?1V2HXMO2Skv~|U_+?32^hwSOXC-|P{`T#>^gr@hQ{q3ySAP%J z+$~>!>r&h%E7tDYKYljUn4k5smp&XZkeS8I zzij^BQu&^g1suVjb>wF;Oc@p=IdWr z(82z*y;5P`#|QJjgz2S;s2<~s5dS9X&*sx}Yjxr~lLsMXBD)>8H{VOpI4BhO=d;c0 z8wHyZ;tkaqUe7U}wc^fUuY^Zi?bRg+YI;|pt~gE!*jvbl=X3I?J8wFR(JN)>YO}O)lxYaYjT;nN)#e=|4Mx zxUdLQ85!Q$FEqk>9$nt{=yb&G(*38eH_zU^JbvC>J^}6j>x2(ptUVf~d*AqT%07>q zH`Y`Naolrne%jgfCgE(#XA|zO6`b?)uDL#4f9AT&)5a=Z|Bq%Jx<^;9KV8Rl=l-Kh zvnLuPp1tkyS@HDC4Z7!l$@ctTb1m>g=-e9@oZ9bpeCJ>HS=fr__QAb}CDc}L^k1T0 zm;PN;UeMd6xs*F^{yXh^i*KJWUVDDUl61Dr)~YG3JBkwKm3XdLvFpobi$}bSrbkZI zJD7_K-bIsLeKgI%Lo zSlr3#bCdTz5Lnj#H0PFizzt1bgXcUO4b?Yi3f$@n-KO+o^1I(Jm^{Pd_erz5afLje zX*l(%d;H?1E3GfS+{r$NH~VE;yX0|3C z*UR6fnks*p+}rNj9M1Cos@mcY{ULi6WXEg$cxT;y;NQcz%&Dq2N&hYf$joSD&olfQ z7Z$Xd`%Cz`15fIBJ&)X|-sly3Ec3?H#0?*oTnyXv@IPbLM30%$ZVV01-mSIVHJ7h` zt%%EY_MGhz?6K7=pzY`*m(z<)gH{V@IGL(W3Ru{{CBdA<&iP<5pU>hJ{h2#{9$@d9 zZ6SN+;S!EZPL*p|U0ogCvY3Y~`<}gOb3MpZV0m$uCXbAl75=PPpUzPq?( zWk#uqvsk>+>Cm#umU;eZHaAYK7W&%bpR((kUiyojSIqD6FI~dmAQ`<~a`%@LwhZgv zd%ZapUY=-PSIl3Q{LnU&r9L$Dfe}|uF+;9KVDAHg6xI-9+3UwbtY5D<7~!)+_?Xjk zrt1n?(!Ff`az_8Bt~8^Q zeGWs-=f(fcdyed#zbZLG_@&B&Pio5@zu!*%G}Gbig4yY1kMdu==f9cS>=*f^okR0k z(z@j}GMagghi)W1e6;ZRn>V+lSkmm6nm>I{C{N)0X4iCXTlmEK&66+mTB?v+;pqh>op@eOGl?lhfhJ2Bp@sj?Ca?Hh8c3 zQ1FlFucbTco&R+HeeK`ERQ{xO#`L6G8BvyAPv?7+`8coGO%M3ZE`3xmrhM;$y>L#*{~M!w>o&vwk37kAUlNcDv{f3Y~{{1)d2srNtV=>Gf?(eJob>9yq2 z!zH8<|zze>e{|9z9>0yrb5jO`Kc7 z^~G+Pjpt=f{k?m);_vsfcUJ{$4p_Wicy4LWVwv}Wef4+F3W{VcS-wB(!W*q0hnDoV z`6s+tufeJ!q@i*{P=>5BNdA@M8c-f8ZlVmE)po^h+WcBJS= zTiT?mMFp>y#a!cYuUT<()28nXUk?2_vBKgO^M~h+Db`87Z5M6lYG1n1)g14??^RK4 z(?gfX{TgRyoKC->Rd~ZAH2Vvui-+8|&+%1{Q>yHEXYWxCck4g5q$s(&|5zpnt0cGm zx0`5^CNclC4?~Q%#PZp9UOCENbP-!!`0SM6r*9_rWY-^m#yaJUjy1WM8lMXEcFT61ST0aqW$BRPEPnH`Rn08l=O(W{8XXpXb;B&X=;njgSLaT>=1_g& zeD1RIhQ%wa-t1oYrY7`lg!iIvdpZ7o-np@=D14jZ^xD_%F8NI|#r5vi&$!}`$Da#7 zSQK~At4MT)_T(}-yZtjy$9+xaU=_Z0$XBEIU&@6y9&LAK>-wa7FXE{DAoXBk=~m^M zH~P=zU%c6RlJnl|(_9P7EOImUF^TVtshJab>!1m54*#!%hJh;t!}qgANblqQF)J@8 zJWfsADv{5Dlb@e0rNC6FS+v;m-(H8E8w_+FKU; zxeu6rn6P?&Om&X1U$8!DX%@St+qdgBf(aK+$SyhZX+z;7&kKK|Hom#t@g?!z+vndI zuB+FryZ&71|McP)|H|b&vbI5+ul+9&vL1Djt=IHDaxGnoQwfvm- zjskW4V{hUFuPRiuK6#^g__ef%t(^zk`>y8A@#mF4CVSoaRLJ^9;X?Sv{9u{xpA+^a z*JW+`?N=JUe{b+cvvp>Aa}VC#R5pIYlAT;^uAr+752-T&C{)sm8mrdv@o!8wKh=xNZov1cx0DR{x)V^~wJ? z=blXP+ZFu7w|%1I;eY3@6!qw`Zan$K{mzNDZ>#LDh#zsAwA_sQwb#!NevUZ-HJNoa zD|>zGg5UnBEN85)X?*l2a<95YOt?^t^?Q#)U$yUGuwaNlp6gX}|97``Mv$C*)W6?T?Ed{CJyjYi_@}W?R^eBo)cOpK`j|w>^58 zbFfBGN<}vR^;|do-^wB~@lR*uM*p#DwH5j3c&cr4_H*rj@A&4u4(D|L_QGe^{~flB zd!K)Ek+7Dzze?o#yZ&|ND@s#7H2-%~&^Y$atYG=X{I@|je*JD+EYv))Cc|d$gyRRJ z@-DFGHTOAg*Ezq^c8;F(xob=(mFs;=R$uJ>W&2*~o4l#>Ft8sDGh_P3XSv(m;#6<<^~#%9i(9pVdrjk#3pcyF=ILox)>+)H zR?k__{qeYb+wr;ybHY~g+!a{1`-Yo{Wy!fY#d6!%sudo-?kQxg@T>ZU#v7*F*6Ih} z?Xzu{5%Q93J$qnVY`mOAtel1pKaZw9KaURo42#M4qFL99=WO5SxbUg}pQ%o#^Z#kL zPFw#|yLFoU&v3o4yK63LHGcN+KVi+DdG3_upHo?quP%pso^YOaF0j>H=1JQAdCuZ% zkNq%OxZ+K{+~2qrPo!kKCjC02Bzw#%e39=rzUj4AzK3oYoj<#8PVeEHu}g*aJa^8O zD=XMmu(WUbtaZCTzRJ0sb985AW$1&(PX}1;J^dGI5pe#TTiR3p%_ncn^R&qhU2*c! zr(aPg5}&v;7IAWJU=f_QG5o}fpSQNl9&0>1XYHNliAr*xWa8GhpREhi+$7l@Q`g$# zC|YA0vBW{-W817Az5e_sX(gE}Q%_&(P|0!+op;fb)xhn|rA_yCc(0j#@amk0FW;{|I7{d16SIZ!rgv}l zJ6t~&xkqbyP^iI+#7{al^P}7rGS-{@w=?>CS*d?&5$$^Iv6@14Cj zr#1G5NjJZp&y5Qey>sJZ=Gm?}BX)G>s@+Y!j8!^jvzV^M9()|8yR+%|+Nuv+)6B)g zb8{BV4n6;Uxax3_mR+~#msv$Q6?=9^Xy$3Xjnh4L;KHxX zk9J1yJYQn;IexFR;GHkpEYrk1X5M&PSI55gpwN@_yGQ@75tcJD&R^t_r#La;&Xt7o z{;wvV2|JPcvdK% za@R!LocqRw=aM5Q%-peWf-Iwy>pcG`-(`~~R&X0%>)5mFHRHsICGu*b$L#w2Hhtnb zIwi5F*Xr<dEVFP+}q0mt^Xtv(yx zR9bzbctdgRbtS9J-J;e%4&*vG>uNun{`vczW2He&*CwSN^`7q1l)N68k_;V15~Yqf5XKe1|Ry#B_Y@?C!(SKMix za5Zo2rX`UAWLF)b=v zzjiKu%y}!~w@;xE@A1Rwv5MMk3zB|zwEZuRsyTJc|26l=yCpxk)B{Vq+Mk`euw#~! z$sUQG6L-RyZM?fT9}i$p`1kGey$WxsI@e_%AMD%rhfVJAiy247R&Jeo<(a;$qUC4q z=$L;-uG=~r{n$7s&kB00q#$^aRG8Hbo?Dmi)X3q43N{zq&I^4f;;WA^1!<#vRS6m**{R&KQw7o2Mwt}5u*Ry*T zvd?Onj8^}UKeJBe>zkKVelk;I?5P55+Dxq98cRf*mWJY8#p zyEk13&<&l!suOfk@PR<@yc5Bv8P_?i`_L1)>g|P*ovaS)#^vDVN{`eN+8m%U!ec@ORTbw8-jyb$y@ zAok3%n#znqw?q4jR(>mzEoQnXa@zU&+NwRTCG!J{{s|T>`WvF`6S(zg`EFM;h>}Ufg4U-FBfy z*q`TN45{X9-5;1V_+Ot`*$|Q)DS17^$kbbRx8Wq4x~dTM|Lo##Rg#rn#kusi&DbqC zH=)nes#0Dryy@WSbn_q?{Ura$FCDK7U#7D!cRkEuG|RVQVr_`nzL|f&sM#laZ$1Ai ziNA1t)kh_T7Yo)gtes*s@2lgtJf+w3OE-EwxIML1J5bYqPlvu0UrV=bF}u#ClD&3Y zCSIF&qf#$5RqRe{oa4{4bt}Iu=v&JYq-z$ym28%~Ytq~9-$oZERwp||?r%Ku%eB^y zvrTz|CQq#M^vnXYhbNA|thv~8In#IMIrZS>n-6LEZvSvK*ZI6axcj1rS`~LACO30e zDe;H;ul!%6dn=fK*=##uJGVNYc-?freZ21v*KM19nAh{pqmN4-O}n4(`9N&0O^kP; zw9SjNlV3gUXe&6(P!_I~y)EvYs&tFX7FRyWnGfHc5{u9a*WX?wE*K~NJJ{^3g%7iW zT&J3i-6Re}Um?bshpRpR|IhbwKK#Wfisi@KhR#(}Bx5Vv#FDP*#dOSA?IIs7b1Qq! zw1&24%99$mDRO44yMA2jPQ#mm3sYWNKMH-k;bhf=315HpTsS7RPbDj8n#-*i)2Q8{ z=ikjeH=QNz@~f#i@^_jo-tN)hJ;nEAgQw)H*20}`PcN&@xmun$;mn8QmP$L8T|IpF z%Cs<{;G?TwJYG7}sl4mP9M|I?KdgCo?Dp$dau3%WK4HhdY~ufU2RQzGRk1vC>Uf{7 zzq8eo?Cp-qad+moRf)+T?!M7{CsBPBXDPS#cO#dK`f|bQS7nbQeMK6l@qPQ7DY-{b zYEx+DnL_PJ{}zdH2eRAR^|C&z`I@^TE}?vnIK!eG4S~YQOC`}qnuJ7q7{jh;HsxtB zdfNH2X#Nc8`19tK;$xR)-;Z|6R<$Y`Y!~~w6x?dQ%KV(U;WC%!@xE=o%mV5yS)WZC z4V}_Cc1a${+gIMr!Iimq!34AWHZ{@p-bNZvUT>e^ymw(xt8S8t)ww#qAJTSq905Wb zqM1Ao(88kV^{9;3Hl%Ft3K?u+v$zK!i?sLQ$3g7Y`XEETk7B3 zsSFR!x-@*wD_M|#?R&qZN!O?1mD84PUgh=5y|gaN{#uxZQtrKeQPEX(f8G~Z|9sxK z&)PEj_{m}~^Rr>4{I9o1{NP!-GRvxa`o^WVb{iaVI1?C@Yny(5-b^hY-s+Z$6}Jy} zZ9OD!_Vw>Ro;$~P$4Z21?aZ|ny8Ueh`}VcH`L}EKk@OvCC^%L6tmPV3EgI{PbPR^@GeVfD7E#|Kycc^PUr z_e-LxRr8(#(EyKr#oUUkE=zc&m#ggjY`%QKhh--&O7A%J_-pRLjkSebXDbrdU*FEf zJ-0AvVQBD_=oRfhzwbLJ>YOVaqH>@_JD|jasbbH>muoM+T)u4K)TX5?Hg9_I!=+z4 zsJ5%=*W8|v`5n)%@d~8>T6bL}>cxG@PmGCur{~SjxuEgx(&L@exDDNm`2UBj`fKH^ zHa+U{O#8(vI8QuoyF5E?9^+=+tIvv;zfyPh{nqi>;YGv6r#CNh$*!5xW@o8%Sz1Zd z_r<=w-y&?n7YpQFS5HvqIdW@X8;^nYQrZW~i*{t^IYs!%}m$|%p=0=svAMK15 znYu#$-KFKg^SQ zYMa)!XWce==6=ygwW?Y3(H3tBgTz>ae!M2(5 zkv)1F@2Rt%3VJ)gXH79z3HRNU=~rekg&%7^UbA>x!k_a+@3zmEO89=SJ?VI!-s3jm zV<*b|9VZ=o)cqhYrbPMOG2_WXMSuSLJ+jIScpAZJ>&xOc?aDkJkzdymz77U~&Q@o!o<~reN8?f?--CrT6$)U*$Hu#GR3i7`Vbl559Xqk|*c$tKU?jGrb+kb>5 z3(vpX;QK@EVQtFx^$gV}#gm$Jv^cG_`P-S(|0vAp{BW>1o$1Ew=4$Sscc&j5k-QGG&h3&^h4RfWXYeP$7r&<=(schn1^fo8ubY9cCN!7K*cOQ#1 zT`v?fJ-Vcy%u3o=x3Ye|IvEdH5>RFUiXJi(Woh)@s2d_bpTMrM-Vh zm2I)o*^_T3WhF0Iz#n6=;r-me>y|6ztqo@``gG9HM4*gS#_Q$k90R-bD|J2Ti<(w= zJsc~(6Q2E8e1E|E+&COL^(7)xS4hNSVT3U8CXrEi>;*<{eK?BcUA)r_|Ix zP5;*Ylv(OCQ?8xA}^^<>XycjTh`eS8Q0b<{^?uMjdS)~wjs)Vz8m6mBz}F@_6W^t%&h#!t9#!4%jv~` zZ)|?bbeOGrhgL+_3ag`ymUoXlV$G=zywh)PoN+XCl@;r;KY02|TO0>0g-F@}O6Xw#=z8)jP~`YC_S5-*I7n3+DeiDQeXfl>4#Z z|BsJ%0=d*<=bb29Hos?|`klZ}-R}<_;9GIF>F3VXHQJef`vSbu)V;EdQomHZ)^A>X zq210THm59R`NS0>Ijjzce@}~A)VRfd{kb^P(wM_bX3O5~wqA14dEu&1;Y(7p)R&k_ zg`M@fEy|m`J?2QPiS_x6@X+~BdCX27yzz_o#)DH8)7WHZBpp6%^i*}pzEC;wRhe!F zzy42aX1dei^Hc0pvFul^H;dLtzN@IUHVQ>7wPfR8n z6|$ZwF-K~pgi8)GT>Cuf(u*fPKaGRtYCm?q`QX#-l`lf1d~2fJ7Dq0dlIt~PuW@jl z;J&w2FR~|_-RiLOd$1>NLtvJUvf;+ZZ!XPw(Nbs~E*-vBaxX)iuTFW1?mtJa%Tk=r zmFK_Pa^M`-ZI3jA<~aV=61P3`!UA?QJUD(-toK&NO4pZjPuH)Ezb&-w@Z+;9TIFRM zlY{?E`tYKxkm<;Aqnl6t5{->!Wk^Q#A7Bb%Z%kTd+EK)^?+%wnzxSTS6CZbd*iyDp zX6-}&kQTp-`n&9eSkHBMIYwv9I5zvi&5O*k_onW14B$&T9T&17=S+&W`hkVN`O1B# z_Ukd{v~=~pnKy3Oyi=S-WH@p1mlGdy1v7AXjxG~nH0pl6cD8XNfk)LX|4OOCK}PQp@-7BA*xo$g8f zq`f2P?f02E_bZyyo>kV|T7IeCKuL^0it}*LoK*{!-(M4cA$b44H;yaRziDp?)iYz+ zyu^t4mB1Rk%j;*Yi2t}DPT0i6|4RJsq{e^SUFRP8`@Qo}>ZD7@C%!qgOExv!gE!`C zd{(;i##<}jZEBI3s<&cIXZFmCGc@^3JaT53+qtbWJ$8Io?l*o!Y^FF#U#yno|{lkcTXPR^2hC(k@o3w-`>u5p7vq3f&6=j-Nsuc#Nyow+t_m;K5c@@s87znQ!G zrq*3<>iGOxa)QChn=++ee_a-L(egVN`QS%NWYoop(v5nA zZ;gO~j!2xyHs70{PaSyk;(Q*{D!+eIZZIuw>$X)^(RecHNk?((^y@-rK9%pfk^Z{D z=tKIkU%#tk-_-t^C=m88s{KfBuaze2Ze`I@!RJ~LU6Azu%ynMZO3hZPMy#^E7ynF|>r7;I6W^*0?iO}y zEB#)cum5$r)#Q@LyU87#%DRlj{b$1Y)AxxO##(>+`Br0@H`kk%3C}LKG*1!<6nPM} z>$v8tFNe7LMG|M|YcuijPxiT3B(1mZ)Tw~Uj2-eu3tp@3og-H!czx&L1yMVqbJWVd zR5k3}W*gQS*qn9yVvfYw4V4Ruq^~yiF#TTSt~s++Ro`@D`g(U)#aD||o4%Obi;Pr0 zYBSAH>yB`@LJRbTwLIOe*3s7R|scki;bEMI5; z5~>YToPOB0ed8j}eayF~>@8evmN=O|WvXV{^IhgQoY&3Yc5$M~as8`#MjNLEO_83o zHCFn(&Qxh-(YG5SI;Q1#f82Gcv_7VD>f{MmRi2tVWnFG}`l`XCvgd>A_X~F(E(v^F zAY^dt>FX)2B}YVdcRWA-|Hf~SN)6=CqOqz^DC;i@eCrYnP zwxMB;sbQwfv7-~73npbPE_}DLY)T+d#Jg?;6LdjMsrzLxj z?Ax#X^23slYR74Jd?O^&TeB@U+JFBf+oo^8!BQRd^^n;5lj$qk*Pp3!Uuqtg+<%=X z)!*-O)+E#ZGfJ1-i^>AFl^qS4dv|e)@}8R9us4h+Ie#}#EUfIFywFif^5zA|41^fzSjc1c#VmT1NALTl0T9oSH+e&WM?=E)s zEyygK-SN@9+VB2bbFHUkk*f@LF16`5sbZV*#p`I@>zxwh2?{Yu1p4_wc(fnt*=iYODXIXox!r@$*_|dPM7OPF1dL(d;TlJqUdal*Y9~9ee zz0t7>64^iThV=pa(1w*pN|$fTRyS4MIP^vP#={%j`D3*_S!GI<8G=eSq%8S)(l+D$RYskfi;V{y@0^M=dwu>%k;UvKM!Dh}cpWw!{pa;C zquMKP1M7c@@>xl*HB}M}j`!x|K4-m@S@wVHqb;|KgO*=2bo_1UcgEvw#pQ~|KdLvM z&YY&FyhulzQGK3PmO~=f^8$xnnSkXCTUwZZU0eM`wShTH^1v=HgOCiN3ycQGjbB*2 z?vuFJGN(A>m2yCSTf)IwYh|`iyv}LGJ8jK`7IS>*|8)IA9rvn+GWQ-E{_20?@9x$= zvs84~l`1Q;o9-JS`&MLyCEiH?j0zVqCopQ?3D ztNpt#h+DSw9^;$dB!)hlo`XuS0-J8Be~VMvv$v@3t74k&37d)ui{lk9JQuKxEzSIQ zfWb^OT4U;^#5>1DWT)IR6mx9+`8MbCZTZ%7U#d^YSWW(Epc2`5=7MCkLayVHh%mE4 zC9B-CeA|*9#44LFeg8W6nv2}T>P32YnK-+27`&EWj@@znbKrLKM_WELL^teO_}zNv z_0T=4AJ^VJbe{cb{n^;tjt;OJ*{v17Ni!+eYtqC(@r; zvu>P`;Qq96Z_?LQ3f2>ace_md7+7-7e)rZzu2DPVpKjn=FemAGO!*^D-znUjtBaR# zO;cKv7kr=Z+`O4zyq$B(bKMmtryQTt)v7xGlyp+a%&?co7cE<4ae@7(s$Z}|da2*t zi4NCRapy_Y7wS)3Gz@#HYLRMa9Z%|QeJL5g0=ADFmynP37wc;~&_8JK8D-%&VFEP`tFr{YN>7S<4jz9i5bDvpe?du1d+h@xj zFTT#_(v>g5GwZ7JJFB+Z$!aQ`!EDFax;v!h5>-merMB;W`lvCQeN%YXh08AG3X`uL zwpqcm_lrW{`F+2Xe2eeBD8J!;V{Psc+p?mGI!qktS2FfkeqP`s!&$!NbN=Rlkn?wn zT;*y4O%$UgHN0K)zVGSLK6v?R*HXQ#U!s#9M`oD3`?TS{tkS`GH1Jk#~X5!QM35+~;EVrzF6Jm6=$|I2ovR8BdOZMTG`KRU9!qeJ(m_gQLGIf&=!G`=*YRsN^xFaDeU=@$-H z-(M_Y5t=dOUAEGRBqi@-|16YzH&-8<{X%mGL(qA@)3Ym%tMv-JV#}Rl>+n{8?er_N z=NuPZy-H@+)6<_e&2|%dzm+#RLSlnn|7>45MVZ@@FRvVKNa@rn*~4|*uH;Gds#@+< zCmOVpPA^T6w%^ku_w6m4N$o+OlB(R(U3aP(Z3+E?og6~Z_zmlQc? z{Nwa}k$yO6@BM&KPHm~9nP*&TtprQweOg7>C$RsVslEY&be{6#NWz&nyY8Ehdjg4G|&l-#=> zCD&{Y@P5AeVdj&U`&VfhSUfbfvTI9x!kfpy@xy5P+5MLkVj|q!ZN;>%vixVeVyjS{ z;h(qYbZ7L`WrdB7uV-sqv08aK<#>0^i@=_{#xWm_46ns}=XkVT?4dhPL3OXA7T=SD z6&1EQ@AjpESQ33I+M1dGSEJ4Xkl@U2(>xhtox|aF;TJm~xci$S9g|6qlLITac-Jg9me)07kOVZZKnd+Rq;lJ21l`Z_m>qPC@ z#sLc#8rfB8g&baY-v9Amm9-}>H{Z}`XxbbvnIYDEqame)O?-Eq_}jZuU*@-dI8to> zxx01u(yqJ&wL2GYg*`Mpqm~&pXKlswJCAH!<{2$evpGeHZBTh5 zvG2-><&7?-Z;Y?cJ+goK+0wNV_KJQNLvHReHF?uDWtH^NIH^khrymm5gl_wCN5($m z$@B`72P?dH--;-ETYYdo_jjgK#d)22{(CYy+1!}oZg1EmuFEN|{#L#2+KDF)?yj|a z*siqiYTe-`=kB*;Th*R7lTV7=5}oHWS0m-_n@86o@;(Rq=50D&w9;oo!^s=loEGN$ zM*UQu^6`Gpv)0+6UflH_DI2q%Dlggc;Lf?$Sq(Pk+by<#zZkkhIq*T!+CN6F?hL== ze|&kX_uuB=p+)8Imhd?=hV7ewXY(PqI@L*XueQxT9PN>x;dtaGPsNg(JMZ6k^QV2? z(MpHy4C0>^pG;fiD7MzNC$M{A#EP2_3U@1?oBXfl%UQR(J{sILKcZQeL~k*QQu2Bn z^MSYO6W5!jA2Y44Cq8=8dePFDW;m&iKhYSd3Jr{&U13N6~-6-jhoe{_)T;?BRFbNn+- z?&5jzc!luNP~NlWYNIB;KI*dW`BtO0Y|oir*skWV3t7fro5UG9|K_*bHy`W1I(cu! z)awF5=?2luKcrn*f7H81e0`zZZj->r(zkBdT%A$&a7Ag-Ct)?&8FP+3ardb^u;lL3 z+1<%j_xzGinV$Urbv4h`-iXa+X>5MiHbuuD`~KHl>ROHDyuRCv@0PgDu;0%mCR88x z;>%i%_Isz!?0;yuz0vD_(~V5-pqJ|zbL|~g-B@rF-Jfg>R)}8ouct*N`^$&^b4?QvjdQ3g;uK5^bQD!D(pmOp4!<3cBjXvIK zvRQQR(DGd;+%E{6&+93cIUn2p=*PPXhj@|sEH+}dE=fK)ZIJW(sPn=OZ7DZ}8Yvzg z`EuVb`KRG|YWkkBJVoZEET4a*?|QWJn@z}6=A!+VW7;p?u5JI{$28~8ADeS5GhUY| zZd?29!MJzT9^B+4UdW4y1onofkb#d0PDk$JCAYQYV}(k?2sm zXmGA=wQ3J@Uqo}IobB_P9oH4=+x9Ipznn4OLo)Z+UT5AL>%3F=C7$?p>~*_cP*GbN z@k)5p+O_tsscS1ejz%r)XWqu|EmD0!fn9( z7p|-n+;5(3qW$8a-e2oY|5C)gRF1DNxWSzMLqG7eMc`?!_Qk7C#hA0cI{xZdvi0e$ z8^3%KJ^C#n%tUKdiA=@XmxE=>AFEyB^S|k~|2c3nV#RY;_HN&! z&z664S#;y`2gl;OS)ZmX%Q|6yXtjg%t$aocv0uk`PF5D5BPzSTl}#y8N-0~?=CHuU z^%1{BBn&d5))&r+t(g`6nst(U?EW8u3*>{8r*XgC-nr64gwyoW`~Q|f`=kPIT3()K z9TKVjYy;m-6T3}2qjPug{M_tWqE^tEwfEm;f!&jWYrYguRV?$|^DiJgY5oRB#^zT| z&x@I(D>y$eH9JWcif1I<)aW_*Tb+6Ld!Z@y5}ys`_?)a_5!7(n*JHm@OHrjwf5s;! zZH|=AvPU~lC$e*G@j1c&^%h5TZIDxjK>g*qpvN~g=YL79K9U;!!l?In^|{jiE3$J7 z_A0I{YBf5zmd(J-1T*5=Q2hX)AlG_x`oI60%KUlHEz^xhsk{s&`dCo~TrK zaL+c|L2H-3uvnGP<98?A@*cCmHzp4DfV75u_eZxc|H(B;xZ=i}9FsRyFCvU- zgJ7n{CZno5ISMAdLAmC$IsE_an61ZRA91odNtLU|t2?%B@fP){#j&}XtF4)KFR7Hd zxX9Dg#9e9*|Le~ScQ5ORT(u!6q`TwW9EoQeq(9{S-Xm0K-BqzCVv}vqZLyW90j-Nw z7j%m(7I!R}X2r(4^4*KjD-S(cwp;6dW4Oc_xJ9-C9h8o3pw0R*ejW(h3#w`e8m=Mcl}+)%J+PwLs-+>UzWPhCT4w3 zJYMO%waj-x5LcPVynR2P9awM6Ir(+Zl$&Ntj<+4ksa_QP`?XeV&XGVRL6zmUMn=;n zulU|=BEkCYIydjEnWv^o9-IDXPlV^%3#%K{ANrac-Rot3kM+s-i!AE32J8H0>9^Tr z)^-YieW{eSPC8`NdlrFI7(2 z7PPDF(shlyUYWv6)iv(=zZCPTog%mFi>O!Zly!?sn2+`S_~+~wk{%*z>MEW6;Oa}? zg&O}@D>j(x`KSEVJX2ZPe&MOqgX@nzL~g$M$+5xr-gbqft;`F5xYTmQPTuwS>yLA9 z)9(Ac57lgpouq5;tLpYeAhFYT=cBJTL@vinUKaF9YLc#g)0~tdMt0q(hdUQP6xZ0F zRBG5@dR2oA$I)&z9bwxc>9%ZON9?PpdDSliALx`Rnh8w!0P$dXrpgb_cDUqPu(HvZ=is z)}MaqJ~XS?bT~L+$87QXhOYf>N56*LnWC}JB6^$94_1?OtF_ObSlU)h`u^ak?UvNj zu{+YUH{VR&X>j9p<-H`k`W>fY^X{*bUG=c&O}NwFMU0Buc3MW?o50JxSB|mQw1wjf z6Q6mPebcgO2ExCU(zI3{KmV+t((Go&pZ>tQj>8qpJZ(>%PdlBwFl2?G_sg@TFPdle zcdWPXI}sx@QC>%5hd0lO(>FKGi>jKm{mD1q(C^Py*}h_XwfU+4rjUe-Q|GLYh&^z9 z%ASoGr_vU$W#hen`wDkX%lqDnzuZ$EDQs9bW7pKfH;a75);)d1lGJhia)5DV`-vag zXMSXw{kCuyT=@D-_PX*7rEFUJ~OwwNTpsl)$ZEipH0$_zZPdod|fS!$ZC zTyabyvYw&5WdDlK5h^|Xs=XC_tZWR&FD;IE?eZelGkNuoORIi4o&Or48}e|oWAnd6 zy|T;9724UIZOcD#T071a6&71>KjDROL5@jwd8x+7bw$D-*BNcTa9i_i@B;hz>{vCG zl9e|4C!fDt()n9^#e6UM4W`d>A8Gr1ef2nes$1Ek(zOj$-RD~Z_)9mczZVZ!|1e%lca(#w` z!loqYRdI{YC2w#jUCDavZ3x$b$FnVT^*b*Wv9B%oti1m}>vX=w%n!L&l`_fSy?$l! z>u*{tcJ{>Fh=VR&SJ8E*< zXFb(7nqpa{{drF6R>t^3fgdrp^EAb-ut>$ROkMi^5x3XZRqsT<^4TU$lUMmu-B4bj zZErM1?wwol9hO;9znZ0P&ow!n%E`cp6PqiX^+R3-ko{kXRj*Wo4RaY?9FAbPAw}dwU+9Z z@d@8$wDSJWSk0jF)ESqiIVNX%&wDB1dK)%~s@ZHY zU(&Gm^93`Tzj1+w|K*-CiAkDRz9jKzgn)y}c4bB7>&#sJK5KJzuT5K#@uB}!*Saky zOhYbu#9dT6aeCcT(N4i-&6WmEJ$*a*HZ;4feDmzF&Aiy{jk^VRTvJ-S(s@dT&h+;D z6L&XnD@>Yxu7^dTzEZl@#_Ag@*HKQ1$o{2DUr(^Uk=WYn=X}|$PReh4$fm7-3s?Ak z>by6`2-j*oX?Dzuk+^7-OS4^GG`Ak_s;mooR+%9Ec!|Ei@rUb^#=A)oXq=#PqrCN?`I5|_(9{)_tJmbF*!$* z3f0a%$d$8O?t7x6?Z}>!({D|&m?W-p?xXbO0?jL{1>c4K=;Hb`kJnE)BY~|~#_Z6% zd*_zNem(VTQjoRWgU-#90{O(3t`C@{v)IaTz1@xSqHX&wmltizUwSf9RqeU=j5$(^ zvx?#t9j&x*WbiZzTiE-h4S2thXYi{zQP;8}47lp1(tX9qC(pb#?ih+7I4YE({(mkDmop+?;;<$DEJxpRad6 zRNbE-9xE`rxxPF)DelkjeX3>MlZp$Hg{tF=7;n#B=P-5Mb3N_#1>DDee2f3mAY?7D zB)@cJ&DTFUVxImjza2E&E-Vv2rgTxgdWX)uh#mfg{j$ROeHUj7O}fCs=6%uB<@f{r z9Z7mx-@NW8t?$Tr?Xt1-(Ra3w)y+TlhW&}tt}Fju zu=?LSxueMmCU=})zx&s1Y@({d%AK;4b-GU*m*S)VN6pmMeO4;GMTL2_eHv^T5m5}G^u>{2I>EI zuV<+?tdaStB(yKOWwGg`SDUBUOq1E^J^6$7s;e{Pf6uwSd~)NSpBwofPT!~c$fR{v ziC+1Uo6GK8vhZ6i)AQ{435|~Li%hTN%$?nv?NEB{&x@9gFXRp!U6&)^wQJdm$vZ_A zZIl)NY%mZ%WZd7~{lIhMk0~Eo+Tz65zBzX`YvI?amK!^5Ufk9+k+b`|?$_fJb8Zya z^Y^>f32NOJj?ewERYU!n{lXuUXCGd7@$&{9n>umvweqS*SJvFPYZ>G^`^uW4505+L zRfChREPWIe;y(FQu>1e%IkS>ZOf0jzT_H}n8@GwlCn(*!=cqwd)`<%5YQ(mN%c9*WIdAug$ZO?V);{nDW^`0spj7&>CyhTYtqsF(8VPeTr ztBYFi)#t7dzI3x!+I&&?I(FZS4;n8^C+fN!znv(#BjP5XZ2!w@AK?hTUe9x35hlNC z*L7Szrzb4$y5WQ5K8;8Je#SQZzWGwFStz&VYk@j*s@j)F_KkT0k4&G+O^at@=lFSO z*Q`@-+Ir%)F$a~jl=8%8Y#?J*-to`x zPTKsphHw2X(d+ker9uk=>cSJ>3zw~ocHVvP^x*`RcUe2COn$#*{AyNrOlo(}zNLCU zzZqvuz0Di;ZT60N@BY8|#&cF|30Jjzf6V*<|4HxoeplH@Xj;BKw0(Wu{OLAQ1&3Dz zt3`FJIeN40iG+N;NgbQV-lD9>UDLe?D{LE&&JU()n6{cEjRIX zR7-2C<)7*mbxA9ZzOdN)BY4k`&5NUdynC^tZ2vLgxgAT}J_X&rDeJZJ!J&Z7g_9Ov z+xNqG>Oc3Z;0nKR$Ql$Lqzn1P$BXD=TwrlpJ<(pP>7XDNb#jcA-`C z;wugFx1P%9exEl#`svw6AEQ_Q*;Mi8q?Wz!LZQV6gQd;eX8A}bx-QQ8^3XTNeAm_& z72Tf=n2q)?nWa1T&5CV_D;^wfH{M|{n7ukAyWQ4U*XVDANri-&?}DoiuimZw#XR-Q z4&H5Tm-D91Ilkpwn98iV?Z>TG-F&qDCDRVuRK=RhYb91qFkECi{Vwa5;4=-{K3rwR zHGHf8daaz+`q;a@WfpIcnNAPmB^RA37uQ_96TtU6nJ3{x+GE{=`mAy6DRu(aEY^Ly zl3EvHD7bO?odbIpy?vZ-Cp6E!kI84^hnT7jE{8V1IOr89TKi?r`;Tsi+8+kiUf;&? zcSVc;w@s>wEC7b>htra<687kmG%9 zS7@(&@z~lwl5ADMDSxF--S*1lWea}MV|FE(FMkW)(d;90lF#2*sg^WNH)VE5^8Yox zlGO>~aqDxBd~%4?Vd{I+6tG?|!OKWe1jiQ4QsEMvYfrX zQFxbHdC~&URiS_18q`(q7v7z#zwoJmiR-J$rx&$MbG@Jy_<3SM(ZnNcT32%w16qxK zzx`+srXMJkWoVIMai(A5B0uk0{}qD45(!*P{7=&ZzZXRAy0Lw8=d77iEadlZI=T8G zx81wVC-=7=XW{?sFWufS_h+R4qSNPdWF*uMbN{^l_x#>~x4wG=_MTrGv!X74vi{2kRD}3FByj^%2?&dBkj$Qk)>WG23X<>)6 z`t6GgS!b6-@cKK>>&fBiFH(4w&>kOkRF8tL8jd zF#oZ9v8$^Nzl6pF?*~3$t1nx$pkX+S^yI+`3y?bTP7I z^Y%~$x6W5n7H!#(w)WLW(Kjkr!`3jksqQ;+V!746BM&}3yt;xv->s5uo29E!P5rz- zFC}l?^6r^1cWvC_f4>6e?P1>ks=+#JuAkkWnIYFRUx!SOnyTJ@?!k%V|0V|?E?Vq0 zgYi}3?cJ}0_Me`ty^At?&Ry8`vQJy; zo1@yEm%mQuOnQ~*EVuE_Pj@{>kq7twPFBkME&fUMw@k?AN8yjZ{UcKUTDkVADE_~Bs-~XXeZ~D7~W7b?DsonZ7#Ot6tUo*D@8`X{ zo}II)+_UTMxzJbZ?Vq3Af2eGJjr-o`wWaSL*gd%Vxb}kI9=@XPU+;gf-^KQ~^;7tc z#JSswj&Adt&5*lx)s5YnM>pwBF)vrjj0n2#u*Kc8R#VhBf5!H7!~gcmZe3hc z-9bmhY^~)k3AuXp|DH)a28nE+6qvLkL_|VfP4M8k5g>EG{Y}e69!4g+m!?UpEzFZt zIege8^^@0L71Iu@5!2NQyP&aN!Q;RpH&=&+v$S4ynrE%iJR(%||M&LudyOYM{I31G z{%h*mGkd@9k^lW>^Le}9f!__ze@HqOHrvmtb4OQT!Q

Gw;6TN`7%*+D7+FZBF~G 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

U^ir>C%WRz;F)RN<>G+4*Y75H05 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 z�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 diff --git a/ext/bin/tap-windows-ndis6/x64.old/zttap300.cat b/ext/bin/tap-windows-ndis6/x64.old/zttap300.cat deleted file mode 100644 index 8b9114c71d0508a0d374dd70c48529922751feff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10017 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 DwS;L- diff --git a/ext/bin/tap-windows-ndis6/x64.old/zttap300.sys b/ext/bin/tap-windows-ndis6/x64.old/zttap300.sys deleted file mode 100644 index 3d846a53a0a093ccc8041341b2149013990c4de2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30488 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 U^4KCTxAtX;i`1`N@Wd$t0B@z66#xJL diff --git a/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi b/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi deleted file mode 100644 index e08388d8f67b658209d4acb022b654ba6040fbf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2190336 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

vPQ1yI4=Sp&M*8L{XWv=sn6SOndZ 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%0A3t`7FE-{Kv7lV2#uJC z7hCh7Zj5-LmINO21a1Dqv$KB($ZfAfoA-bn##m|%PI~`ERlI-x2U*SmN;SQp$u-a+ z_l`RuO+?TEFt=ucIuwv2;Qx!}cp~%CJb(TNUAG&fQh;c-fzL)ns{?!kUM#}MAjs(< z;6+guzW9!Kk%U)�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�@1-dJ2@@0+qjF#L95R0HQY15Tdr&5VEG? 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%0AN0#Bc}7 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ð#5Wk(jbAS52cd|nF^Y+!* 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 z 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

  • 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
  • uOog(f|GrB8uS17G4EOdV#W?%h) zyQ#4>@wj{Uo0l;&_Rfv*5%WymU&VIR{rE!R;G1{v8(SMjx_o?{U$j#EoYj)Y8`NJr zN4#EjJfW9=3**ZDu^V#!usuKU^TpyFzJ{rmOG5Ur2mWO($(kHhYooJ+B}Fy;Lv@nM z?@zmHyq*R0ZZ0Z}E?K#+Ok&~Rwo#kBt!zbw+wH)a zcN+al)^f7={#5yw-ecIwfBRyA_uCz_PU+5x6g(~t|_-+$x0gU?_0EfU+W zgq`;OznN!+{E^MO&F$Fkx;@R?ekas8e5&=;FaNi=y)0^8Z2#m_#qKb9qc@sGp4sQ_ zy)`?Q!_s&2bXcz9LIL3i_VXs6+x7ecqr~*Xa@u{5-1RQsQ5C$jSNM79=kS#&M_z}0 zd;73}?Y^ta)uL1X)t>%e%KhG2M65tR^ySsEoa4FspWS@=(Ii^0EQK-f-)CW#=P5hW z6MeR?v-4>!jqofw_(xA!Xy^8Zj;ROBUjJ14c$dF*fl;D=U)tln4k4$5SK4OFyxFwU zQ~1-_M@!S*w8|ZQ?a(rFuf^X>rk#!&92?sAd!+KO-*j}h@Zt3551*QM8+R_e`AQ|l zp>g(2h1L4vi>#(@t)CZlL}qqkdAsX^X^mYwrgg0-Q{(B=*v~!j=FRo?-c~Df#l&x2 zC}A{97N2xE?a~$9WqTA)-8Sqw&ABw1SIP1~*FLXZ zPB~)v+c*B6^J2bRWP9+nr&GSVo>=Ak;Gv}Yd-dmB=`Id0b!-3a6BcKkfBaG7=Zt_f zJmRQF*Y!eN5@*`zpzVh@lb+el9_PuVIAF^maM}2P4ysE{A-%e{&7oP8@ zygckr&h%r4p3k^F>DS-)nT088uV=~4=yFfvI4HlUuZ2fzse1g<%!kDlEs;wiS3D?t zuwh~M0k(Np938JHEHsVX{d&#yz$vpVjbmr8TjtNK1Pw>6#zS*9~Jwr)#Qjx(v2g6@cg0*S=UpqF1 zR&Lm_|B0nw-W`SWhdS&o{P16L;a=Tera4mt6)L2g>OOI1DsLBXi&KhyWAsB#bM^Y& z+>yNYvwv7g^*&2n@#^*K*I^5rjy-7Qi_rK{Y4+_wx#XMad@Mro$AuRp8~qOTYMO3* zqnWSduEvyH)#VrGZ+$SwynltM#?9dO#T(7TzP{8r@ok&rw}P@eTi=BL_nLNT(m^lT zKa-BS^}JHOxa@9~!^ga)&GkKk4g%AJkL^3rxa1>yv#$VB=OWgNq-D1IEb-L@l5qrWs+c=gvi7dH(Wj`Yy{ylQ~h){58 zr|mqx``^v#dMq{zuXjGQxp~pu@_U)nHlC2XlE-cTxlqYKkyE%&W#9d*^yNl|Z|=11 zRKIJvNFg=%pd4Bi& zqqHe+e&zk?KL5JsdFh{>zY2YRT3oxhbbiq6n+LB?dKS?3;b8lZ#jP<%0|W#=uIM`8 zG{;TiAV-|)^IrQN^9J7&_vTMlj9C8Q8JpC?tuoT7QQz#dosRP;hgryee=A+q+@$lO zT%476arD*M@*5LkLpn1v1Ka%GNLR?(9=CTZR(kNMYH8+=?p3>1#fJ)oZauU{YybQY zQ?gzyopoek_N}ZhX@BQkxhM16YN|<{+FaQ)5{qiSWOM3EOjB+%e^5XB!Tt_ao5d%T z+P0T;C>>wdmn$k{;CuUsJja{H9z~`dVaNB^g}snJXmYL7?YiU3PaUEcyTXJtCMzd} z*4TdCx6bR$g!!p<=~LobmTu>`RUvY0s^ZiIhaN`GoWJJRiUYqc^~UjZgm!;T_%P>B z$5c1Zme?O_0zVv`F`e_4MaZngiL4Ua{in=H+ZoUC=K4$L63uHfPj6g(;nuuACAra_ zKhu9X<_TYR%~e|;r`36*H?EAyQFx>FzPu9Mmbj=tIje3;m_Iuud{bvd!0tP5vh=sE zo)FZ-`F8Wv)I5&FLnoDXtH^%bAFiNO6eMhRg@ecT#{nj_PZqc(2|?A zX5NcuyVyO%?K(Zvo^8~bcPviswe-HK_0v{HiQayvo}hZ@^Q?_ltrHTJNXz|8K!E(yrpsb{KVo_sie4;~zLvhg&)T_YqyMTv znGL=nI&X@#mDto+dEI%_C$H8}&oy z<+kQ;3^$yt(EB*GVg=91h3}8;cN19~ep|@%T;e1%WzT4(&Zzd(jX4>o8Nauf^`vZ6 zh~c`ra_Cv{O5nT8>#6pYdqbt{4DqLL+XF8ED)Jke^8c%-%HloJ<<8t@mC+G z%eiS+NXXw6de_8yGOF?3?KVq+bth~Y)xA#{TsjuF)INsGp{Fs2|LXPR@`p~nvL%T! z3U?#hCtcWU@n_yXQ${+Er#!_$nO!4;j z;u(I&BW^xd()n(^L-&x`$0Y6F3~^ub*M%&6zf68H-ysH{%koY7J`-X@MK3))TWYcP zPT5|;Wo$41)T$!cBV5sS3fe_CmF>>c?^)DPJpKUpHZT`w9`$x>tGo0yA3T4mb+F`ZDXL^t!W?mS59n zUsh(tyG>p&TkiZ~5Bv5@#aE22_Qsv~Kjrhom|6>^E7#{9d7_wHE%A8ghCYTwHBK`eQ>;-wr$h8Rnx0Cwj7U5WOWkIPLeDyy6vr3wfV5pK?N6I zRs$#9Qq|ee zgk^BcVA3Lo%$$jG6 zyR`X_p;+W_Qon79;mfgP%3$-mxRB)derCzb&j^dT*nuSguTw zv*RwW@3Zd5{CJzieR>yzb8BGFolknMc|lKX&&e;`>)l}EW^g*v*juW|I8a2#^x(Q0 z8Plc9?|$OTtlRs2fqjgk;t%m9^DCw;pPpZQ+WO-5lI42xDdu9APtJZlO?s)|iFpTh z-#mKfm&4k7j3ExfPp&i z`J!9Uqdh@qN-q06^(>sf!0~a;5~Yem^QSo5Y3@_o(6@eJyB^p3^x(Wr+8J4FIk{dE z4;&AiV#(cnN^JLGHHTeI4js`uR!dBY+w|*e`PHZ26#mq+nO(IH*O9(ZwPfe@gBMPR zJ4xQ+;4*%a@N#;v`LWfe1`40-rF9nx=j~QMI#a@JJ5LY#CtCNgS4)fE^w7}U*R37jd~Mm1&Zh?qe>3&T=&UuL5tO9&JGFtE zd!EQ{*Kdz1GsG6z9LA|NFK7!Y5PbZBP0ARoiy^wC`R!>(A;x$k$sRud?oo zj^2CLzT5Q+pA_7^ZMswYDyw;9nAW!03py%4T>E_NmERYym_PLlZ&&;+i~}F}(_711 zAsl+GUd{9N6gHs@E?2IQm0ge6qe?YJS2{(7>{`MiB%r;nJI8F-scy+Dv8x=UrWc;j z)6iL`-KDoiW6h$Vm7lJ1d3P&?IIcL|9=f~gamd;zMX!^8&RdqJO`7uV_rFTHSwD9a z+n?L}{Z8>Y+wbM4>eb5U%E=b8w|Z?|&M$9mWpkqMgq>iC*k039M~jw;Ma^KhKECc; zAXoFV6<_0bxISJP^f@hqP2gR%@-jc;6u4;fNxioR&OKHv7YpLxo{)bA!Y zn$5r7`Vh*z;Nfw9=fmwutKZ*D-){0aZ?5lI7rW$1IT7xkmROrtB)Gt2#W}H}4L&zsI8Bsne4WJKXPW|LS|_oX-1Y#TzfwwtLBK zY-?-HH_$C`G+lhH>dLLPuQI*{xW455Y+b-4&-H%m>ZxXh_jBgxwx`WKt-f)IcA>J9 zyxMUw9^s}%Q+ucbfyS0ur1J&v5EB#AGoJmu=7o4)Q zy`i-6RdIr$hyOI~3-yxMU&bvu6ZM2kea|WD@1YvP_jdlfZLK&*KxS)6jh3p<+9R^j z(>|WK{31v%(o5^jLT;wZYC=yAwfD^r`Rd4$l+m{OKarLU8J1U?jJ;@1*bcz#2d^G|W+pW^!$>&KM*)!s4Bb)CcSsx___VSDB{ z1g}x(eph_u+QJXfNkX5WO0T_GxiZ0_`l9H;q>1_47Tf3L8wefsoMW8hi&KPvC#u0}ljxY7OB z!g7?aX@WP`n+|RMinyOy=PWRo0$l!w$ z3f2^+ul-zp#4&t9;p>^vx5U{u-jM%jcxBJUnk^>_Q=?2S@vdZAk=&#an!( zFl$fW3Bfrzr86X=3ZwEBZcl%(ZbfwAQORE-8yMbxJ)wWXV3Yhjg@e;~?(X$(-rV4R zYVLv(#Ybc;}N&epFLbDU4Q zn>KcRm&|x{!y?V@sIK+crIAwTSx7weZB5R|<=7Fx@(OR=nZF z{Ewy4a#sARTV`$h`ayqN@aGBIZcomd@$U{heM-=><5paPvDdb{IU$1imo~4|SRmuZ zV}ICd&dEzYO*g=HE8axM-n@$JIg+zVxp)v6IAl)~WGk zEn4QyJj;WNnf0YfwZ7-(b1G-+E@YJTo-LBT&bl4-1y4{bzi>Vph$(6mFZDO8*!_ zm*4*SqxHsC;f)f#0hMOo+TR-^h>e%&Nj~#3mQ%)Wn$hu{z;q;Agp0$~(hS?5BU$a0{tnO{{y;`XV($;fcTwwhGDm zQ}&#(&%ST6F5SK)X3f3+v@0pP0f!?v&fZ*pDs!p3%MymP?#z(Q^Z%}K=vw(g>~-ql zeg0MR*9x2wOSR4`v&gzWp}z05$gjCPr~G|?|N8o;V^8tka@*Oyhok2>DZEp=V^Mr4 zdW%Zs&A;hiB&KM$*lO$`XOp=@x{z#7}RzURjV$=4GS1YV`NJsy@y}4$l zV@J)afad*MtGoOQ_w1|;v9qsV!s~9YSY`D8d{qahO`ikL(MRg4oeV2B>@;Y&{ddBb zP4g$Ke2KX6a{Yvsk8^7?^-6y?HXObGNoSAPQ?1AMNk`=Q0%%o8=*=r`_^@g3$m{NVp ze5d5i5Bgj>u9=f^mp)(U*f@>d;AY#x8qQyR1!*CT?E0KscI%JL=FeaYE@6yN{B!z| z@{0?TvW_uYTg>yA)4Nl3s~Nk_#@(4MR;lIglXshP$Ew}U4fQ8@29w<}BB)`k}{ z7EJXInJ0IazQ5qCc_72A`r=o!8S)}GScNNiFIJq_5iYrXh6bvg`xb!P!hpvhJ*KS{~TizL4wSpP3UvHv|;Pw|7OKEZm-Z z?Dh+V!WWxQlebgD?|ze8V)2eMj!}|-m!~zut=h%&KK=}wb}~VyO=0`#3vZQH+p+vz zWAQ4#U4B8|j6i$Nbq+7t)1nx?!*+)xwti%;x_-t%lDD(eIm08yp{TQe?W65Gr5vtu zC9Xbtysw_K^@(x?i(TdIL;pDW7o6F%L91oXlVvwws;Xbw%XP((E+1O$8?TeTA?~t_&(HMiH{ue>lCrfGwk%O~ z7e6a7FPV6XtLELspNnstDmrE2_E{%VsQ$COi(8Rbf5iL1w{>@QRHoi8_!SeePA?19qI87k7|Z$0BZZ zg0TIn>wS9!jO1G6c^Ama=)a7eaC?`;yIq3Gtq1>iu@+9}mu%kuS~o@i?p{ysh?8um z_6u<=SmPTy&u!Vkhgmo7e=D#T)y;a??Q2&S&%^(#!#vm8RhmU+r`d)?ZYH~U|8JWD z{9e9e-^4V#km;=X8;Rv>gO&(?%)joiILZ96#12`NBg?n=$`o$f^E+nuL6u_Lr1#Uz z&dW#CGZ;UrbSRs~^XVf`jzg~Z@$JWAIsdBWa4vV$*wcKlH*(MN9Se2#>|T-OZb@bEUANn6eKDOU>tp50W?}hO7&hbB)ucyAKHC-up<1wF3 z#7?&|g%h_rnnMGaRBD;eN3iG_P2yYYo*J_F;8DrAZ$F-Mx^PTedGC(tqow=5hI9pf zRTaMVqacR2_v`Nnvo(ibl^U&CzO_=VsQQz0X0^_Xc!?DzUDd2xZeQWxw=4TU-9Yq4 zLD{)5=KjoS{gamW9$&AYX0F&|+;-(H!%UZSDT^{&`>aV`^Uujw{SQ+}bC!Pv1Oc1Gl{~%Ud52 zqob!SA8F3_-KX!s?_SBLewp25W}NAX507Tw$^Ucb=95sm2=`5U%dX1%%AzH;yXUsFzhzms*3IeaRg<)uy6I~$)oHI@$Cyu`vgcgLHv&fEAF z-B@SVyEb{}{eKIlRySW0M(D!Z*F*S2KNnec2L+wS8D^WLp9$+Od&{8#w$)=Lw;Y%&Xv|4f>banoG$ z?!;w1yNxbdv*^EnX!h#i)u=B?8=0=f?lj8FT=!^$%$f)4Z_kz{mfz9)AD~rs?mokm zLlT+4?(yxuy}<6;(``Pjui~b@4Bzzeko&$%lNZ!|SXiXWzmYB1klk}HpOV@6@H_Lf zM64qgo&HvAeDnBxm4f}P-;-Y%6m5BIu;{IV!p}6NpS5f!)AJ98ZuE9ru+Q)0p=JO5 ze&|2eD&;9ytn736_fwr2hxZ?~v^jqM-)GCnQ)O}gl?tZkZqsK~kj-{db6IzEhxAkK zl7}-A)*rmQeZ%s?*}}00b5*CBU1Z|qtSuG!BkCl+$e3qc{LHwpN+H(IzkK>0ZFH)z z624?4yd|pacG`CnnNKU@Pb{}<^qaP+>-@$1)y#Lb{w|OH>n!D#kYeX(9&sb$Y5A7`*huRS?mor`>;x5)1vzyTfDaCr!8FY#q7?p zu$dMUu03_TEy?=(VwBvA3to$-?Vo&fos*OAb)90C^l95CoR+%2@kr?mi?va!S4O>; zx?1(sRM?aI_vSxu{s_CE;|5AV!rb_iOf|KUn^#nW_ep;?XJl%&`+ETePnzFjh05s+8ZQ?}5!-ZbFlo!l1% z$G>K#<=V_M+w0J5pvlv3@KdF{`%RhS(XK;$GaS}-{EDlTuzk3EyXnsF94+P-{^(pt zR}bSh)x0C!SM#DH;Y!>c9tGaHUp^dd`M0)Btg89RgWFBT8@u-U77IU5urp=Re!DF( z;r8VJZTn)~-hA89UVr&i`DFgh%XfcWueXGOldr4b_2&n>pW7?G(YSI_asIU%8CD^s zGLy8Yt8y0Wwxy*CH^gk5ShAtme`>pJo!LS!v5d=c-0O04mtBx&Dt^Vn75D#rU6jpC z9h>Wm?ugDXxZH-Y(R-xmW&i#ppJ`IK(|?K#P)qjO3h|YXWyky zZur6V;gFe&{maIxM|qExroQJCS;^&Vd+1R^PMy&dFjG z;?KQtF^_WByiCr`zIA%tl3$_+#M3fO+CuJ|rZZ1EwYAvt@1l*T`aj;j;hX;RP?8#lJfFAiEf3w*(FxC=6v(^So@{*lfe(w`{pVs>*fVs`<&T( z(tVxS^+%;$tOm=^UNV@WEg}BW)?L>r^)yqH>N%6k4CPmnw%pV*d(E=#Bxls+R@JNP zCanF^lhN9*e|Kf{M(s^6XC!L}ER@*C@O1h7kL!$XFW#bD=ls#`iR^^GtK7I0&MC{p zEy?iyVUe?3c*5Sipmx?b)xA#45_l1AW$;mfQ9a>S!k+(7`Pb=FxLq@B=cmDnZkL=f&3Qzob_j!~5z6&14LaK3msvCar zJeQ~zRA*TIg)QV{^@)PtMM7$yGd?Yo{j~SnUS8pMFBYF!ZhZgWfy5R4{XLnch1Y&9 zp7zSA`5F7K0HLyH&KK-fIuxqSeYe9puj!dv{+7x^z2CIf6_->t@$C<}eAH?B?M-bn`y?UwD{L{0=XAD)TK`BV5x+>+|n9H);X^k|+h-)`Zci4CSD zg}rm1?c;WLPIx=L&Gym1{*ui_8*imVnsw*1@*kfuwQ|SN*(Eovm~^&e?_2b6;?jl* zH>(-rWOxs4ZhX^xFxFxb_t8IBVi=Ekn9AN(Gi3at>;Bg5&3d0BtkrSv-!K0VU|(F< zvUz)}^tptqJAV}Cc1mZgXb``>_sx9vh4OMs3_fJu-e`LFhRp7bfh`R)P5l4H@kM7R z3)^3eW$c@%X}*s0jsokJ3eBUeZe4EoE;n9a&A50!H;{M6eg{S8SxH-LB-;zDqw^mI z-fft2=QP9O^u&*U&SYQkvEyl+RzG8b#kVJ_HtUaPTr7JP_~FJBI&{wwqsm zlVeb`@=k)y%-nFR8|KQT%*SnZPwL#SX#LuzAn%?aLLljO}6`PikB)Uif9)Ha)de{?o#z+&N9HjNd)> zuGz_(F4cBfdd0@6?7Z8GcI}VnERc>4xN-B`g!7AI{vF=FYL~C^vM=A0ylykdOMkLE zvv>DxpFbB?$xiQEkg2}*KZ_`4Id>?y+v zj?=AH$LBemo)dP#^r-xyib-m-*H&2F$vVdCzSHnepRJX1@h66Tm04HbUD?F%kiB?v zPUu6nxpNth9y=s(zedovqiEYJr8|ldic^9Yo`2_Wu3LLge*U`q^A$qw2xN5JWt#qd z*PmHy-@g^J(Y>3gbVNfY#dn!fz@e?NhPR}j-A=M<3AZYi>TJB)-LF_Z=~Lk8=MR%L zHEO53I0`Gxk#EfU%wBupjC$Rc6|C&Ot2f?#oV?mE%S`N3-3~SJ@LN1@_N-*OU+9_W ze)Wm$q5VfC+4w@^rw4JS&<^H5%d3NiGOh2*AInVyZ zO#3rWqF^OHQr)%P!)1XzJT6mJp4@@qc#4?3`S?mtU)F_H_5pIr?_bW(t^i9==)q zHp(ZewmI8b?{|uP-=i{9lS}XK?yO(DKyqV%Osf0-3kjANkIZ_VEbkDNS@CgY3`TI+*_=Ou&ceaP9>pOnnoNjZMO=$L$xNe?u=Av7*(jR?%MgM&E zo4RcMWUbk%J((8{?6dcpSYfSQlKv+;cFjJ?v?Ik&ye_WE?YLg1o^kT9eYNmfunOETyx_f3*?Aqk`j{3lj68+Bv`w;{)|T@xH8zg@34;fK_X zE;ZYE>9(hTF>L4ix_f@q1+BeeQ+(Y+?ljDs@^H6#!=a5wS&|M;eNy?L^yKoJp}tF^ z`CE_HY5|LUC(390-kB~}nX|b{q*lWG!B@7g8J=I|_S|X?mr`Mk zF?|r)TorQfbePU7Mo+famYb3u?LE*qGvw~QC-3HoJF9bBKiqV#A=~7l)ETSzRqq_+ z{;qR-s#-c6_aw_>MytY@TPU!3iv8d zEv?+Fwz`wmKg;*4jKmD_-`a*hCcWZ2o?Mx7=IxX_xvOrl$-lC>n{8p~({}0}Z+67X znXK1OC#fr)xcTJF@wv&ryMHG0x6bLWZrK>xl%cP^`{S{V?Lh)(yvp0XLYwrNFXq$* zyWY6_%qQFU_$-~ZFK5X2xtglk+wjjd-}h`Q*QyIuUuWqgMN8ad{d>RXTK}2uxvWP8 zc9#Tv;A*lscz9M(&9gI?j1{w8S$nq3D!WtqLhZXj(#!VQKcxaEJx`DRrc!Z1&n$U{ z+b`*j728tFo!-A*up!%idyRnRdAW-om2)pXzpSwQLtgFm>w(>~r-o=uHFwv3zs-iJ zY4OGdYq#beI(5fw8SlQC6&d@t92JXgdE=&F-XnNa`TV1fPsO^AezgD6>i)&_ zYxe}b17UqnCjEE&)cLAuU7P{CmHwXVVMXnxC7~xbTzFcfI{EbD|Mh=g_&6?lJ!60D z$>mRXZr*rSYHrTvQ-|0b=ZNKr72JHMQCQyEq{R`KSFLICb|W{Z#0ux=tJayJ?K3&K zcQ5%`$)RB(q_N`9sTa4~KPNp8o)G@-X8Hu<^_`QAnf{9O_xgTNdC`@v^0Q9g|I>4u zrx8U9?O!J8?{nt<>u~nhg?|6!KPlohM%J~O?zhyNUrY^I-gd#cG2l(Y`n~QOq-@1% z@*JOZXumL+mACiuy-9|9U(MORAUV;6@$w@#mY)k(tbQmqd3l%b_8Gn}kMX@TDPAkO z>M?)RYhSh5nc|0he>o~n&{0^D6?jX3@$^HM=VNou39Rc}E2cL4Ms2U>{f2qJ*FBEf zCzKHQ;r)^O7ZO(dDUJARbcf|IGsEA*)oWE}KAL`XR_w*BPtMD}&%BXvCdBh=r5jKA z&SRbo@4j7#nX#;#b)EZ{d3z>y^hRe+W=SZhjr?4xab~@k*O^l(9y=c>nttgNE$nc2 zU;ne^u;Yop2^Oh~WDlAx+;YqAf6Jp(?JeikW(3}<-=(-vOg^~C)G>Q&fvGLu;behF zSzTSy2Crpq-V0IV)hoUI{J#gEj=`PHwlcb&Qp-;NdigJJ@}drf|U z>#aDtyh&`zM$gDMS0Iq@+&EZ@LfJk}Re&IB^S_&E!=yc8F(rSjMqC z-C+48t}iRyx^iwUy**oN_nxD?(@u%)zca~Nc5n0ULxzbbCaw&9GvQ>;q--vg^6btV zN@-I%+MSCpeB3(sx{9A^Vu-N&ll%x)xkIaCoqt|o;QyhibMtQ8BfE3Ti(?+;N$SXL z3whogw&VAf8(D?Bm+0s`ejm{GLnkrvd9>70ol{HYmcEG$iI{!wS^dnLtF0IMAFVhc zXrODfFoJROjU$Jn?=6(Iig4E`xtp=*c>g@(&G!$xpYne5t;Vmfe#TUpw;H#z5*Pc; zemY}?+1Ah98NaW%*xlqd4c`*{?(w+*whzTE{qGdR7Z+M&e5}}VZ-eOkM}HgVUi3e^ zd#)b$QM;#J)7s4^usr*coTztq$H~XPv)mKE{8$yov|B%yi}%|G$>uMadkqhtw!6U? zySqa^(s042w;hRVHr~2==(S|mZH_0i&txrVZyOYuSXCiAz3jO;@Y? zDJ1!=tLyvJI;HUbCycAb?LK9=dHNn~V*h)GbJyf${62xx&Fr@c%rp2o?`EY$`;$92 zU5eRN+W6dA8dX_sW?s0rzb%nt$M%ciD3my;H5&D*MG8lj{LHH!&Rl_lx(1sHb|` z5{+Z*leM`6!>2CFeyApO^twdU_49mkeiF~OhI1d@bYs=_g#s?-{cdIp*Ds0M-uOrJ zGp9?2Y)mryv-c+1q1vY&Y2L{C5wP>KNbOUR^`I7 z%eU;OO7~wbA(g$;4Fn4E1y$B$Ci(6wbmBP@-KF!uYjRi{+ponFh0H@@la6iUepCBF zfJbgo_(^lArv^5M)U0k)Gw(QTv&AA>a(UeH&ufdcKdeI8>;2(+gB9IGH7dTQ@HVJ z31gJc+=h4(H5&&(A(o729b3`?adx>9D+o2`1MR z-fn+#HE7la50{Aco62cnQ|yw|d$ulFoArqyDy)Nf^MZ-jjc@8~5nc5&@Ksf7qnFcB zh4rV+Z<&j9O%M60G0SVm&VXHl;-46!8kPvUnO%Rr;q>+_>!RoLzD;voF3*3gUEk>C z2ClQpTY6tHwnTT&HMMO|O$uH2;G4ORYZ))EbjsF(Xuj+^VOd{=^*Jm%8}=+cGf#kH zZ_CtKJ^R**@HDYcc=^O}RU>!%Cj*zRl^f4Co%UqBT`9kC*&(IwjruQch`Oa5mQ{&- zu)5*$#!Ze)A6X+7-nEcox%sJdqwLRF3xY1}@^@+$n}6_{W!CWpUL3v^X6j+?vvS4L zDj8=L9k<9juYA65o7R4I9x49^ zM{{oLR?Ry2MT^f#r|IXBsS8ci6EEdmIvHsrEmxVVG!uRxWV=YnP{_qb;?Pj|f={YUQG^ZSB310H_)eQ^Z~OLkHI&K~x4 z4F7`X8)dR>kpJ~kw035hg28i}OB|A48dBPotd^Yo8P@tb)*>a8Ysd6U{1XlGSi^Te z2$r6AW@EwulQT;3LS6k6-8x(DO=Reg*-tu7(kqxF*x=iP0J*{EPL>B2;>V>%Lji79L5 zI&9k~m)o|Jd&z6-hqaY2U;LbZ@8ah_*{?dUtJEL;p|Cmgw$0t>SF^SV3zbcJX5B5_ z#Psgywne(JtM2i4ZwTgY+_q`Go$T@3H#g@W*i=5{3BPpYoI{+?nY=Glvh(zME}hGL zrf7M*ocYa8_dixPc1Ox=z2>}~?xr`jER~~c*D-JL-KQ!nub%T-$dT$;@~AXzLfg}p z?I&w1)I@IlSlg<*qn*v|u{7bqUFtYKc}#5?WzI<^M#(=Oa} zeD1U2N8E(Nd1CciD|2|iu2iatT5W7PA>x?rbGbY25ns17|BmBfj_iM@x?H8H=a@iS z^&-==(&lWr(&-QHD*fD>;ro_fTD4Gi*2>y_y^YrIUAljZ1$^BmJnd?l=bc0Maz%X> zOyxQ7W3JymHrxFE+Qw>|xGld|O;G#%xcE}ersMY(MwC=28Eb4XPM`c?%Iem$-)>k< zsucHp=NtH4?&MyfOP*KHF7V%$@{sStF17D$+&}xS#W~q~A1_%jZ>Prmchlm%>`%}6 z^7)Kt$-exx50hDI9qhvPy>JoMIN?9>tn{>_rSo$2PPFCkZCj9fQcHHrWVuycw`;9d z$)74*TJ5TSbixr6`J2h{lcged%I-?r&2Idpve)PI>tO4-Ws~lHwTrlP!RBmH-!ip~ z_HW5eFTWPa`?2ga{54^w`E8$%vag<>O5UK#nbEoXU$ced^)v5xb1%#`=+1w0O6J}! zSC3t%mO89FZJBFf8YX1gVI;m9|8d^YVHrQMjEZ#nq< z7qod-d#;hc&zRf$Q1T0@1IpW8T|70*V1k;8Mq#;qfGyXu6PYc3vt+05^{Z^Knffn6 z@c!~e(X;NU@?Vkr_&hZDqMX7`>zUC{)rFt>tW?sQ9=)_HZ;LTMv!P#e{H+y-lqoVoSO71kV+=+uj$e-tApdWcR4TlheSSL?5w*w@C3rWMcUzFL`7JxlnG z@2O6nnwg!p|Gb*mn_q^CMyy`R6uF^i!Q`!aKc|0w@JgX1Mqag+k$=L6;_w*$gw0!; zj%4phIlpFZ%F2CF;$L2>Y>j(%DNsKt86U1>l&Z>M8SQ}^7dr7 z>r3kGx^T$crzT#p`gBcW@Bj3sIs2++9pl)w@>b`*cmE!|mB_y;SlMrILT%>G#oR}O zCFItYgjL>{`CaJN&X4IQh4w^Q%yjfB-f>WB&)viQZx>q1&)9!?!=u`Xg51TnKVE>wEn4;+2{51$8v`MBA+ti6bzbfB($ktHM{faYxT_s zdT09_qay0ka+p24B-ZjYi}0x4dDZuImX&+wx$`}(l}h$OHux0bpEt)KQ88J8LE+->R2Z%LBl9*nU)sN?hDwNKg6)10@? zn-#w1+;Xx_!6r|HQGB* z;gG|%9qtUfbgnE4-1zg*{Kx+mvc1(zx|3a*7~4KScEyLai<+Zu%!=zfGqJL7Z$Vqr z`q#^Y3@)scDq@RsD_MH=(Ba6sZ?C5diEz8gRGrEdb~3;6oTFx)&dDI>QrQoMJO|Ak z0$rae@i9Ns`Q&A@u)VzD$ZCb<2PXtqS|k?gd}Ka+*>1v7rH|$hcjsnAAFGgIZETHy zxmp^ z8=IvYg#8aBH5I2R`>5)#3D~9h;HAKin?@RWn*w9v{}g45?G~|rBfQW0zKU(qRJn~` z#aLDU&kKgkl ziunA_+g2prH)poSx*mC1j$M)Vvj6h$J#y*eob>Fle%+%dGY;46kUt-$_f63FT-rkM zt;Grf%G2kY)=WO7wC_~f{tCl|->wv0`YI*2jazN*j;j~;*qsmiH#IF#-A&RYS;mg{ z;>y_XuX2Jvzwz^Jthu{nwS4ohBWVgeKF%}MFO(X7`ck&-=jJ3LwC-69dU z+iyQ=r7l^gWa+oRUtY&=!Bw|CtfJ3n2RHaXlG9JJT3g+_Ikj*`jBnh$xNo1rrIxQd z+@$wPxH|s9>g%Dk9(~tW7sSrLA#LMin7!noZr_sT&6SfqjfBr9&tJvKbnIr=k>&Y$ z?}V#EJmT;C^MAAAOvsxRVRu&kKXOAgUbo`+5xwVIKUCga&0A=?!BMSZw=i#E)3i^U zoPTUdu&~W-%KjO}^GoQ)Kb}8^dy~yR{-|HjSkACo_JCX9TEq7a^KY=Pc=Ow^b>^e1 z0bM!Dt}FOm9hfwi9E%G&EY{Q7d1Sl)%O77}zPrM>bp`+LB-sLiCOr#XzQDWRIG0|{ z`B!aG^GTyhTy64ijq(TiJNh3n|Lb%#Ig~q7&T4AW9QmL(DT1m~TmP@^H{$wPP%6&9 zv+-T|*))Fsibtuem$!bHxn=T4CwVjJRSR$Yd~kBYCqs+h|GRRguDW^J+0cXQ*MhW# zcYQuPEq(2`C-3l<++Wk*F8o&~b!g3L=YsBYaTC+T%J0mcsm0TN-TtevdFSn#S=XoS ziH_PVBsZ_PLha6kos&QCemnO*zJ9;jUJgF}m7#I-`I0_7@snWP&fIQ1FX#5ke(t{~ zy+5c(RX$U9y1Cdrrsi40&nM>!yW*^!^>pW67byF`*un1Xhc%i_Q{DUO`dHXYWwNdq zUSD`^?GoV|I=|l^_;FA5rfl(t9~LtE+vna84BxwJhK~tjqJ#M}{&J1|5B*zNYs()c zIjGgO2dTPuggob(U~~Uoi%0P+ftgccKF1@1sdumJa#8&bH&;}d~>4>Zrx)! ztWr18!X$$Eef}<1mAWqZ|0ZiS3fElD4&87_&lPW7F}4A+kI(cDHUd*%=)s zb}+$j50@{Cs`#yhEvq;DbIrMaa^{}c_Kl&ZstbEIAB{fR`(sIfzK-Brg&7aSqT?T| zZSs83cA8hBxkNwr!sB0ydUOS?FACgVsk}7sc5U4@12>uPHWw_t-P(&TF3IKfZ@LyD z$9DFyeDS$eb&E|ta-LD`^gVvNXvfLg8Mlf|^G`G6c<<89oVAmE(o&Jk#Ts+i zO)fS4l6hJ8B0;iOX8CX3Ez?UR{{32dqHLGq*9|`+E(rB*dAu}aJNx8yFPH3p`(?UO zv~%Q|gZ;CWWO`KiVRwEAbj5Z;!m2$y^3+u2O01lBWDv3nlGW1sgA?%yN#a zN^Hted@8ShCG^I}hq7;f9WL9%vBsFeyK~`<+B-@cUe}$KGCy-D`n1$FhS|3|`qypS z(Ej1s%`1Yn)mCP&OQgNhK3VUP@3ne=)b;2peJ$n+8R38_I>9&R&Um_hnUsl4IDg38 z$-7qFiS0jAaCc_$wF&16oOokPy5cVW+Sq4&=E<)_J-3X9hwg+FT>HE{Ie6{M?9}sN z6}6wN>oTtzpSV@M&85#>yJs7ZkQPymBx4Wn9M2tGlPL|!?a}1OKqp;>%N)2Ka-v5@avDgovRj3bXvn^RRw)xf>;Km5J0KVnthja&qmgM{{>aNu>6M&bTOkh0SPBys*AobaMD*=jj|%S4_X7xAR!5`sAi( zy_&x+3fsR(`u_FWjD%&uFJg8~$@;c=>QlAgO>?BzZuEbl(J6fDAoH#t8}3L|hdcbe zbC0*FQX{f4dhN#RKkg}7f6ZTasv^_YEM#V*{g;r`Wzor|v)1>SZ|E^eSKs}q*TpM2 zJvw=NVeayYH{DDw`aP*m4?bylTuStW<-Bf%vc``84U7g=nbQLu5|gikj!LfaS$3#46Sd_-;6Id5Jg z7PooR{xxk6=U)v;obAkaELLLi2JgA|qJnBIOr~7gu5$f*Y?xWO>8}%AX+KTMkDDhj z_Ag4D@y54ctNoSxr>9Q)C|tUf^&rz`&72>*?%mxhR&F!3Z)U7#pxrX@w#EF48YVA{ zSS3U)qPlh0l(cRZ z)J1RY6~8|^kgs6q*XL&F7`o%&n?&~c?qYlXY>_)tx;5cc$KPvBhXm{R_Xu3xbgcfn zPuj_jyDjW2N)gA47j1nwE5rD*RZxP4;Z4b`SY6gbhkBC4qXRxHIIsLRCe-5n)+b#} z{WfowU7z5--p2PdhwY{5f=fj7l$m#~=R7asB{@N`n$t^7)_v9C_T?|Cmn(l_W4vlQ z=UpmeWp~(KH}{J6iN}JM>SsSZ`^!mikCH0iq{U^rUR4|`dA9KE;r!Z`b*KBwrnifg z%|x_BpGN#K+pw~^;gs|z(*4TNh>L9_!lE756bvM#I2T*}|s7 z;K^gDAEzrSBHTs4nJ2d%JvE7gPu<<+pr@0wLdiTYXHWHGFV*gC;rGb%(acg3QH_|T z!F(uhEytbl%ZJ5xz-SfKFA}~L{nqMiiQ_~r&ARz>cePqyUixWCTZx9(gpfOCohAkk z_FvS~*`WYKDBT-tuhhbjzFhKl7F*RR)5B@b{8O$4*j^7fdM#k;wE*4> z^DUZ2y#LlYuT(Cwj(OX^a2kiyhFy*8-nFh?s?p=}Jn)skpIE+?-sRojGM1cKv2hRc z|4WT8GLAS~FO-bw{OXbIu~Xv4q*Z!xdEI-H7rGi~E~@F?7F<-NvF+%!NE6{a<}+;j zm{0GMZ0DXg@2Eudo4_+p4_2RL&(uGDE2;e8X`!G#*{%CGT?ndIy?^u5A$ze({WaRuj3cTNerm((q* zzO_p5{LX3ra~|6JfAqc2_euQf7SnH~HdB2r=WN_x=<&HDAzcIv$Nf99qKyjowP^g&xErY!a*-Ywj4dSNOMk5+vBi(FZJC&cJoW*o$=jmsMz)6 zvhF=~SNTN`_X_-Fv+N!=m3g`SY~TZ@xZf-o;|2^%KH#*8HDekn9oFd|5&+es9FqrUSb3mJ2?6b@)n>kiore z8_zH16t%yTm%O$>vU=XMIbvD~f`8YV>8^)p2e1g8jENlI?5Pg&t`8X>xmtx%Y}U z7cADt9k1HkH$7?6_uNyH4Q{t*idOv#$YSQZJ%jz#!XEuF(dT+0q8~D6_V%_eS3R=a zN%>2S`4Z3f$8&Y`yDnT-2v9SblbKX{VtZzTjHV)6$M@q~fAhWF=e#@r>bvNzzqhIw zW_)_SPN?LE^S^`JrbsN(Fm#P!=aW7rcrMJcVQq|evq(nX#})1&RmaZiO#7)Gv__*^ zec2lEMpuJNuhL_4#BZ3GM;WM2bk#QB=)G+cYp~F5!KI6DsfOwwij6B@>vGRYL}R09 zzqz@xQt$4LA6W^Gnn>@w_Shiuk`93i|}hdF0cQZ z1#u^9Bg*pC%~LA`ZTXBCf4^F5!OAf8wSf+!Rj9%y})Vz9cEoHhEFto4uN0w~nM|t;m0q zI930B>bDn53>Wyy>E8=CI<|4sMlFpE?d+cxKV5t#WzP1KGaVi67FaEnVr!i?abMW` zg|Qj8D(lv)pDvo%U3boFW$~gl=;$ji@Cy7tRU>vNq4^JMn#m;+#q9*L0ht?l`DT3(J}? z@$+BzlBBp+(VFf0uOqsmPySS7KO^|ACPdC}#`FEX(wVi6>s_WF+PCox%e+JPT+|;$ z|IPVlGl!?gzuBU1$@%+B80RWpznSr^R6!tMO8;#i%S&??JUIN)IMIafW6;0EX-Agc z6gCik@pJz4OFk#AOqzSg$yo9549>!2mB*oPcIQ1g5@D8lNd4eiZ{c6=Us)gbcux4I zS^ZtVFooepnfu%Ak}qlwKlyiKTY}f~GJfWX39IIs-)s$iwPx|G=ch|u_nfr&`G1n5 zsEm&Lr>k*l|0SG$K9rxQ-r1V6<;C)A7eA-}^YE2hqZ)i~f!cFv-(x|Qdp~MTvvA(` z*yNJkTj}4X0Ss+ZZA)(JUA8LG%-m)>A$mTev%B=G`0u^F&okF7?1^2bB(v+cc<)Ie z{m3s962#nf>Q0zlt$uvf6wJbG7SPUu~`l_!?oEtaJBmM49NZu7cRx;Q>d>zFqN64=pjzYA)5Aer`g>)|dD7 zzey=Q3$B|oTWj0LH5R?n8}g^+Dh8#VF4g65BD|Q!xtDvTHQHvG_d)xmr zU9`CQ^2Ye!l%0+|TE*`s7fMu=Ilf^&%wG{HeUtsV=ftxoA}Xw(dR70p>=K$4eKb1w z7FUjKRe-^*UG4_Aeoaf*@>SF^Kbzz9+%vZ)a{rGldb04|wPgNl``?**O;>l%TDf=j zmTz_pZR{pw+_a#M)P7 zqVnCfK8NfKzuhViT(mB4IfMNIe`Om_*?ozJ^FlKv-$u;&VSDOWTyj^ewVmbBU+$;F zvxMJt)fxKBbl#48>UsL*2i+RphQf;9k@wDI|32FF=uTDOrT*GIEj<%Agq1#UQ;uiJ zdm%0yP=AT-h*+}22g{4wR2K3#{K`!=P%rVyGuJpNocEM-V$oOW{3ny!Ph9!SHIe7U z6~>fZ?CNr&GB3rQZ#&nrc^rtkEcfpCy4Xnyi>}36GJXm;w)#j*=j=~K%RUrMsJ>>M zXP}m8#h=PPE%|;4!)be&o8qUY2vGzrN8S?TkXTuD zVUbD2!vbGzDbFKeW%s+AIL)`szB7A8j6iIZ%?m=v-6M*TiN-=BW=awgZ`9{D>b`oojn z-O;jV=iPStVWN8S{oW6T`(~%R7H_w@#r&pg_m3%+H=1Kt&N_Rr?$lK+H*MGVCQLlx zNApf-CNOPmxikIB#W=IuQ&ydw^Wyk4okhBe${%{uuKRJ;EN0z#@;&E=r;k<`$!__6 zcw_3VrLP`$#O#q?@~cMR&)06Ix`+N7>v)px*RILG;Ne&HEO5fNeHY3zPp|}CKDTe@ znJJrmKd3J+3MuCQrSbMC*YZu1&qdiieWZR;HfQO?pIOU4{b5r-p1i%a=;rO?CQEZ9 z_QgI9Ih6CkedTRYeT!s?FE%rdKHc(IWR7O}mI<5UzwoEO5u3Vr%F0T{x+SMGE57`_ zEV;X8ug8C@dYtGW8bwY0Zer!6}pmnY%;;bGJuY-D>ehzD9 z2ENOCBgLYv{~_bV*|fUjE^ozTlVt=f&@YV*g&BIHULCN(;gNxmyj^ z*jMK$CN&*VTQb+meZftKy8ru}4wy3h6FD${fn~w_rD=)+zx)I&rgdANPr0PHJB-t= zajM=M(dM!x=lf%X+3LzSzPi|#xW1+T;-M9?aqn7W<_U64Z?w?y3pMLsUbtjQWn4ho zW6wE;3pYC6KC>WqUC2$X@G|eIxyFr;56U+0v>Rd*u_KTHu{Lw}ZpPOV`uhuvp z5Wb`*VRoXha7Xo(RZMpu7fsy|o3PM+L3jRkn{)Hn|9sN;diG7RQs?8wg@zn!68S}0 zbUVIFiP-4mH@HpaHrO2Ic=9k~R^Q_J^3=kza(phvautDdTtfVQvA*t5*4mh)ld(K48}o~FnN5SY3`-~W}YN}FK&ocmGP^NsU6^=s|U|7|ufPM^Q` zdR+C}t=HqK*T4TIb+Dt4-$E9Z!i-f7f&?k@k_X1O)3 z>lS9@AJCt@AUm-7&i+z8`6!`Z*LKcfmitqbq4(T@wctT1`x<*IaV<;nYuDU!1HBvW zzPqy1fbsUhB`SBtd>v^UdXP(~QCEMC4zF6bg-3J~GYhU~S zHMzEQ`O)jXSt6+z1+@qE#tPG^X)FWCG*ystaL8C zG2so5@Ai*7UzQy?GB4I`Nz=nXzgrtD6!y(Hq8BdMDXaE1Z0?a)NkTgxDN3ESl*(mH zGtW?A6h32lcCzROPD`V=X=Q1dhBMc#SN(h}$;f?%r|rL+&z-#1AGmq{I|<~~E8*(;t$Z}z%yHJJ0&u0zecltdnR6$IB_k&+c)SUv5k1&iF3sP45fiJ_}I zoDVL#S;#(BQnE5jLGFQ#?yog#!rmQIW}4UaDRbkMQ|BiBTr$&R^0Qi_b;qIDf_h*wezez_RspV>4k7d_eCMol{IsO zr%n9Z(d#C24{9UJfNSTT~cRjn6vm3U(G$AKeycGmtQj4INeU3Wv>uR zrPq(^%JYA*J^D1U_2aU~XYPhiUlzTA(=(v?$m%1$vYQi*IJwDbJqeecD!plwH0ShV z?mkwrXPI8JN0-jgoqFMGLc`tANt;dL#Ny1^HYK$WD zQ_h{6I8*4xrlaxhYO}VO%BB9_s(7+=ZOFBv#iH*cY;^5-#8S7O-+1J%(lw4R-aa8g zId78cu5J+bPG>3=&v$H^c&u*S(@T;zy7w}cRXmo_fA=bS$@8??SF4l5ITt)%@^Zx! zKbg;!&lb%4EZb5msIhm)`x7!xCcOV4v+m=ElotsMV*l(Cx1CsL{4{CJYq`x)od>Lq zxu)LxB4g`)=FPPCPd6Uzc=*b)#;yL|$=!WFw@8?;_T72T=JN6t#{M&|vR;ss37wnf zGxM3XVY{2?V$s5o+PN*8(zqC}5IZ=P`%)Hnu&3~L;&KA(w z7P;f#r}dZSY~6Z&&ApZ9#m=z4(r%^EUI*w9z5X!m)=6TS|wQ* z?KLJ1)_=-o-ntYVTAsTR6qy$I6+q z|Mjk~KJ2l6pZGh||2`XU^xDnVFPp5}vU8U7$|-v@mMn|9^1E=!tDcEg9?GRE);W51 zIdXP6d9^n@-pxszw(Zs5JuKR@Qv=UGEoyI0KfmgzrDfN%$Q$G?xpM2l-rjvliPQ7V2t8)(T%lF(DvthT#v@aT;nY}-`Ti)Jke4sA=Qu69+ zbI$8b;J6=`bj|VKQ;yV$cI%8^w>)~?Q#57e-V-|EGxnyQOux3vCaqLy^Ov>9|HRy{ zOH91|{&nWWOKrQ%kDb*MXibcN_W7k|_NVQvHNR%BP54+7^`~>Hg@e}#U0ny&CEW+p zUOn4pd8%$-+O9>a8?p|uNVslJvJby4%6Q@SsXD9En?B79lq_w|ym!)oTWg{br}V9? z(BlVoU-|6yrm}V2l9Ixm=I&qlw6k|^Z{HCj<~U1PB*x;SgDO+V_E_6_&(*Zu!nat* zZ*Jf7zG}BvnEbTU(K@C}XP7>4EtCm3Cg!O8>U**;UwcX4=dH}4b?r}bBzGTjVgA3! zA}~PxQK#c2ouA2`-6n6NUM|XBYWQPsOOHsY)Y89N{0nBha{jZZqWQqNJItcIGR>gZJnh3wadB?ccEefnC>AQ3*k9}Uw8s>RE_E)jEZMpRMdM$&8a(qioI_HI7DDMAQ z(|q98VhP{*ih>U9tsh@ZXZmeh-(nV473OjyL5Ml3Ub*bE>qpkczeZgfXB$W#iu#%J zV&?YMzmiv~WVj?OUuYy9n(e+k>6^FywUAodEU6~hkd))Lv3x#zrFWlJo#7u^za^z- zQ~sTKE0hcO?mhSW-JZ+KvywuaazYQStEgXUr`#61(OjnVll{Zo)VA(V|56w=?ue{7 za5-gu&mU zfl=}vwfFs7Ll*^4QR0shm5#e6FP~z6a)Ng$*QaAzn-W+)dmNdi#gfUR>TKIL^Z5{od)zhsSMG_bm|5S$}Gg%R-yKo0R$&9X-h0wb6FL9@+1P z&sx*=up5--ExIQ3UVQuU{DRZU7CE;$GZH)UX2$UHWPaW#vcc)5xWjY(Lq5${qQ3}T z+S1YaE^n{KK8;QD@3qz??e>(ra%{cK%JUccSmc#&MQ(c|CeXM0f}NvKz>X~KC!d|C zL~VAOeWXu9^7*g!8?zsIV>lc;ZEUph;)4qRr>(q~AIl&A7vM=CoVM^ynQm zw~Bin_-FB>(z2~QU8_TC^hK@<2lr`p_&vIwp~Q8(QTB@TmY$uZt2QKc~(9_V)L}O$2Pr5*?(ZkyY`c;wM$&J?atnw%HQU& z?uF=!)^`W&=iU+hE3j)3|6HS(i?=^tTKHBVUgX9#>*}xTcXh9gdG?^(kw-ee{fEBe z-f6q<9&6H+e&$`Q=3|!aUK_&0expL!?SDcIxXt5fk^;u$TT@ zJvT;gQ|7O7@zTFphWYK8&(i)Bwz!|apP2T^{LnK7>+=e^GGT&eir1%Kh$<}5U*&k$ zX5!TQA9<~Pnw7|H^ZpgKqd^&%pb4|dN_J-oei(;y^UB2CUYi0iCf12?% zhSjA4})P=;&OWQpLA@ z?RnKdYrh7bE)I--VA+>8C+o?xOMD-5Cq^GJt-Q_dzR$g|{YT>ov%AZJr{@2@7JSO0 zBZ2L!V-RJT*6s>$;mF@^;@|@$m zuS=vvPUYhCW5wYwEOLI9&pS8$h@jfk_pLir{7&}%)DXU1=Dqz|@YO5qd)KnqaBJu6 zxhA*$Xtu8PF@7E4)iq@=qkKNP#`HX>>SSAT?%3T&Sr_sbCQR{b^RJ(Gc>Z18e;x^? z7p6r`JUTD*x27-OQk6BVIv?A0<8=2OxYxYfmhnH2_1lDxfjbXcy1!9;oc({suZxxbR^h2m?J-n*3V*?8%_*ni5(!KkmD( zDs%GViGQ~;>v&4hM#%6e@2<=I>-P7Pb)oHb{n~*2f1afH?f=7PzCGvO|K7Tt?>E={{bc=d z@4c_5-yd1b6m7YF`a3b1|F?S||95oTs{HZp`Ifl8|Mlwg#3KIZN2<=KtM+>qe$(Fn zpWD+_GAf&5&Fh1w?)jXsNmpw{QBB;`#l@k1A~$XCZ}OT^ahPk>9>evgx{E^3iOqZ- z9mXmAo`2;Zt@rwKD%_?{I#Fl8Jv?~7kohgmz7ecUZ_Yvf%OVs5%zo+0~9HPD{1 zuF-Bs#Tk=0t~<|j>SoogE-`ytyYWZG)snNO7k?HT7-oq#rAi9E{#04%Vd&PflWCh! zRVF#y z5%@gPH}gaVze3;c)FX#13X)c8SDn1mdbRX!5vP^v>s|Q)HB)!^GM#OyXn)$pP(Qa( z;rA26dBKI^vO(2J<;y;-k&68+@u6f+QNiyRj^2l_6a0f-u&rBFvL(1rvm~M4=F|uO zFV}1N^gGsbI+jJQh|YFYXn(cEh9zTFPu!##`<6&6rlxNH&JfZ4Lho;{+=BF=OI%im zRir2J&Ap(KF0s0bd)2Ssz6#ybg}rK2mnj^!yWw&8k*#kX$#ZT@Psu>!|{}1U=ey_RP?tJ?v zCauNQ>94!4#zyeV>)e$Wo!MFHbI@M=rRYp9Ei0W(pL@DC>Fu9TWVG5fszi6wa)vcG zMNKZPuj)VQe#CZ(Ku%F)Zb_YP-K1TQHrZO)r>tO~ahX}zyrF2r)oXe!`mvAwv<$Ks4{_n5coglz_efPVB>uaYzxxeeH_KZOP z)4~#=JNZ{N+&W$k5y#B#7k2q+>}P$y@t5@!li&G!&iIRWwr`5hId}Iwt8aGF z?6jAW{2a4Yt*q8eUHhUIUMwQ{a`dx&Wz|J~!Uwj3=hG`=o4&nT4D7s} z|4WclQ`roEtN6`@7oPJmeVX9&Z1O{a+aI)T9fc#fqK_DHzvgKW;q8uF8oO|Nq21h; zgGT(>w-TZ*XGrRujBnEysbalbcG#$=x=&!Q8Fl4GN*-l|E)mpmfs?^ZpV_{sIe+MNl3CzEtn{-{F- zat!aKBCfg(8cfe-X20m%D7sf=PWay3nA?fV_^udUy1qsN@3rQTnPG8w#Q3x!%U4=dbhr7+%ME9mi4+@k$REk=|RqW*Mj#? zs!$5dNZes`dSQ%tY~=>O$e8dSCwxwRmg>IjFLi3OOM8t<%F9Utzjt#cCw?kh5a@kc z?}{@2^ad>}&p^*WYw7S)&69$5{82pJ_~eGJ7-J8625-8cN$$=)p`{vsAC-!&y(Y9h zSM=u3vKjuZ?UBaZpEg!x^lm?1dwW&?p;vk9J~i$v=Y8aPq*iysgWpp+U$Z~VT|3R; zigeq{_8aC2CXD$@gO>d?%v#}kfJf;f=dt8@e{>sC<@8cB>&+A0rsO*mHn$nH9{E1M z{UvkKo7-*I*?ueUvYZmfp61E@dLF0QX~TJ{de^QneLL*U@~P+x&oZr>l52T3%>BOX zAlq%p+pk~oTHn8ZN%~!8<@qd%n$jR@9{TI^>Rr{#5=t+8{*;!{vni0*^w7r%-;zGxJ7`#D z=&q<5x%f-_?y{y|9kUJ{+;Qim;NPvEo-VP|I+P&pEz#bcDJCdg(|zM+``6};fzlj@ zSO1B-q|PygXZ72=5?AY87U zf5a|cnZCEoR@VM%VsEJLj8!6%GeZOI-1~zkD!g*b7cXN93xDG_dws3;-||P(7+$#? z`)+u__?x%Y<2C;{f-`aimw!(+Ua0ZyW zqfxpW&2?r(JW~$XxN2^ih0j6R;(a1V@0FP8BaH@ z>6&#@T=JG=%iE{--}z>Wz_P5xcFslpr*&Ac6 zetIkW#%S$zt$DVGJ01SnivJY*^Se@Qe*Nm-t918%Sg&(>zxuCL{_bUB1-_n(eagL` zKm4+{$@Xvj-93l)MLfK%|DA2*lna?>Z`GkqRPEjmA`yJAj!`fUBw^C^>$E$>_W;8Py6ME9abeb>L59LV?WPAF79J<=St$vAG}STpOeGE$oxeJ=6GShwg3b z*t#r5yw^W{+Tk5tr42`|IJ8ry*Ph(?AyIAy$5w-f>0ep8BkH)P?|qVN)7U-x!!=o* zUkZ(LBZZ5iWP4t+r@Ky2t0_^gFDZ38$G{jK#yeeo;;%OvQoHn*F7)Cok@-Bg^1~OY z$*SiK+jt@zUyEuL?rJy?Ki~Puj)20qh3j^?EAz-`t6D$*n7VkCl+mY-SmQM>=G;=U zOGtXVwIhDj{405kuB*!yluPJuux|Wq!=c;km?3$p=tk$^`z!hFJyWet*uB59MPPTC z^Y(9|n!7YP%je6zcD7B6{=6;d+Z=|x2i{-Sw4R!0KI88fMS~~Ir{+aeoBy#rlk_&J z!PozF`HeRodD}U+2hB4N(Owg({ZGp({;u;OR`B(%Q#M^qVX-=k|Nny?aak@~s?O5m3r@)~8Qz`oLAK|&S>sB_ zpNFF!?<@0)uWc#tFK;^1v?9OPT&DGF0&8f&hO^}vth$_QPa99!{)_KdZT;;0+gx6= zuNq0#H++|#5%z9bZO;>y-p54?kG*Vp>bx~@LQd4oUE(2k)_r*^arpV9Hpa6X!=y8& z@CVE@T(PDU*Y9UP`Zav%%r1FF6Wi<8K3jeX zztz3|&9S|cO3s~nw{^ojZ@*-}w+7BnU(K~p_2~Nja(Cwsj;lOV*)sPxoZQ=Evn=~- z=?z{}pB}&CR(&%H_pRBKQr31*dOcihp3W=PXmV zt3bE!8L`W2#bY{qlk%gl@LxF0?4QoRD1~9e&-~W8HZQ)}g~pu>3pQ0$n}2Zcoc99v zS}tE#=H~Hlhor`(-e=?dQCl};k%NJDdwZbgyjpFH#zUroLcb5{c7sD(5(wNLyc_$ zq_p<1uS!^QHqYgJI!0{<3b(ceVQjnNla;|HDyqV87`-mfZ~f zA&k2Od{%l3{Sz$wAINg8{LmY>qZ{I7d!jd4bq6J1cXltlCEpocS5i9l|AkFPvTvoX zNw2P|^oai#`;pWBQQ~eD=XX0KmvHD@@S2sJZOyAWD>pSf#y6;rN9^mQ4I3q-xyu{Y zKhFF!>)O=K?^bJnndKK)BNtJ4yM^JWwzkv57?;|~u?L-7cv8RcC7EoQH(|QtLcWM8 zKeKMloLmtR@WF58ePNE{u61uby2{pyw(i@?w&dr_9H%d9F6`cXX%FM)D&2;pSKlin zV;_Bg;`!%u*w@1Xhax8LSuEQow$MKI@3fN5m-hd%&D<80zW$x^@2N+{QY-ge2;Hw9 z&v!RhxL}Q8)2#&l=V8u`s*|q@9bkUoa%jK#JNqdgwjck?F8ptCMVPZQclUw7Q=vUQ znHEgi2jeCQRN6lh{?Y$=B1_+cgsuY%+#4Mm4SqjPXUp%4xVd*ju#!jv({UA#G?^u@ zc_p~5Qx$oyPoC8>t;tgM<`YFz$^A@X+v{Qi=WSxWS$lcMtS!fO=}(`%XKkq6b{l3p z>u_7Wf`p8q`CC2Qg4=>8ZETHXo#5nl?&thV$KHfZ;k@%*!c>2W0No1PHn z^Z9mpa%8#ZgumHZ+ul!exqJ4RCDj$2lQ)`)KeIV^{{5xys<@kuks6N9 zhm&^ia(w)0=7-$g^|SmBaP${*Y-d??@{XhYwPWF~FAjJ8(E7rv7WT0>k^7O<l=%+rjaA|Ds%q-xTBu=#k?cF9A}z-J>@T~VG?s>KX!H>XLRYV znUA}EhpYcFxM*g|zVK4p;*YZr@I>5qichGGy7(-+?0lPkz`liB1;s6QU1eosivr{s|LL=+w5R+S|>}|NPIL^Y?L)PjkOt5a<@Uzd~u>d)3*`1WH$`zPo*@ zvZ^WQv6M~j4YBF`TYvUFSu=HgYS^LgDy%z0j@+92_}dZbZ-<(?k}qnQUh_O?l^Ha5 z$@2ffK^l)#PllhAiZXtx6Xls5`{n+xYJJDcnTMa4YhLmw)m7v7YxKvxX;OPoU7FBJbJx&wt!JQf2U6!#P>;u)E@6?Z$`y)}F|{ zuhx9^vC+>p@AA|6L#5Z~oiV=RN@Dim+Bd>HNj zB5(GieScLhIMl0u_**!E^@5YiiG99zI_}tf*7+vD^2amJW!=wdMm|luCm;Lf(a|?W zu$!|bT>M>b;s0L>;&)k=U+6zA@#1msg<^p?f%h%(%&SAi6D8*S-1X;I@S6IA$F#H3 zx5uu0UZPWC^L3h4g#Z2!$E3#}%NV5-G)<1KUl6@~cBS3Jmi(;;ck&+DXNacMPu!@pafQ6U?>9Ns_tV-__6lg-h{^kQ zG$rHT<0qnSdS2lvk0ZSfNBYH|}~(Nn=U7+1GJtT7<;6wWoCxO;QtH3+2C3_tL+r|meu&hN0w(FAGb+MHwQH@Gv`Jld|V_Q$jEnEIOFH>b8v`@t)A z*0BY{v7L!DH?GKlk^@u8+R|(aK`RMX|zVuC)uMpH;us zdedZ<{KF@r_Q!uazx6vAF77>hTCB`Dw~dRR`mWXUd95|sXYbOAn{9VZ1&?J;symv| z{bNBZ@4PT#GJR=!)7X7d7-G&)}VBC z-?=N^Tu!Gl-&|DP)8uXO%cHx+=HY6Eb^l*YZc4rCwlYHLtQGVBJrgXV{|D0Z`^Yysgg;NjGNgG@B4C#Pn6?h)a+YQX6rgrzHD4& zvr>HJ5vB9DBH|ZVSF`7LYg~?qXR{YOWnE?bS>`V9{SCT|sz+ZL1`20oO#9cpOw@h* zua93=X=`2C^t{kxmW*~?g5Z+waGm!3*B4clX!w0e(+Icb5;`8wlizmJ|AP0!BZq#3 z{)_)+V)C%YwDi~Fg|XWI|IM8C@8GH073;arwN2iAUShhnj&A*N=bI@;i#78f80IW( zIKIB(!>OqMGcSG<5vdmLYV>vUmv6DUaekBQroFaHp33}~Kj*}kI*vaK+rGCJa?~_( z9et+tdt;Ujo1MbcO}8~P7-LIHIPR#%N(9|YTwmLyJ;$VB^Jmt7XE%k0{8oBp6wRg| zd+(H2!>U7v%XR7}CAx)H370gtKWsbqGfP|Xk>cVtC)BTsB}fQOao@B%^+Lv;|A#ib zmo3@Y@_V1lm)foDHzxNt&ApOx{Iuc9Rf6ZzZgp(aY%+_BPH}u-Q4+Cm%}M4P!iDeF z2g$yf>FxMn5gWhTKVxV1hdsZ;ydFOeKfh5Ulf}t}t>MM_grce&mPW_G`qSbWR$$csHPFPzz@>rdTa6ZN!kT~q@@QS2$ZvL3?yb{jds*thJ{oN||vJHmmpRK?9NER!}+AF1} zS?_*d?7RAt<&vWrWsmvmf5hnfl{eJ|9=oN_#JE$lF=O{{&a_3LA4?C2<>ya${x2z4 zHLvL5&6gXJo-3Dlo-vpc*vS9r)U9)qB>yq6v3^3l3lucF?YoUB{{*(;`5eFEn-BqjaANgh{T8nXn`fiPnRBP&*Yf+ps z^F*GtxPRltz@S5Qj`I_v&BJb%e>5{$ruAwGV@|d4t1ZhveEPI+qr{#4kHr?mZhbd{ z_kXBwX+Y`3zEws6t*hA|y{puHcXi&@1I#`XtottQc~EQdglmI((Dh!=mG{^)9cMJ3 zb`j?)snecn-{0|8V~CkLQMeK0E)pEYs2B{>|@5)yJo&?usA$9(sI9@u6e= z#m_(aJ1#4EJoVw%CX*eU)q7OT}+F_2vKR?H`@Zds^ePzh1q$lQ&r7 zMeMfPqlckSRGr|e=J+4$ZFHav`xoj6Yq8$^3neDl`v^kFd zXNa3z$@R~`<(|`@8$o+qPv^Dw6}9mww|%)NDU^TeL*|+O?6=JywPdb(Y}kBhXVuS1 z7Ju!X)A=HdPb`n_@ZV`$o5J_3AhJDs`&!vG3_f35J3cK~TG!_A=;Qp{W&3Bp(04lI zY+ffNS+p|JM@7J4PHx9%9qm1lJDujMSsVV_zuL@Bu)cSH)BDwFKN!OV-ip=)YTxgF z{5?3vJw(3XL1|#*Rynx{{zHB?2ka!Su1%hj+&QhiuJ6RtFKW3D6J%?>?kH~B_Bl~D z_S|OIm$vWcFaPmqy~1CvubD@m6dGiGG5p6>*0(8ERm0lBp_;Wm{pIZ4rn}BDZvF3= zQa-=`)Ku|@JvVu?N?NPRMGKdw>YoX{dFztbsmWOvPPsqsIJ5L>wVwX7oPQI7;@J`z z?lfYHwTX!wB8MVF@B^GkpsI1(p<%6+xEixwvEZ3`o4A*|cHH%uZRwtJ?fkEf95tVNW~;eZ)${FZ;{Cz3 zPm+gCSxi`Lnn1+-2_Kj{L#0<`4#Q)eY zIg^d&yaKEqb8V0{vRPEHN6s+gl5~7-lDby6^@D%*M+E-9D1G(sKWAG;rkL}W3#+Z% z_enZ$dA8cn<-frq2Int(rWb#1H*gVF-Y43o@%`p&z9V6r${RP`@K^oO+A#mk&HS>3 zhOb%pwc{1m9o`U-G;^s%meG>fgLabI9NbdhpG0-p<_M-}R||iC=dF8cUubNV*OZ$5 zR>#)196IHhDYW0WgW>(lf^T+K+luwt6dtDX*q&Btdi~<>_h-YC zh>xr{_)3nFIyYu|SYz1Oqe?YQ#3y?;;ftG)=+zOtzA`l;`a z{x9xT(>q?YS*iLwlfSK5Z<%dZ(E(DTjl{bzWBf4{R%?1W)^R+G6e?T zxi6RRb#(TRrKQKz7VA$9xDeBL!m4mZ=Uq#luzltqcp@azUiL34Y6>#GFojEa)vfBN zpEW*Q^Z)I8l5}|b!l`@s4$qZaxboskpCgTi+nrv1H~g_tw>rIgZpBQ`+?KQEHVb`n zt}g#PFE%r1y0TFi#4p1Hn6YPHfT#V|E&Ae+~j&^`OF)=q7{mw zM|)-;*C;Epw4Ofwpwsu6H+s6(A8_Jy)k-Msak==W)`Xusb?%OfOR9JtOP!VoE}Q#f zPiL*gmg%bRZ+dBnHC@{u?6G0;+KIeP_f1w_op{`}=fjg@HLAH<3(hRcnfX`ki{y(y zky{I64zv5d30wTIN!L3?r0h}NnPh7tS~Q9KGhm_ltkO&e@bc{llD1ua9)hY!H2U&(MClM!ED- zyA#u*a{TO$u3!GqT7a?Tm}jPZz(0`|q0?sH7ewx5uWd=x(*AP&>4T3sq1tC(m0G0U zOj+z+_NQ`cBQO{Lqp(lTd!J$r5Iu`}zWd%Qi; z^MX=8__Mc(Ez>+1Fzaq#f_iQ*>+uy9Z}yyTnI~ZC`t4UhLHVu{n=_4y-%cNGi}`o$ z%)dt$kKYWkITvv9>G7Uur44%Vp5e!?Cw}`D|I+-_g^HRlCuJJGS#3NrtLJi?%Bu&@ z{~XZiKe*;t&SAgRRqAofuOq5d=h=UZW)cnY+vW9fY3AMyhpH5RC)Cy{GEdtXv)6M< z&RO=9%cqlax8B)UF@O8kpEEwcyteD}=`64C34esuBYsu889$Ghd9wLk{=OGAF*R)u za#eK%kBF=+-C$gCVb<}kCud*&;ja3nx%+#>Ri@n`k8*wYb+E^ux)L4J=C0g)?{SI3 z3g0G4!4}PhwFllYCM^qkw@!_R@B8wz`6|n}r!~~^@%x6qpXlwOzxs2MucYBae^0ek zd$zvhKb5w=vh~lR=GZ*{Y0T*z>o8m7ik*Y+8r`d(_Z|_yF_S}grCjPt*=@Xjd+yH@ zn?B9u`T1Ch@+(0r;`gbwna-TU{`gkH#_v}x!yoFNJ<>F5Rn~JYp45)Fvt_tk#Af;^ zN&i_~Q)#EYO7Mk3^(W51*WLbHO$ka@&02m$@Q&ZN%~Kecx~~7@8=|fz=EITYz1-bQ zp(ysY@K4jSj#mm-9OKNMcFI(pxB9r`L``#o%54oV!~X_K-!?c;_`R{UN=0&p2luxv zSA)8IpT1>1x#@E2;jrV(r~24GSh1};wn6RisXGV%J+H2+;}W_n=~Sc>+kR}d((#-5 zLO=P_xmrXHJgw4qw38~bZLs|n>-->%`{e%1OQ-DhmcQn|Y^LIkbI<-C;qK>&N7zS}*G27) z4}@>-+RowWQ@PIPE?dsAh(D{^rY*f3z|yclATY(_pr=*YsWmfnPCd7XUu}GqebE%q zwxe4&YnbGk>#`&NJbS{n+eA3qYRi@Bt24dUE!$q<+kf-o2DaSH)2lBySqMeEGL3t< z@Tm1Fsc(9*4q2-lbj+V}%<_5klF@E*PT3~jxotV?7B;Wt;bmO5=~v>nlUfx;zNLrn z9hKg{@3G)w*@f5p&Yv!u)3IaT_nNBpw)4}z%+VLV7H4gD>%|YhlK6MAR{Nj#lsxx% zb@A(SKS@~|ZIQCrlXig*InQqI^$L!vZ2$X2Zl8qJ?Efwo4=e~hqVkM8ZTtP?j#I0h zj9B?2Yrjq3>m+n}_Qutl_R9!OV*fb3d-MJp9hJg&n-<=T|EH;9{<3$D&?NiI_VdI} zEJ|Fy$j!3x`M#w2DfKVaSKUv3pSGV*@apXw^WI!HTqKopdsDo6$E%V*|Fr_=HvNxR zUM1YX>BZ^KFng=!df}^FNe=@|qVFZ<*Uq!|W>$)Rx2V=h{r-EUs;W~C{^oqomv7nA z`|gn;dqUKyZ!T+XCw!1ky?!{WX<(72YjOEvEev~^ZzQJeNN6X(#o2Q@c{%v)u zMpx->+1<>AkAwDzWiOTg_PB4|+42i+_xT>Stv_47#ASi3?@l?P&3-lssqJ$YT)F4I z^Mdlvv(;ROwpmx)F#C5)wOn(Pw7kqe6T|y?Y}pcr-^3&wIinE6YGpYq=*w>FFe2gptyzi@o}R!ts7@7yQKR-I@hi(KOsd$ z+EzAj`JGd~-^_2FJ>`>qdev(k8^)cVCX}jge9>D!L&V!tP>XX>t_<7f7T)-YiUKmv zSFN?GY2RMD={)1M5Z*kt$nX3;&+V7$l&;j8?>&p-?hYO`{)yN4Jr=iZ;Z*%{_@-gi z`Cm_8_#euj#s6@F?m72$4QnODCVbwtuij_fYwP1r%Kz?vc>9z-tHhS0;%^*y5@cj% z>+WQb-SojQ)0gdQzie1f%2kU?6HFgUtlE4x_V2}@>2gKPY|C{mC;j>TC+DX|^^f3+ zbpGm%y5-ws)@HnP`dD2kU$Xz;zZsH>)0Ranjb3(R$SOR;7U)JzFn_$)$}Xvr?bv#lxqA9Ql5H2|5f{HKAQ~=^)DJj-PVS$ z+pfN@(BW=uen(K~ne=j3-Qx1a%1)k@_iexK$+;4`uxgRP(`WDOn9lE6`(erYe@le4 zUhO)TH%aG*)!id@r`T%Fsq;;(%+Z){e)hP^3%BE4`fE4MoMbAi+N|_0x$;Kn>m&Pb zMa*VSJEXis(YngjAc2*GO~UN*gG=d$oeiXCy$O1`D*00Ay=$$7#x*lS?(Th4B=cUO z`nOYTj9XDA$ELaBi*yWre7V%xrowV_z21=}D>Xx|{_k8A<>7iL-@TE~xIWnJv}E5b z-AHHg18-T2a?`~{M2x4ZurID(aFTC}FWW6O1y@~@vukuMPBJ+h)L5j=I=@ZAgx_Gr z=GXgA+>9%UP583taZ`-`t%skzdY9bXD!o*4wtUQ_8nyVm^ zoJ;&vC zPtZ$^7c_5fzuft=$@6@Q*98a7Z-*ATS&KYkByO)>~?|kh^E5~Zr zm;JX}m)?IEw~S}%_3}zanRz-TF6zSP3T8dcPX2z=_Zi#nw(Bw%RtCJyj^Cp_!`Z)3 zuBI(f8 zP~NxR(=YlSuW?%5_@)2z(yXjyj~Mi3wmFG&ybOu|-s<<29 zMQ8cx%yrT`Q6qOJz$D`RJjYhX*K=%`-MN41{W3~mpBu49ylp4Lz9&ZSik|eI*`#XN zF{QQW?X{be_8*)5^25if=pts>pi?s$c7JHT=eAm(XKI@>Yl_{K<}<4u5u`YUZ$=#%2_QEff|7sWdZdIIEe)~qgmjM6OtHOL&-amZt zEBL)E!{>Xqy%d`&1U2&x^Xlc@bl)^P|EWi?Solk>n_}5TQ@p*MCo(TOf6ggjV^z6; zZSmwAb30nPHYDymV$Oa<`pqkg+@KJSO`^MvqjJ_Oi=46iXr~bVYG(9~r)3U%Zl2Ro zwYhOu`1=cn#2M3-PCRpd`dNy*@$v_!#=a}vc|TjuyXx_7xv=rq3U=WK_q@V4&du@N zHZ}gn)rT)~BlwoZvqrouGb^j(D}B}QW6xaMoX7iaB?atHlBv8`6VX1^DREwaHrH8= zm5X24ap@Re4$u1Ul7C9%M-21ZS<#yr&+YjAckj71CR=KDOo?2Os=%^dUBaNLLs_(K z`EReQWk(d`-e0{^FA`h6o!$AA%V~!hWr3T&-qjHE z9R?pg_|M1PxXsn2dhtr*jESs|-@J9Y${$>j64FzBbB3GLJH|IVSz|h71x|ZUR@|4# zB)#;Mo}?rPe}}Wz)l4})W^Z=>_~^|o#$R57=dP6{W?nj%y|~=! zwPW2DSH80UH)B3rVf^^$(v$d>n3W<^iZZ+JtXa2U%65~T#_L0*yehZ2isqy^u3Q!5 zRnYCZForuJpzT}B>q#uxZ{E+mVJ99bcWJ^r)n(3|-+C;MCK~KtcHmTA)YsD`Tk9S6 z>c;%`r57a{ zGtd0JRHZQGdxY8kFTZd8xnyg+N8DLG{E*eehwNH^RE(l3i%V1*`=Vaw_idf!5ET0S z(5u6j7QFZ~i*>_`xl?>QKBXPM6R7@lfA8($8LDa=KQDA{k=VUCIIBut^{9!U?Baz9 zGg`N&n{08@y}aS?UcMQ|u~yq+A2u#k-r_ms+{OMi+q=_Qw#B;GTfW`Vd@s48UwxX{ z$;AuiwT8+`-aYtY&*^;^!+AECzZ5N%begWJHs!(5bGPzV>O>#YU1hG3Ymlfd{)qGY zgjcoRY_1osB_40QFHidP=KbTN2D=-#cizbR z+{J%P!|3bNIos=YzcAmppJVTj|ISB`$DY4?=IYVimWtD@8A96Bmd_9+-GtA zyS8;NP21-4;_H&tD^_Z6F1U1?L$i)4pO)XX(7d=| z^Y9CI$Y>xmRvsJ2iV=tOtkLHH{U_hrj9=TF-B~&GOCDJive<>vNf7?NY{!roA7f z9WUr>-{5w(omZhdx&3?i->PK{@7L>ee_t-s6t~y=pxk?*NB0$$%AZ(jTDaA9BlBXv zor@1?r;9!#2=u@vxE2J z5m&c`EA~EZGIYrOy;>yfz{%1L$D=KF%5DfUduVB+!Em8xLDoNvQ|tM2+r<4iL0C)k$42j6J|ENfWK^8!Yb}(vzP2`8 zXZq1^GZ(CC4K=IWeM>xgr)Nt2nK`bXFQmr@%*i>_e2h8Q;?j)03p*DwPUIAjkZ!%U z%wWs3t@)0okFWmtc(UxHtl>{@tqc_jVqTygG5wZOL{zB$v1f~~SR-P<##vv2wDuv~p_*P&k5 z|E)g{>9ws(JjJ~1hhTBH?X9)u4k1fi%6^>QEOqS1x2ucKdu@NPPNVm}=AjSWXH#sS z6x~cbvPpJzRo)_vFSBHxN+hlcF}*SOZ1w~V7sFz+<3AO%YFrkqI;c2RAU;I9(|B9) z>onVQeO3FeF1dHK*x*WN<&u|O6K-?vTfY9DOzIVjaGiw*CfEJCwBhuUJ~qw^dfcot z(ghB6uR2^-Sn%WRBW<;<@AX<9AJdoieKXfM{pGIp2OFo?&%Mglr^FKyK7+aX?Qf^k z!TpEN&Tu*9EK}Bg^RL^y0Cqc@>oRGx7qlLm_v8F2&-aX}@uBu7TNT#SiYi{q+9@^7 zZ9_~z`T{A<@K?Hp)8)2pS!ugA)4V}UlOv2vTm7bYd{Ed`ngW4nEJKmbW70>eg?T#*~&zC$nKnvraAG7Dbue6)je$w*yoBLb8$5p@G zd%a40_G=N=SNrE!C|kA3Rp0ocZ5#E5SIY6O*YBD27k1ixn3NnJtgLqUarB25AAip< z=Du-y_nZ2CatnMnJUsiJYneWiTR_a3J->Bd^i}-It@`DCSmUqvf0Mu4FYKs(wNLNw zfgheZVVa*LZ1!~KJFcm<$(r;?`qt#hCwG5l`u(Z=&H>w!#YJ7Q`*zt;)qR>)Gbyh+!dCFUO6L^AVR$wk@Chi^Jg$hf;k;G@;4 z-5LL|O ztn%h-f#Y8n?(21sV6~EY@SC%C|AQZFX~l0=r=)#uk(}YQ^6Y$vKgwpCnQokU!`FQF z#xD!0w_-IWVy|>k_8e@9S2JL(@4xV*Ke)7O#jm?6sZlpAW81y79;N5rePh1=!O0~r zGm_l%*2EoC*ffD%EMWQk$_vv?f3(V1CMYWVRP_I=HoSghS{*Bk?R|Emi>IFG&6>9I z>BgN=_IF(BLJs++ZV)$%zgRf;(V?X?mnQ8?<_Vr#dwtSNW6>AIwl(g`;`N6f>@@HG ze>3GueQ}vXuo}y^CKb8u@iRptCJUU2pMB>JZ$6yNolzrg=9b?lz$&$$ul~V| z8U4=}yt(Y{aJOOlnu#S7>aVw73aGWN=UMuj!%g$c%fm-!@Z5hr^``8UoAn7k)|wm3 zPQUOL<9`z)f9&HQ`DgCoC*SHFzU$Z=Evy{%RQSc!vm)y@+qIm2nzV-@*lX9)k1r&C z?)tf~=jWu|fdvXnPR;FI(V)KKvJ~qc<pT=UOV*Z+bJP? zgF`QLj2FHLzt?hnD(?$kS##FITO^}Y*Q_%y_z{{qFVv6M++xe6(?Q+OwmsVRf5qXa zdGVDODiddZ{*muGVXs#EeZ6pkuTbM`S@ly8dnH~aQmBj z{PvU7k++RNW*81_8jqWD(eGSiS-p-F)=XsxBtnf$AX}Pkz z9TMU{`#R5euaXuO*9-T%V(fBPOk!v7?i;78`YxTF;r_}d{OZ%G@)D0ny&n? z)wN>Jxfvf)0@q*i=M|h#^*>SS(|Sk00~@bAwRp99*WuV@Q&X*7SAO9smRnzN*Z%#i z5`NhSzi+NRyt|~`ZN{uT#T&^H{hB*k=WEY6(fskDk5E~E=YKxy*qcvX6t4^Nx6I9Z zZeL~c-{GC1P{G|N5gdY{Cl?A_Utg%uQ6jsOUu(*m3g-O1((5%Vwil|Ns9w)J@oetX zWnIUQEKbUiR=L5jM}C>_Qs?sIYM-2@*glU>(SPH0&T+Q}m8))9$o;V8EH7gZkN5Ap z3JX4;y~(pD+0^gpvli)`b)Vi%UH*r2y;9N7rzco5L*5oRt~mThziZ>`i|YjB?h7Y# zOkeA9_v`%VGt;LW`@{A*@W!fUo9fVYPIHzxm2dz1Q-0B+mfgC)c+T|dE!}c9MqW2p z_ws6`-O)GlH}&4KSv+N%);qD!g_Wh#A8l;O7g^LDd}w~z>3?}gnTythev6KI`gXOv z-es;DpTDd(|7gB{X6|_V#7Cu;J0bVv%C_I+IP*QCkL~R2D4t#(^FvGCY_oSi;QDlW z?4_d@c0`qMx9fVEuDpL}f4%6{>c>;w2wb(E@O_iV_Koh_l71*mu42}Vx^=-g=!fCz zhM*PB=K|ZW&g!mcGgVSac$04{HLpmi&)T<5dXo#IfAq(}DkK#o0h);KI2;(F?1@$}n%XZ`uy9akJHe5$_M_@|z3_49zHt$9=4y8zCQDh-DbC#tkms}wLgn)u!|gMw5zR=VcM(Lmo+E( zetu+c)rNJ;1gy>$ntr^?{B!?{?0t#OyQ`!ZzKal^^)|U+|379Xo7DwNZ>|nh`M&wx z%UG5RPt)~7YkK`()@|#a=OoJJ|9$iG`Zc?QwBoP0G`&x&_SvOZYgV^UckbDMg{#{i?9&q6xWm-6^<7*^_s1o|6_4-O@|l&?G4%IJ z-i;yw2+UawEuwEyQ)8Czeui`Mp2l;3FmyzZzltJ7(jg1cV;gO%|4 zn->h63^+e+yIT=g`azJ4w+@|mD$^|@M6@j+-3LGe%V$`%}Fa1c090r zo%V<9^1q%%FZ2#&9eKa}c;DjkyByct&K;Rt2wy1W?C*vRUix?hj6tA)V?DSH4QH0egbL+JWFUsb% ztD4N2e)KiJ{I$i_^Vq($KPu2D&M~UxP1Pz6xUM~Qe;dDIXUm21#V*?ZCQZCwGE9FQ ztFwF>74vVzB)^tTIP2za*|yDQKA&Ef$jND&aXTHC$&PY< zq91Z^RR&Au>yNChhi|`ko54BH`x}>+{579TB`da@nutC>|FGm6|Fy-EnLRsR_il1a ziY$G((N*kIo7>h}Yg;qSpFM82DX%Vl5vqMP~mr2sTHr`)net$UFD6*7wLM;hhD+?^)xtE-!G~A9C$c(!ZuTr3EVzmMfcB zN?Cd=-4Oq&S#>wN`@Jtb^4Y(5B4+q5d_U*k$HIUU&#!z)*%cgXv&PBgmigt7$P?}o zKF>p1)qG8MG1r}5bR^_d!s}&%#+`14%=6EOw;2e#xZWt_br-5M?s@jKmQQ+u{DLVW zsh($4d`yjB-j$6yw_oYKxbx{Lnc1F4Z@>O}X~D-;i+_q-&pgfLeqrI&v&C~t<$j3w zzVUsPy*|wO%zFX0NnrHTh6}zmV@~zwVB6`p3(3-AP^#SKPJ8gFV8!wT6`j}%XII$Axp;a)#?`@@I>0<+4Vb8o-;>iyPV)tmp_ z^LhU(Xy;l_{@hE+vRCf&U$PD<+2oWR`NZkOvKc!w-&NkYu5o48zJ+yRW$KQ*iz24Y z`|lJn?asYV0hwZJ)?^%d%v*1BLww!-ll?oC|LVP6l)~VxH#@e>pIX#jV18_p_&s?_V|E zdDHT8q3IIgJHAaTGdC7(`TUqw?%U0`70+T*-;`t>F;e`N{4VAAg|Y>!D-Sbmb&Jti z;lJ?ysi>IEOQzh?RdB1?Q}->ze|ekv)`gYr6Wbqd{aeQ2^gzh|H~+5;VJGwCA8uUR z4_>z7D(6_ZP-0)xA=wWhjQ%VBnh1Yua(-O8n}7Y+B>C?=EH*s?Ru#4#dCRy~7cD9L zsBBiNUHy6Mk(;_aX^wOGZCB6w=&@+aYMp}Z3F3d|G4#dON?zb^%RZvZw1KP7VCLS5 z`xZ?6BcQxGmnr&(;r*D$2lIqn(x);;b`&2xZs&U9iQT33j2?@_i@L7yx3jrK@979y zrFQh`twWzqUUI3km};>-`Saw0L)k|rc-)%GAvf9Iec2VGDI3Z^AB*McJyPL+x%1pg zv4j=+llyATedE8V8A%GtCiYve^NEO*qFaY^6< zUa{+;nQLC(Jr(#+d)cXj54AHdO}O0etZ6@OQ{$Z8?^%<&-td$1tbJ-m z8(r-;>=0hruJkeC#`NT;B?{;Mbxcrk-~T?@U;I_{BG0{lZu(qW!g+ve=k_2ODbJSs zK5}_#U+xC~DAjsAF+j{Jz~Me4he?-v^4XToT9(yEE~aN4(Nr`0udI-|)$bSQF1`q( zo9&55US?c9C*~OQHBn;Yj;9KpM^2jyepIZ`OyQqpa4<)BbK;xm9ygyyQ<8VGwLCMB zeYwD`hQa83YNY(7(gjAdEDEb+{{OHI67&k_+jh=n*Y}z??`B%PRQsZI*Zk63o{PGY zr@6k}IA`@`N2B!Hy0|kty3$jpt-BYX{O{b6HfPtVY^77q_sp7J>-AydZVQ2w_mRR| zT<%)RnMirL@N(s7gf2h-&FHv)A#42n6O~ahcW*6OzoRwni1gnFNP0EekI*08S#MJq$vub}H5z3J`eeM1D>mBAx4XvjLa?iY=uYBRu zh1pHIC9{5MCM|xD8GYeRX32bon8R;e+iE{e%>1)pv)dkJ-?gsGlkP}-aS3Q)eK%`b z!qf7lE2Afb@B3fQav)#xu(5GVSL0MBm4Nxz)pyU1;NLGH?e)b`>CWt9X3B+meBoP{ zcpiA5x60D%@1B3JzyICrtCH&_e^@A9Wp{K;@9MKfq1{Sbuhi##`ua&LCqm;|2mkVk zS<61J*|R~E?P$!2`KQ;EYrJ>WO^#XqHqqwoo#o&)hyj{ZjDslK9Q||PF&sa>Z031j%zQg50#2tpE|(1kgtLk_oL#n;;1*JA+vs$?`3Q>DH0Q|pMEJxP{i@X z#7%GPa%K8X1{E(+UUxS@`JaVvt;@PBSA)INPDO8B$!@ap>T#}puimV8pp3mWQU?Iw9f|{`t_?2RqH~@D|0F z#cliV#q@WFTaIUNdjrE1F{xGabFO#HU%K&PfcaLhiM#$e_{27-1ISdW! z1lKRy_`mJO>0f7_{3{aGZQ6UQOJMh1zuvuT)V6OAY`327wPCJ>_pYBhhB>_tgzpQf zrg5%$m)CAn?C>XT_J)U2W-4D8!_4oWx^=((*xXn3g%cltPCnmeY_e2KoPT@c&zF1r zr}v~uo3Hq`pkt5<`t zsY?^~uFG6_hd10XWYaLS)4ikLy?Cg|I9?q;;pEHwLUX*k0vS;yDpTF1X zFyvm};eSttXYT^_=p@nD>2D^UJyNu7;{KK$n%wO2oyBwXjXdV_u1MG?FgIB#wPDvc zKivmErfNtrZY;aiCb3?A%i}nf{Knghi_fa@Tgx5Y{OjEZL+QQFGDR=*(&mQk+Uvu= z%w*SX{lhA;r((B#%UiZn(W-ozWEJa?xh}T50}k88oi~vd{x9zKV)Dg1yZ6?-KPVQk zG4@$nhY+1JzNzVT{bXEAAl(X$}K*Y}#! zd_RA>E2(y3;oXMg!dD&%Ups!R*Z;tbYaRTzZm4=(yZw8LUdfX$+mEu5&!Jjs*|KVMK|==CQUrxb^meoWxHpFE1XQCk9doQ2R{wCyDXvqg?NNs z&|;&gEbV4p%iI(4GWSK>AKXy3Q&}P2vpe!#uW_PLa>AWAg8Ow99E9RZf8Us1|N6;G z;Fm5t6sD5#&_=Yh=2&GQ%8jTZ@&ug+PJ#*scQIclQm|OXYWe% zb8op}Wa1R7wW?X;(WZb?GU3K9IqzgYwg@<aX1eE9rp=wZi8H@e-0H*o)YQajJr}BCH+kyqU1R5aU~ZM}cMiilw?1iy$bDIL zAkO}7_Bwv!!&Y}>y|M*b7O^kU?wo0VriSsbf5Jx=kQ!r`9s=@mWMthy=dAiRT!@{Yj2gzzg9c>&b#)!#}~OQ?U#Z-tsOiDcUW9w&&SS4KnA7iyo zoOf3)Xj`a0WBJvD?x)UcKb)4^b82VlRMG6p_7&%@ZSD>#>JMvPdBfBC%si=ei%!&W z=(}~@T$H6gmuuhkTgrVxH?!5Nw`~8gswrH+y27r+-|5@mbQ&F1?N5)%MSjfJBy~2yz&10BqNreo&T8C>Dv>!q_^+&Kfm?M zZI}JWUzD5weYfQP+b_GP)_uSDKJJatyX>{kT>i}b&0DaSd%to__|k{F_8pKv!p?GI z=f1D*54g{+YZR{lhp$$xh~=RCbA+THCKU+Q`Bf|QijO~Gqw0xGv`;;hjS z5HUJ-W#I%)&Pt(_KT8(42t1E=cl!5ux9u#u3IWcaKi8FfT=BW7h{O5Ax!0 zc-<1gF>%fIhXoV4M3v(9>-O0;EnscE%{NIb>!I13#FJq=c#rq*y_K`@^2sZ9Z)cpk zJuz*I@-HpEC9Hca8;{TX@on-2HTONfE19>yWWTWNmCNjTHOs?i+exqRwHHaUa1fov zWFYW9Tp%^a}DvEy#nDcgy2_r5$+=_sEy zUo1)LZpzywZ10w_-I{-S<=)NWTP*|MUcJqkz3le2A9Et{)wy_D|~wQ(7^ZJM$|4(`?fp z*U!7!#9p|SbL8BS8~24~yyxF=^i+ARh}4>Zcbg*ZTIwBNoVw4cl)SvXD*a#G455Wm%2Syil{m>%FIn|IFl9$>(2gzM&dD<~LO-vI-91Nk_XiVS zrEHa#n-<>BFqYdC!`qg#q{OlH7E7B`c#hq{o{AmMZ1OI?pT@H8IiJ#5&yU=Wwf9$^ zJuE%0R*LCcED&9?ZMQr7RxXj;c3ahHtW5@D#*%F&;TLT+`$S4Po|c*H+_^{L1&2tE zdvc>u$dfHeQwkUTlC`Obys?L&x9CriXm-n6u4PW$QnObFZeqRA!T0E%)~d_BC9I38 ziVNN>;+nqOGKKp=7(e^W6=|2RdUAWqCt8?Vat2vcKgsAncGZ3Dl0W=Y%D-7IZt$J5 z?EaRklm1UhQ}8(G(Nb~X-$mV;1-hR4e??TL2EG21@N3b989x`kes-RJX-l%0=4@t_ zy+PvZj8}(U=`vyW?XH@yqs6`UoB8{V6$cCW6n zc8=$&iT;;+KTdjm@uEWjN6y@i=Vzx)ToTT=Bul8D`;~2mXZO45MFPEX_B$QlWgf9q z7C6B1UhRj$XTK$t8vW5n%{tFAN&hvA^8a&lZuQ1LpWJn2kEhw^{*t}0OuE#>!ZOb0 z*7dWcQ$tt8@)wuKdgXHb3t4(aZ~M2PV7rJ9L&(sNNuO6;@ZR8sN;GpA_EX$grMa>TnX}PDG z<%R66+s3%UM!&{{-~Z)p`ERUgePRZAf>RS-uiji$Eo+Sn%PJL3gu)jC=`H81%Q{^goq{FIp_r+!j ztrh#a@X)8QlX15*9=_1`O*rgz%~*8Yd5Eo*)2r_OJgc=O4{V?X56d+M!B zWM4JEdB2sV=zF(P^;Zt_Rj)s>Fj<(jB$m4ydhI zWN*>*_fNerciiM3lU&a}HT@#>wOC@?Ro_Sax;|DuU%e$%`BpS6-l1MOSKREG#=Dbt zmh4yGOkKsab5C~iPPKm4&b1aXQ&Xn~O%V+%6=>r2x;#bnMeFx4`PrNHvzNYiJF9b^ z*OISa`Fxe{qd@MpA{p9G-xS17YFl{mOv0Y`P5tV+B~$z>@2&Bi{Md`D?d^2`>+KuE z-8qvtd;Zz%8tckx&%N~C>)>TiQ8?+wH?DIoow!6cW2>5NnH;}w5!dOpd+pYE_sd=iWZRH^oqwlTcxjf9 z`4ZuOGn(}JZtrXpiQTkF=b+uea~ki%cD=GUJ(=x3zx#m2L6_MVS{1ARJM_2ZUo1KE z?FZwQvu`Jz*>pv8-7B;8vn1wP?-ErxU%rs}<+3wvbDr8?`uk=%`wl^_Bf9S|-MK4p zche_Tm$Td-Pu@GEXCc%f>-*?iNtyJLz|Ep7yW{tmbgmCv8ONc7Xjc#QxisXIgZ4kKc$m0vs1zhyk%)I8AcveVC%SL&hmRft!Ug(PH1TP-@Yg#Sx$shLfZu8YmG2*DXkbkEvV&+dtucrq> zZod$ExxbG8>_&&3iynRtobz+5+@^i6ycxr$=V-Gplt0*KcW(0L`}TdiPWe_O*^3!f zT&(S^<7x&2_xt+Je}?b;W!HSRjcOgSB$@N>dx$wcWg>(>bp?yIx(4@#VJwoA?~ zx$dV>yrQ}2C#O@t?e|5h&MvHLB4xhLepA%{_T|CeWHzz+*-5wWzq+_%`5B!*zq*&K zH=l8%IDg^PXua>37n)q#{$Lt!#L-NNO^3hEjhb9Bn=_@#-ldnb#U}cG(!s;iKUZYP z_q!`sv~}KX`&i)5f9B0AE0@i|Ud4w>uNCZ7e)TfTWZ~T9n|64|U0K`HP^P=>M7NID z&rHkLvN0)m6H_f`HtpTzO}ixxH!of){&bb_o87J)Y1jG=Fz4J4urppVe*hlr6RvwY{SKX zTDvB_P1;L4{vYCNb4chHOc$yh$QBHruG zD$buBkMtfaKYU@TLWxfJrGUrB*H?ZLdUJTXkag$s^vo3;Pg?U;JM+7PllHsT)~$5# zY}RM()b|cbivAMvcE&@WUtbvNqNWM0HhL%<85cBFD=3Nal&1gbW2x?C+jsTdTK#+#%**t07gzt0b zDG~gA$68rW1&Ex#oBP`SWbm4AhtsX?B}&U0|DJ7q-1ud#e8#1tf$7%g`{HkOJ*v!8 zYWDDYqmW{-xyDB8qc7j~7~b;ENveNtq)15QZn!W}V8U_n>!wQaG4(TqsvCV&)Z70T znZ{hryBlFwm%LNh_xUZ|N&U$h3nI+z*3CR9YIK{EbN;k9_e--pYih%}UaxbEWj8cA z!*P4EQ`;ooyyYCtHA?ryl6s>G_%EF^SLm1WE1iAhu;xbZIpS?@4mL+$9j{uf(KLCx zVQcQuKc*Ms{zmUh-n#$gyel_(a@N;|%vIZ3I#2HXwu4firYd@B>{9ud>Gj5*b;$(d zFFcc0PMWs)a?wxAoqHn7<|{0<7Spw53_V=>tpEPy(tNjsSDQ6+Y{Yz;|FKj*FH4vm zrz54&XyF>7Q}gkFi^BF3N2c8KPprQ^-Qz3Ql0#-w{ieFk5GpyC?4fZw_{QyuNz5fX zg;&h?i<1q+xqlrlEZokq z;b6d-y&*CV0t#z;j5uZ+Rhv2TJl|jZ%*#Y2iYH?4t@`Uf)Audtb1Q9QOnflwh~|n9 zcfVRkq^D*0&7Yq-|J4_TWXAgVq-$PzI?r_IPKh%!C zvM$qZX?Nv={5s{DsRD<%_nBS3o_(RuYxU;}(>L#5P1VkkV|kJPbGcPlu}{Ft2|G8} zSpPacbyMY~v%w42Yp;Fd87KGa#AY}Chh^_Bz3w*6++Czum7%+LqwU+4tD9_J-CO7x z&0Jmh-stAxSLaF=d3jzC=}j=2vCi72XX|6%xb2Vbo!jpFo;C4y$(PxhUD~$~o!nH- zzUJ(Tzy|Zy7auE{;>-3k2^AQ`mc4f=|^NPzJS+&b{JNHZr z`|@^r+0J|3Ny~2gZhXId!khVe{V`83n7YnB5%E?`4d!(>4@;hB$#uJOS1RIt+gj^0f9}t5D-zJR z%yN>6`}Qk8A#P{%pK8|A7N~bFoojY9OIPFg zyRR(QioVI-ur=Jc+vJhy?4;S8k5s}7-!D}bo6#FAd|!V?lD3Yu`M4)$H_E{B9Yg^Z2%Ga846z=Qi0BDfKT)W3H|`$EY8$Oz^!0 zzqXZCQ2YK1ipxLd>zbcvlsjbpVnI}i6x-f%rWaNnoB3Y&?yWk@-5@Bb-DA5bf$?41 zpCZG!!s;hCT|OA{%sbK??pV-neO~NTd%U;CR;D9dnL0MnZ?9@eow+-|zrbGn<~{#H z?#%uP+zj*1zhsU3@-D;R!osv|)%*`A}$@?I+DCEmt{vJ9hb3Y?&pXl2ZRGDqdS@xsd3}#h>-% zYNj;3_Hq*Ta#Hs4a+;Z#HgTEu#HSH&O1)B8|H-a#VftYn+PNUVa)qau{@<4s-_B2# zI(P0u(vw@4{Jwor-_p8Iymdp2(4idxf}0+5yF{E(zSA;ESt#e_K{?yiNkxJ|-4mD9 z9a_0#rddeotlge3U3@fdL|pf6Q2o8=uWy7z@uA+zV@_K`r}0(Ym^|GiH`%a*eP?}H zxc>?5&GPHC4@;s34xrsX?qF*`rP3%;$+(`Q|q# zT5Gg1C->wZ&W_4#T_<~6#V)_k_gd<7Jz-DL9~D=DWAC}u3t>ybMVec>9#@*^}Y1cQc z3wp_A9<})Mt_Qczq}qNvQGY3I`#ENp4^^*crZ#buusbn*zq9sigKpn8sjF36MTNJB zUNDWG*uJ+sQhc7<#1AQH?q$NOo$MQWEA`4R-(>bi5qk=^E=DFx>0aa^a*w?1=L zzP__zsm8ly1gSAw?dyCecQE8=!VKUpV0S84l`GJX{N*n$Zu{? z+50b9Lh<oRG+^?^u&QLpM!7e|6A@JEoI->71MCf$XT)C`-cyO z&eyobu1tHd@Abj=Ma%VGulbkp(lG3&(Rbg6*Z1~>rMf;Bi%2#1F8WyXO#bzIDV6DI zt!Fk_a|_4*7R*hL^OhIjyWMh%#S6>~g=f}o;r3kdvifMK+SlZWO}{fQ z$T?_UD&1n#cx_jBOm&*pjl(Ky!FJ69p=oZ0oscc=Vi zHF+y?H*7_LW8&1(QoA>c7bqF8$XffMq&x6!$(jcd6~PTm z`e?b&#*Zt?PpJOf`{;E=K+)@Sa%Wc@oh_YMd3iVMzV~J;<*lrL+rfsRlcrg{2)9>SOrUC7Z-!8~U|u*M~bdRF-pBAI(n6Ic9DZ8=>>c zkL_Dm=CT=oV=t}b~$kMz~!3sBn63@*!w^I z|LECVTffYBTTXPZ^PJb#o4(8G=Fx}QlG@Q9s_q{AKBYoj?0l;1v!J$}Thy3SCeK$r z*Cc;^((D}~OD0~guG+bl*D5PqVY}>Rk-}N2ot9f)uP(WI@RHfLhN-W4-MTj?+_kpo zIiL1Ld)AU!M$DV!n1iBMubaNa^ZYlW{IcVW$n{G$nFfi zqqstO@li4U?Ix9);oseyQ~&oLPW1 z#)|3KOE27Hp|j=9w8R~6TNy8&VsDxHcUAi=zK!1;ConZ>#`)(g37)AkiSd4N|CHe7 z1##t_oVRrUS2mU9$MSD^UHeZ^>Ur=oMF#f*-7WrS6?j@7M1{O@lonrc`2IAj*H!VY zIT_VQFU23O6pGS0!D88Lp61uve5t`iV8a7Jwd1EcN(5(h`dF}iS{U{#cVWESewjH; zp_Mmhv@cAYqO-$eo@B4ielJgcMJ^6ud9}$C53O2rLHMGFcH{Mifd+1%+f8dcW`-3ZXwI6+F8w@=7T@c7k$<1Z6LUVl_te)Fqfl=felyFrf* zDzleqtU1Nq+bfj8`(*C(Wcfc96TiDP?)_J5 za@5vw9p}Z@-z@g9XY!j1xxPQn-G0K2$?;YT+hX~fs|znbxw>ilf@kjHQck{mZY{p+ z>6Q~2F?BxItDd=i6GHE8V~zf{g6~;!!|sZw&N8jf4(i-}c4yM1B*&+S^|RQ_(&l!D32?zLaLqR$sspIZC0=c~N^?tfjGTd)3mCVBnP z9j{+?#!Xja^>_HKKl}OD+x&A{0d807vrOZ4i}vb@ulxObQ+sI0WcH0Qe(Yk?Z~tC) zty1P|LdfSgixxdtTXOrC=&jNv-#7B9+?6qE3OJ@U{Yni>+3c<16V$}KwuP44GDHg& z-Yva#W$(TQgEJ~cd#C=D3$ZA4u?m}iFk(aD#-N^VXV3Cf?*D7}CZ(G&89yz5@n~1z zimfKhq6|!1oqN|z3%(;$#Bu-lk8A~fo_{Z-CO)3;qiX4^*>LtK@5H`SucxwwKlhq^ z$wTd5n11&UkJ*ClukVCjS2!C~nHJAGnKw83h+S0ciDSx^v+}YW*#5kWu}oUrZewZW z_}JLos8deO^8BfZGrw3w_W3MpXR?fHTHZG?=1=Wc$3MM#%hUP)id}fG{3Y6D|M$!K za%XnjYvWz8xL~2Oi3sP^$-W}G|HLwXENGs`y+U#~N7B1nti4uyGCDk`Y-e4ur#VAt z3on1ClK7H0hjM@9t(Tk0RrDmNdvBG8mgK(fZ_@)-i z^~Qp)p*ci)q0x6xPx`|5-Ifv-gQe><8x1>an4-|82@m)P>bQE5R!{pK4YyF4>j{lBrsAU~;=0D%m^Y72Ex>x@9 z1Qbd$&PltxaeU}JW352Zp2iUV-e>QX47PCCX?&5sC&-zw_Gk2#S@%p7JGrvg3yD5C zp_BEGVGBq6(=8SDt^6LX8oSpSTsU(4(xTt&GD(}?zqdbXmmN4@P+*`6%@brXr;%Q zS49e8{}ko8*IWH*v|6I8^sf5G-|Ffw2?-4sg+98v2Y!uw=~eev@Xx&aqII=;6SK2V zMJZ|S%lxhMG40ph9D$UDGH)l}xijbf(!iW~$6QO++N`;n;L5z!=H*G-`x8PerFxSZ ze|~+qu5jwJ2RmFD&7wq_AB#OVpUPVH`O56CS0ZbJrI{01deoId64?DWiUcVvo_{2H z#*&R*DXd33j^8MYBzqch%I5M_y7;O z^tU)XusP=%wtUvg$a9-7`mTQz&U!@ocd@mCTis*ZO)sj}e=3&Se94l%`}v!+yBu+= z%ncOdvJ|Jjda(559-WD9HXqt%oM1Qg%kTf|d-1V*bh+I}rW}dD4XasWLjx8`JkjF3 z5wCIhz@n#L<)f!exFPquG2sa3bL~8mQ7jkBJVE}E4tX`ukZ`|B-NL` z-|?(??}8N%5|h^p9eva5qHS|oQNey~n$g*&nP0jCZ{}NVFw^Kduy2ur{QZTg`xYFS zCOFICgm-wr!rxOhICU0P`6vBZQn_a%bISY;{cdlY4yfJx_`7T65HV3-6g4`C4ah;swe)7TeAQD`u+F)-~Z9_ z?tB)oHSv8yXvVbDX{{_~Hx@)%`lhb7ThQp}`yhVPREOxaA@XK%_SKc=XGpC z7P!xr>^G}y$Ox@q6Fqe;Yr>yKn|t5h=0z>|pfr2e(Vyg@CM)xLlG73|(|q{1&E zXKL`%q|=QDKKN|Bkjs0vy|V3k!^y;tzK*hd%#({wKHb&+=P+aA+?t)=JA?1%6gRW*3%1;SP~Mw!Jn`0l z(JML1mu(&kyx#Dm@xZiymvt(AedV6LnELeT5*>AwO?#9!^fYeb*)FPZ%4N6v>2u0& zMWZkL5%_7(5pUS)w#J)3exuE7p)GpB?Jvc-+mG4=>T)exnS1K`9;by)M-FM_hTU5^ z!8>|N(2IvbV!F1xHc5@2mM(Xi=C}E{`pc;`0>uSgYhJZq$p5@yS>K8)eJ{jP<#G?I z_}ygqez+u}q;tiCxvZjJs&B01tdi^d@qM>T*f-}ZrbpPGq)GEx%lyx|vGvd8#PWcc zqwTR;e7n`v)Y|Ske#~r?z4zyT`i-+Y4J&WRiu_N1kXRmYN7>;2v--*#TYY_cCN^gz zU8=t!E8@@fM&JI&^-V2_-zUdKZfXSSe$Q0>RC-g0uh-t7M-Io!_ws-K@I}FfQM5d_ zsMB}e+ZXvwjX&~E*>v|8`?D-^3t)Qt=Td5I$dZpXg)C`5_Oxj^YUjvBtogvCa!Ijv zGbl%7MqCSjucdM6Xh-Dfx|9wDC&4#qPP?~!>1x(6)pQe?xb$oHriHoH z@~O(~*9|xQOr6B`BscqIIqTm`_cqknS`~IbXzdKYpXieLnROGN_C5D!dEpn=dN=>J_F__*o_6kH-CLjEE7(P|U+2BJY}uy#kKQld9QyP%sOwGK`b9yHtG*dZ?Rxeh zqj8E-qHRir>j4&jr+J?*2(oxKX=f+hZ#|&a!KAR}i(B5v zusGP+&0cVR@fM58GS_}y)X@DiJ;$!)R^U-pR9b=vrR(yX(o z_cMOF%FS^<81q+EO}F{t_2bXU(grS@RXss{_Y}4~h-7-RcS%z1VS!7g z@m41%`o1vJU#%?g<3j1fRbQEwfAv_j^-8aJ2isJ6p_`ekW`^sN7dCx%%8?R!CO%*B ztXW2yVeZ}%=2d>{)f-a1?k81DXuHd1RbeMpB+#Xbg(1+W%xRWzRWj%Hkn2I z3>nV?{Wi8*oPBd(hPsA(?O#FV=Ui(2+j~OKEwkJ#VruYf#~0P<)fLy*P4?5=D#Vi# zQyY_m)DcjOLm30m;o|9tl(79t>M&|xY zH;u1nFil$9)!;kVTl-o=Ud7*2o=dwQik-RBvGdo--LH+-wWfv2ZMYEo_1JZ*-@ohU%u516~J)A{8={sK;Rmp9XG;4TYcgK0g{Pi8{IbTJvY(E=vVWIVgZ6Qp( zYWgN#)-E?RH`MA&9EiELk1e<&joVUmn)Ra-hU+`}IlPRk#e@VmsQ&u-$Isq?&t>uE zukPkNk(2*cPFh{zyzr-JOJQc3`Mw5$468kB=TH6DRN^z$Pe0c8N5q%ZLnq~r{kzn( zT`$h#yUvHJf5fY*Yn>PDYn*dhaLX)#7gBjbk=v#f?EKEPD>2sLy2|dv?OBWy1?O)6 zIJ?qiBln&7^S0`FH`i8QJ$*c6ez%rKNXnCqGiQHJ*?38;`B!|$ng2HKS?`#qc|3Wy zw6lItar5L#HX8VSZ#);GSb^B>u6G&grz2A@f=(-gcW`-d&uzQn_UQ zUGeL?TP9ejZ%{d|;`D0ngj;vk%x^u|C*4%W?>_a=8ZMKzA78sO&pqDkQxWdT9ix!% zvTTJ_+RUXF-A+hxT)ez_XYk7(F=w~DUoJ57(Sa=+-S_#B4a`ls=CVG#~2suxS6gw&SL1oqcij6xX7yIt` z>%sf4a?jzkXRAM1z5cbEwfaf!k<`aqcF&YL7rrrWi}WKyCd-vmo}~yKwEjBx=Zc=9 z#Hb5PW;H!?Ee!ZOcXI)w%!&IFPSvFkZ{G2}vHMmz|9`PrTh6`Om3H4mhQH`p#=~_y zzqut#B$Gtn&UV?fVb?*Py+1;{Ja??z?J;YC37h=ilaJ16A7EqG?zOMXHa@a&d&%!Q z@1Hv^UQiFK*~L6>+kv=K|C*Uo_=93n?_TII2{Ar&YjNmGX{qUly}v}yidu5zyVfJO zrE*;rJ3ecP2L7MS9Ky11sk3y}{1$Uj*N3;%U9OyYHSfJuWT`<-XpDKh<<^JE^Dh7S z@bTTv14@;p)63#6udbf)X;)f^xqjT;nGvxk-q@XZag)tRHGTrwc3CeeAtOQM^%9eu^oq2y&L^7I$ib?fZnkAYHNr+Bm2)|tK(F!~eOy*ck? z;0jMC=i~YJ|4%tuwIzRheSN2S4fr@Afy+3L){IT@R~YS&mdoMba$ z;(EEWO=;C~#Y?@@Ro)aOZeQlJ+oH$Dk5%@fC7*wSdC%Jed_OEVnYJg~YU0aJ;AYD+ zySKRbSS8bJgB4bSCA-x($TeU4u%N-=Uc|1S2j67`^5{I5|8T6>@1D;up-EFREiPB= zaZq44|Ni``$8}SYIht<*<(8GaeBb}#ePEBU-8AMVS4JJK$$|MNOII1)y}E^~%KdEN z+$hr%S0iS&sr`{$cPvzLo%ZU4BE3V09#1x2yy5*5p6$9Xmo8A+{e9t@_GvPab`LHu z-JSZ~PvT_Q2`#lpjHR~se!luH829^MQFNX1$M#JxqBftXYzf-6*{SW_8sWRU6F*i> zsQxj@QErOP!HuuHmX^#{dppflHB|F%qTQ@|(Qi|fW`8!jrFcU@?c=or$7B+gzuP-+ z!O``;>36q3d>S~nWO42O>h&{b#cvIt=_g|zkbPwH&)PTjm0JR)J-WACw85r#mVLx` z%R5s86Hhf;Tw1k!k=Fn0A3e7|zS&+8{_@`e;S!d2`R|KxK1p=`i1|7v-CX$P}|I!(^CKC6~9yZ5}X+*7OKs(4pHPWkrnJtqy%eeIt3 zJURH0;Vc{WEX6i+!Nn(qWgew|TOzS9PG0fn^wKYe8^o(v?%S_CTzcXzPhv)c!rhw_ zicYWaxp-y5CF4o|L=MgVQEdL_pN(|gl{aluH2#QIu>ANe+;d@q5yyXv*K%=f|6cyz zG3BbS|Doj@F@RJc9t#D?TVSJ6*40@v>3p3@twmFcyf&OUly`td;HDXSyrQd^c!-&;+qunacQAb`Pq($Kbh?@H-8Eyne9Dzw z8KKr(hPyoX#8j$+@hb;mxI-_3KnW{1E#sSnhr06O+{}+smk@E6OL?BeUZu2{l9 zO@5Z?`MM>6`cM3;4u(i-7-ZdSIB2agqiXuG%SPLhwEEOnFYpv!{4Q*TfPM7O9pbCj zO`YQ{yy0k-aCxP0Y)0z#*N0VAEy^ZZo$bDTQ-kTK)xE6qXGQquG|O+}d4F_i-tRh@ zw4ZtItuvMtw{vZgc+=d|owVxgO~vyUmR&m|o2sN}S<9b0Z_Uw%+0&-h2L?-Dev$QQ zmg}sCZyG9szgEouGwadPPZdAzepq)wd7qK> zLjK5qnXG)ab7LCSe}yl|jM&e$M(Bp_e|}Mp?N8OxCdBoJ6&+van_seh(M6l;4ELf^ zGtO7Mv#xYiu>DDCuDo&P-`7glgxm9+{w#Efs3$DF+ zA%_;J9nfRExxqwDx|QWt)~t0Aif>r<*-dJiozQk#X|0`iboSfuwfp>kU-9DH$`QHY zCQHR1ZvP7xy1YuaO^ zg^4yAj=|hVX5GK zPF*GUGsR8ca&5OBv0Yjj)MuDh{Ks(-i)^Ny zHqq`EIM4aW`c>buo7jR?$W!n^DaGEJO6&qEBN=DCjrTKKp6TttWk_H*D^+G!eRy6A^aA`jpaY%bx$WkAX4{JXaV=H#yVV>P8~zdt)4 z+wBE?NxPmkXZ+cDVMqJA{@9bf>Q$FCCeP25n{>o}IosZQOxM=SN$j{Pom_YJn0ZF1 z^WIZSj(vXg_R4p=T}QPYm1{4qn-=ww^Gs9#uio_0)saXU^-KRbpopNsX;^EEXVEGF{%xQ(x5{};+Vq8eA_+5N3odVknY z_grSb)k$Z#{AMoe;(PVso}5YZC6P0nMxV<0UmwoA_)sN1igQwk$77!gj+@)8ZoY4B zQVgBVRgiyDF@2v$_Kd>bjgzg>|sqR%@0&Ch?i8{rk$@PcLVGQMNxm z!PmoU&b;XptX|}v2(vBhY;DWASLSIN@FHN6ldUEfr-S18`WGUx|v3^G}!n!|82;HE=_U24&Vm}T#aAItW% zTu$blbt7zl&DP0As?GYX5|0nOiaYko;*~_=%DV1U0}aMkahn&k_$-;Ta2|iH^Qy<6 zU+=utdF1qF!=MA%>N91vO8VRRkFUwo5C5!aHR-j&cILtxMq86#ep)ztx5eY-S<4q~ zO)e1BojiMm=akZoH-bB>7v5U->_TVmW!?p=x$Tl(2xQdHyHu`PR{!J8(h!Ep5}(&@ zso=|6q7b;${nbu~3sDcIZ~wl!P3OM%Vz1S+{PNT#`R8s=I@9^)#GWs5`|o_&R`$`7 zi}_jq;><0g0+E*<9WS_k^0@G;d91zjPB5+87@P5 zl{gFCf66*W^Of)J__=MGKEv7OE0(J+20J^vtL{?@URyXV=jYmFx0Y?oj(WdH{b%GJpWlbI5@!APEbVR4e6fT76Wel+d2$)T zi`Puq-?&>#R^DXVr$-uBuggyRSs>GP{8oQEW0mL`p686US2rzH$ngwz+V~}vVcw<{ zyEyBZivCH)X}lJ!M+Y^J4Cg z=UW_P9&0TV`lsq!_ip0DjkQ}2nD?D7JjL>q_4~ApJqsQ#nkc^E<>4Jmc@xg$U#~p4 zUT_$S68G8*<5_Q_2bHym6Mh{?v#vsYR4Inrndaq$@-MEe+}n+j^Cd>bB18noON@X zUq0NLb-eLPh0t#Aea&HsyWRijuX*_7(^BWJvo^ho-DI{{|4&!Y%VkegR>YK^RPg$e zreMGR$~TAP9jntOby*yZ-Rr8qFWcke$<;ltC5~%Xf8E5oCrmoz=Wx01Wuw}z!7Y-->=$pvR7v!`wQvgq8Iic@DQQuRF5nT&khQ_8j|C@ekg zZSu1yq$@S=@zl;KYul1z9QK9&wlVu!X|3-cy)stz690yMNrxsD_1<}WPWt3uEBl;7 zXIYB2|MgV=p8tP}%J;aqyt<4FE!B(amvAm;6(Vnmam{+eaQ1EKorjVa!rq+=5o6!5zwX8&{!h^Y$1P_TxeFAOsL%X) z=7g$L_jLvFsVR?aq`djv*}qKrZS3u!Wg&LO`4!(g-nlB3iVYHr*-!3E=Lsl2_2reb zwcyO#y(brVg|7cm&NfLs`(*Znt#kPAwmgwIprY$txq-*=@83At$v-fwvSXV`koH!2F)C-rHm)V$eCe;9h)df904 z_K{14@6&(l&-3gQPtm;otb6&9{0vj2zXtxh4bMN)`65{(E z(^8K1XWu%p;l=9w1s$B+JF4S*z#kYogxX#S6 zoi@S7Xo@IL>i)?~Ys8(;yKY)&@GFz&efnYfZ?0mI4)2c}TsIGnX0=gTKJP$ML}#go zYCpq2!F2(jZg||D(Kc4>PhyKTIv(>kH<8w^TEjt$+cX8j73rk}%9NZ@xG@D#EUKwa|QRu#} z_F{%L|8FYPT?^aWp=O`q^K9z%Rhu)541M`HuX3JR^X^)atw-@f0|nlBkHWf(^zZGu za!2-2=J~g~&TGy%BldHamh$miS4?u;o=3RNy6DG!?#0Q_>9a4c>@|ou^uq4w%JVPx z9NXHm{>rsUHf&E6hEi$e=*i>{yx2@Q?$1>KijUcI<&`+qubBiO6JX> z+fQCRc&}5MSJGuw>6IFv75FS+ieA=EX_LdpC7I>5b$7VmT)z9U^o?vOqZjg9PKe7h zSot3K@s6?bql;D6SHR z#CYEE4LdxqFS~2X`Okaudgi}^+`Z=mtL7`P&;8x{%usLZslTZ&ekI)fq;>M#K6&kv3t>+Am((&&Md&`YWd5P1UAK_UO>b(!^jT_s zNgeOko=r}>>EeF)hSLH)?|EX6GL>t7uuZmKurg`)--DcvZlB&x6Muhg>&88IJrBOlTRn-_ zxI8Iq$D7R>)2^JJEmnDId*P|=0kUgUGjC7(bm7a1&>i8gBnpicG$$WcX#F|mS=Pey zHY+#0k1WyM)tHm&`)Tw4RbT5Fs-NB5zbH@g;^b$ELjG6J%3o0VXm+PrV#j>KUYhGQww=Dd3cySG%*nP)t`&FX*1zk(EuQ8??UYNY+q5rLW4)%N> zRCe2?_bqphv@I#@*_p7cF0}bt0^^kA73Fnjwhkp$=^{pG{&3*RcstD7( zcjsq4W}X<7+>^z3;=FEqq#<8hoXeZKe?Om3PQF+=@7ey{(R+O^B>XmTwhh_U`i#du zL+$Z=XGOthU#~R$xt;7*p|+{8N144!vGeWG#5FqC-4EQ859X=0a(voeCLwzN<(f?@ z7R^i(g&dAA-*RtuVb_pSXi zZ@Igzyw3YH`OJU6GE?u05=OJbKH^Ig@%`ZJqJ?RaEw+M|Tv@Za-Gcdi#7or{tmiCY3@b@2>Q{dTWAp^)-tp-_m$)&z;5O{BF7R7sc@X%9c;~(oXn( z=g*lQAo0>LWc!)Y-aUbt{QiauRli(V?V>udXjxA3`w79ktZ!x49aekCaam?0EBZF# zMOu&B!d$L5wSMP!9iH(uedZEth5nuV&6>e;|DQ1^uLyb0URxdF74tWA*`t0Pqoso9 zBUe4U-In>HdDH*sWktRzkq?(lN??rhm*jA;HQTyv-!#qo%`&!b3#<12*ST5m^UeL$ zX68@K*?KF^am_9f7id_!SvGiq`rip{jGJFsn(X-S>Bwc(h2O8UeEphrJRp@X;Mn*@y*1esbhUz{Qm*1I4 zB{JT!nDNwo*UQ=sA2k{7n>uC}xl5WDrX9$5%oDZW*_Jr_Q3OC5f{KG)6i zS)7{Pw4>giu2{L&6=tMwYa#9z( z_x+4jwy>6X+8lDxBsuWcPhPj1{^2hf&mZUPHI{l~>vh8Vh)}^w1-7+n#UEd2M2JQ5 z>J;#_r5%|1>%+$GmEJy6{%230apv$Lqn?G~4GSN(NBnHeXF4-E)2FSMpV|1%I@kCL z)_I{5x|lwF{@{|onYU<8#^pDck9exc@{0YqGEYKuj^3tCqObRwzFd8F**!h`E2~e3 z-JG$s-!<{gto%o{*CmQOT{jlX?8%H%kv;rY?CWEdT|1}OHt*ZH{b`%y$2%IP>z__} z^G&3jks<~{4P|C!0Q+=9LAvkSX`pVxKI=bOE+%#6>vb??~8 z>$;BSw=_(hm;YA?E^b}M86)-EEaz5ljR%LVso?q@Ggt7o&%bxhYVqqzMeiL`kAF`1 zn7njzSJ&rlT2;2se|*Tc*tRL`T8QYr%~jttj)~l8o}TmV(PoX1?+0rd*X8^*+^X1a zqn+j`R~S=jUbo_y`Oo`X`dy-xnJ!o#O|25Jv=lk0dtjRVoz7!l->sP8+k9>9g1A80 zl`%)7^dcs%x?@-EyX!(t#HX*EXWy>9!y>Gqq#$F@-DYT)ol?sd9B_1l)-Sg*2YI(ovsPX3<2~}@Xq7jO1trP&hugo?Pt zinz3jxReS#Bb)OkHqRyJ74x1q<~e_v=e%XxbIrErIfpkN{*YsCbDQVacRJX7?_22c_e|G> zOj>s@W8M5txpw0HWNX#=_WJkjIOcZt?8y||8tt2Rbl%f8u8#jAY0(RR%#-}jlBWG% z@l4cz#xv7eduBW}{B-&|&mo;`iL{d1pnU(MyepnMyw7-g`boOmY#-;`^l3Vpn#G9{ z;d%?!9(*EGsz2{QU#~bBxbJwEnMAej{p82%7s|cd*m~{p@54HG*EPJ4O3;iE zQh&s?sEk24zQ1|xVSnC&jFjM#tCNhJ?`3NyPG#SaX()a@^v8m`vG=lf&JTTeaO-6S zW4MA`f5tet&rPUx8@8RE^<#*UJUpkB8lT?aQ4}r)N4tyRyvHrk$y7Tb;=&9oq9$Ij&JtUakA)#v6OpjxK+z z`F87+*;5XA#LhOeT`^zheC87iUBUBZoL{QCx}I2eXDPGk)_AY7P_^HGi{s&T-%kgX z?kuSF=1o;<`=s^b-im9{=5;;Zw~r~SNw6LJvHi@26_1o#ioCu~x@NDt^54(BnI8Xj zyub4AP4Uq$Qvdxt)3~?itBhQL%d5C+RfqcSs#L}un-?|z)yg)HyJEN6`ST3_-mO~{ z7kxDR>92_7KH*>QZzPLGYh1UA|BRfR)Z|8h+U6}dO zhq%*zlZ`|JkKFCK`!7r8(~Ol*1eK51URF8(>5?#Wmj=h~_qFl@w)`D+E`qi_9epKD z4jV5Ac30jzwP5kF2DuHf4gv1^&n#E-u4WY3U8w%@z4EUk-+MdeNjZEuz^c4xZnNOr zh00QY_6c6(_xU7rUcu$OeT}6{uJfVCS+=b==3UreyEd`fto3cAEN}Spj?W7gxv%m# zk#D=EU1CXqe$s^-{fjPF$NAoEy^$Sx=7j#4-AjVpyJqnUeziILI8KE3)D89jijkLB zWX%zX$dX*FQ@r&__?IisCR}1MXjUkf|9R=^&!60i-i{UV^KM@b77qW>9`z~0pNU0H zXZf8qzn?$58p_ABciq)@wGrxbbVGNaII;8dmWo|3^3@gXcL?eKU7qo?KCI8@^g?mz z36oOm*PosroB8HbF0+Z%&!Y!KTlP*t~D>oeub&EnHwv_cxOE-T0&N-L= zZlC1u$kZx}gWZ=6nL};v&wzm_hf3vM+cFR{O?hxEPh%S2mQWS`|~N^#ckZN z4;NZ&oYH-H#YEP=4_0={Q%t@w?rd4S%xB2~x1&>2{;^x8ZWUW5t-m*z-A*&`nWCSj z>+K( zZy)RJXy1*65*vS-F2BQlgzMAk&(}XLT(Wt?-f7~NPxXRY+N19;$Y@>mYx;|%Mbq7N zz7}uVJ1xy`V{m@G!WGr*+E!)GpW&>(0`-nQ{hU>@Zez`k<~hfveO-LFH753%vu@cm z$DiTF*TeT7P00#8K3{5j$WAwn34hDEk3=V2%1pH15zB7)#@*(kck}#`*L5#rv+8Wa z^Z6$n{&e_C@2OgYl;^u&@BAA3<7AkH$$ zO)ecztmL#gWh!2M^>4EjZ{p&>2*a4SLi(bGL4x`}e_dD^KhalfQ*vTu*{YB%rudeZ z)#iTjUl@`i#3GmeD}A=-__0=lKVp_mwf~}uZg15v_5QZOi|+}Otm4${{35;B*{8P7 zpSpgJ^!BcAD#5oRBKKwA2&ofbE-8EbU3tx&vhY)8c`sJl?3E7>>gBt%^>)jvAHt7U z++;hZbjO{yZREK7 zOMR__K}}Rx!IpO!AC7hOAAen27v)zg{c1N??~9_9dB(1vUmOW$WnQrA$m3&^PhWgz zG?`8N(%(*9*;O&O3!Yn8tiSW#D!y&wq{(6$@4_xFJpasAVN3A;^l~O=t2S-9d0(cn zu5UOa^;YK77yrQ7cakHWiiOVnWz5xX!*qToQ@}}OH4T;i z#%WVuH?;WQ{?ZWK|GM`|(1~+r_boXT{$|2c?~RQriCVo2BUaikJt||+rtQHdcWk@S zvO`KA7wwvMIr+ubJzp*fuuoC_QdYfuceoEX+cd4ut#7SuU>lIf9Cmx@Hw&bat=Lsr_|4S_vOMZ_IhoqYl|#R-^=T~J;U-) zM>0L`)0V*XN=m1SzdU=*IZ1AgW~E=~XX7(GUgwSCb~yPnH!8T_Pqw%zlsJ_$*73gl z!D*olySK+kdMBOA=+U0(XMZ=_skJuZ4A=F-@B1#CU7~TjR>5Sg&!^j}_WD0%Q?`CR z6u-{y|Je`jl9zPrA{-nNCf;R|(hSkc*|2|4(hW1lGgl;!%HwOOLm(nP}WG_$;;jRQCVdhdjPs{`9)|NY4!O=eZTURxxvny)zaEtK@I9 zRx3Jam#X?P@~-=m(z1rosPxu{56|xV&=-=|E24I&vuA60Qq@G>f0LN9kGDrfoS*c1 z-mj^xAE%$(FUe~llJ4CaVN*YMZdj)7*#yGU?P9-w6tS;`m!Vv z3T>V=`CqgU@B8#lDSGXp^f(&USJp^53+ihg7A#K@ z*)xahdz{emgzaZq>|Y$vKljMyg-E1>{+-hty^&Fh6|UB1Q6;OVs$vX?> zd!|g5KauJA^b7y_nP=GUKGb{E%2wj$XRXZM!5*K)8Z*n&`6kQe)XAK(mS3m8{-kwt zeNE#`1B14EZr8&TPA)5Y_nV7nXUMs?@r{YM7@js&$ku&H4S2Hj(VZEZvTM1{6iUr? zd!KdSI^T~=a`Trg&6e$a_u3%D>qF3-_W8M`M-Kgw{O779woLNhUjF|&2I5=~;vb4} zf6o3<&hu~OhkUD=-(pMZ`Ts55_GZ__Nk_LaM5dR=uQ8q6tuSF1(gZDqvc%L=@YNm z6Fk*gEhoN>Ule{~JM)wJwMF%D)~9an-DoOX9r@;1=H1*b8!zj-m$z2lo0>J*{qC9A zn@?Vr|6j=XYURU4{OV_x6r}E3zI@tIE?b+(xu?tWzkNCXr%I z>|UH^e)IXA`E3VwB~Mf@=->S>>q33wM9cxP(H7gbDI#G z^L%TrxzAoZ=Q_K*PuXs1TU)_jRc97jo@4T9$}Y3;xQ3>ee`0inrv6#0#~^Id$kWh2 z^StrBsY~ioBT}=M3A|@sVqu>2ymf9`(3|OdSY^{&=5kAhm#ium+>;wpn6Y-_q%R+= z7*-eB$Nh}HwXgofA?L2OUwBMq-ttZeez(mu?Nc9j+rLuqh830P%)WcBtXTS_HldcS;fP$onRVY9is#pR&iwN<EW)Tk86_*)v#w9=YE1tmx_e zSlul?-YIe&Z_e|@E{dJ&(79LS){R-7pSrxQGOwjP6r6dXpjVRB^sSVK#ldT5)b268 zkj&WsnCF7)jhz`iGr#d^&f}F;F-aE}de0MNQ~YY57Uz7$?{BnD#HrrombP}jeo60K z;k$CVLig*p4p$dw&32w9R1(^K@a>+b4}TSfRh00^={YYCvFu)bGWhoThL!Ji)vM>V zwM(wKa3@Z+v26$Y<&(j;ALI+0d*5wYf9RZ8;`6pew;eC#+-R}3l3r{fwkkw;>hF*9 zyoyVF)t;R+Huee&Id|as?TmlCGfmWQeo?vdBuoF)@=&4togY$4ta>hYFR561dw1Si z{hEnuHMN*BLJuqtQs?|Kc|-BMn>Jf>+>W<5Y|q|rmSei=3`^4wc3~G?J@M}vr4~#t zPwF)$N)Y&6+=+sXpEy8^qWXF7TO+_lEg$ z39YCJt30+O_3U{YUPtywa{tJM;^zr9!~U~Xt&C? zwj|=Y`-=_d=F3R6rrET=V#y` zU1ilGcO{-3UQwMRCd#q!)6}TzlhQYwR(}1{``43*Z8vvku|;onm@TCGMDp>J9k1%E zyhL_dO%6_)`r%1kc=f`~y_#{7c`w-yJqXdLK2Te<_MFPU>Lp>_;hp>W!`B+DED1ZZ z=c&eD(=smJnJ2cNewS;LmvGX+PSbzgtQ3i``E$cVrDmwd>_4=`u(I~qna5WJm-V^b zTzh+8(yJH3?sGntKRX$(CiQ@WNv46-&$xD5#pKPczYZ*(pL9=jMcaL>bb|0c?btIs z2~(`}*rn&IRen~<*W2KdIVohOZm3_QmX4~b>Z`z$*3vAkPo2$ony`nmI=WqMT6tH> zOQt`>p8HbegzHlu|Fo>ws(S zuX{Vr<9sOX^X8v|hmLW_@hGtg&(2Q?v{5&FHSwU;lR52PGO3k2ZZ;jdm|`_$dBO}n zf&aE)FSu8lJha=Tc6#Ufjx7t-H3b6FEciY4))jxx z@njlxxPN(JryrnZ?t8eGzsjXQ-E?1Gz?6KJT)E207aB?g$~H;t`ryG2se=4{8Ya6nzVs?Byx7hzCTFL$d1J{H zvE>bL*Y&XRh-z`7Ze?0S(x4DDXUZ?75 z_ZHde=AUBw>3?}a&IOKZ0(CdI&Mw#_^56e~$B$K&)4BK0XA~$oak=(dgq1Dh*AE}> z7lwF;FUvTw?_6LCd$QD1Rfm6%rp)sD^7`>ZeVN^SJ7Y}p4zFIh|A_|2Ix$ZFdp~OQ zdxBzeHg#NYtX6iA*0kL>VKIBig%8ydvZl z@BW`lISZN2aFv^wh#5JZ&E;O;wL;Q3;jEK0zjtW>(!qWEretV^FwG|pm zz7XGM5m@m?P(yg?&ir%#G$&o}lC4+uwyrbz z@+D)7V&~GuZ0qhMH?Z>8>a%lmZxBh|E|k55!A(_j^QAUn+|7(bHDCYinAM-K>A6eSTS0xcx>Z|``CN%wlcUvVwny{U zk79tl%a}G?U=tTD z6Ei$=-m%%F<_ z4J3aVT}n8nr?T|!8^iB`4>#Tq=6@S&79pu;bZGJZg(e#&Rr=Q6nw8FaNPN}4yp8Tn zRSULl%dp{f<6PTi7|huwE?3)~6&mly>BTG+eOxAMP8!*FUp@Uvo?v$SC?wP5_R!k=Q=B?a>vCQ7tNT8 zd0*@)HJZD2vW$j?k<;UpBT^Y&(^p^WoHcpnaV zS67(#f~{m@xD6|Ff@u2V+IdH1EMJHu=tl7*t1F5=|M~d-a)FOumKE<|h*RSB**HIP z##;OB2G1YfxAu>o5ni8|IA{MBgZzX0&!y|035i&B%|1J^&B9fwwB|yH*o62U4G*oB zXLf(M;99wJb!rBW{`}DW>D7wAG>?6BI{)!wag;#dPzFoaf%nY2Q%H^n2%q&vtEZm+w#eJN;_C)l`OU;H(mvHs@2f-7v^@1wq0)Y_y7mKo)gE8gB8@TY0ZuD<^t z=X4p)(3_)f_(@VUnZfeY(hoPbPN>)HbUlAVXRULpkVMQOZMoUFHb2=u?J>IkQ|sllf+@@uO_P;;S8(6S_mLLQlDtjcNtG!ca2&s?^w_J^MrI|!0p=k`$Z~C z1P`5?tUG&S-IAn^8J#O1@Ru*z-Mc~{vMao%%%&@TZtkQTx- zSG`}ez;)TO*BAL-J+v0Q>3F+wIqSr`Ujh@wb>d=L<>u?P$iFjwzqCqyacy@_WW{dQ zxigK^ik5Uq_J;l~u>T|xFTdrFEDPVQ+;c6h{P*@+$sU?tkWw=7cDb97|KAIe8-*5D zZoR4dtyOKpF1z&o7izjcc-4yv{+?kj(5{uaRWeLdY2G5EC=s#K9}e55?aKVAbL#SM z_T7sZK0Vx4$|?15VzE>4#Gn5Zw$C}{mT>=o?u)1OOFTSI$NA>l=;vf!%2R8PzO8_M1xX#-z`Y1xGV0!*1FVD z==ZCNlGioD?TqhQIBq3zo!!0tDpSjnO!fe)jObT2=W93EDVV&!(UviByR}_IWx&*( zZ$m>8{(d`q`{P2*>Yk_sb=R^-&&~7eeZ3WLZ{YH%Kl`nhIaGGOi`dy$Y=KL>s-{j8 z{XJ#%suP#D+*;Mgzm;vZQD*I%iAkONn0uIdjl|b8RdQ~~;&{v#m^uBzhsXcz7v|pE zTCCv^6kBdva(%Uhf=B)F<04C9x7;e#obXB0!^&pDy(zjA-ZCr5vP@|3bP?<%X7$9fl!x&Bz>y8BUly}jVi-nCjrG^QFK_U042ArHaKJ7-__F^PA@nk9mXho`$v)Sy!cqd2JLE-wrOxTT)OGpUnJVV zE&Gw>nhk@@nlEn{Yh9X-{8kq3VVQ8uQFUeEzOWMZ1GA$R-DCYARy%jAQ1ZOM8Cwz) zJwHxSVd*wsRiV?!F4TXSnN!x7rZe3=&!gWh)?);tn*Xx7dTd!R7yr|*B?Clo~ zw{jf|^q*Y&<%8TC<1Y#U+9zML|5|-}E$?6V%X$xUZ>XQS)8OIwaDrFmoNMbBpY8S& zUwP0X`6J0_t+RJ?j6vy(g|igXzvQQVKlwC#>zC~zW}<28`Ac5^ z>Cs<#zR^yP`HpXBK(>Vayu9(g$<5+@ zOE-laGID&q!+q5QbN_4Es~$WzFYA)$?NyL|cgpb26&5iG!T*n5m24HUy5ILica74* z+kW92?}omqT)1o%H)@OgU@(eXhq7<6^5GI=tT?QC#-mUJ9Ro zMaZHCzs&{ByG}^`sBDSiE6z`b#f`TwZ~r%8lSRyQgXF>w0{{BuPX4x~&ScOhjdvj;~hC}DX z0&IRo&ysRW-gQA{?WAWjIH$D8^Y%D#OrjKIk3N_B4Xc@3Y_FVaTbwL$%l??G5{sJV(ks&+RnGpq ze``Rzo59MMRXyrUzddx~{CLyhABU0A_4aRTw<$iKxNcg_`>LLhu>A$jwc8@kD6~J# zt`>}!KKlK!UCp^==jUcTzpS-=VZ`q%o4;(C$+x>U@?l2Um;4-)bG!K0oDH~f;*m+w z8kJ3Riudon=2-iqKh(9_!S(y!`A#o?xLnELpRkrg;e?@F^^T)GC7NpPjVebSCN0yE)ABDgmPF}&nCxq@;=}cIf47~gwsU{=NaJ(%VSeGK`WiFSHBZcbyKLz~lbzjN zy`s)%j>;ZNLOi z^IPY`8GBVo!c@Oa0Nue|b7t?@3(u zV}5>X$<8pN>w0IOCTA?n30imDy2i;_+53GRr?p{8SJ|g22a>H;zk11CT~Ts=`um63 zeara{ta&0AXV37u;)Yh`u9ms1XG(eunEm%WnJj(#sNs@^#kv;{KZvTb(VX9Z%PG9= zzW9>rieEFkH)gO2@gI2p`65$cPf7n&kwU?Byj{n*Ghc};e5jPtweiaGSG^^TZY%m{ z?B~j=v$%35hEL&`vy~jDALpY537goOTJ~*vRX;_+t|BSUWyyJt3p|=EOV%2So%eWr zzpe9sQsV^+=DkMD3at(11wA57^9}y%vaI!FN!BqfjI-%|Q+$qf!LGX(O~W5Vbb86n ztk@OV-_!Yd`PBoDt_%MY-@;MrxLf)Y^NDA6T7FG|Y)|iAoG@2L+UAZzu;#of)=#IH zjN*P=b$@*!(NpaFf#kQzk5X7z_PIGHv%fmEsPaO;X6ch^?ya}pyTzENo28x&w7vTw zszp?1p5iiR-VJ@Lz88Ev>ak>{T9xj%`RwI?{tN8rpS8vL=-KZd7;*#|T7+6uYYc;L zEcvqNm;WfHk>B+y;9clXGPtLJyX0kI5mBW z4{-X)d18&^*2stLl_K*(;^VolzkDfj{f|SQ20Q?j2aewSa)zIm|Ah59&r2E0 zCVfBtv8k@->iPc#pIpUeOnbMao-chKF_L3dXN-Q`=ECtf+*U?N*pe!S_$!z=wi*YBS~R!F$@=Wb;aXRA}Ewmx@AD4icYx$V`{oeK);|GleU8h^7jsXwIZ(BH`1 zSs}9&=6mXeKflw*FFN~kW>ic@P=iTp&hp<5zT!8UmcB^WIwx6TEmA8+fvO?Jt*A=gGVCW7nOH7b=1bc?)LwW>0#v zB*5vK;qllkSMK@2OB8wSTWj}paW|w(6-e~-{n)np^P$~86?TNlOuctR=F;pd!QQdk zL#`{^)NP;n>MyrSy!5Nt(HdeE9jyP;nWmS?3rbadIsIs|@}0E-{ToWPOkdfv$Se+( zl-&~|_h0suSrXG?i;4<2nwl`;O@B$f^aG-Cb^8ePk1Gq3{@Yr}3fo z(B&GN*Sgr~cHYg4KR=7}l!Q%^Qj+=3xw(xtdp2(su)A`kQ@wpg%=5jn@{Xb9i%wp? z)z%9odhuLPGw3q?=jynofi#IZtV?X(UH)kBWTHD8pA>tyv!@3?U`@Ucdz6q*Yb zFZuGz+Whb>&3Ad9_S}DB?Od~b$@2WgQ||d|ohvz!aypl@D`orVm@V^5%e-#}GO>uB z_gbj2{6NAxx9z_w%Fn;GRI&NTnR2h^-S_3S$?_qc`$E=ACq6B9&%P9Gn;tb~=8-4g zZd~ixE4Ch#ed;O;XeNAT?w`J-3Lp~Tk|u> zGHhX%-E{l%=4VlN6t*!rq%YxI@@P$oy!$_)zY|iUZ#GwS|4(k1^5a&Fu0wfi@mwo4 z^LOIH>w*oGLd5|CV!ombGsK>(TK>S-SeC8iz+q;dkNqEyNGiv_yeM4kurKWBo4py6 zgYNSBY^f6c!@0n}Y$walZ>lGad1I5!+E)HZV^3&d>%0~IW$CI7D=ofl3qQSi1Je&@ zS-+o-TvOepwFK1@zOWx?E8f5To7*1ki6$N~kNSd+6eoTROKTI}`{it3zIlsq?ZVd& z)=GC8Ii9cJh-djTg*9LQ@a!kEr>zpaaj0mC@3{xkQ+|mW_J{8O_+;ZzAMHD766eY) zb{s#mBZ`gtu=khKVmp@vZLiz1Xtv7ytF;@ZsZKRMQ8W9q?Dv&X#=WLfSr4VHKk?A$ zgwA&B@7|wtk5~&Y$&WrMw6$zom58`()?d!|N%P;-Ee=oBT64s@dF2c4{j5b(LSx*z z5)-#StN!c~rgg5lY=4}z`u~R9gts?@X0aWNe_gc2_v?+e_omh!nP!I5r!1Uf%br@# z9?7%mzsM%D*<5#bE=b{zV9ER>d~D&hr+TNl*RB-TUNJW$gE_NT=AA{dW$WctQ~AH& z&bB*L@XYS^mA@fjERL4DH^$CnYFdAxqgwrl)WW7aj?=mhoRrZB<>JloyR-1Y=Fc)8 zl&36-4xIEYRl3{Lj=knhz?|oL+-(gB5se=u4lHO|9k;XSaizbRLx|_~S8oIxFMT>J z^vH&NW^NFxyp=$mL3F^n1Hzx?3U6_^iA>4hQm207L{b_E7#vyJTak|(Ooes=>i{L!R?6azWTcl zMoo3Sy6eN)9SLV1&M~n0Clng-eWhtyjPH+^1~(EO%wght`zI!9HZPBu*cr=^SFg+N zY0aD|C9v;PjPA$qLOs1Fa~xKLnVg;Lywq~Sg|ka^pPk&-@_KUEP3wqAlhC_~nTqT} zDbrHeG^a#z6eY=Z*q$nP2;_=QU11n1di6`(^@X-PTx?rf7pd%ZXcgnt?6}Q#Sf+H= zQk^uug2!?RX`erz>eV~X`(IUe`w0n==)bQ|F!^ak$!i~YA*uF6Z%<~+p97C}SNy%? zKG(Kp`%7LH6O)N6mh7;qnHX=(w=34^()ICA7ABZx>N7bMjrXU4gFesUdslZ z$^A27*?#YJ9mjGm{x#dSIC=ht&jvhS-&(YLua&kx5HVBl_5Qqgra7CgNd2Ad>z$igy5mRRsVJo)$6UsLIa zGk<>loh^4L_(SRMZV`Q_imn@zkJT4TEBt_Rjy2<8(Ol&WfOk z?$3Yeaarf?T*_IISX{gJkl%jG?O(hryib3PZ8F!}E+V#QQBREglkdx)Py5zV?sSMTMf8W)5#zkG2_~zl9Pj`R6`~B|w|9ko;_sR>cG;3k?o%H?O zvlK-Mp@R|&j!!7gNo#tddTm=rGlx&85bMmzPVUw_d^!x)CB>NKhDNYmyHF7YJ_=N%eTnOKYFH0@lF5Epk{b+duI$dh_+U5Q8y2G*lR*Ht$M zFmZWZzR)BrqT}bxtrxICiB~tIvFVlfb*KJ6cDh^Ud*6wCQhdns!MXI4&L@%|-kW=8 z@9keIwL9M~ylY;w+hOgdNz6s}m$mFT|J=cH&8ahUsvh(QPv7O#9k%m|s@>Ud z_bt9o`e|i1<<#QZgLSiaZ46v{Ghtd*_LCF*H;#9%XHa{qzr_5*rD@IeZ@-A{s(HQs zJ5QXL)537!>@T*vb|i!@IFi1M{dHTmCX?>bP}4sKmo81nzG^i6*-s(%r$YPJ&1MVJztrg+`&iI zvRrW~N>{7CI2njv)aG4XdN3_)$wPC$30o|9&+9U>E}fpU)nxB(hIREX>x|_^o-BX3 zvskgYGBZPwUF3|HGk4?yh2N95I$Yi@yTzz>vY1_|%FY=Fn9O}|n`bsEZ;%i?5;=oY zFk*isr%MT!aK4w7Xv@Vnvdaa^TK2pMu9#ROvwL#?j?FR$PpWphUi@p9{U}Z{$Jp7V0Il1AuL%!PP3wc@>%&#uh`=slva%I^c z>;2KrTMc&aO5yz+A;@u;SGGIg&JB?bE}Evh6Lfs`dau5)RHM=&`LNWr727wov6Ze3 zE!A9gdi&Cpzp~ZYQ(kv1Wlz5mZCzP#%DQQHq^uGbn^m$nPut|rmhJ^2_vgQQ8S_F< zc=dzA3w<@~3Z~wCy!p*p>$ma&fBOzNdpxh}UZ1Qb^|UMWOmY7kN2BkO{?GmhS+^E^ zo2fEi@o(Lst;JfVGgo`46<^=B_5XgAVo|f7CZ9cu%4f}f!KG3>@5^LMCAHI+&T3uq zeWo?xOywp2XIjr1m+Y*(o2h0i>ha9xrFyaG(FMyHel6NQdBr}{c&JdfWB=t#bM;`{ zs|%LDy8Yrc)5#cf)#BwRL@Vvo=R5A`v0kD$(>tx`t7?elAe3=haoHU+tk>|9MJ7(Ce)apTj*XwCADnzz5FtPlOM z<(2sH09nu44S{R#PVl%G^qsde{=a4ILFQBUKkaq9c<}4>hu;Dw&psN_ynb)VKds3# z)$?ArWxw)Oe7hd>^8Y%W z%c*>3R}+8byqRsWe%=3j-y+4VIJa&8wR^H+jj3B^(e#+g8%C%2y4Yu2y!UJ2)0U?! zezwJHvLfXle)^QZM58!GOKpOrK!n>1Cf3H7t$BZu%2!IJm!yn-TOl)x6hd{JD;JBsqT>HH$LO_zI+8$ ze;yloyh^qG(WbEatugy&tAyf~j4MW3W>w6Q30&-1ye-E0Qy2tZENz%q;eM}5dVZ;i z-Km9Es@2&)!?SiClY1;c+RM0@iz`BF8OyxHH!UU$d(-RoR-t_7=}z*z;W?|5rPQ0?Q}IPexIT`=k1lX4@;-Ok9#~ zc`9!Atkuso?0gC*yor14bfvW5kWjF8d&E)~uOFuB=e)gMrA~ePNw4q6^_qEJyw^(g zpS($^oBhXR`7M1xhMPYYfAYCC_4HJ}W(LJCae_%FT0+*lDEXL}d@EisdH(YlVd?YS zJ%?G=h^=rv|B}URt5&-K$DS?A>NOV#ZZdOP(yrQf`fJw1EE8n&so?fP+sv*=6GPHGK2A-zPTH>AJh5bpDUGgJS5+L zj{df(?IbHl#s)~~6>p~p@C)x>O`s+<)ndU>m;=q;hFX0iAO^?PlT z_U!$-uDcO#wpgVcr;_5=CgU71!YsJ6Q;!EZZ!~k*O8-R8lmLHC459|iqgrw zO)a{Iw)}eXvf`_4*7|38UV{I$oC79gXmB^Dnr^<`s?cB_K0=uH0RVUr;*mSw`Y2xqPq^pnJzc1dUDXANKZ(oD5&57xEeCH|F&B1wSuU{{7cuQe&=#h zIr89m%N4g0LxIfxqsm(E1Ltn;c*@!F`|aBI+!-+olGA$<@339JaPfx6v^c#~JOBMJ z!smYG&<h%2W8u zWUxYHQ~$~1CxR;~RJALjbh^xRIBxDLJvLqM(~{Xw?w>wiB*o`9VaJl&tPkSK+6*@T z5j%Hu^&zc9vG1IlFT6dhxL?cWsqNNwbt zyI2c0?%UKH^Dg6v>2`1Fjg|8GMO9Uy*SV(cbbcQt`(5E~QRzg>FBko0zgm^1m;E5v z{lVhdf-W&L8yVT(Rs5RrEzs=QnP-1rq^yhFq1aP%*^>V;`v_`N-! zzAor$5tFKW$kO0ephqTGJHmD*q=)7tMOX)3+7e^w*P;2W9{dn0N!Qi zg;&23s+}I}y}LO+@%sJ1w)?Y>ZPEVe|N7U~`?l6%x7Cl&*uH(kO8=Q$S2muSx5!>2 zc>3|QJ##XRr1?)SwrS75*l%=ZpWCm+e?L{l&6zsAP}*PSMAzB6*Q-+Io|(6r_p2*! z!FtAb$`*SjuaG;ye$jjS&YGhF&lX1?Pby#E^R+ep$m0IaS07F{_#M%2=sEk&D8VwP z!J4<=V5#Sh8w}GW9t1JJF*(r9yWup$dV>R@Y&&i-tT#IFT_RyVV_b5BG|z^l25H_8 zY|ML3GMGz0aOeFH#{6do^M2@N`;p4L=Q6|p<&1Sl8TO|&9A^8W%PeDf z;5TofJ&evSF%59=7;86Wt|w&Os+!EHAfo(s#=9nIK! zb;GU2t2W%)5t8BX!?fpD?WLTHeC-#1`fU<^`yu*8jq1(LGK;2j^VO{{^1XL|u6)vO z%i*~%VrIW_v96Jrdlkfueeq}C!O0hXGFtt&yV+T`gMF^Kn)OA#?~8)H$`;ASP0SWJ z#>Vk@u6uAxBV%HC-YSC&eER2nMcHm8rh_@tpDp8Jep}!P=7c{5a|*#6@h4zT9hh_e zJV?*O%AG3@Iaq(~GTyvC-*zoS$FJC9*5`gO#2xl~eduboVCt?FTj!p4Un-NGH_0dO zsa~Df=jsZ@rq3!{!X>UneSEdTXm;HB+P`-{zn`bS=hFOOjh~wXuPrmQzA$fZP~V)N z+oS$JRc*ffdc8pEWVP7T?RRwhtGNCO?Z5ENy|r%kqq5zvb>IEc{1N*^&2L(ZsE$;} z(J8_e8ar(_N*;ZpEf;vQ^Xrj5@!A!8degVWoz+;l?`hV|mP6}<0(XB}-{|-Gfoai_ z2|``Vl{DTtTRdO<=)#fiGIRc?OF|gFo!EHjyVrLesg1!uwU;Nop3&6!N8m^QYbIaiXQh{2r!(irGM=!C=vJ3}-F8&C#?Ru0 zenQ>JjLrjjwIB2@&YU>o!mIhAJEVoR!r6cPzdSXQX~*sL=MQ%uoznlGX~Unqwcp}% zbjlLuS4?AmBfnH+htH{VvGWgePx7*h*|za`mh!iBnSE{I_h!ZBFHE=VU2}P9t8+|O zj>OU~v-+g2V@b1b8_FEL9J%{XUT@d|bzjSz`Exw_u88{H^n3Ede3x_T;dND;ZC-s# z70i<_+_iFX4u`vTvays4>nbh&S1F4fmfU{(`q4i_nb{lL{>`Ib;SCqZ|)1s0_ z|7RJM7QL6lACz@&)YCoEfAI>7zsAnfwzqtfIcomRJnjB{rf3)YQkTOIQj|u?)xhGrieG$(+ z7w4s^cG{(Ud_UT*Kc3lZznOF4l4(lwvwbyP_4K5}qpJc`liJS2yS1^TVO{ ztSd@2jzlZk9OM-{_xVd5_p&Ri&UIDB&q^}7%9{M`ffZBSkw4aJzoi{zYS&%bdE!&N z`=5a3+AmSDfwTX6z5Qqy^F>H7_J^bE{3UGFoP2MN#ZTT_X>J$9xv%GeboRj&7v5>y zbXak;RYm2$wxRiA&178#zYPbS6naauufMqZ_RT?4aT%d1t`%Dsu77m+)B)E-fntsO zI~h(rj#4rFW+f%7rF+wl?H`$KgM*LFW0tZH4d;cG_jN@1ExFE9(3c`m>I9D(+yd zVz}PcF~L4`r{t+HuhLz%oYR&SPWzJ@;XkExMU}>(@0-&r{%c*l5`Ol?0Y$w#eVvD5 zSM*B#@V;m>|LM{d3O<#`I{M#A-?2C)uCe)3|1tJi*(zeUBNyC}%f2X--RJNw+DEuM zx3TPn{|r;%(5kPYKDV7x`0uT-eDSv`ctO6O=qJWCp0+ZTMV={t@^k;}TK+*T=KGYY zvs;dw%Ka953&-`-RuXc+Gw|Dj~FT3@T!7OXV#hIt)T>H&`!)$x1 zY5EM$WXXRoy|*5(Yo=K05OFlV0^ie$yFKC8r$z zC^hTW%g*`s^=><)cFWFQE$Z9a9sb&W zAKSQ3y$a_qjub7`xat&^-ynGUpv7BzoAa6R2gJO-yXQ>XyXMF#D`)S{_GmG^HQK)> zRajI!$;ntdQ%y}Q#)>;u`+tyF2S?7rfXm;RX3g`eewaI1?xDxG|Au8|34x)n<>XU1 zrfhW6pLbzJ^HOu~kTZXdG4-oNO0Y1sX=p0-Wvu9tcei1eswt9Kwq-HvQ%&p0(}D0-aK4Z_HgDQ7yG*xgs(}q zUFE+m{O8X#sSn{sHUG3@WIs%K>T!Jj8AsQRYz~(nFI&jRJ!{9>MKdP&e{^5D+BxTH zv#Lz`%9kBx{98h2Z#s4P_O0u(=JzvK>)qen_*-eo0o#cW_x@eS^5*2D_&wz!q4|ey zFAQs+^1k`2S$Szs;GLp-8;-T~#xH&@xAyJZKEqo-?DwW7l^#6*PQA4tE2D#Tf2W7Z zl=p`BIA1SYQ4+l1>CXb$d+k3{Xoyt`_R*UVU1h!oj&_7 z96DF_6va)bh~0EhXx(FH)i{Qe-n&#ZcKw*}Gwsra^=~tkPO4nrUF5BH;EMHIFSSJ# zvzEyj->$1LJDAFm>Fmw@MDs)R`;(eKB)<#Q|6G+<+@PuP_LRY&JxZFa`bW3*nf{#l z=f~c)6}PwEv@kF@`jxAy-G=$a!&=eF%OvkjJXlnB+<5;L-YW~D3;FY$? z9g~{=cY#I9fzQkr*6TcaDIBhM`S&8Jt8Bfz{#_iK&#b?g`gmga3#~gx3$kyKDEH<@m`wvW$f{X)hHJC8NO{&p)w_~o zyg&V{yz1|!+?p4&XWTekGks}L{>n?AJw8X?b7A_Sa`D9L4|Ct%*vN5bZTAz=$PMZ0 z(<_$xZ#kQ>P4?ur-t+S;7~Ad`Y?&qf%a|whrEYw&b6(yH0rQd*pXSc)-ylle6UH5^pb$lKD=OO4n19f>&_1zEY3A96tGoaNrza{#n;&^eo#~ zp&K+Qdts>4SeBM4oW3F?2p(jes|MlVRU+ty2>K$mJgFA z%ry8urLVaBL*KHg`xCEy*mZgG?#a2`rB&e!@oNroDfnCtJ+jQDpuE}2FZI_%VLqXI zE{9TW-f%3Hz7f5lac%svIgYKoU*-{f* z$8*`!mrtHww`7@0ZxJ*9x)^CA(XiW6xBa4}O2g#Rr*^hfu510ZuJvQKoVoMD_obIt z?6|41PUW=EmH3ta{dQEg?XL9QA*ptU=j$%XMLRM>?$jKUxly)j?Zu*~>2}q9*OR|L zSX(|>%=J*J%AS+L$CwYT`m*MIYTf*aHX0}FZYIpWX0+}K36e^$=cI&R&md!;`w zOfuQSx8c~-bCS2W@X2|#+`B9o^WJ%VT#dGMx%+G@ZvMt-)_1P+Yi$@iTU)p9oSHDd zV1AhArf8L`v-+3heYoH%SG48Ok;nU%#OTadyLx8l`U6k-AK$r~7N5EC$6KlCam?FA z@A&_WtM1ilE!sLKnrWR_%+~(f2Xm$eOffy9v~O;XrRMU?+dJ<`ylCZlUbX(m7p_R5 zifXk_(&{1Q8w*#6{uXiR6$_l2W1#yrBT__sT5)r$!H*f|7c`50-Fq@r>PFVTx1|Zv z&+X&itz6o_z%qm7`ju+ax2-GgI&ZXFI>{z-clO?@(+j6F?7j8$p2+MOrBoR zYBOxlwbcA%J?(yo_)q2s+nTjM+`N70S@61^;X|7$gS?PMLO6x3T?o#GSQsO5kC!O|qTUXXjHYz>?)Pff-Y=T+TeGM^ ziCv?tey78mX+^vHmfm?+b>r>h&Cv(z7&`Ha z*tb=|W*5cvOL7-YPR!+Av-joZZM|m$LxSdB`n^(oiB0Il<3aDY7g_Iry6~axskbUW z-{d5ebFcp(CZ8s-s&tKW&HDt|=O6E$h+=7)-e^=7H|=k^%K3STOJz7)dY*CqvG(^= zP){-WCv)uOtsOk(|9*!ypK|)(_aXlIM6r3ZzR%v(dc487@8KQktljgsZ%I@SpB1)< zPvI3~X_jiA*~16D;x=chPzvStk)h2qoAKaf_c_meF>)PxqZd)Ht3N;eH>20%fMr(-B zgj3JG_pIGKY3)BpK5y^(32T4-ls8>lCGh3cg6-E9Ki~WA(egjoot&?7Vj+u6A?UCw9C@4jvlF$iZ~M&pTj2UjnYeww-+pAj5wa+<>APN0YPnu`UQ3Zw z=sblf%`x@gwZ1Pp#kncEp7-e%jVtz{|MoJRVhdju{`1Aob*EmtoC>g;?Y-%HfAOq0 zsST%RAK9s27K#YW2#Zs>U<-!ntka_?DjP_u@aV z|L9av6h(?ImHPHN@~p`RPLr4mFQ$5n`96R1HczGcl-}x;RpvKik2ra* z{9-BYwn+ZD+rMf-!%uBVPeMP&9u5n>T6pR4#DKMpS)8GBl|y=TLJdFmJUYHF=cT)9 z_kv^FJniSGrP$Asp1q}GN^E@Mk)u^NQzidd-kvgt3LH1 zc-0j3sXhT(JrBKp`>H&h?me+c;PjJoi)vqPvJKroL(0%gx!LuU!6)&_Rg(KZ>Dp~k zkT~*d?p2+C^-(9bE>bIAYa#sdP1}3ZxqGGV@D)6qQfwxeC;W+D?~VV7|4xTO1=giZ zE3uHz(7dqNZcAHk&Lxvg%MX?|ROc(cwBVj?BAYI-B*6!uI=PT>`AT6N! z@5=6TuVR0FkR4fus@-= zPtR_#q;-3PvCq?(iPJaB9}u!x*n&3>O^`ZVj5MIRUH{M;hLz0O`gnI~sc!u8EFO&-Qr zF8S(M#OrZxitn|lqVZc-yEB^2FW$YZFwf}es;x1iJJJf6HNIaCzsLA&RwSoX#9_PM zZLGHv{R`hN`x*CE>|5uByvA?oX{s3s>jQIpbT(c%*Yqv=v**RLxmS7|zBj#Q*xpnm zyycF5q=eqQXLm|Yea(GSb-z#|L-+#wv&)(50(gmG>+rfEZm#>O@0TaXx?2ig zc#&@KKk&=a$+NU(^W>@TFn>Pr%JYDAZNN345$I%^lzNmX?1G{SBmp`9b{-&G1kXbOh z!Ac|Q!UD}J8y|c*Ip?;+&XlZ8u42m=Gwd$>JU=VC?qFAu$Z zFRr~zb4&Ddf$wFq*HeD87RWxx(g?5GlYMyxlZkon;`-$;K1WSXd@$?4OilBB(vz>J zCD)oyUVQo4gt(9H?MA#WBiAdvfAZz@|BSRH=NIhdywzs8q~+cX|LRA(J;Z`6mYkL2 zJl^}}u~VxI)60$f1%LbH*>irIomhW7XVSzyzt)A?u)J9He8a!R89C-J-b?OCXP)JB zk@4%Sq(5RYQC6?!7yVzStoAyE|F=K}Z$N!l*!9djr8pMzJhA8JQUu<;>8tbeFFr zo$ck8pQW+lF9jW(jV*TdE%LvXS=A$Vr>a0wGR3`4;i=Sy|AyS3wRc>UToU+Z{i4H( zx?2=Fv;Lk^?##0NDc&k_byvdTvwA5U#u?`4 zEa4BIzB$MD?)_DzD1xacj3NE;9df$#7+<=R|+aPnxdl!k%Qg{tKG8KjcZh zobt|-Q+g{77SB+d(0=Oqp2~tv{O`(E_s^GO54WCPoH|8X)}e3eEQ@mU9UYZ(PA`th z*ZqFk=ZfNv9nU?U8_G=W^{)?^_aZj@$?L5_Wm=npCrbBaNj-nP;Wp3iwZ@)v-wXX= z+~!qmg|K@x8E#%62`qE+FkGzD)5dL&4ekc7byX)F>Jk5NUUpeJ_ zc|}y@K|%MWG7C>6x|_~k@%)m(y94JeX4M@RocZsovQh2wNBzMQrA2l+PUOFm^{1M% zta$UzyU$G4-;K?g{owSCY08@>Prv51Gh`yS$WDie#iEws6VtDj$v!wdA><#^nflBW z`IIvIOH;Hg%56m-yYoGNR6A$l%P+FAQO^|@+-|rx|Jm!AxqJLWz9_V>+FGRj`)tVh zx9{9uyc93mdwS&(6aM`Fcb}gUn^V7}>enZk3>T-v6TPn2x7UaEYbGB&%d}l_YERh7 zc2o6h<&Dw&dg@bU8eC<>q=hB8+2y{;y}VO-#M+6i`-aDndjbaqSn4fX6!Jda=vUe% z^u|(9y8Xtj!<%Yl1;WiAWKG@CW$pP*UvPH+jeZxMZEcY^6L%?Vus_}+qI1*d&RhSW z6ImaQZ1FSaJJA0j|El0ife)hH2LG3@@HdKzeV7^RZuRqWvS|gL%5Z?rEx0yH_80+O&H9!?W?m+Od~3+a{muo>hFr z;zRVo{g0o%71cP=xoexAc`0*Rh13GUs$EAd{?BoI_Gi^2zpqQ4c^xa@)N3nxI_2=K z1wt`WJN_A8d3y0t(UKLXnbY;84~RFXpN!jobldEsZ|^onKjqf@#`^qM)5?7hE-UTe zJt$#rn=--L_uJxXr(9kWH-@*JKOl_jrjz^Z;)8n%)7Uz{F@A;(jZrehmql-6Lf8Tho zZk?CkvmWWJ55-3pu03u4c@5u=e;N7vFG$$$zss>9$p82Xz6x;{6~IkpXB&ImC9p_ zuehV0thXb7&wdZ_{UW_mX#!7$jMn`A@^?zjqun!?ztr5%pt?@a>Duh}{}w0ItM@H@ zeBsFUNqe62?Jl)!{q|*J>h{FNoYe_8)}FrdIZ|lV`%7j~?LTiF+wss#mjC^}+$UeA ze5|y+nwu;-@#XSYc6+sceXstiqYKfUT?$+_=A*WXW#d-dz@&gr}AZg=YZO55Pr!~3J- zOJ~pd`huO?h1&GL3(Tz3+8;3e>;-+MJ-Jn{J#H=w@7+^-(?{~=)*Lxm&Ch>aHe8u6 zx8_{2*9NQeo13pzp5qI9e)IFsC;zN>eW||g5x>8`#^u&t!%e^I{%?A8KKuXe6F-le zg}N5bd9*G4(CuAcp9_gIad8Op-n6=vo0EOKzqDsYC-+15MGhP@Qzo&l7R))+(E32a zt-yih7{6|cA}gz!h(xl2mH<;nhlN;-&(X{uONCT7G`{~j=iR>I`_;977w_D?_xs%Q z-{(}n>o1?(b9r-Z$G1KApL!|B$DdnVx;te0&7zv>;>5MQ&!vvP`5RMuCadV`PZMMD zM?Z95?K|;u-?5kbP9FUzCVqT(%)39USDc=+P-%8^XywVX2essTPZrZ)P%skyneDRBL z^IxJ*|Li*c^Q-*x>%r&r73V%%q&oLmQlZu9qwoG4sXl(YYv1`k|2x}FW&hlmaqgS@ z^n=ESjUUX6tNCU)O;R$!xi7W1v9~fqdBVXRiOuP^jAq2!veho`+PBEMFn+e=mOUM* z3nl0EKJBsISs6cFdBwFy4YSuCeVccpoo)NKs6A(R?yonwY?Ebj*+yz>NJpsrj>I^= zPaVr-_@5%~LT zQ=V2@m-T(#P`LJU1OHdKSGzeYKiwA>`SWtp-vrwiecR(hw;aD#w(hUd^>^`(xAhC& zvTA4kE_MAazMAFo_0?Z~#_~43OlwXETBrCaJ-zYQUB`DNM|p}P>(0NPy3hY_fI^{! z^3}&bw=H8x64khHez%4G=78DXJr3^HJ@4N){ql(l{)ytgP2uYgSKCegb^X3arSo;8 zIA6sNtGIhBzn4}7TgG__Kkdy)+VlE^^<i%s}MvwVYf z{6&(QNoCb4yZ5hKUUu1xgZZ_){4HM5%=Pjg_is;e+JD|?rvAp_2sNAKPpZ`d>dvcA znSbfbkAs{EDBXR%{nD-u~{iQG7 zbDg`tHS$$Ozuv-+arc~l&fjiOm&r|Cz@@{qP$L+gogs&z4)BX{-^8NYSn)OHc z8t)wavv`B1{r&kz&xxl8#us;%-I;&TTJGo0#HCl>yDFagtD(YkM_pHgb$3!`(th`- z1@}*j-Dv-;>$7^z`YVh2>a#V!{=aJ*a(sEU$m4#iS-d4WPO{!QCjU-PnBVmL?2RAQ zlKZ3Mj(;n9eIxF{>GbRg7VJBnpe-wYan(8R_5FRPU;GVmzgstJdY<-K@A*@oK8=z8aQs)# zXQM}pUmxUV*Vz82;ZXe+=})TP_FwCI&aVAK{>h*C-mlCO?Pc25%X@W=?Oq?der}o3 z+pV9=wQZ|&>|AQQWRkMe7w~L3r)zv~_V1F4H0h_ZS&R3q&g~I*z4uh5Vyp1h%Dg`F zw+7R-+a=dmDSg-@+*^6qYR^xzS+nQ5Yv@+27EMgPuPx>cU;H;m(`lvh6}Z5=uL`q7`|?<}6)wLDj`?c|SlrZ;D7 z_idk^wfyI$qNY!Na})NkJ-MoSPV`e@R4N>0@5%ICzv@}( zZzY+3P~<_Vui>-1*B-9jcKPFLE7!_?f5UsBPfD{sJSum-`n2;s+qc^b|E`d|ul#1i zy0}e;?XIV`SAV|$reJ=t{OP)tJ$Dr?kKFiQvDM1qdw@>-B(I-#nR}X_)jwF1U{tt2 zdh2v&9Wm=Ie~+-hI+B`F2s?v2BlKy5CyZ&)fX>*q#o)_05k> z=PciI_qk-g`lneX6)P*!#jEw#C6q<~o^Q9eXyPr|I?gwz9tXuTmi_+I`Tc4%-;3|! z)BHEcJZkw^ZZWg}Q=RRdl@}Ch?VqtHE|8n{%6MP;*9jr^f0eIh>|&F8dfzW5Sn;}C z*b38S58V&UXw!PI&ZsV4(%Sh^vC=;_rQ<8sHvM~Nd6@Ixo`)@e;$E;kOZxKOR_F2a zj*7_lEq~&gpDOGz@7C=N|-if_8RZsDm_0HStQpzi{wF+fdUpY7Pdf;K1D;o@?-@h{WHtTo&(r+@6^L?*h zk2TMjH)r3%8~?Tcv*&G6Sni_-+Fo*HPJMug`|RV=Nj$TrY8bi&2ntN7n700-#i`95 zj6VepR&a2%EZFphZ^N!Ld1>NI^DgQp3!VF1)A`Y~O+fX?kE(sgKG&=~QgKZ>&ROVQ zi^QoNUWuNWc-Nv@NH~gs%sm{^7EH%@7fxF`2Bx! z@{a${S+7;!U+_I{{)+OA{^kGAKmPuIkKvvF?iYUFT5!GSq`|Y8OLzb8j4Qr(;{30@ z#lKc+A1VAgcm2_t{Xe4ST%N6T)bj5Yk6gd`dz#KOhq3It*Y9rhTX^EFm|clSU(~H~ zdG*KM<3lXLJxlRs7u&u+xAVyjrkazd zKk@3HK5u+u&f(quLMPOZi?V$?d1K}yQ=i|iIj2v>o6LXn{ORrpfj#^?+%KFqe)095 z;8(Wy8C6ePee{(=**f3-TEU1faT zVDARggJ1dj7MN#GdpPq>?V@{c41Dv|uV+g%-@EeYK$Rui-s5T=RnItQ-7~npdz;#i z8L9eW>w_P=7~U6a`I6uH%X3st9vwcei&+mHWE1S;-oIm&b=%<*S@vEPU zuDc#BQxWqkM{INajHPEEU-ELBKfBds^AFC8HT!L%X3yT~eQe+STj4@G>iXTgziw{p z{#vaVvpPPUbN>J7J&FI~r6ShfTJYVTzoTm6WYfJ*g6#h5%O3ty&$9O}+up)pm%S~T zv+g;ryKcj__oqMWHS5$1)&h#JY9$uF^sVhW|9igFUn{wJQqRn{m)R{nyVn0xjg3F+ zx83ALrT^YXOk0J#_3wY_wG%d4`FU5{c-&Gi&HUZ8 zr1a&bw$Prl+n4QCjk|4r`)I*r#ee5!Csk}z%*ho#yk1V=@bB;45AWt1#Ct8UOG*3t zCd#!S{?&>P-_$LsXqS8g;Q^@+2Fb|TjyKu zG^=X|#eAQ?-EzM$S}mvW%RZ0q7kB9HZ2I~2{iBH3I(hY9U+a%`*8NSK^Wu8?W0(E= z1l0Gb*J%3vx%V(@&X2u^`wJg^=c{+F;QH_T+Agn8EbP0ZVBLw=!dqfX5`RtaDp*o3 z-*PQdJnX)%OU1PBd+l%W?K1c~yT4#fxu5fGckyL!pUhbN``^l1-n_}%VHS6U}E zy`RhX-gtAP*T^^4Eve_Bxg@28mIe}1MX@1Ok)k8pe6d_I4M z!jb zSp5BHx7{y?JuepXAMdt%^|w0zG0Xn)W&F`wD?c|(eV-iRextnq`R{ihlPbfHvj3}7 z-F+=Sf7gs-H`b)hd74wSw|L>SkV2ns)QkED5vsmuogI@A{ck9Qwg(O8C#~ zitA6^7Y|+?u{ZBy)m_soulKQRjN@17_*!M*xaRsBmW$%g)mXl{erDV_um7F+;p}?? zhk4fu*W5oByE^Ujvf8T$Zy$_$d!Nts>c6)WBHz~U_ga^hyIHI8OdscA&QRq}(q>_N%?4MO5B0#zyt$=6qh~Zmh=jQil*ZSD9@n54vQ=@;&%6TfM#Pwx7QaU-y z@#}}fq8E>YpLN;U6|bxRzx?Se>*-&&$3OhRu>EqC?#0&38nHwCRo|Dqv~ds@yXWj= zxvcv8nT(syvJ#{A>lR1;jhnOj_rJ{K3FQ-?z1mmLHR;-Bx_^J_ll$M--~9R6xB9`p{~Oo+ z`M7oQ^#AU$xBe((F1KB@^lpswo<8gPoz>sl3JuAy(BZbdC6QGfA8C}DsLZE>e%JZyLLR!qUpDM z?Y%o9#rxysy^Ff8FG!nLFMqmtliju(mY;TYKD#gadVc+6#sAM3e#$@n`M#L#-C_00 zxz?qn`<}`Ct$Y2qZ~f&DvI~Cx`uk?)1R1X~y}2&8lGG;dOZQRPdQas`@9B;BhRj=G~iJDwXx?C%)x7?e=xKzMT5A zQ=xoIuf5r3nX=y0dE%Ko&Fi{X#Z0YgpQqoD)jL_etIB74RHl-Z!_T72eo1CgdV!lA zR+U~^y;Jz3O}yPrv&geIo?5GWuUkD;Bu*ns?~H-=HKvn#Gh>6=oXfm<^VUzjR>^8I z#cjRn`Dab5Zfa?+6I!o(`l(s?t=x4|hi{%HghtIBO{jWGdg*V;nbI=)yvba%y^m=%DBw5 z%l2^2%88p&wqNpCuekMcTXg3sj)|%&+}X+|Q=^S;6my;|+&y>oYZYDYN!`x^Qap1F zUIkRmo@I3TjoI?+vvbR~%y)U?6I#lb|Bcb>Q_G_j#X`xJd%|W}-CnkX=j3LlBOexJ zrv^xQchz;TyL`(zOc$9w^x6DoLax~6yW2d2F6&)5x-!;b>$6vD(@wkPZ~MRg z|1Rk*8@GICoosc{;;;X#waM+BcMkCGxwH7@qOzGMY?IqZ z#e_ARrf+}wX*bht*C*zo)Ainz-VvU#E^_)gu4wa1r7v=BC%j%hxifcG?oUSH$R1ax z*Tq(`H_jy|U0LXD&Jt~ZY3`M!*%`(Y8J9%waNVq1A)IWiR_kgNZI@%6D1Ghbx5LwV ze$6V$EnwN^b7NP@uI0B1*EhbaoSP?}qxM96{poyxZACXum2SJT{ld8oH%qt8&40Y_ z%LR|w3)PHdbr`%I?Is-L+aNE)9{Yf42j9Dflec|U*mPKCF5n1ZG_Mfc($KtsxrR%x z(b3_7cCe$32iwgB5+RLM7g)YEDL>%h_-`&OY1LCL^MXy?LHY)F9E*_#>uCq2860f& z*-G(^dIb`1n0*tBZ!mB<@OdzPRFL73HJWI5fwQkEZG)u70^8cf`dJO+*O@s82Wc?BFf z%!X7C?6`1bA$^Ty2&R5I9aA7q=r8+5?LK<-Y(%&k9*zI;wGcv~uVEZ}kD>FNui zwlCu3zTVZ4yZ-O|jMa^~4s1&kEIn91JD3m>9_AxbKktqL^zh z!DO5nDNz2|^^C9M|G+KwFW8nJNZi1l!)6r0zUiQlf&7t%0*3=~`HZ_A9mg^ib46zSlFYuK$`YvF4(vTv+d+4CRuVQ&nL~7q)OPRnwtx2VT zv-ZE$-t`OO0u?xyG{^+7yh$*=!T7D2?*gmdo)hcxd5^t4yFhYFBVRyG!_ldUfBaZI z6{K34FPKd(w?F+^dV_dE@8g5FPBm}c&i=aSd`W}i&Ci;DS=en()N*fE;J@}_-uHu^ z4W&Du``@{*mt13a{oJQ}e7#`>Of@{e97K-&bCfy0|Kz15pB|_5JS=>`Xa8NR?moj4 zg&NM}vz33!9_?Uv=ikt5G=ceCgK&b@rDM$6mqZ&(HgquEHk!b%)#&q?=g2~rSe@grjKEpEkV1>aSzEf=L znomDqdcoN4$bEx#TVquMdsqO^CkH7H#?KBW9Sn~T=6?D6*y5e*>|8dk8w{r$86&ua z93^)AU4Ma1+`-&}*RMf&f#@4XYX{~Dj;b2W-j1MLTAs9qY5D=n3%q_#|BvlI@Z4bE z*9PtfMmzkTPf!pkR5Os(VVJpqVG6VMgoA1uWJ{Wh9|-MW``7U2{R0cZ;~WCK&zeOx zh&*Yi31C~}z{Z;(eS@*AIjn#~hWUMy@q2^$_dBaSrC%&4_PfB&=8&OXa=>WJG&b2=I4>JjUaw^mp?tG%anQdX3l)AUu7 zmilenDQ&De-F2hoT|QO+NvrRgK53m06K;4dD(t_=ljLO`mtRI%-Cr{!`(*W*wvfD| z7k@0d;$in`sZ)ol()=Ge*)fxxg7<3AnVwvBHR0J?Z`Z?buG}}4j()N7DCZ2wDiQ(E>aP^VwupSRaq<6b`^VhsPS%2-7j_S;-No1HFMoKEnjEzpB2|Lh~Bv5#;OZC zR||Gpv8G3rF4a|hIrHetpF8XKXEa{TJ3j00JRA0F-(K7NvRDHTXijO84B^dE2dZS|Xe>)GD`m9bIE0WPEpK@hs7k(|>hV zzx`n9y;iugtnadsPSKA^6VhFEgFL?c7K^|9Db@7G9Z9~`AtBAjHczsC>~+She4Df8 zmXlY@GDDxT?Fx3;JKIdx-(^~#v-864T{2~vtbS@wWM@rJko-^#=Tc6JRW3}7+)T-$zU+(OxUZK2_@yN-# zrO}hUPlvZ>32m~U!f(O&Xx{Qd*Pyk*+ogZUzxq1$b#9mQx>kpcksB}G-7NIU{cF}$ zO|CV2R-Op0&kwD>^_|68a9zf}!*1Uf8~7#PxY&9*Abs=H-!vI=$sb*{vCkf8?vfZYHLbD_rby8ZLHZYe$z*nI1d zK+r-)sjV05?iyuJ)wyLWwdmE^J>H$4>~@{6os<8&vZGdiiq@;DnY=>BJA>Bg>sM`9 zlgJ@;STf~0d-azyKSV^6R!`X}vO28GDNyT;?g?2Nf6f1H9ug`y87rH9Nd>yPS~hd# zosL-ihV|0RGkHn-jFUwY_wGvAC|PZL;Jnz&l(_SrhbPTA^J#M2nY>aL;mHLnwyXWB z7Pj5iTWxHztUuD~*f*KG7k64!&waNkb&bu>w$3%7OT)HZjxA$({H?~oHgBrhDbb$f zd3XK3aHalHNr@1)T%52#uY2j`jVDj~MZ{S~YGo&~N(v^HpW!rEF};N~ZSh>z4e% z{P4rsiBEo=IQK3k#bE9YNpBVQUB9a?pWOHEUZYFBmJHwhLz~0f^EvMyy1{qPIxEF> zf|m5-u=6bG5^pD+baPl6=5qSFNrZ5iS@5aN_76h*Qrt9b15J6qi9HXzFz?xP8PyHj~Y#M_$&>o-~iCi1s`5~_&TnEzC`&sN~n>qBN|l~ta9 z-xzT3($~Omyi?YP>XwN zpF8=xu|#qetE%p%^{kgS_&j4tE^lqqwQar?!TtJ0#M;}7#rg94RSsDz9`s$4oTL)W zs~y>V(Zxv0Jx$x-`YK7GV#m3=lrGAyHney%F<{>9A2*|BRcO8xR(?~Gp`)Dhas7gL z;TM-9j%lQ7v92*F4)B|=a##A=r9Wxn-tW&$J9%ir&YkKiMgNV#_|?d5p81Ri>zPm9a>%-_(4X__ z%9_xBb2bGE&U+M<&-Z6pNaXPuI$yUoZ{;{wD;oC1O8?L~51&n@_vV~STGr6ol_ZfQ zxbM^r%N#+CCl4-GJr;;$o;un8L(Il6N8P@>(O4A`zTej@{#tT+#2X`fRz6RjvQJ*G z_}7+AlDq5c&3827#va#**{4Je!fzUN?ARNxXj$m_c2nB!W38LS_LVJ~HP!6Uz2_TN z=W-b)KlypDasR_!jlF57-vph?(A}OHv#sZ=(Wy&x-Nd%{4Pv)nQR~ zWoj#{Z`S;rBbB2!qpdiPho+ojy&HdjinW7J$@ z^5S&4i|=injfP3wE}ZvfSN-AnSo2BLm38-z;#cO|ZY38_Tf>|Dz9UlI{HV$9B{m`z z+ttEP57I>>@AKP&!@&4<+EkO<6PTi0z zx+XtC^+%Y?w+|bvR~?$M>Aj^$kMoi##paWroVQ!}>{RRz8{L~bH{U*Fe^KeDk>YOm zVE0=uFW&F2`mru*Q`1+!n|rk)(v`ihaiu&@SlD+fx6Cy0fb4DmmC5Taa z(X{#F+eu59G<&L6GW;)__#pJng*#eS+RtW8IcOBF&ldA{&gxgw zjrm*N)ds$LtTK1jk566S{ye(6W18i=FNa_5m|VH_RHON2h1KGv8~z4w@V;_0lzsP} zdDpIMh8Mg!bj8eV&YqQf)|b5U?|ZZDM_cph_fqY8+m<%%+9fx2+rFB=J6ul9InQ8e z)qX`-YyO&YEHF9&kk z8!uVf5jsUCQ5^EEHs+=0s$*we=33TID_!2nb9Kccm-MwNvyAMD zjy5t~l1Nxmv4h7Zrf^x?x`UrMo7Z%`+#GzJxPuJ`3kodhzTYdhw+H=LzvY7QAhRw*PZtEw;Cm!+T6nEw~#&PG?&J2 zo9ElhYC}W2Yt#%fo8&X1rmr>KV!8ZD$d)IO*9nbpiUvx}Z3 z-d~iGEOSzL-lk1oB$ftNH=R|KnxvW6t{bQR2rgch zTr*oSm+AZUwEY@D=uu~D~@B^ zU3t~`$Vp{0r*EfrsOHIEKNh)OJ7VT-)y%tMNA&x(g(s=`iM1Z>xfSu|=!={Qd)neW zy)~a&z5O-k@XxiAlB$a(60K+O?+afa;$B(O8(Xyg(TBnt=?abHDX6_452W|_M+^L(2sxJWRZG)E0JF2`C@CAed}p)TauMJY1X`E z(`TXFzYXUf)t&X+?W*11Ymxda0cI^~-BZ6XFS^KS)%7XCzuQT`(rDh)9oir6 zE-3F@QfO;-%xLP}!pY|*UfG_wx0CUy?S*3r^;46m}~jk#@cE|cHPm$h1cLikU;NXYLOa^5ZH{H#@9P84VPCx2(spM<7QZ8umM z{g$p|2|JQmyIJETZ@bE-`PQXLj8AwBrg`!3sO4_E8LV^F^~_AyGw)KCSv8pj$9Bq9 zOU^vG!1vwmql#T;Cg$_l9DmANx}xNn{gE=2U%_{4_wL!Ya9)LqX7;gJX?)Xop8E^dGCi^Qx@6bmoYiffp$EL) z25eZqboGb)l?GK$16&e6{eD~ZbocVe;2#UWZC=n-X}!}r>dX|khwKp#7B0|n3(@n8 znetP5vCx^_e$U^`UE>6YLhZ1u0s&04Bh#=4btv2~Q`>9XEx1813F#xF-1 zE9FfCe|t{T`1rkS(-)yQ=Zy+=XEw}Fn_eUJV4=wG4y9RX@gYTqt39$`hVV_vSR1ue z)}?j3Zuf~a2_{b04HjJHLs1 zY*S@wEn1Uu@s{qfm0DVhlsY(Z5yqEF%l2XMJ0uFXy}_?Y!kj=DaoS zo9q>pZru*D4?Ak7ljJXSKlt-+wI7)mTb|vTWc5(zP5e{oHyl3xi>K{a+~#ZJnqSbX ztduQY?pk`cYEj+nk3QQ@$Z>x7K68TX+zpH!b|qKeGwa_!w&P=C$cBf(GgS57eRS(S zA^Ep!o38OG=E`5CKAu0+R$3&dTbLU0$Vlfs_P*K%c-cgXXe>^<^M@te%a z)$!_gCARzfwbuVIdU~SRc>15n+gY!UKDsu^GVoDU;>wRPwrL9+`le;nCgiVpzhdt6 z%aI#rpALDT(J`-P^1b=|(~fYjo%4B8#JVNN|@CsaD>5D4j9P?cM$bU;3x+ z;8>V_*YZ>SG8gZL8XJ>@{T-W~HEx`|&~9{y>tJqxlJc(ETM9X}oZC8BD_A&LdpkPj z3fqLKKKWlMDwOh4hT6WmQXmgmjeRCA7Hd@vlT)ANW!)#H*q~Jb{ ziC&BPB7}asxXzOMxp61&w*=l9=Qxa-ql294&h_n?`0vG4rDx9D436C6d26s>tzXRb z+uw}8|NnOKhscUVzlzhEa^FLq*h^L4?p&zkm-qCds#4yIIabygmsPh_zVTmj=WWNL zu%7i#7o1zY;@za?UB1VB0$()go>4yduP5=P*OjC976{!wUS(@&U=qUHr}w(Zy~xsH znE-?0tocD(*zXu_GSYuo7vxrFbKp|u;ZqTjhZD{R%=Fo4!(?65^e%Pb`*yD6&~^7$ zJO44=7blhergK8=b#AR+kx$lc-YcS;Xi(PSZsC)VR;NB?`(ghZK~tUv@@96sN*|ls z^ShJ3*kbPbsRn-E+du8tyFV4APC5I`P<*D=jKt|5et*i_CI953>Z3Ye zh1`&{JbC+N5A6%`tCIbfa?VTAAmMu6tqoGzQR^+92b?|l|Nme4-?xi3|If7a))Tm1 z(Xf$q$MSZTcky%2|Mf`yvJC@(SnSb!F+?~tia=Qxl3x5Byw>|I9{{CMtW^VBi}Km0ch>dlJl?atwQ%YD z@NJK(1m~TPIs0RK2H#^Zd&@aTrtWhTJ~nlqw>f|KuYY%bF72t`{hoctx+VE04{r4& zg~lv@EOqQFQ;dAC(b@{h%ac6V3-`;vJUQdRO7_~_vM=AQs90A0Z+2z;PR~2jC+4|( zx$XU0@=z-Ll|?;Ud4AH_GkbeyWlCzFujr zlU3grl}mL?1eb_0Evvk%v%dJr)F*SJ^ag$fi5p!n-<5Cvvvyy>wcGb3Pdwi*#d_}d z-nB;`JvNnZif;UNt)Xc0v%hW|_wUWjuPW4Ew0CQ1;k|EvcH9ru%Y9HRJK?rT>YEk) z)w6A$`pxC2c$Lri&MKhFo@x32Gu_tpvX|GftF~_0aP#ea`RgC2h?g_%kam!C$jS@5 zrc+;ieD99O2i9KKaFedhE&F<=zxvzLhHdY5zuTVC$F!Z(|F8VT{qz55eCX^s?6_t7 zD!xni?@g5Cz4!h%Q+co1*VzHQXS%K59-i7*{V(~!KD*1^ry0w)@vXbrK7046Zf~aY zcgYX-Jw0sO_0vFDIFIcT>)BH>HfDRhbQB0<#*oSmHtq-s%Bca z-urdQxArp@bFGYhIbVLe*p4|y`Ssy;{f_hG87d`P;`54rw#3*p-Mo5rh3%3PlmD!} z{-MOO;ADdppa1y}kL7|3o?qO*!R%{v->rMea<|qVj=Q7zAgyV!q=&r8%5P_O8|d4M zUFdSJtKVtU{>|;;0lg)btLo%%NB(4Rse=Yd1ITez9Qt-gNyhkG?J5E79dL@tNk1 zNIN@W^(de4rl2kwR+-+1X;)%^I3FQ0BQ-3hm2dnbK1 z?#}M)nbVFtymoy5o%3%!cU1HIj#|t1Z|fYGyC2!w2pPF8J*I zVhQ{6-1qlR@7ck8Ad<04U%jAjZpKxyEgCy+uHLg_?}523>-O|qS@L6d`KAX=Wvt~4 zJ0^Sm?~+&YfA;$R>CJmT)u^le`hNRSo^v&)$Q`*4w+>GDab>Z!|N5K@-)#Qy|GwlBW2JFksnfA-t%j@5&AOwat5Br{&;+jPxg zb=138haKNue`UoR!@(-u6t~ml&2^g{2b%AFd&X$aJL8zvrnAh>nXqCTs z@6G-%kK$qvZ;5w2e$M3A)0cnOd&GS|`PA~kKiL`KQhPtmx%^6Yz4X6llQ#;xU%V$e zgZ=I0y)}#6S6?l9YhHcZn&VFPgO69;{{J&GaDV&7Sag0o-<`;m{qJ7SufLOjw(_<% z^LI9b=YQV5{r;)a|5o?!``6B?t8`g(J^nmhb=sl4K98cTTFQIW7dG9dnsNV2f?yAT~@2P*WLe7?lCp*51mcR#j_1KlNU@ z<5|1Kcdw&r%hhZUs+J~%&LjSI3?DQ<@!y5K<_2< zg&(ZCdqF7KR<`2QZ%Yop{X6cKyV`b~ckw&3`$5(LmUU~Qjs2#HF3!6ir1vsiEXH`o zvQ6JA{?^`o{9B{lf^`7kIRN$G`03 zA@#jKYV999)^7T}`hEHgo4S0K?XN#rG}3 zgQD;knVhj=GV7i@7u@}SpjIG;eTR13&wacW-LHN=5_+E3xZ1(3^45t`zPiYgmXor< zOHcfeI{4P*aIt6c>a9~3R{q%kQ*y!H)IT4)G@pzAd%0%QRh_lb1??}MuYd9LPE}L! z(KP3~4fD(sXKt>2pB%d3?U@p5(3kn*Q$6H&@O^520BXVsBlV60xg&>&@6Izg_KbH@&sqow0KEt`hTio3wrB zacX5n-IU7;$aFo};q}OP0*mO`fA7klSAYMlcK>$$^5<*j&9*LocW0(`dD^=_PixcP zuQrRH^mMj4yJC3Tm-#F)Q?>sdoz@-yZ2If=JF72zG|jF%vFX>%?{@F<_uHLV>wZRj zi|zU!|D(%~*#GlWeJ63%~YkmFH(mu|e z@hmw8n{{^oDOnr8j<3ky`Q7xe%E-d~F`rqlRW#h0$MY*zxaX|QdrP%vqUXr+wqKt$p2T{pk&N_8(CHtNoyMUfF>^;TPUt{mfRs zU#=mB=gY&@>FczQzY2m6f9Z=3F)wOcM<_3o6%bK9w}d>-3Z zE0pIlsHbe(ZkqYzmg4pqvPT|1*_!zzO5ys1iFLA()7{p|6-DlJtkQbUEdDj~iI(Da z9rNCc0ZBT&F_usI(%IwZT0XDLd~(h4UGJMOr=Kh{DLOh~_IbWl^4~X2Gbv)75d89u z({sPfCx<3ne);5sf3%b(>&`<5z9r}Hx9*MkRJ2t8l#lh^)$>e>f+y@&-Lc<-_1m(E z((QL%KKNE_Rc6zBN8-sk&UHJDHUB85bwt66yC7vOSdDMeodZTgO~<`%q^4L@6Khdy3_;3+fZyFHUsRW83-FvCMFL z#ox>)Sqk5kU;K3TzP=$n)<8IxQb zjNj*a{@%Og?L4-rFZ8F;;3Hx{X9|M^nTYrkKvJ8%1o8Lr_G zB}W#i=YPD++5K+wi?Hr>+g=ED>uq?^I$O6o`b%8*yA3a@y4P)aQPb^r@5yq0kX7HK zN@ly7N0zJw*>}{}t2#FL$|L>I-#;HO*n4`qWB0qY&&>Dr=^9*%*7;c~CcEjyOzFR0 z4)k98vGIjh_qpvaW=iW+M}5ibUbpduQ@7mie>w73dw1OU`s^0N|83W+zIk!*Uj6mm zFLnO+&(%6sHSHI+M9X}-u*IQMa@H%i&tCWBIeZy6?aVIUWbU|Z<5uP??=EaVv}Nn- z%Q5lK`ff4>Ur!ND-k#qRQdrr{7A(Cp_wlyQ?Yc30V{Y#@E6;s<>&DjH_LJK$O_4UM zcw=?!?|~)8FFpUYd{Ntfxv}Dt`_=g*6eD}on6jRQVZ`43;O zupKbJ5GDA-ZI%1(OIJhqKKMS_-I%ZTw=rMw??0E9Qd;sq!e*^*%wKHwCwXc9@+!vb zK|2r3U;e8u^rf|i+>Cv0S6SDTHS(`%Jbd8zg@)s%f5Y@IW&e^^`=y()^w~>Yy$31} zL>`zV2!7CZu#@_E$0zPc&GF*tpC)%rxV*Beyukj)=C6u#8LPhYz2n!96}~j{%R$}? z^A{O@Upir(+aa?HPgCSCm^bF#I{3EitEHlE`^B%;JMO-ld*({^OIh(3-7n8=He9ma z#eLPCgKrC6b(YAxwrkxz__naX*~6Y~7l+B*!_OGg8T518>ke!_p!lFL!K&YfVYSj1 z_e1gxb2*a@wg|j)-+5q{;9J%?%rZ-B8kDE-e|Qu=!Ttl!hCHWgL0%i5FU%*VXFSMz z;PXJDfMds`7ZzVw&b8J^R9Jp+(muxc!NTBeH(TS%<~MBT7}hbLW6@(gx2*5-s~^Uu zJ9)n{$}z>U?P0HA{q&OMoTHuYft?3T51el7ZU_(Bd0=(J^KD5rrkA!$8}4gpZ&daW zXOCmN!@5Uk2d4%1uj@>&EozxXe;vqkjlSvMvVGIvW!o5%AG}ePX|_o`VJ^^iXP54? ze2#4!{>No8y0y<#;yFGs3q4j?Ok5d z-dD5E+_`$BN_1w4_iT&UB;n<^_jX=3&3RPvbaur5KfY`JhbW)!HQRJ2LHYDovrRGX z%BM|DHpQeWpLUhrd9Pb~=e^0&JLL{b@07bMeUr~u`X*nf^i95_(!SL`v-ABf-}m$V zy#3zFyY9=+ZeJD{A@s2LOxoI7wL{s8ub7S1c)29zbS}9T;~Hz^E?Rv^H8$pW(1TL7 zeLOo3wXEL#Cwmfq{J+epkAL33d;3CN zyWk%W}oLD?p2$$*Ts6S z{62H%gF`X*?(@k!s@fv^s4ld$^tL+@&{S1mEsGsTIt-#;tYXHS3A^*ft%r=}m|*v|gZ&TUuD%?(%2 zZq8^qZt>C1uPEC5jmO)G2ei%hthIETe)ZWN{eyOm6|WVx*D|LSZ=P^x@&vOzOhxi{ z_th@mZTafc2d{&_XS83Rm$2W7vu^&EoWD`hFK@Q|_|>xIeEP@p+m5Y0yK--A(_f*d zm8vIm?_YTJDrj1Qyz8O)8{R}tNw9a_v)brs^wo2-EDmP7rO#>qTcmaHwO4N3%Zkck z_6py}d)99FG{@q=>##?$Z@0wX?yFIr&hTF7aJJdDbLQ*@ADRDbpL)c4a$<#B-gm}0 zX5saRPHtA6n*N(H?zzzVdru-WD>gFk*`^dXH+o(nSLlP<6Cd^^d=%r~xPJMfQ#<&| z*P4ZIUMTqOzsO(DXTH1l2tAQB-BUdGTb#$oMeG&(RPHVBIct|NC;JJ*`GrTcw^y9} z`)B*|Bi8zFo}Yd9eCxi=HKu#cOWtFtkT=<5Z}K&|w%4+oZT*Q4|4uxuJwC^B?eoex z74y@g?{EE;^z7~J^VPy#|9UQ7etPu#=Y5BM+U>Zg`rm8KWdV8SJ@-H8ZLKK%U1{&U z?Ea*e^7U7LSFU}thIte3d7GY9ch3KodK4@4?ex@l&-d~@t(x;hCR*QTg@eFF$=F_ssv->vJ>j=i|x$EH0%N z1l9DuUVTgb?`7MU(V0grvvsxmcKy2Y`Jct7(CW1opQ_h}$^2Yvq}}%>_`{wvo~LeP zzq72j+I0Uw@xQ7Gw$^JcHs!a9K3{Wqjm4(=N0IfCPfp+Rol|Y*l^c?_bg^0VoDatX zrTZcZuPoaeCbP9Lr|Ep@9g9z=U4?7*JwA3ZV!rjE=QepVKldpf360S&G|{`&-*HZ4 z!N-77muIT!xz5`xA6;)f_VS7GKMSR{c@s+;H|N#6ojY}+&aj{7Y5b#wp6xdMdy3uu zXD`gmll!-I$?|_!UN2m!zqRsGu>Gp9A6D|O{rq9&|0k6{-p=0qG|s`wwDsQW;1;YxFI62c!TDG8HbiN9A$d@ z#+{Qd_=d;@|HNR2)xyu1R?RUG7brUvbKuAOz!}^f)`@xxPI4AAruxm`ju{mw)4deW+H;UiLY)n6InRI?u z@sWA2<|NEMqMS7OTE~qgMoMO!u75V={c@SN3$D!dKe#g2w~1bgQ`KIw zS4{a*+~SD|w#%n=&uc#Idj8zgMd^QwE^e;axjg=9)vwTXFK$lOt~yradOl;_3(Kj> zRmX~(N?)H5y!-0%63y>RG|veBoqlN1|CER?l6=2E7m7cu?XZ75E&I@v^k&Y<`}ICP zS$yc=FQ2q-JLj8=&d#VzeUp7pGV3}vJp3KzT9H-)K7PEQTw#YU$>1i zk55az)E9bsiR|LjOJvhGyPS8K_TuJL)wdCIRo|}Iv}C_5UuXRbzRvm;T#?_*e=i8U z(tYU28{@=HmED}y&tuelij%KwI;{1*PS4r8nr*qR&yCD(o|V7n@vN+NcAHf+XfFER&B3T3NX;O>>9dN%PQEdd&H!X1bl7tra@`#O#Bc9;!~9Tj`$CesAKglAs#` zNBw3@om~;V^x2Dh+n-9TfAsdsC0*yey7os+zKDr?UO1Py{M*v}rSn|eCwFU^#`6^1 z&|Hug_-a#y)egOdmMc%+cs*&~_tKZ@U)TSC|5o6N{GPvOZ_EGk^Q?bilX}x&f&G-Z zlm1O8_j+Sf9kle>-xlGt#yIseOup(%|F5x@j9I^D^1LctkG(?NLF@Oip0|h+n47H; zlXa~zZ$^URjx~?2FI}_p`jR#Ot}j`$>v~h_^JlJQNpUId&t13G$9;J-NBsBo^WA^7 zpCA3#`Z;L&QsJckCxw&#AK~0s|EJ}~=7%jk#~%s5(z*Zo$4Qm{-y~9R=N~%vPen53 z_@e7e`c8%~?Q34YNoVJmzVOfm^VggFw9Z!X-&vgRu~S*ir}EoOgP(uIgv;J3_{{j` z$g1XZHQwr6;&Z!0Et&5pTgb&sw>`d8&-eIJy{E^Q?)}u~UEM1``P;2(pIfV6&)5?F zX2zEAmxkx7wT za!&f(=$uq+HN8An&R)Z8dGT+ByKd<&+kf=jSe5FQ6KW}}6a9D92{+r?%$%@Smu$5w zubuIl=el|S?~m3WyH1qtdt@12@0ya{-(`2#-F5z@#h2vO;->x7`?u-GVXM`(cS}z{ z>hW3|{bKE^-Fcd34<}Sg?>hA&V4vOD8(+4#R=9ncKbOz1zT(#9^~+TM&dXexe|*c8 z?TJyZqK$RG>du_@Pk!FCfA-&l3U>aE`_yBt?VI&(x7V?w4?_Q$Y@MK4YrM$2q1xZA zgrkD1;+gBxZhzM=i4QD3Fch$VcqeXIYhCcXv!jo(|Ezn7=?A$7LXY%aN*D{IKXEeq zH!QPmyYaHa&+cqRp4ZF9%YXV-i%aWRWq0itEj%~vJ7z73{fXTz^#^(ZAbSwL;X&&2fk2LG!T^e<00t!iCXo}U|aZ+Bepyx&%H-pD+Vcwq5>*Form+5?sZxeX4__gH?} zy7T}2|H1Etga3N0o)%)^{B@?m*X&|1{N6y(o1?^ZAM%=ixb z;hJy1`V&8YXGz?4^ZcPNy2?xcX`b<3UC(#fO8BwNjCa0rT&HiS@2)uhLuX2b+$ojr zE%R8^W;j&vc*!r?ew(A8LHLXKN3~axe?HGymhYjwciH;o+Fzp&aL=mik6S5j`ZsEC z(B)a*a=iBPSa4Oa1~mCbR$AVkRCoXC@3i0NczNT?>>Oh@E?&EE(V_42ZhuxxcJF)e zY_TZ+|2Kb_r>^{$`Y6`m^+Myk!=iUq&b2;yGe2wZhQ{w1BJZ5`uILqey+zJ_PqF^) z;McX%JN8XEw$u6UgZnO4&*iKu`8~cr@|8Y!FS+XDrPh_|;^%JeFrRPq#JE!NxqR5Z z`NmJG^VYDQGVk~!b-n)m6eIrQTkhQ4o$e|3&yL^z#rf86$5j3=*e)U%Z1=K!W$FB& zz|~)S-2WNvuG`>$D0u$_RsXNAJ3aqZGM43h`fxbx-xs@vTYEm#$^KwbIi0d4&*3$f z1M>oQ1FHuwyZJMomuK9)KmRPVZ@$@~11IMf?E0_Q``hnGC3En}9ef{u%O(B%*M5U- zFMr|wo4h`C3qC8_*=Mkp-TQ5G4G=!4f2_vGfvvy@}I4T;TzMVhCB!D1$+UV8jK;ppKD;sp{L_yyQYn4=gC9Yh!K2(Uhpy|%LS@{iymyDPt^%;Dc^ zqx#(WsQ<~z16L*&^ zOJ7#pQ2n*yMrzp;`<=W0-7s7C`=7@}Ght6dan0UYEBIDxYQ%b&y%(?iQ|O)+$fP=1 zcx#wYs-Re=TJox;ntn@UBrgUmx-78hLRzA5SfYSgsc?X(FxR#)@v^XFt1$Dj)P%%~ z41X6c^jf6iq;)%Mts;}pjNf~9FMg*I-FH3bh5?s+?f&<7zyJNW?|pUo`@6P#=Uo0= zWoiBVYf;qmuQs|dx2*SedRJB5ozC+*ar&1pV)riHR{T5d;mwRn|T6S3ZmH zS@HaQRpIR;k;aynzkOc$ZqB}WfzvNvH{K-vU(#B6|N&A;c5|vY0PMkjVUs=VIjWOBo<-VN@%YBz=T==`rjxXT%Rlah82QRmZ zn*RTC`&RA)*8_|!^$Vx9zB^vru%1*e2=}x@2mFMjwh+$@}D(z3wFPp(^~iVM9K_ry_yBr zZRfr|llAV?zpb7-nmZ=9dDpMF7OJwiFIc-k+%Dwl%dfXTIyRqqpJ~&Z@AEiw z#*Sm#n?0$Fsw8Z}S{Pjy5pUJKLFSfs@ zs5Vkpd~3GXOtVm1j;tx{r3_d8U2Tps+p3ZMWrr@?y{N^@lZ`)=vfay@kZ4`Iv73r;!7uP@O zv6?QHeKq@F)K^Kb3n^irUNiJ&d^^T9@0;tX^};di%Nj&3Fi!cc<)^Qy?d)yGd%nFs7ZtmI(bipdeAix; z8l^l4W~ypi9hK)g=yJe_w7jd5O4M&yX}t%@5d0^15Jbb zx3jB%hwe0a@$b_fnVPcsH%*w|XusdNA)|<~)L*w&%$UpGI^dsLZ{~IDCn?wWYVGX) zJMrw3&3`Ax{=NFMA@b$oryEPk?Ro81Z1?VN%s2gz%m3=_)t?L2so!OrIib;fng8W` zbC((QNj`bbTXXM#I8Uao)Su}*HJ==fPbHXzGOnHU%GfeI*fA|z=ZU-N?-TY{ z-l*qak!d))X_EZ)JI?<$K8q{bw@j#Pb=M!3Px(&&n4T0**w68EyFxwZr_U4qYd-nU z`RPB;&zjzUFYlYJpXI+leC^^BidSWALvoGke~CS`t#^*HIUHrPxc$mDdHW^bo}P5h z`ajQV$*rcD&aeI?iA{O+OGZQX{HFyaYvLG|R?AIyTy5vP@89~reP*V&^S^g;z0dt4 zch%12-wW^k{Q>TKt83WWOBU*K^M`6r{b>gz z=w&kB`aZrtb^h*?hk2LoYR`M)T(#@=p2+^=F&}5Q{x$jeKkHBR$v2|s)&5AyuQMxU zIDEh)pd#XT8ec}RZAzn{Lh$U4ZyO3YE_tF&(ug|HhOMgbJH`e|c&G7f3_ta&P7amU6_SJ6_elpX} zNzS^hTKd6Ebt{k8!nt2e^FNjN=PX$MpQqC35Bp!P=KF?K4$8IHHSgV*4!x6p;xe=0 z(-#MpvoGp8lgzBnF63GDugqqp%m(lKw=E{VS$xO1cKPYJC8{+^v+b{mb1Q0HG8FI& zc-C5=v8?DrH_w-Boytx7!yop2S7HBUy8khA)(!vJ!Bf7km7f1!{>E3HyB7W{Z+!j zUGw|4{uhrwfBPPvl$N@;eV?+!{rvy7R{vS|`Ci}u!iHgo-{nQWowjVA={NJr*6q%- z&ejQ5i2m@75_=%~ORo2uZ13V*mH~l>S(bk(T>5feeAuio$Cba=uM3$~bYMTDJhSS8 zZ&^!U8YnOyZ{+ykeqerl=wX>V@u|1i@7xGa{U!QA@WcB9)(4(H{BL}L`#^uge)fIL zE)Di<|3rR#v-`R`puTwRr7yY(3@_N~#D6FSu+}tfxyO8uZ6EiJb)o;Bgow&*OHb@Ep3p}#(= z+k4mN@z+1k{qug~h0O=@bp^k^zjN4rQ~Uo1a{pf1{yF~A@87ztO({Dr-3;`-#v^>> z0r%A-i5&7T*DRZ#aN}R^A=|7Mb7rm&nY`arI`^pICz;BwAI#0m7k#_@@SjV5yiZm_ zpM~_Bhc`O+1?0b3a^*wJ@yTbCnr$b(X*}BX?dYMP!!rvODJq2DfBiqHc=O+n`+m&) zcW?5waaET+Bjowst|^}hRMf-TAd zEh}EhhM)iZ_H{kaV~2dBH8t@*SrQ_#vmDku7rApg(*BcEzRs2JS&vRUe)#Xn$A6c( zYV~ePUp+E8{gFWZR`X*UKUjKw7QW=y>Hf-S>bqK3%PDvLoE5A8Ep}^sRV}D=v;Sk8 zoKns7tp_g_UB2>{^X-h{vul5RZT~OO9AG4Ki9gjm=AP!KBMM3jBs00^^SPIMU5uYn z<;`o`xjbq4?|pLb@^^%$EC{!4i_NN7sy>V3{UnR5GdC~p-TcfxOQY-mi?Uvgbw%9T zTbJ5izVz;S^Q>6Klz!I2ubG|Oj3!;0b|Pqs>dqKGlcoEP1_YTEu4wr;bxPsWb#J7$ zUydxSJMJkay03Vq>^o`eyDA$_`-YUSt8wr->Q`=A!&v|HgJ!mtZP1D3m!p2H-5kBN zc+T!AR}W3ko8l#NyjFQ>Yy0OpzfI50y?STqrPkN)%+KxIzU4>MJl)vud#7pap36}` zw^~^+;OYH>ZCkcn_~G@X>cOAv=X{G+tt)N}^4j_5SmpE9(;ko5_R3kJ?PxRC;e*Ik;kNNMTk58JP= z37O(0&3@&_Y5VqVavA0?D!cypzuLL1M^uV8WkI>+(b%cl0ozSOPb^-zz~oN0<_`1q z#d$}0yIyxTtFD`}>c^AP^pD4$h9ndi6mIxXY!a+`byA3euzmX80<+M<#g{yzdkW@U zikPp!{XX~)tK#&mD|_87cg=GxyL2~o`Q$6zOZ%tZG8Eo@ciELovx>KdE1}O`cpC!s?TNb zOwB(Vs(SUYis!GXSFcU(SUcUtQ^N5032m0`nor_IB-I}>_B++P-+X`7&5r&5am8Y; z&kN;F%y-PIdJyDqYTq`)PvM^3B!)OgsWR7H@|V8U^Vd`zJUS)yX4a8Vzul}J8j014 ztGzFlJ~XJAEb)DE*Bikd>|4M5I+^G!b6$HAr*nk(63GL+=T;W*2r@EmIBd0l)s+V6 z#77@0B})aJctX0GZKfu9ZdN+~@co8wXIh`lz7`tfsoxgl%Dc5-`JZJk*k=cJCoXYu zzPPJ%F<<6N|4AL2F8#HA^5)&^j~wf4+GZ?TP^H6p)HQp`v!^EiE^qx(G}nH$=eMj% z{p;~>)}8ub`bneqa`4I64jzU1C;cxrzE?Ka*I3#5;Ir1BmFG8WcvtM!3E_Wx;gs(Q+vS)0T(j0&O__5`1fS*v=bHfo@)Q^^=97vwO=j$zwWgEJvm>`f1Ur_jLM%yug}DV z8LZvA+P`9cy`O8Ne(bs(b3grtyjT5}-r0)9fBs+GeDVLZ z`M!6*zxvL$H}_sy{;B;h!|yF!m>v4Z!v3KDr{F&(_J`9eF1{^izpMK$tbF$FyLTTh zGw%q|dn;Gkzgzw8<##>Sug~rL{Eqeer0S!4pWQ3S-+9%sv2Nem$*-R&#mtd@5)?B_ z`suNqo_VuQ7ewkEf4Y-3uQmGVwH>8-&9|Ry+o9xM!JYqfb%k{N>FXcA?wK1dFLL3} zx!+Q%?IF@DxUaBx#Quzt(&XS~+H1L__?)EK;d7fJ%lgi4{G2mScSCf}MAbR1n~Or{ z^savTYQj62pn2}MSeNWOp<8(B&{Cm#+2HdxX1X0aXkxhJ_L4VWMI-H{Q=)H#ZR^cV zx4z-Gt@~}7b52X|rb4rme4CtgIxoj{2S&}Cy7|+bIg_71-4ioG{E2I&XWX>#C!v+T zansG8_*Q!Bol;5Qj9?CBjCRoNw!I)xz%q;J9D}?7^D73g^upL0bNNTgHB{< zQxk->$LiU+7@nEr{xz^OSlykm0VhPOb}sfRa8{v z;m%BSkq|xBQkdv8Lu6S?W}@2(j?GSCGlYwr;!jLMuhO8sDbrVknRxnjPIoz}&$?7>WoXvqTTA&?2EUrL zOVubd=#A^@^>?qoeEsccZS%e<`fruFSMgmf{3>%d;jZu3srO@FJMVsF`(C#~d{6g1 z)%TmqukL;p`#rBBy+-o>8vWO^KR>PcY&YvV>-|OfC%3)NF3n^oH;<|b8UByyW< zV7?{Z^h|YO>ESmV*2nxd1i#@q{o7^!eeo|_e?-;hYN!VCbuRrC?N@(z`^(#(L~ASm zFRDMfzprY`0=CzI#d}=lq%HODUKF1reEaBx9a`%;Uq5Qwp_$j|I~z^RlSMCXes^VkkVdl9QW;mv{zIn_Ac4F<5q0!x(@A^UOU}l9tsypGu>7mj3rPzli*} zrh1!=*!r{4?@KExk4`JEa=y2t{KV{UeU<8ajqj}~m)o_ANB8a*q4=rm&s~2}>=YbT zEBk^y@Jn;z{T2C#%z59Qb9`H)A z-5{#4IL)ZBv+-zV@il8%zk8A;+bpf;DyHADeBxt$e9q)^lIhnh-^Uc_Szn(sdxlA< zVd;iXe#g#lF_QH$|Mgg*>aoVJMwr(o5SrLEuM4#!nToL<@yso9jpYpShiI$h${qgjidSw^X*tuhq}-?A+0tnRHK=d+a| z0j{oh&s)~oeqa9lYt=u-YjO9_fB5&VI8OaSu8EMfVCGz&w^kl6MN~?(zTB2RX(O}J zhEr-@zsWf_p?v=3238++_MgaiINe|2;nH0(k;7J&O4F4wLQheWS++41w~4-FKk#LJNUE$MqV))hVId;Ci0PoeYEgNlmgQgWUp zlOG5@viji3HADUC+ehEp!rOKyKb+=MZue)>+q|aaqC3tX&P0A!ikbY}t|@=f-UKU^!bXMbn)Zhq_jydRYl_jR`&7rIz{@`VMvowwum zrHigt9nL=7ys;oU%|O2HG@seQLd%1S6?%6Lm|xh}|6q5N6CnpKHL+;?5hf7?}gdyn@$pZXdD!y5u`oT^MNEHAbG6L0+CeY=@x zM-AK6b{-YZE6Yx2CR(3+$8*dk^**C>SjyH&q5M{pCeiduJ1q`dJvrtpm3np4tqA3dF~tYwFMT8OJ9*9uqwGU$ z8y;m$w)=3~sxVe$>eSSFOQ$-Gd~5%?O0Qf)`ETuAG_PDZhX1?4o!GuN`yNmGIIDW| z9@%@9>zC>Oeg7w8LZ9rF!)L-Drtz`AEitckiFe4eJGi84#;ax1G81OauuJQjnQLeE z+o1cxN2dDyj!LyBgN6JpbDgR$XKtAidah{gH;dOLDz~CuFDbqGt3CGMy1e~a=G%VX zet+xoo2g~IWmBiR=5Kr8{G+`_fB)IXtfKQI6v{e^7m0jIu(-27s7^n=;kbR7*QzeB zmCIJ?--)}z;b-z6&Oi8bwe!K)X4!+L8k?u&Ef#^FJ$j*W5;wicG~{hjo$aq^OA@3qt4t}C;Dk;`hd zSLij5SJFAh$u+HAMRdzM+jCBx!lF~;R*=d11c=yp$iveOgREzzM)9<`TdY*CT*l%M41 zHZlK%X3^9si`E{TWd5Q!jMY1mTQ^Vo%=^;a?0!EKrCx}|OgtgAapr>S?m9Eg1)GnE z6*|J9Z^>$yJ$FIcs@*3pq)*(vb>i%o@1(Xf z$lSUt{Uo)*doS~Xw(2;?CDPxef4KiyUYBKHBq9Gt`-f(Q%#xS@t~J=WzYPVw3AyY0(z%WvUm~-q$-Em&AKhVZ$AlZFAP9NGqw7 z&zhUwT2UA`EBuN6C$>Gh``Mzp1*g08tkH=5a#3RDBc1Xxt9lFOD4Z83kD)_pVc-Ha3bUtNk8@Jf1>DKMY982CjZL-FD&nZ(w>Q=9bWp%l5 zMJ~60`+S9|zY-?jXt4XfA$jfd(=NN_Xg)s~ys0Tzbo+ksx#iqP{w@!8y&A|Hntj!C zt#f;5L3|1Gm(Vuri?J{3p1pH4e!Ba7rR&~HapCXvYOZqZt9mfKeRIt~lKD&e*-*GUJoallGFs^)fR;l)ozFl*|lSDEm^Vs>N>EYDbgmHObfF!#2g< z7Aq^>z4h+hciH_62iI)Uzv+5&_KhyK=Fnq}>#uLfzrp`T{Tsv0fVsE#Sb9_$-sk#s zg0+sC9A^cm_&IcDP_OFTOtrMMiFXwIfm;2v-|91Xs_|Ij_v#R>l`;Xs$e*Yso zn>>qlvqWsn^vmmCG*+!zmvztV@)@?zTP;)dX1A+-O7?zuezEh>PVYF?xf66GQ>13P zo|{k;)Ka!!>&9N4&D)fjPb)I-yn7@spMOjG4bw>5YqI`!MvoSV<|tb;TAe<+xxGSW z{Yg#!11T&2_}&wr{VBz+S^v>$ha~o&ocF@#u`rt!?6TrMVAei2c}D&oFNTvI1-15D z9p?t@)HJ$R{F)w*wa^{j(xSG2VLRH=ygntV!9iu93t^fT*n{iTH^Tz8%R zCx&j>)s&*1y!q6out@hc_dlLdU3hhRZj%32^PA~!(#sU59a*JpdTT>pPQsD);)h4} zR(yK>Mo;^Ub^)tw`SbT5`+r<7NOTPJQR&cH)K}m*J^En(#!W42)c&hpKM`BBevevl zYU1*q;EO9emwcS-w%|bGx%M5?-Tiv19C?E-Pk8+FZtpujjX#`!R_&=e@uu>g*L(f< zmH%1mSJq$J|LXZK|34qjIX2fjz0ExMB*AJ|0sp(lB?Wdnn4W1eJX*=JOS1D#`o&ej@i$OW85A4|a3iw_oDkVo>(J zb7GoJ#?$DH0j|M69vbg9ls;tS@T&Tzp+OaoK0EJ~gSmT-vVVyE!|{LS{pa}!PXC7LjvTzCKOV?G2Z96??^?Cf{y%zU+Md|UbO{Wv`d^hBu**yJ5^;>a? z)UOY(?wfHdK;ZiC9IoFTx(Dp`y!u}eJf&mqB0;mxgEf3cFJ+$1(CO<)cRImVG($%B z{_#I%C(b{-yZO_;ntPfrLkj8&xK>4k#!L;<%h)qfYE9Ydny)eyRZ3Rh7e=4t-cx!{ z?7erz4}n?#`_wnMFZ)$HVP||}-s2{rgR^gl*td6mHe9=}s-w=ozRUCPg7vTLOCvu| z`sf>N;KNp-fBVhBZRKZe3?JsNXt^(cy>Zp;iE>Y3jV9|TzrLt)`~>SKwzsbB7v`48 z>!$E-ON;bgBk?=hn)7@lx6X}_J<4g#5k*HlC+c&ZJobs#l4bU3-bfz*kkdDxiiB>x z^8D2ntK~Y^cj#_lKT_4aQF_1N&64@-<)s{IEago~yLQf7kpFT~n#qdtot-reqA#0S zE{V2G?b}-{wbM^-0^fr}`Y-CLy5bfUuYFXO8GYN?V4?WU3X@yuGn_bXMz(vuDdDa3 z{>OO#taqnqQtu9(ds73?@d!K&JbG8|!GWwBR%+GRg^Qo>x&6Ue@rR;=T;DhKhSWt( zEKBNh3lcXk@HbGAXlILHx2h3QNqGFN#QMtzp1*tdEvdiG>e#t5ZH8r%Q)J-6n-A~% zs?J=Zu=U02Es}3Ne_u2#VT$#d9l7};$M3a=!&JW%?b>@{Uz+;nyd2}aFFdo)EdPA7 zMt=Xv(;e@Risp2&KK#_aN%Y(H%jaSX&aci|Al1D0P2a1ReeU^38xB8O(3JR3%>I5q zZxx&R!LJ*4Em^nr^=rN=13!tnPASn-{QFO{*UnXZe$r#YSG%gdG6vt@FP6l8OR3)c z_k`XFp&QycELJb-Zxrtl3Ar;*zM*dYr}an8o4gd6f3C{WiayPEBc%EybKsm|1vwt?(N3nw-AYZ(aY3G5t;76_602EW>}qq>J)f1Zb&FNR-L>Uw60ccgbD8Z;y_S{Ty;a(_@X)WD zyShT^dSd#TA8X&<`sSC%^J!)69KO6vlhYrxEo(e2o@gG^yX|h;|J(QS>)YRcRWAtB zTUL9&u0y&e&3)scH5}S)H>amPjZh5}Zi) zcjujcx8e62#po}JXfvYaX7sI}YhP%2(%11@(#4cZY`QpoWKBat(o9741KR)AM z_-yApBZKMh_dfLfJgq`|gKFKge&*!AU2E1anOrJ-m&?V{(f``~7bV6_w{9|S|CgXQ zbN~L*39={uU46n}$=6ol;$+f!ZK>rAvH9CCtueed{hIG;mKO{4p4G5ke%m3rxBE?0 zN2kcM&<*@1ZvXurY9H)bUhqvUW946ut4v0Y`*dcX2)QY~JpVOM;Wo?Nb8F94KA%t} zU0HnO@6Fm**S< z5*L*lNeHV|38a3pdL^LdETNiw$iV9R*6=^)^6Q@7`TzT1?f!S_k55(>ojdt&-PfNn z*MHxte*5>Puiu1iLD@UGwJJ?^eV? zPc^fwtZTkg8&}sdRfoxpKk(M#*~c`rr|N!ao_#9+RMC%1?_U`|IV^QT`F>MM*JG~3 zUp#6hObX}ji(Q`*V!qEPO)}eI@$uejwxwS)CFc4(zdZH9C!d6XUenZzZ``NJW}1sd z)gAqFc1`Ba6Ux4Uvdj+-WUr~cmii+t$4t_eQKayS?D> zb~nXa-F3d(7X-&$DEH908YyhnaF%7_9MQe=&hnUOFTU-5kbS@D_e1V-O*eR7uM54Q zm!G{YlYi6oTkLP5zr{v7#hxoonxlPgy`Q1n8QveK!fUkb4{qM&dME6{lk4l&Pn)kF z_~n<+ikCv;Ggj6ujlcCx)=BpB%>K5l`K3?DOWz$yi9eK5UmvWs-^7$= z8SMOTPSQD(@Y(xk<)8U;;`+oeu8O}?pQazby?vtHDyxML4*c4qz3#t7Mb^4%p~}<# zbF%L@-8-)s%H~=+rAj&b< zcPv@I^GpoC(8tY1(LdJ)Y&f2g-LzGNCr()M@shb$HD63AWNY4j-kP)w80|NZ>A%+9Ym|C{@ZYbVw{x);qD#H(V<@#VX8ZW=t#Qt5>%ViH&j~LV@;Fq|-Yi-ZSocWISb6Tn&iRVA z+b0}ax^+RNc$Q^wBzvmOl6`IN|Cp9pHfc#``k3r9+;p+&g3#=>DbY6qzZtL2IA=V) zd80;1mD~^8dsYdyThngrew%qNNBx>-SzY;`pBnqP_uJn~K2RxX6)XJnS$dF5mO?4( zWd6q4Dbu=7@+>KgTgUx$_tGaUjMKyCA9gIt{<-zqEk51la*N(yn*VaD<6hf9`}of1 zM)nf+QvXcsgSPw3zI5@6&Y#DcOV_A(Cr!S|v|;Uj$t1pwZk=0y3VQCIc$aDBBMljA z@gmpC<(-c+zeYW2k9()mKP~L%&ppj{|CT5ky-XBpxym_xoA-Y2sZY0l`o3U+b&=yz zrI;n#E(zHg#YC=9QTYBO*!zH|)C$=vPZfHdF1(x;)ndlKbxZi~z}?G4uWG+~`!(*D z%f~sU>M^?~ZoHe}q<`t|8wG8Sw71#EX3I{{$iAujRsTz+}B{qxfr zUagl>=ii$ZS~ss;U$IN-z52btlWa+Mz4RupxfCMsIxOb({GbIf9_w1X@)fop+$ATr zcP8s~8}XcN@iyzVml|!IxhtTz`FHBYRoT1~KUN=Dy*;b^fXgI1Uw`MYbEzzc7N$$D zc661>_5Xc2@QdNK9Tv%NxPLql{Kj%7_KwNfTWQ)$c6t==sl2a~aCIwN^X_m(^*Nh2 z-L8Cd?uToj$Lz`tua%9*mH=YYCIq3R)+2>0q+56X>$S!I(cdwdr> zh;ge!(j>MEZ_b{0u-@^U@{+liWHmhVD`)PJ(*D){C+wSMn-Pb}Mpl>C%gusjuRgqC zSzMjwGS=+hTkapQnRPGTCUO7D-#k}0OyFL(V7k?1&oAn~8m^^wADG2{!+9F#I%5{u zuf|u_O)Mn0 z%+jB@`^CC#LFSqqF85vT7-s1FsM)nC>LkCFHUBh?l{Zg3HQxI6R_a@|l3&fsUT^+Y)|(~UcqI!LMP7f^96LAZXvFS=`}e+;{ATmRO;KY*Q|Z3f zdm7mKUDqD_=;NU|?Y4}L!27rY`Ca=;>G8HXeNqz5dDUdW~Xvlj1+zu2b$mDgVTO!{O*p6H_K`^4_^* zPf*=Tfj=uH|71=S(YKv)&(rrwU(uGD@H$2I##MIV`&|D0@cyV+JS8wyrRV%r#w;F= zL;j~%i(WO!?GRh*d%Z8CK6B^SO&&$17nwZ+?!F4RYj#XLVD8No+hw+xTzx6~YnE7o z*^DfU)45S;Gb|6+WbQLQt(^aD^FHTCe^|FD+&uj@;!35q-Te2@^(!>5m)%y}C|kH! zxb~jqim;}(XA`!nv~F=Qlh)8>X1+TuuCadA>18rX>I*;demLOq=AQY9VE4du#}6I% zUR4BqGu*26t*~cXl=a%!tB=0gR!KkJQh0Jl;-9QL=5_A>YI?KJc`+}T)S9Uo)fcw3 zMe543(oF4J;&*HXk8GGcZ&~Hd46(yu4LS2S@?Y>hnbQ;3=hkGA_m3~`!di}Oo?kzw zPCc%ddpqIC!EYSZlm4FYYv-Qs#=50om*vHCPS4p@Za#l-Sf^l4#=cJZM~f$FUpf*j zAD<9*P}tSe_Y$AAeUFaoFU!_9hc_0Vykt??UgKS-@cdZ*yH=i^tSTRaPA(C14PWc} zXy5u}D|c@3y5;d!JC}2dDW_kohkoDPSIp;rxY@6eXZ`rqDD9B!rJjB_$0*s*Ke}rV zE!$}OMo+sU2)0HBR z?q!tMY&(_PS2NL1W5%Q6iPyxM!{a@8pQIJ}S2DfIom|5dH9K_Wx`HlbJwx0&!VPGTe0`rrkAQ;^%Ab;f64!vy=(pn=fk~6k9i5~DYxIGk?XwM zNj>fIX_MAz$)yp+V%xp&+Pspl$R@(79}RlOr76dZ<*ciCtIGG zv@F@oG`!)S-t6sXLq2bv$sV~__SFhylidDVrWT`Pkq={v^DOr_ig118sxgp1IQ_%d zn%3Rt_VSc^e-zmn7Ix5Yt*1rNVU-}6yLX&tu3B^Glv%^0vQYNK((S9oH|}ygF?;S- zi(K_dMQSOH=R8h!yYTH;y#K=WrvK|ZoAEU%sd3_WikiJmm*$-+pw=2z$s|xgaKf(yO2~TY_$B+fKA7t6wokA-?t2 zp6T69{I@hGZzwaL8k42|<`2I|!O1MEU0cm!%C?AcPyfpCPsYT2`NZoSW-+Q5pGjMVVn`m1!xk+V)iJGm4iDl=RP{uRn{%YhyOHk$t zEjV7$Xce%+_3?|iDh|of)Z(LaX0|@jVK^6Ij>&ShV%t?H{^^uYyXsLsGcfA24n_#qXi5d}Z6M z!nN{W)=FLqTBI4h_rQ*eCq6_^c#t2p?e2lRwmbihO>=ZOJLj68fBM?Zjp`pcu6*SD zKI^x`o!jTN=2?cQJU-zysbg0~Q_8H!EY^Fqs#{%c{U;_rHQmvqUKEkNbkZ&3 zfbv?d700d|{_3$;%Os(pkgG((Q~aXM8m`$#@-_=5?C-sCcltGU?bWgg&$mxLuxVSc z^z}>EE8o_%<%Eb|y)~Kt@#7!n32j>Mp1))G-ewU!In<{31w;FP9?hLIVxr$^@gMkl zX2SDRx1Y*yRC@okXu2^?O)xi zxRd(}h1OX}OTJU7_1L_5)fz+THkPl`o|;$BOg>ZkOz!ifNWoguqgH8u6Mw#mDa)^B zUiVvR(!cm`=@G}T`&Hg+>VIzkY4smIlPz2_NkZSgq_LSFOJB3RRZrUA>SXN`!A~h0 zu5(rHuL;iU2-)LYxj@7%+%#nO>dz0-+ppZts?BYj)>E_K)z>c>f0xuTZ;d##BBR7u zsQ0lO@2-|-%-P>l)<>ppR^}+*9(nH9on0+UuCo8y$7EF{eLYO#_nr$Ee|l)t@cbA1 zxpzkNE!h|6zOU2PT)m_JI%kh*{~Lw&6TFk$K6%|;>UhZ{vvZ65nn0G5JEq-<{TIBB z;ki^B&x{2sTF0lxPc7f^=vEfDDSOckhulry;$E+{zYzN3s!;O!hjUlG@O^&CXpJ6s zs`CxeYgc3v`q+-znV*i@y2fC&vBkG3OK&EA)3Bbr_)zydtJX>h|7VqV1>aei-|8*g zp3M7x$3AY!*U#NwDat>aIOB@nsm|3|s{E6WAB^O8TzJkoG5_Ffxx#g(gK;`t_jKj}Yp zO_tw}Gi7_{8=j6x&@sOz{d~dQ^F3lF6aRV5zo65zp-`vs@2R?U)-!U?R6bj4c!Zwb zbm*e&@3o7sonNrhso>SRM?A00-aO6Ty&;%gNA%qhi`{d(JTyxywe2`UxAXkD!DMT6 zZtk1BBKgLZ#(P$9b}D9jXis=7`cnMm%#g5YN8+lMZ_#sRJl#+_dquqR%yq&0gN3iu zzVh9=MlCZWn@eAc`&sOY+$($;%eTBfp}jx*{K600;@IWnm(?%)ewqFC4hJ_}w0T zql!1-LO1pJIFC+P=Dl^pX2VZ{0l%UxH&1fr4B^r;ooX5I{!-SKU0$|p;tpMXb|otF z?$%8&a>Dc3uFhO`{^Ipl?2Z)&ON4D5{x8ta@ZRxLvaECIru`A6#d9i;oXOp~(d}^R zy9m=ad@m-e{N}g5p!tNwTGVm1+PV!JjSomZKU21^RL?TCQuyA)?+@)il+W2w8Zh1a z&gXUd2D9_$eeY!#_@#eBx-Q61({EKnh^g$9?Mx{l!E2Xq3o}=kc`v|zh3ghS4?*vP zk9K~!6mVkSubRK?wvqpR_0vmQw%6pw801(nhW?lkmLPkB!)$tNE1NER`>)$~Crmni zyZBA&H~ka;!@7_@O#;u)o&a9r* zS!_es!g%Yb$!jC8iT-Y@Jude))Xr<Nrk5~eAzE;ED`(L%C_;~ zi$1RtQ}0E-D>0TasS}8Dd^7dJon`0Jp7#l}*iYSY(EQW~ zy<$9Om#k#-np5{|N=A-z%vqIf(*%u=yh*RiXH!((aqapwHH%lwt5>|eb^9Un%|J)f zIr?)o{qpQ4=RaOw!MA;tbd%Qm*L{umnqr(bckX+mvFS}*(NvYmZ-NAWypns#KOw2M za)XWAJ)QroYgN5!pE8SV6SF8|Sg~Z@G~vDG4*i$wFU@~7vqwqcu-${z^1a_m42y0R zR*7znoA@;;`DV_x8M%p#C+0byJ(XY$$t?>rZnrls0qzKN@<=wxiRchh7u>Mv2q2aR^tYy`fbC6$>UHQeU zO87^ieeI@wJe;Pk{@3jrsD ziC!j$zn!C($F3`JQfhw{<~m)g(Pupw`t;lP{UP3BpbLlUcPFB-jWUEscTLEq;ut-m<`u9O{DCl`b?b3g9>!R+vPj=j;|1xXZ zxvT}>p3hu=Mke6w{k2+U*1NlFkF9$kuza$yK+DD8f@HIa$C-}aUA8-gf5z1b{)?Xf zaxCW4G@tS&%X4e9m2g#r$DHT#tZ6ap>oarA@}y&5rrhe-n!tR6XB#75%$Li155HT~ zCGN=WHzRxjo4il`YLQDx`fJWfX`k`i5`WWw&hrEV`SZv0KbzNVs=o4d?WqgT=d=hk z_Xwt^@g*$RpUj|X&v9t#F|XfC_HEifiG7v@|GrOdA6K$oO?@TzRs8GRD3PgF&Z`&l zU%dV@{A+tatIx5F#|r}|`YpVF`2I4b>bHqs3u-@~)d|bY-nKP(kNc+D5;X2zjaO3g1CV1FLp`U z?64~;HQy^MAR%kG*#jo7Eh)bjmq5bD4$q zm$zS;|MkGCW1B>ECWl^Jm1o-S{e9!HDDE|1Uo@RD+q(Ge*Kd};C;jEIo_CeA;oh`@ zQx;br-V~X4_r%NhJcVx7H!I@qaW1KDUH&P3&&1m&Yn9&JP5ZpG>b>n`y?{-eDONW< z9!<>Eo4Dvw`6bqu`YV}bvbk$Mt&Cy$b3<}}UGt9PfkAJ3yH@nv3!9Lo_j+rOguptk z<+mDbs{7kEyS{kn_N?IZuAhSU9z^j@OlprvUekGvCwpn?4aeIJ$iF*?m4+1 z*M*<^Kj)3PA|D<-Vfuro6`^{?Z7nxAYVS_k{!q3e{od4i#!nIl*p+$LKGksurrPR`xTbvZgryP6U*6djc>8UhvvM}?nX)whfdAK@ zDSqDavwi0IptTPR&gHLpd|~1nh5wr0(msmp++-{`D{Qj+XGxnz^MdMKr(5}dUfTTg zkj)-Nkymq+Sf|B1 zUV8gVrhuu^Q=qu~yLjO#rQPR$w}2zi$8Kuvm4je|Ur3Cq}t_U!ho~A0!3ebTT_Ir)w_X z=As*|Z@bErckjK+ZTXXZ&85f$C|f4sM1 zNyYCc4F5ap+g`1EdF|UJ#*=#Ue%H8lO_;Pq=GCpXY<`u)CtTM&SN_Ca$!~gBUcAt1_Q6fz2XCCcdo*v>>+Taf^y(+g z4pHEX_`i6`>FNic#Giih3e|XCkh*cwsx2-~*6Zel&R?Z}^-vV++I419_XHQ`I^NUB zR%vL}lf2*bqD+ZD+=cgR;_aJ;VJts$_%hZp+T^bJ+CG(YRlI!YUKZ0S_g6msQn+Yt z=(*sOO}qB!uX}53e&z1NI3b_uu@y0{FMbPsniMisC3D^uUn||%$=^b@*%eb>_<-LrY$re#s5 z9d+(~{_yvjWug5${?|K0Pv_;dE4827CVor%P3bqW>g{v8Tz(yTc4FZ|KWp_vFFB7% zakb8Qccyi}e1V_U)dxb8D}`39Z?`@a%d(W^rd#Uw)|5~47KSJoNqUMkUitqzdfxI2 z>h&J_s_%23%uBd^_Y>pKo;&f9y7w;EEUa1fE#UWx%UANR=tRlB<$mj(yT^<*Yd6d9 zZR{l#!M{WAaQ+CcUiHQ;w>pN);+9}w$W;hx>3H#?K5Q?4nKpSy0_Zx z^@aJr&p3s#25ihM-N?4k%&a3+Co_CI@9u4XTW#;mOQ}zPzp1~=>)b0I=cQ)~ljgcS zU-S9G!##%l&9n6$Xgji5FEn7xtJ|)#YWdvT%zRcSV;{shm+mjC{rrG;=AO+v7?)UZ zDlS|i`{j0Zev0OdZ|WcI-pW5wUfJ=hXoRn;p*{il* z-IZNi*jJYsB9@|2Egf>*q`{%#ygWBAv%nO>%Q@{)FiB5+~gp zrF>RjF599l+hbxse;uQtS<>3b@@WV7He7zAr}blN#s5WCe=3E7{uO;@l+iN|N^)P_ zZhB!>{@Sf|4A1v(`SV8V#lg0S`1f{KlnVEqtQP)dc5P5rf`iZt-hgx`ez=(>T=c#-Qt=-SIs4bf%Im+pUvFxi)-SBRZp0L7G3UH+lEQ zMLW+5Ju@(tk`l{SbK=i)WcG>(UBedUy?XUlj;!Bvr{>&s_gax_zR~)iG{3TIWu?vZ zV4l@Cd4A?C+I%4LT~5)ZgYA}%^{0QZ$@Rw+_p>`T-`>6VZsd#ayzeT%r@x=+SmU-g zO_9|@Gl)0GdWy^B;wM(Gwus%?+k7QKmfPV9<)e(FDL|OV?tx}NhbFBLBcYFQPq`&vFSOca{ zEp>mtxc|!jOX-c=d@rAW>968jykMb}^3k1#pB~dyKKtYJhl@oai%TDL1(vYIdVRkr z|I+_T|5NsxAt}BQ7BUH(Mpw-?l+>+BaxMAqaZuR%Z1XeLHB07CJ+75zx+%)pKV0$c z`=eI-HrO?pt-39<+LG&)WcvF9S<7y`EGtu=A1t&-_T87Z)pbwbw5G)syzJ~DAcIU7SRx$y2C=#)N_`u?!*-I}-nHeg%ejRDOF92kE!-4p zxpqpR^Fj5UTTa~)P+28=EA#E*Kn|PO=5I@i15@2!TCUpIw_^Rl9Pv3HnRXwv+ps6C zFy)b2T6Hn2MUuG3qj^84&*ZIrJ$GL}duaTYx}&T1Y%ST{clQe4_Q!Ace$!moS?4FW z#zSrUj@7%j-Z}PTZoJ}5xx&lF^Y+J|c(;1m$Z2%pq@I@!zHd1>S&{YmnF z7HtgJR{2TjOTwNxD&j#>8nIJO2AHgGt8=US7H%JWdPV#y>#f$eq<_=|TI4wIWfsZS zEqW9Ach`$B$`fTvk)j=(JqJ$dMpa^xyoA!0yibGq3(RqjKW^*RyG9 z?#8F)H2&Ft=T6E!)A(7Ix+fQf*{+`bW7=VsY%z{!QwlEkhb@Rb#J6$w;>~S0h2P99 zxMKRv^~z!8-bKG3O6<*1)BA-G2VEU)nKN9;7 zR|EwK=ag^_}Sbb2}34 zj6~NIaDVtQkClY)JFRqrFi8rJ(-=TE)-~pSVA=-LK>oSu%h6t}u=72QB5N%4C&JUG012-7ALDExTk^miJfr>|J9gbaHt| zTK3tAb^9I4&o$kXy}mBNSl+m5S~9eS^SS?GYgAsZDLuO?{rmRz1I^QKtbUvO&GUCtt@oUn+V4w>l;&PsFxMiT z-{f3z@0&d)>$&Rk&ssN6n*QnQiDmse&!2tCwlic;z5(mjJu**fF4#U!^AY{HPf*6? zRMJ`AOPycTlTVhXh}T$7wPAFfHtAQ__k-6vO3!hbu25QCWLvr9&r}=v(l>iu|1bX& zcW#|X@GH%^Q{zr0ytu?Ot9GwsBj!@U|C&KW*#nwTWAOw@I0 zy`S<+i(P$rt?OeJZGWMBOR&zUr8jx?L~XvV?6^1^1x`Nhs%7U~+x)rJ_=IHllU;J6?~WILJQVTR z>e0^kIsbT9{V~|za%9GR-B)2Qt>!JW&lD!#{rc$SFaLSr?7w~=GOCQ+X0p=D1ippHe_NrownIMb2`o52oeb28Cznr^w-Mm%L zjkp@*eU({OR~@n7p0B5OZIj$vXZOo1BTnD_@FMz)`L8+OQYN1G!G1GU?zP0%>M7pub)Ow86R%$N*Hq@0gvjEK z;DebDwzxdyD++6t`>uF#Z)wrTM|+sm10FWkaLqqH{R8tK8~Jd*t%8ouBM}uBqW&GcQz=V`|2#Ev(YLjqA^bn<)$11{aDaL-yPrTeNmho#}e7`V(nM`FOI(=uDsV$nSXe}*L0_q z-I7y#UEOR#c5#Kxx~%y{^X#FbO-^fM!oI0hA6j%qHck7a^@Y2ybFzN#=?@K6z{31U6k|x$3VxtB)^w(bEgg zUpRmH+WMYPxnd|K^|mL!cd5tS{TGiG+t?ilzv~nICN0G-p*#nP*;y+yRw2Z9NEe}t5vgqnB&BrSPd%_lqzsxFY`T2PL zou>Mm*Cev%mY(?~#c9AVf9`n^)4P?=^Ga$3|2>j(3dgsAJckl`LC&bp5nB9OW9T*zqR4<8}o0IN{z11wx8j?K=t0u zX9i1_|Md958OEidvw!Wa#BTu?Y8!$D-fWZz*)M+Oq3Y5%ACAoo=w`U?VkGs_Ht^d| zrN2i%Pxe}3Ug_rK5Vw2D>Y#MXAil5}LaTFFN{#g<*scki~P+Ka)D)L!P0%Q z*MCN>Pw}{s>@Uy#Fsps>p|XU~Ynz{+F+07$dT;Rcod-P*=U&fzSW;%T;J2UE`8iSx z=4B>4G~cr-d-vHrm(2qIJ*xa9ddVe9b*abdC&3qf7P4dxp%|2B}a%;4AfDx$TWO!aM~V;c%U<5-;k$`a^@>R}3zCSO{I9T01 z9`5K~w)6Nz_rFJNFEXasyfA0ezV9|?$KTjfeLnj+xdOSqeAv3lt#XmeD&wt37i?-v z*!c5T=HE$ihYfgc&q(kwOWMe#**1TN@;*7sk8HKhr<*eOzVDb~sG9NArg-MgYkQK5 zR%@Qf+BNmKUIM#v;_Wiy301TH-dp$N#vZwRzOq@(PquT;`!s8Mk^7FxcO*~Lbe>R= zJbY_!e%m*(_ug~Wcqep+pD>+bkh*lzDx1(hSF*B{w{E@W_?oru zDjYRS?O5 z%S6t3-3XhO@oY0!*}C-Ss0PC=Y2nPLKt$(1yg@iUb7 zIMv0f=Q@3VKb6nx=aa5aiUoIlQa2X)++4bB6~E(|5bdSmS9dQEf96!$|3W*Ud(N?o z)*n{?dM2^vPf)S^6!jBa8`C1LZ~V0Tp#Lu6hhIwFn&xh^GCy*82KOJa^Y5hctoz;c zQ?4XQ7=2Cp;i>*oI&*J{Yn8s_r~FUWKeeBBUEpI8TWQT1m`EodFb-ygTFdEH&JPdxvu{%7fTy{cXN zEySa`TqfQ0Fgfq3_UEqPgFUV%YWp28&(~C)@`@|mO-p!c#RijbYo*<5n#^nuea(on z&Rts;ahfZ2)~fdx^1F=#ta~y`bnmupDHop?-ddXEebcV2Kh;orX70p~@-yF`l?hw$ zW7p}jjBk-odiSr|_f4()oA z=Ckk1yp7k~8sT1y;s@7FP-k&mfpbj+3N6|_H!ixT#jp1 zx<9|RtT}xo^2xs^>Q^>>f0v}b()`lN5{olVnvz+c+)n8{pK$ur)l@z6$;k)KhCd0} zX>;dOwW?Ie!^3$-xf);I`s>b*i&?)wTFL%9n{$d0msDu4L7Bt}uyY$jYZb8LQmdJfd zE1A?H6EF2-heX%8tsfW6*pzT2?^n^^jdl#2&+N_~&Dz}iM$0?d^~|{!ORqlj{X94F zwp54Lr=W7{6|aplenoF^j(_>mk$vmpHe*fl# ziIkqL@gW%#PhAiiuZ zL&(;CvvBT9hrcxblHJR@Ds5U|f7t@#7ltLVsba^hnx>jB`fcp^ef3PmXXekoUywV` zsy{3IASdtI_Y)1e9DZ7^tKYKsf~#g_3_+y|7U=X`(h@9ZC*UHf-bJbSh%YgWhaM{|$P{V03l znfsmYysqCje$Se8UVNf+&HsDuo0{yTC*~~?muwfk!t0lpWL_G-C}G}d zD`UfGx~^H~m*(Oll5cuX`K9jM5Wm2Z(qp1kq8 zMQX^R=NSsxXID9%y|qd8gnWI&E~y!t&piEb@zRML&ugx)*L^)TD?xvIadVc^g4Mx} zQRxRwD=TX4I_E#*uS_oYJyw2A$+$|qW1w z%kC$SMIUC}|1NcU1cy*E=jwf?k~h;uYv7&s$EHx=xaOex_(!=XztF z2jKzbjqhs8MStllKA!t?h0LSq9hL#5#U6|qugWYVPcHKd+#i~qeR!+wEy*|Uiwc*o zv63n8`*`F9lj?tm*_+}nc=Davllg1SrEAl#nJify_|2qxY3-ezJ#W4otUPtUn04pA z{nC&BJ(yd^=$`r|PV7?a8s*u6_x(M1-<*xx5zhSNTZ+m&qf?Ae=S*5-6Le4G=M|S1 z{&u<%i=(7#C3j@?=Sj-;SiEtFUvtoB7u&1YiC^27`y}Vj$Znf8_l$Acs+l);WnJB- ze(Q6gt?Ps^Hp|5izpLdRy8Vgk(VN>_deqzP?yr)0wDWhsnm_SJruiK_J^MudlaHr- zRYPQ#tP7dHvh7($^}@QnUwD6o*~aeA__8F>=<=N0#P%Q75a$9}d}|7sBXY9IN$HEgq6FZ6BEdVRoX_S%K< zch~NVIBmS+pTq8sz4y*Nd{W-lAh6xidhXwIiOUx!Op%$t&t2T()TF2nN0@>PHCamc zh3@Ko9X?TY_Q`wVtotVXR+`(-wBAoNUej*^zr(|3(a=mbQOjjd9J*q9R_$Lkt*Nc& za@d1%xvO~@jJtTI$+qqFZ#Wl!CI98jUWJUkX;+M1H9vhW-Q8<@j5k?Px9v*c$u+6x zOv@L~Z;xtyYgK0dLcYAp;{Kvr-N{GYmF=gxEy{RbR-WFK|MkdD>w`Oe8PwHP}Ezftxk?`u>%_nM;Ce4|C^tPh+FVEbi4}V1KKhg2BTay@Oy8Tw{+r@f8 z_gC<46`S=v&n>xj-ah`BOGSz*%##gF{@C1ktW=TAwVOY;nlVZ`?_ZADwnJ+VCM=vC zruD*V{@R`JCm$C(omQXvZD1eRe35xwz|o%=8|`&?RgN&);3L$mD%h zyh27lesZ_Q?kW6Uk)`v$O`X>zn%gfMqjJwo*8luv_AAx@*D8m7?VNc%Xu*ojYs{~C z{aJdo#c_2VZU z9~^!d@az5F^tV~XYYy6!uG|$_yQ(habk^%FYj5S{D($l7o4L{MZR;Kp=kFJt*64No zl-#ws*;7|M>o!m4F5#d*g4z;47j5}`PV<;{!PM=KJooq?`!%`e{ygDbQS5al4QHD9 zR|ZvIxynK} zw(lu9@U!W8NqRGLQCI#6GnK_BWK!nedhoaZ6r<_vZC=tV*I&LaEuAU6ZFVe+<9ZW* zr&i~QhwC<-O76Yp%xh(_dQQcQaM$U(AHFjv-(r1mE|cj8*C!(PZOlEAU#^+8C@g*J z4YSqL=W?4&cu~TvsavwX`u#uGXJ2HG*1xw{@m7grS3`)1$#2t+Bm8~$guMzq_A%bo zTiv3~K6Uk}_)|5d`>UAp=CSo@FIf5EqgfPFObwq&&H8!LKP_%qWU&OWcTM!+ZuUKN z!$9C$-ka~W->kFq{7m_0e4oJhDcV#=%g?80t6J3WwfsLq^>(DLuss=kv1_I46_?lx_gH?smA@BU^CQ>qqhI6qy}J)Bky)vE?iZiB=9BVI z^D5NW$u|dd+;NoC-tVyQ`qb}UyepiALo&JQTsK?`mu{`&z2u#I^#7H1#fSdwLiuK8 zQadveqvW=f%Vw$xuRgHKcxvPt#%#XYcc*@BdYQxcIL&smW=7=%%Ud?-apv}$tsa~A z9?PGV{5NCjX7-!*x1Hx)_0zw1NcPFR^FNL~+cW1;wZ_C0n=LK zy2IT2r5@NI#hZ7Yy^}wWU2)mM-`o*P7gVmQh`W2a ztHt^pWBlAr>ms+WslJx{qUrp(wl#(vnaWq|(ykXDnw#fm|Dtw_@!`lPF-Pl`bZy=t ze=u%NdqZp6hm98|?5vq+;r)f#{(%1HHF<&Cw?to54R|N`uBd$OZqE;nZg-!mIlf4n zzC}b`Urfn=>7?T-vqcnGJ(n)w5}N$#V7UVSW1U z6T43iGc~SHi3oY-AGPV5*Xp(PE9?Ju<`hY#9{GMqP1<|I;`hByA&Wg9{bv2SvH$Ol znr%I66RU43mi4gCxRTR(W%B)`YtI9Y`-U;@?!9|5E+gJq?e5Dz4`2MruA5#z|Ks21 zKjt*)-=1{t#C+eQFJF6oQdm(Sxpe&}hqH^OUcGeW_g>MjzkYrHW%$=TW%v4?+6#~4 zdrg%2zrIV!D!49wB6jjkoo~96KDk~yey8yt$FVw*P1Vg?{cfMJd};Gc&7!u?J>1i> zmiOr1De)e&zRdlz{EuImXnpCjU#1+!aeuvQm$Mx_AO2$YmzuUb6V}_A7w-JNQhn>z zfj2MD6wa&u`QNE+UY}!73}ewBzMC2RJN@TP3|E=_ME~hDo|Sq+rP?c-uejb)7oGHc z0oUr6$9vY4nD#Ede|c`i(PcfeoPBSv>RxmC{wZ$1%tn#6*lFsy(2-1ld}y@R`j zxz$c+rUmRs;W)8scZu^q?>c>UE%B+xz3R4Z*%ey5F6@$uuFLP3?n|eXOV_q6x?^s2 zq5MO);F?)G@98A3W#x6bb@**^S#p4Tn!yj@eI9#!-+P~b`C5P9`a^-<&pWx7|6&t0 zW;pkQ&u*`OZj(v4@a}>G8m_k+cI;oOY0|)(#;Mc#)LeX4`B|ym?JR1`z{F2$cI{tsuJzWh|VsO+h_>gH9e zW&UjD^!ghkyZr9eeHV|{&$_+9uFFlkdGGFhS)i2x(I?wjZk^8ruC!LVp6y!DW-;`gPSFe->97|a9z|7XQevR;A)1o4owa4NN zkG{$9GqIml`M}_QME07B)%|~)@1EB@!v4ASkAi*U|M%zbNWD`szi7*S?c+WD^Q!my zzbLaF{jT2U*jcCiQsGp@g;3_5OJkxlSx;FmnB%xNF0?N6o%8H??VDE_Oe1vp%`+F2 z1^r(6{J`v^Tcn~|zO|b9&hC}Ic_E)pEpS_;8p!8f7?{VGC z@XfPtEG*N0zDM{-YDu=g9P3lNqxDZ;?hz3>s`-7=_jA=QdIuZLG9A<=F{g-yrA{yL z_%yv+Np$V>*P6ytO;>!o?lFDs)y7xlSz%`{+-ls@{i^hnr6Fo&-!fF8}Sdq+pRAztkIuy=f&Ps8*8Kc{qHgj zy!9T+_AcCgH&C#3$+An&FHOJX7Vy$Nb5V`=xivW400y(!wqB`BqESg)jIkT$Q!G zxGBAGd!>}zRPQ_aa=zC*CqH@r#Qq7#(}h7%bC>N4U7cCF_2q(R6L<7!|MLC2@1NiK zR1s5|#odNiJq%`D{#U~CWxJ|$mYPxn4ka%cG;CSR-N_LuEnWKVdRJU6+oHRNsd)YI;Jf101jR`)FRWO{FW za$?ruW@*o}2U^>oPW~kObK#u4?T_;}$WPv*?|G2j_+RT4fcbUU;-_plV-^M(ud}n^?dyt&v{yR>5lb@f|cDPyneh!RP26m^L1FV8&6!^v|NcE2_)KO)K-0^!E*{4B6YIU2nw%UQZFSzuRL57h z*dC7K*>#Wi`QF6)+y8H3o|EKP`cZ6e`LP_8KgE_oKjglg$t~nko-kc#xj|IdO8w-8 zv8yjS|Ng03$Nuh1Bm2(OqkqlL7Z-PacDcEq{B+KHsRyek%OAJZHBkM{$QO z-=6))?q$hu(7#>&*8V`$J>ygBkH+4OzVOQaNA|yo?7ODk4cOj%`>O1Nb&W>3&Pw0* z>HoN0KPTI}F+AnlyJk_vr=FpUnzUz6HdrY1_oR%$Ilqs2XGA|~SF-$Fqog^h_m-T3 z@1!(O?xmt1Hq3o=yIFif{X0+pCFVh5mhxqX7W+zGy&3pU&%fokp2&Uooy}{$$*@f3 zwNBLToqElS{msz;Rjxbx7_uam=LCP#Y@aHea9O0}yZnizj#;V}n^%_w>|Xu%>c&@9 z0q6a`x(h`6>Fy7U(dK_&aOCx^cHKaU-GKW`Pi<)#~Vd!_6Zzs&Dj>>c@8zi?Ig z-u=DqUPSFCJNN%=^NL*eG=8-Xxqtu18I80l#v;v>whOa-NJn<^^H`(-(M@*^UYY-;S`+y`c&_nD;M@QG(ut=xU8 zx4gee^oaG+mphN_{XH#(Ei21*#}VuEZ}_9$Dfv#F=JEQ-&)?cXX_oylLbft(J)4B2 z>K*neEI+mX^!flp(J5Ic7IshF_lo5!r_IW?u;}d7rPtIl)3?NLINbVG@s~^OrjN%~ zIPbpHy~XJFQ6A>gced|YC)w??iFsxYVtn4ki zE4Hg#xt;oU+c$@5H9wKc=QgWf?6UZKKX86O&n`|$%bO?oLggA)?Q||Snpx_yY}aWo zg~~qWjq^=cil)A8V-BkBsy(-^)8)VAr$0&>FL<9X{Cw`@>C+#s?UA07&HU|&R-Loi z_J-(_Tkrhy=yo@Lr_RpSVal&$HtCVhk6^Qu$#p?8zphm8e=EHvCv|D}rm&xqufijF zo%7cQpI@PW)hNpN%SA0+r}=E@``4M9lu7P?(DnMFXNmD%7yAHC9h>gCN&l85l^HId z5q)<4S%%Zw*dp84{4v}9`$qij&JzbJWraB__HDlZ^YX+Bc9pxjf28yu@Hv;x`KG08 zaX@^+$=}-=zlRh_T6$e_IAM4x_6d{wKc_goa?$wj{~{+|v3r&EbzzkB>YB*kDI8@8%**4c8gnN7Q<`z5`tQR>=4}2y<46fx*6g19Q`MFkOf6n< zIlv}R^0kh$`P>4%G;78dclKx}54TA{LfX(uf;FS=JKApXR^yAbIXET%PSi@FG*@f zR_Q&PEGmAParPiI@tmN!=txor|@eXd@&DCOJ zmygVP_4i;~^4E;oc{Ak8LTY&LB|F{b5Ok4H4GNtzgQx88<&X{KZS!YvF6-)Sevof4 z+nh6B*4A17LW$G~jtJE$U(+Wpn3|d+dt2$*z1W2Fkqwe5V&rUVJ`aEG8gW-DZBV6p8zidC&#Tk3APu{iY>$9Rt;hjynqF#bcw%^qXD~)%A-Q-;H zcyZFUyUe#|?-G5p!Y^2zC**Rx&#kEEIfX(;e0IN1+7zbnZQm>l-M7A1KBZ-zef&D$ zE9W1L{W@tk_dYs$x9CQFw9na7Gp3vJhi*9PE3kRyx@zM$S*$;_QqNVa3+k)LSF3)1 zYm2&aAphkPHk-OsCb*QGPMy>=>%(*=SKk|ts{cL=s?S_AW7iBr=TDnvY@K14YM6X1 zsY6E7U$|6IU44OB(1P`LN8>enPOV_GJ2m6nE8kVo%TzS4KRm*J)Y7COE7pV${;RB?K?e0Xo$0>48Cw%$9kBh`d4raGkN{aZ%f1jjWyW=xHE zop1c`-)om0+z;-Aya+Fx{3rL{Z1dl`VOM+?&6qgD@cCMql0&nvm|U5~IyWLswRYCi zXSK{02h`>-+g>RwczjWk(X*|w;#w08m-bq0of8n^!~eo%i}Cr+_V;SmEB&Oj)Fie( zIvam_#$GXHE!999N6&|K@9t}-uCPAcTR458-=5B_m6FeSoSF9+F1paeVEB4M!`)w# z7pCZZu@eg|nli_+cgdvZNBpmx*uQ#0h(^14r}2+?(M$0@ragk2O@*H>eqgrViD_y= zNXM!z|4sIn%W0*^W}IC;p~UdGfydHCPD)3voXuF_e(cL3k&qL`hS5i6hf8#Ey=>ev z-*DlD*_$gPtCyypQBhejVS@i;j=fTymxU+13bH#ZtHa~A`kSY#k(LTu=|scm527L} z4U_yYvs5d8>{+_n?kxY8dtpA!Z7DuHIVTQ9SV(uz`cR@WQP%Zc<$-_2S_^X9I?Kh| zyCNH+&n#Z><#gJr8UMm%ZXR!&)Y4g5zj;mRH8G8ofrby?&lOD(-+tQBea}sozi%_D zr^za-rMzp)x7mLGW}V-J8Mm*CT)l8#QtOpsScr?(s)POPHJA9$+gE*9m?U<8n!oUm zpapVvJKRkTi}jQ5-Sa4yTBXD&I#KDKJ@1F5U6p>V59JrCG`Tn#+U)I6_go|vH<3Xz zB52~GLrXn0e_c+wcJ~tJORJDaq9uodIkn8E+&;bc>BI}25fc~f**Wd})ACK>j9NEr zeK_5DT{wF^Le6!Vt6XMXU433)_Ns?XSJM@{)e`>euReL>Z+RBOo#rgXN8Db2w{DE; z+2-f7!snmKbfbVb_0D_u?$~V*7T>z}{0!Tl4jL|rizfx1=4f@QC>L3@kh}B4zYyiK z6@7d87d?F-r|2Zw*2EH~_;y~Sn$3dsEov2A7v!D@_150!eZHg5w!Sr1zh_M}FV_X; zzxJnNT9?c=eE*TL?6&;hcu${-oc_CVoYx~%)2!q~?{DTfl6U(?=KAl+Z&DYqo(UI!pFhZTua3Rbvd4EJgY(Agrz`dpbeUZItEI89 zeMZSHuG)IF!_rF3M`YqZG!?Y9ePCVxJe@P>hHjaquaD`{N&0pN%zb}!*soBM_+P6v zM`g|zwR=3rN`J)XIOeK6sQ=!uq}!8KGEa!dUhzl$idHYqskgiZgYs9nEinm^(o_@m z|826mV(Nna3XPL_8JAQS=~B?rJgS@Obfqcy-=TVe%jw@&b^_{msS)V zGkLrJ{GYQkeprY2{GR)5yXXFUbM99xbo+03`ZrV7r(JV+{(H6BEnRFE-+A-iy_Ed? zrs54V;+JZPe2wBhaycNAtNgRp_Vy1u7GBt}amB-o_gfUU=&+e=@rh)0?PeBM{j>e# zgX@8h|JRvS9!vS;m1SC?;>v%;N!-LmzNKmP|MzMh#}_zXTN%Az691L(EQ2o_w=Y;F ze5>>#zsOwyR^B_h`~E+^xSGUr!+ zDtXqts4_=HF^#eM-!!FHw`TLnatU>bZ?4-r^TPTy2`j`KXIBc>g)f|S{=msSKW{ZQ zl`03GEXJjV zFZY!$k9g{_W|{lSdnKPsDtuIbc(dG56+2fXlJm>!&fYKgQs46WN2{apUJ^Omc2?Eb_bF!|t$lLdR(|5&=kx1F+SKJ~?zX~9{utYVF*^R4n?RamMV>46}2palO0vXT`=} z_oO%M^Vjj8E09sb|L}<6{ET~-UkWE>)oz+G^LP1Ly?^HQ-_qW+9$xy}dFS5cJMNjQ zOmF=5_`!{j4=nQkPg?Ly{Xp@5OZ)5Rzm_wzTwkfMTR@{`hBV*Q_xy9^yKQDTR!UYX z2zEZ;DYKT`GyR#}`GkE_7~;REKjUWln)-xUde=RXFXDY`<~ufAJR~^H@$vQ=FYbB9 zDwDGc{`2thO#ZijrtN&kp7aIhPRVt7B)eu$^uFKuMUbUem%TOA-q1~=WGlN#=?aCj|F2wPF%7g`HBa!$M6Dg4 z=e}Cbn&GIlH|%oASuvhRPp90w6_7GD@&Z@Ci_p>QF?!AJdm?W#UbwGdkXd-8#`0sV z`}%i#bF8^fnz7~V@>$_26Xav#k!o&X%9(jxdD`i!O*5v?U6!75&p`Rki^MPP^?&B4 z9SpvZU2ny^)4WryIi|_w-CJFw_gWiXl|H%a@M5RAt1_2nx%mkb*`M2luGlc0G!x6J zbDWc|+y0B6eP)l#+v5wqomV*gi*xD62;+w8n~N2-EQGd7YioQq()uFH?@}6cC6z_1 zNGj{%?#a(nFAE2Je$rFz{gQDX$3am?4_PxU{g^$XmfT;rv2HD6E1kxsTIH_gc-8sH z-mZHqHfw~;{Jzb}M(a(B$Fj@-b^8FvLV-rEz4=^hFBCsz@@&cCzVb?=#xC-X`L~5_ zdwO2owa(Lc7yqTb*?n==qX6T$Am7%$z0H$Y4|Z#2sfdU^O1-KP(r&)oSZ->eQ_95f z6&&yL+*Csj*WWoUtu1s?Y+|H-!vFcsZ}(J7#VKWW-0eSbull>m9+ychcX#W(%ibe= z(o|w)OVV=ZiLvd6{B7#{*yqkO&{LjWaZ+W1So`J`1+SMWZS6ZMSKYEpdgs@sAJgs> zzer-ZvrMM!j+o?9`)&d%k9jkjqr9y@f1^`d_Z%bcbN}X-Pq}?wUPMy}hx?uXkN1f*a9Jg)^@X_Brr@?Po=N}=B6$egl@m<(+&%8V7ht`#Ac^U~u zt4@D5^8ef6u~o21WYN*xkK@`ta+t@ih{=mj5<7qUpWoWO3$p{2ZXV+<@(?tArh5C) z19s6hx8$mxsouWfpCa{r|E8Czj>|RwH~as!6U-7gvG~V-r*N6OIow#&fw@Iu-mHUFS|9vXPCHg#DF2_r+ zbUnOWzgaqXOGwDN<vDOTIeq%7y)jSk*3MLax9^Da>PrDf8Ql~nnF@-^ za7ul8rdVYxaQT2s;})qBPuF!>`hWJYf6)};%vQ;==yF@!mwr*=p!ezpQH3jBR?PaK zSzi59J2K_{^DnYrlmDIZPI@}ylvBWcL679UM`iaeT=8Y&gNBTNYdRq{Jl&#I+xfQc zXHA*FFwNJ6UxxMKJVw#s*%cg_E4{r_UL z;{R9cK$<6Pb5~0LcT{QR{ER1}6-U_r>b1wMKF0a0x5*=`b9djvJ=;AdZFZPoc;Rd6 zi~aS-RaPebN*DMQ$lBSm^R1(jV8Xp#LZ>%LNrf~UnnNymlroAGtbIDOY*`|2>+w_00!{?uK;0;>H^nQY6SGRS-fB))xyPd_l_4?h*tG~Mk z{hR9W*OiU;*A%DIja&ckPXGITi{$_Hdn%vp{~2K#PVj`ph`6c#Eh z_-}dj`=%;clP9W6*bDZT7+lm2nCSoc@*hXH#)QR({vYL5Zk0av=Pdu^haH)Z?0g$6 z*cU1Jn~L~6S=qH*bDsIJx+%2=1*8cRL zeHjxzi6Y9g)5LD9rMQoM8E@J=NyEYYl$H zx9s>XpV`Zz>e{W&aPRJ&P^Go12LvZS=uAISyC>z#d*+f4#a}jjH_>3Ijk)n{Q=zGa zs;EDwRF{vq-aOGS;!{Lb-+e#pd@MR`y|91Jp5^SGO0My4>(!Mjmoy!`^!B+D<1d+d z^#dQ@35u8B>i&Ir@5Bx5R>=?7UVgCd^8}Bixv3}GUr*Te-&s&-?vnj04}IPL(&^X! zDF^$1E3d7{yyX4z|7^bs$;+qTyv&h#Xn&@5VE5XdKb?TiJ_$%TieIJ=(nOy=?Jm9#bX z2ue$uBBW})bVfd>CCXtYcMg=f?E?ioq{-N1T}M$6WI=x1s+b z$3+c})>#VQ-3_kXDRuk2>zR4x#QpCBoj!T!=rq|JNW6GYVvSbTJYh#}PS%$vR%-1w zxTzSjOk8S3G+_0gw0h>EQ&h5bhFdTg%$EzlLft=8r{(OQ&Xl9o078O z(8tfRAJr=KyOb{;68ibjiOEWe%OxdT#bLuX1~CPOmy;&wJ**c0Fi&vHL6M8iQ`A=I zHcDO$(UaXT!MA*q#OtH)I8QkQrc4W)x^aVw@W}&R3%Eiye7b-Bycp}k(7=0fkLG&t zEDA{#zcBNPgqF|r8-_;yTO?kdSas^G`!<1NZIL{yEK*M_=+P=ulsTJlky9#RQU=5F zRUR9*s6B{%8KWobW@eEzAvlz0!QnTlJXSW+`zN>>%Ni~?F3li+X|fN~q!1JNASVWv zlM8CCO1!S z{pGXf=K9H^cVa(XZ=0j+`}Y0QPk$eos>ff=c-ns0_v9--{a?lRrsN08nM72k@2#Jl z_&Ry{fy#9sjwUZ>58WmFT=xA<8MiH`b`%Hyzj*Y5(443Lj-YJLmtnzXsHT;<=DO%ltm zE)n<{yqsBh#ZtZB+cr9>J>_wmm3hnb_=Lx&nlieAzTfm*J1_X(E$<7Z{K`)}eBWMr z(VubIKl4j7`(xf$THH=o-tBsqQM38hov$ohj`k%T{Bs@smblEx&Q<03)pl?}pb=+- z`jJygkyEElYgFLTXZ~=h@%RZ22hL|}9~CL*o;hPt5+&ke&MU4wwYlNqlw*Acivu%D zW@L+b|QR2_4`4d#C&ZT`tLf!M)e} zBIZamIVrU;J!`OdB+0r`y2GYe;JTrq;bYmuUp&m(52ha8nC8HyEqiV@!@{F8u7(|5 z&>&JE^!Liq8;sEj$|~Httk3QrUUKlve;tpM#XbwPij0|!8Bg>cX?0_cy|}>6O?ZX+ z3fq})&8yXJA5t+lGoCM0VtVM@>Q6Qo#C!vetVq7H=enX=lRawe{r40t6zQ*w^|D=r!9>uo3N?+!yT=c8Br%s z_i8WLb}Lt{`HwDl?)K}Z+jV1#%Nqhp_IH2%c5L#u{$eM~U6{UQ+@Dj1NVuXOQEMWZCJTr$+Nrm+ihRmn%>a=vz=?! zcFWRV-1#?_?zQ}5b1>$A)Sc6_QrAy6zkgYYpDk?ddbQ)~OIL^LDM*#NL}e5+&v@Et zoLX4>UWsS+`Rixj=&hb)-&L-C^YH}1#BFT{!s9r8obvN9WRU)UyXW`&FZzLgE!qv6 zTwcy}5LoD)ZPILElGv28mMP8NN1{oNZT#3|u^yc_X`1M-$Ns7UB zwQUl!<$mTqv{-cbgQDiajd$i%Z@z8nQOgpUdhzekEdv>yaWm>wf)sE+y?x%INd#aZHyckwE|L6MacdCBfVcER?Z>{qUmGd)rf9>(C zix)}pi`pu(b?P0ipi?#CYmDuy=FPsj@gCd!``-8WS7=1PTI3ymbIW$y8y3ac+UN-eX5rp9OO=~j-SD1J8jJW zci%}2zTD)s!tX@Q-y1cR=bv!9-2HGk|GEClFrykFfkx{Irmw5qUGqvJ4nMqn^KJ3W zmAaYBj%Y=3$0t6Le5$JLx89-p-o-yRu53;^`ShypPf_-tUE3Pgd&t>_n@A~r5bd3? z@nteg%OjN(4_3`|7FGrQiKZ=Lq8mRcX9l>5u;g@Xt%&~97r$v=bjOre4%zuTy z7VyR246ZrQKBex7)Bi6zWk0V!;jn)jSJG5`Z1LRrA3vKfxDu8--GvkO&hm0;2+3sT|E ziAr<2KlrsD6%haQRA8sFubT>gUBoAiHBD}%y4ZytvB@cwd_ z{OWay=S=yZ=+feg{~Pvyf5d$I;ewNU_So;O z_H$Ivxh|)^%yYfq8{;WT?;_vUDTkcB`s2}5vB#g6-Q99IxBSi1+Dq(C%X0pFUU8;- z`Rp(kiwW{?j{JMLL$U1D+GzDxE~{(otE#_0{jRnxHuuJcZ&KHGocZ@OjkWoeMWpq2|DvZ$TJPtbtNgIh z}=f*ANuCwd*^+^A|t(mW1rD?a} zj&ekJ@r5jxyGIn%4@s`hQ_z{AvF_udeL4q};x#QKv)$6e~C)Ug(HHIs&T?vQOa$4N=|1Q zIA^Guh)Hp!^~^MRW0A#jPR)Sn`G3#S6HLk%7jUIXU9jy*C|#nlD0Hg($5bblXDPyy zTK;G(v)xm9LYcF!?#-m+{zAFRV5g815>XPd3QqMj?Xz>RlhB*Vb`6{i{0h}cLsDx` zy^Fr^cuv$OSJm^2+P>X=F}3L3A;rTSrjNvb+w$d3t=?`|m$^3V~jt?tCt3PK~A9hvg=lD8h`bxf)Rjt$ePx|jvFTVEe%#)XH%)t+q z7O#K2P2$9@8mT$!<(~>!J}fCnn6<{t=i}1d;)`=+e^p0!KH>S@chkN4&)0lao6yq# zOKKJe_)UK4`!)9mx9RU!GZ*pu{H@-}$&^!U5M8=j=xux)Ps1{dM?fNDF3&; z<6Pp59cvmzHwa8>VQIWs{^(JWkBj&U3B$(D&$@BSy9^^EW))a=%+y+DP-@uP`AF_` z(qsMAhC)+zu^Alj;qBU7=vU zGLOqUR=t96p~1BvEx&4>x&Nl**E=mgXLJ-r;gUnE4E)!bn%_%+&{-PPb=+{=!wsym^yO%AzvM#PsF5SK6t&?7p>9TE?)BO@4n2&wV#W6 z8@?SbmXc)az5M95&>{0S8U61DbGNKd-d|U^!0Y-grsMux8=o{abCsX+lDqjfI(~Kd z;k|#)u&VF)mHNErlIH%sev@ji-Z~n4GOF@O`rbodS?m0*>;tb9S!vDp3OzCa)W0Lcl`BhxWdZG!h_-C6qdj45Ix8aBR6XnLY7K!>?15 zXZ?Gh*tOx>lPj-8yXPA_ZPy9wKYwALLB#C62M*OHKl^w6=SlYY=jT~CTW-;k-RjSK z=kKoEz1Q|_%Je*2T$7T$?z`Oj4#_+DVJEitmK&aFdCYn~-)d!m#P0m9D_GiJOSo>U z-j_V;scTivg-`V)q#EJ}>#PXOJ84dXjc-c4;+B_IjnOT?^Ss4t<*|@aX z7+Dyb%$XQj7GxTv8yF#p$Qh_GF*30Td=%gT2jKxQ$>7Gs$bgIt4AG2bQHaeF^xE?J zgZRFeH?3=*r!7ipo%SN>c<0KqDYyPj{4|MUK@)4gK@)4YK@&^y0%j&gCMF)P=kbg; zUTu{)A@QFTWFFK5jNGgY26=|u2Apinp)72|Oir$bk_O@+4wtZidrp2*Voq>odY(dF znQn2Sp^JeNNQzn58cE8vq9iphB{fAMEHNiDC9xzkKTp9qKP45UFEcM)!P!wkS0UKL z(a6+HL07@u*g#I4*T}%oz}Udh($v7zAWEFq$k@=p*bvG!XuNMIYak7>h@VF!peVB} zu_RT&zbHL1FS814yrF;rA4r;2nBCOO!pOqF+)&s+kc}G}*fvaz%)(5e!C;>t2{H+D zxTNMJmM0daBKbHp7_6B&l!Zf>%Q-P8GcCU;FEbGwo6Mms?80oGMP-?JsfOYPq998- zh4~E4EDaUBQ%g!xi!$@lVG>-zd{L=I`5~F9MLG(edC7V(31)N&gC<5L ziVsN%6FNFaZbtl@jUQ{~ExrEu1J{a(S_!Em;&+?Ui>|kexjyTe6~DE!{GNJsWf55wA?V^-fv<{!Hh7%y;k5A*)w<|zdV8$!xmvy79t zH*Ah>NZjN;t2-}Abl$H5eF?i8oc3>p`( zacHwKva+%>GO{#IHfWq+;0F^iU}|&9C@Cqh($_CeO)f1;)k_B_;^NHoJiX-nT>a$4 zOy7nK;;!OdfAGlH52k~Bg$4!b!9p=`{d zvI;DI20jLkY@Fb9xxk2#$-udvp6y22y&NUmM*{+$N0AO(CZVk{zM zK5lO(1~oYbPLc%=&ehL0Y!dJ?XcBN^Vq`R^ zqj!mmS^Oi_QVZe?1dwVa9z#&-l7v@roXmziNYX3@`Uoi&LnRgkZlRae&jingh@Rfg zb7rkTVxFkx&OfRp^Xp#+c$nS&_6j*QFtReRG%+%){gv}=u3lC1Z`*aUH66bvpYwV) zKXs*juH2H#@?QhF+#}~!{f%wApeA!zUtmJiqxBZ&|3vGZ@xSxc;m)e9_k(Ib9{v}& zEy&HQ%RHKmHDC2}tp4&HY!96e)UBQy6e`Us|F$FLz`f?}a~woG?(epnXwS^GWQLHs zoXuO~*)xO;xwkTx`1otBV_%=Blj%@vsfGyRQgbN;lh z4=jkfZ18Jm@^{tmdFvBnGL)^Kl?!K?=G83Rc_B5~*3RZ0CvQkl?<~e1;UBKyr!&$g z@N?;TZ9a99E#=D1+iI&g=jPSSGnJk;$B6TIj6X~Mq+;I6D*v#H3!C_C4Vw5Y;o-{6 z%xKuer)ki{rwR{UP}_n}%%F)+h>4Nekk^14scm7<#K_Oa4XwjD1sGWtH2!C4{A1Ag zlZla$jT;oZZ9iNY*~OW$v>qf@7d3p-IH~oWT{Giztlc4h*=-N=rfXiC{!aY$DbN4; zOri{}Q4U`7W^bDD>}j3B>$L|y1&H((O7I&Q7#SEE8kriH8XFs$MHw(NG0H7yY+KUU zY|z+%TBAbiZ!Tex;L6;@ypq&p1?T*tg8U*#{VfkJL0Gtj#o*E*MWw|h3Vx|2<@rU~ zhK2_Ept_b>SOcyA+JXql%uNk0Nz5$(H7!6*jMO4JSuFtAX7se~AzpsV1PU!;&&T9T1plv$OUqEK3#s*s zKWlc|EOiE>=~=!fQ$)NqcOSZ`xl`{=^5%!O)zKD}0Y|Ba~=KYw_a^JDEaOTGGo>N_edkG3p*`*wYM-?`r7xvwtG*lHy&XF2!q zmsu;mv^+d=v8M1Co8}h#C(XQShpRd4e1CFnH}?F0%KFOJO|!ipcFdIedf=t8$hG^& z8*Wd0_ixXn@S^fBXIGs0$N6=#`M#+gSx4`D+30=c+zZZ$@mpIeO}i@ANE-DkA2f25 zj^tZuxADx+YufL(-*|FWHdoMU(znSc=REd!w>y~cirMtGilYn7Va=OzgC@pe)aDH% zn}HChauo(OcQ_2#7#aUFF)|pWfy5M8;tgUAqEYj=kAX6*=4N6P69+W{KrM8fY)jT%g{jilPW&e<>_E>lWqbm*8r4a2RNSJSoVcXdu5t)<7EEdS?!0VHOsE z=XqTt0}~5fV{qvq3vPd`Pri0)v0rP^gXMc1KWi?ssBb7uLTSHjEB}@0;XXfD=<1_%nm7pJpJq7?+ppeA?es|~tWO(bKCT>tSsyyCyC;$Z&uS9kCDe_nW^vE%#le$i(R znrolMepz%gETyH;K z67s8dKDJ`mf39oFX~x_0j$7>J4_bZk@f79+F5dRu=rcg*R|@$o&A~BA>xJZoO^q1 z8h@0CmZwjc^Y@+~(>(98Z%@taQm?8gW_W8v+^bd( zN5%H1_qJSC+f?lk98uX9WXR?_h1vDUIUD9T+ZjGtDIMLC|MdNauGz5S@3=t|<6#3H zP_73Tcc6wRy$U)9kgf78mImeqrVET07`Ev{3$Bu4T~H6IyckrTsD1OmQkMk?ky%o=H+PSQ#AX)!$sAjdLo8R-gRJMrjJ>gxGcsXte z>@rjN#Z~>=`f}2KuPLI>nr?T6$ZtBSP`8`A5N)@=9F6P@*R zj`I3w!B>SV9e?sxTC7~idw$EtTXwUmjw>B4IeXuov+c;AiK?5Vr@d_DcyaetNkU%2 z(y%Jt6D|>Vp8fO?nfG-6J%+vI8)t|ViKyH^E~q2VV1L+Kp{w-QLFJS2+J=nyY=8VG~o7K@(FLsK3|PJzz~SCV^`7f*iRYv7m8@ffPLQIGGK3 zQF;{yG6*?VLw@kE9a8%ry(idWqAUE>jc@hI%lhGS9?jVP_qWZun0xZqe;yS3cH$CS zg@HMe=}h{D8U|_xDh5g{3P(!Ll`+&ZS^DuVeR8ixodhx5Eg*niRb-9S|YWC^UDK^bwk(-xJ zd-J4k$DZrm&-Yp|ZRcT_adfH5*WvRW^o!f)x6nzu-_~xsE!gdo&fV}Yu{ypl{=Y?(s^XQo zMfq8M-tU=KhitPrAnWA3^=5uBkv3 z|34E00|Pq)1A`kI0|P4q131n(7#J9Y7#J8h85kJ27#JA185kIN7#J9M85kJ&7#JA% z85kG@7#J7?85kIZ85kHu7#J8t85kH87#JAD7#JAb*%%l=W=k?KFo4pHGy?;J3T3=GZ;3=A#|3=FQIZ~(cVfq}t;fq}u3 zfq}t`fq}uBfq}t?fq}u7fq}t~fq}uFfq@}_fq@~Afq@~2fq@~Ifq@}}fq@~Efq@~6 zfq@~Mfq@}{fq@~Cfq@~4fq@~Kfq@~0fq@~Gfq@~8fq@~Ofq@}`fq@~Bfq@~3fq@~J zfq@}~fq@~Ffq@~7fq@~Nfq@}|fq@~Dfq@~5fq@~Lfq@~1fq@~Hfq@~9fq@~Pfq|ib zfq|irfq|ijfq|izfq|iffq|ivfq|infq|i%fq|idfq|itfq|ilfq|i#fq|ihfq|ix zfq|ipfq|i(fq|g`?Dl+ye1;MR1qN4!Jcbg6BCrlnrX>!GF|fk(BPdQ=1VE{Tf#Co| zyBmapkO_apY8$UzW(1WP2SAPh#ev5uM+4`L*49pHZstxhP9|;{E^43%foLH}N-!`n zB4-AI8lY(vly*RB9Xw7s{&YR(w!-m;tA@RXtA*1>M-5QKgCvQ-5)4e>G7FUEK<*$y z3piha(h5i|D?>0tDMKzpE<++X>^&Ls7}6N>8H&InB@CGi`QZ2lsl|ph7?>DA=^K>J ziM1b;7Yjg{9vuGl_9>3~PG%(d8QC2?3`~rmd~0?5ZQj~ zC$1{w+0O{7V?p&avHq6;l^-^cnjA!ek^-zQ2L%hrEKq#_sso5A|3T$Gs15+N13(y5 z{)6gqkUbzisQd@fpzcwSqqiTlKy||Z|NoK8e^A~9mH!~U$mKt% z%!if#AUROF1mz1*{s5K#pgc#*@*iX;sO$&Ppt2uC?_h+qk8qX$AT=NiD*Hh+sQd?& z{UA21{0Ei&AU>%42bKGv@*l*9mH(i!AH)Zh|DduT#0Ftl`41}hLFGS43{?JuXju8r z$^e4w3?L}T0D{sC(hPD)P=x^!~}zD zm_YCu(=(>+%$RUL^M2+4LBUPl+{3w90$kG22jGEG%m%e0hXE}Y%!v6f{aOCwV&!%Vfg9w511rd9}Km~S-SV=Y5J z(^8g3hxz~KD$G@w>#;JhPb3N92%>Cc5wpMMf!~FmAnWi$eddy{NRa@%; zg1!IySsFPRxES~t_!$HkgcyVwL>NRF#2CaGBp4*Yy#`QCjUB&eR%kvk^G<6;>y(LE zGc0DznZYpg$HbUPDw7XP!mb0mD9C6TL1U|pU*JgqgQRM$X=1X|M#*i{6E*D7ZQ#hYmGp#*JCZiTv*sb#Qv}Szn5vM z$6AI?u-w}J{SY?O(*M2x=Y!OUz{8tmqS0K2`9^a=;xKtom@>>|ndq@rp_i$ZWg^Hd zP%MJ%1-S|mQ!Eo3<{R}I%{7_}iCd6s{;yS7>);{nsP6p9>WAxg7eg}JAE0_3RR0s( z{s1+7Kz%(>SUPx!IjK97)A9l72K7yu7(sneP@8~Q`$2tFP#+d#f`dno%LkVtmkbwk zGJFr}3p0WHq@b}5V(kaD*Fb$yi2aeSpIkCr&D}vf(lMz04eEn~`sl>k59*J0fEs?F z{`y*$UY3b06G16PVebFA|G_yNobsS0!2h)@jVu#!m0zq3>jPW^R6jKA!BBnLq+7?u^u3)>tro(Q=uFXJt`StHV zI1OL~9LReQTIYZI>7OC6dLjpdw)*CqpfuvZ1R1yBW?*3GfR1TQfsSh|fR1IXfsS)+ zfsTLdfsS{)VStQzeSwa9DKLV@BJ>zQwUR!AAp>gz2ue0MG&(ejH1IbVfJY`UoQ5I* zYGa!)LdIGg7$M^@1&oj}m^>p3d+Y1Fu-eHA5cHHbGTG$=N_Z1!ytZ53-3Z%G?dt&VL@ZO&~jZLV!@ zZSHLzZJupQ+m^L0Z(Gr}vTaq{>b5m)Yunbft#8}Vwy|wf+vc_{ZCl&6wQX^kf_96B63W^~N# znAI`6V@}81j(HvPI~H^->{!&XxMNAj(vD>v%R5$dtn66TvASbT$J&l{9qT(bbZqR{ z)Uml^OUKrZZ5`V?c699Q*wwMSV^7E4j(r{bI}UUl>^RhMxZ_C2(T-ys$2(4Roa{K& zak}G7$Jvf^9p^hPbX@GX)N#4vO2^fXYaQ1+Zgkx2xYcpH<4(ujj(Z*VJ05gA?0D4i zxZ_F3(~f5y&pTdpyzF?@@vq~52SX=gCsQYLCrc-5CtD|XCtoLjr$DD*r%jHURHt;OOs8z8T&H}eLZ@PYAX{TAId8b9EWv5lAb*D|IZKqwQeWydGQ>SyMOQ&n6Tc>-cN2hnEPp5CE zUuR-xQs>dmW1Yu4HM_LBw7Yb=bi4Gr^t%kY47-fGOu9_F%(~3GEV?Yath%hbY`Sc_ zdb|3%`nx7{P3)S~HMwg_*VL|QUDLZ}bj|FV)it|oPS@P7d0q3n7IZD_TGX|;Yf0DA zu4P@zyH<3q>{`{ex@%3>+OBn7>$^5|ZS30AwYh6c*Ve9WUE8~MbnWcg)wR28PuJeA z{apvT4t5>tI^3njsKuzysLyDQ2CW&b866m%8EwG5A3w%(3>J(Qj4q7sjGl}>jJ{xT zM@C0RTd2G%qa~v^qbs8aqZgwkqbpe4iP4GCj!}mJ1l<^|7^jwTy6bG$xvukF7rHKXUFy2rb*1ZL*Qc(}U0=Gsb$##p(e<r4 z7V8%8mgtu3mg<)7mg$!5mg|=9R_IpjR_a#nR_RvlR_j*p*67yk*6P;o*6G&m*6Y^q zHt06&HtII+Ht9C)HtRO;w&=F(w(7R-w&}L*w(GX4($%>4)2cWj_i)=j_!`>j_r=?j_*$BPVdg>hP3~* z7fe7?T)N7*iS388aDk81onl z7z-JTLDdX2WoJX#fsDaW76U^hm=(*&z!1!s$e7F+%b3QP!I;IE%b3rY%vi*z!3b$z zGPH`c{;&6L_*?(4p1t91lWBuVgK@Mjp?Jnys@2=>s?5^sr?yl*s?XK&t?{4UB?B3bEt9wEJ!v0nL zTl%;5Z|mRQzoUO=|E~Vs{d@ZN_V4T8-+!S0U_a{wwh8PLI3{pT;F`cafo}r;1c3>H z6NDxRPY{_PIzeKB?YVxaG2mY!D)i?1eXb}6Wk`aPwABvu;{WZU_gdijM`wR#|VL-6kz~P6^0o3(}58I zof#1@hYXhI<+J zf#C^85Y%K?#<+rU72_Jlb&MMrmoY43ILB~~VHv|_Mi2z?A@pWOh>Q!PFJmoZJL58j zc?|OyK=LmbW-}tQA?hF`$fOGlFbEP`2IoOUYZ)OBBzKMhWHQL?TE==L*uaQ@&5Q`R zj6sDF25T9YG1M})A;I~K3m7Y*t_GPqk6|I>ZpJ-~^B6!f3!rYUU_^$UjGc_tj6Gnn zC5%fLJE1I)8juV~#Fw#}aS>Rio6(oCg0YHm4r2u)f(=qP18mMw#^YdhAX8^B?gxuO zOoW)%$+(}f8VW(Wx*4k(I~YN#L83j3eT)+rCoxV2y9gV*lTn4S0<0cn4#)%;4`egQ z4iLYZ5o9jHUWoX9#tO!hj1`QV7?(4yWL(X-mT^7fMn+JYnaenjv68WpaSP)%#xBN% zj0+iefXOb#a>k{Miy4C$>KL6FyBI4OnHYl@Dj9v??<7q~iIdzO6dtp3~&6RLhGcjs2IxvFxp!kQ_ zet;3=@`a3X47lJ{#_dqqolrWLF&E5&kht{4G2}ANV$6raIEG}#LyU(RXE7dRjAJNb z1j*(z7BLoMCK&ngdeP%Ge6!onbtK zq7I@Lojk=D$B@#14s{wqB07yH;4+|E2qXrgL86Rc84wFpJAq`7*(nXlVEL2ax+|qY zyD_3kr*Tiym&TL^kj`Tb#~Y3|Ol$bk2&&mmHJolZ*#OcHB0=&XHeG&85kJ^85kMZ85qHAW(GzEeg;McJ_aVR zS|KPOGO9o3eOD;4{{4g9z=6M?FZ3Q zSf;VeWSPY>n`I8mT$Xt(i&&PhEM-~FvXW&r%Nmw-EbCb|uxw)4%(9hb2g^>DT`YT8 z_OtwFKE!f_GW0P_V3^1-nPCdU zREFscGZ|(v%wd?zFrQ%|!(xV|49gi-GOT7;$FPB66T=pUZ45gYb}{T>*vD{y;Sj?S zhNBF}8BQ{sW;n}mp5Y?HWrnK^*BNdy+-A7TaG&8J!()c049^)}GQ4JZ%kZAzBf}?# zFAU!pelYxE_`~pzL7$A%r1}A%Y=_A%-E2A%YhG`75 z8JZa8F)UzM#IS^68N&*ORSatw)-!Bm*vzn%VLQW4hTRN%8TK8KD9T}Jy85md?*%(s>&4kTC}X6C-H89W)Wxq0=bJ=3^NBr|77_30~LS!@sk0L zfBt0nh68{9`HKN7{`HIDI~4!;^@{-$Lq@;+7{nMQ7$IzL1`q_Xof#nFnyd^B3@3OS zK(v%7LxZ9^LxV&vX!(^Wqd2&vl4Jy}(gLj`1JU5|GEm-cU}#`vU}#`rU;vNOGBPkU zFf%YTFo8#GAtCge;m0oo{`u=S0~r7Q&F~Ws{`LDe!>`|e7=HbB@Q`-Wa{lIOO2PaC zDBZy@#8vo7(0VmQ{=esv<@$uAHCM={gXTX#YePt}AGAgek^jN#&+LWBSo;NXhX@(# ze?aT;U|HV5!_O_lWxMSY7h~s*FhP*PL}CF3CPvWu8_=3AP#6%S4YYm|wDu3A7L*2% z@Si^nzmV|nKYti- zIuqnN!Wd-6KZd`5|1tdihadm@_m6=z{2#Qk8ID1VoH20=LkmLK`EQ|*mD?Qi3*Z>+Y?E#OM!eq&#K~6+= z7uew&;AU~}-VJACVSvH`l#__Uj0_A1>KPaw{0FUIhhUJAp!V^=#a|-_149!B14Am4ks{8wUf! zb`A!H9UKe{J2@B_c5yH;?B-x#*u%lVu$O~@VIKzr!+s71h65Z73IT#o&aWF7k=3rpB!ok3Bm4kud8V3Wzbq)rG8ypM_H#ry>ZgDU$+~#0lxWmD~ zaF>ID;T{JA!+j10h6fxB3=cUN7#?vjFg)g9V0gm8!0?oVf#Dek1H*F;28I_L3=A(h z7#Lo0FfhF4U|@K|!NBmAgMr~42Lr=<4hDt~91IK}IT#o|aWF7^=3rp>!ok4sje~(f zl9PeqI|l>94-N)~pBxMfzc?5eeseG|{NZ3=_zQ|l4#>ndXnlQ1WkG64Vp2}3Ut(^m zV@hsjo@+&Fa%o9waB5*`YF=`xV{%Dmex7rFUP>m20TXu4FD`M*%uCG4tV#v3J@Yb4 zGQm8z%p9mlaYZq6rQNm(1d9&lI1; z;u2VL0*M3^<>wZZI434$=B1W|<>!>^PGzP_%0A;BRTnZ*j3kRl_sNFgP$Brz$m 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 ~9=|+O|Z6Ik&L%|G^mMptLg>@o4@hE&qe!(7odz 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

    OTA#DW8I07K4tKUH8 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 z

    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�gYRNDxm$7 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

    9d9$@zI@AeZH(gQEhHh)Y06 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%0ArcRriHtSS6+ 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

    #ch+a_tR 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

    Ebv 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�M3zxX-|_0#rdj`465m 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%0ADYiw-Xe&zTv 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

    +BVvWV{6IY<|dkJNWuYa9KHT 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∋BsSg3_@zP9F?b9I#SC1Uzhx>onShj$YSq+|JOhV>l}Ac5dc{YvSI}zXyhpeVFf5bfc5vbsDLFwg%-)i7JwGC zX7nJ8?E{_40~*QgZBYSBl4Yy~Gsv|YV8)hO!(0lMz-c7N`2iVcz}mp$My&@*Siu8_ z-90LxLvP~az;`FT|Hi=3cmx!eh`n5(9zx?AP}c)eO@iVVbX!GOc=sOg0m2z?AT
    !OkcI{rWS|JCku&4)$!x4V?2K@a`E5gXm> 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

    J}E9|LpOEjs;S$?_MCdbi%K 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

    =zHonG z&hw43&ROr}g(_BjO!ofW+4iGxa@F#Eg(sGE)z+E|UjD5=>E-Wt0iUGo&E75S-R)cY zKxj?D61}hL0u{Gz9$(9?x8Uv~cG+8tx!gBy)s+Ml ztD1UUq>DLr#~RD&ZFgoTNj;iSv`A#Ok7Zz2sJO(#hda7T6x&Z)wJzvc@^0A~iCt=r zk@v6o2FUGXVR2QGRnva%E>Py8qF?Z^MHTl??efRF4XrKS`*N+xe zn;yQLprAL?;ZC(524dy%$C_@Y1Kzpv{VIl46$~Ms?%uGN&Gw9jt#ABD$!eZZS_+s>Ur(v?+g8U@eM;C*qFrGZE zEAYj)*u^(@z0I7>=#$e zPd3-yX|$TL;*H;=_rD&5mxhEc4gOMDmNdI)`m#0AQO*wv7he(n&%W*2x+8i^-@iG< zR9Yh%czcVzS;et8r@o8Uui^hcPuyC1|0?JE6XiB6oAdJ9Z-Z4EvIK& ze@ea3`}o!9mflZ^2N!J)D9@aGb7pFKnUVEoATG$b0_cO?OvrTX`7Ib^Ak3f4z4Uw6RSH;2ii`v1S}S2OY0DD z2s~%8v}=d?g=-oXoklsAtD;v(RNff>{j0n6o2&a;e*ddC_-1k`jo)R;huu6Is#I+G#aSh_ z9M!V?JH&sbu9FlJloaEc|2RWYH$5pJHlDX>&lkqD@`YB#3!@}O&Az@mncng4prxj8 zt&0nf#G+a^!|&@nTr$pokzO-V^VylL&WbkA*qanTT6z|0_Ouw}=3ZzjOA@;HK5(AT zqQ%S+M;r@<1=W{Kt!Z*o5RtC7{r07@+)_ud`bXj}6}=suars($?M)B8%3rNDZ!glV z*8P4lfW`7@_3xXNX03t^6YuIr{^9xL!=Aiv@ySQaUrgw;ntXI`&+RK$U)|nYZmt__ z|Dk2}uE|IB13R~x>{VCtOqHG?enKO$`>CuD+eQ7VyNi#eeQ~MVRKcndI^D3J!!O-X zIh5`2mXlF0YJxcTxR+lJUCi;0>*S*{wvWdzGM1=FJQ22ts9j_J&5l#e?b3o*&8vFz zY&h?!mDW5t^kw6XZ{{uRi9WZkTkAZU=e1nbhI{$_8_zbhoGvW+Y{oNZhu9L&TPAFk zu|HzAL|N#+?Cz?*e(-Iqc-@P8mCwE$Po5-RyYXA>#%r?+-oN@$|3)izvGhHb!pGUk zo3CBZv*l*H^7n#{-;W(N85>+CvP#CivUwL9wpB@@=>3|a_isMWyEc1H_IJ+bQR{0j z&q;}$SRKCm+UBgMw`P={_|p2wusnNi_ve>9tWNhWZJBwWgvxE~c=&yux{&@Y>&`^y zgl}G|H#qO_{ML8-;*njVJ720?j$7(#xNqI>2hl2lSLf6T-Z*Y|DOtruB6fzh{uAb3 zo8Gyc$?Tc%!M94@^unr+YigHS&!}F1EHM34N%)GoRpzW>r+4kXx%`p->CL-8YaiXw zv8(yWb31XJ@<;t|-#nS}_r!h8q%W5JCA>kJVSGWFuS)e8#B_DNpBHky`F$l!{%^~* z`;P;pkJa5cy;5Mo0S~eGe%2`sYKKItWvdRqYT5nMIcesq-&^vRy*XVOy7SemRjg&D zl?pO(PCecgk_Y$}o)gH=OPl5@FJC)r>U7=Xch3giNQ*n3dphnyNomxV(tRsq=hR5n zPFSn6FziTKBG%0An3shSUF_-2@iq;Q7piA!aj z#ibNn#I)!c$8n_-&n@rhS}W$fw?FY}>!#w*r=z!Tt#K@$_A=k`vPF#S*4iC8*|(MX zLRQW+PB&9pWnQv??H0zie^jN9uijB49%2$go&HmVA@L=lEiM>}s z3yYUCr>)Gg_q}2L=Fzu&Yn@}FSC?O{30AFGXnylnQ=8?C5BK>ms+T$cnx32EEUmeJ zpJ!yJZ_xUWU8$#E%z0HSz2=u)^lp2BGRHZ;es*usTC#7-*Sou}m`=-I%z2||zDu&= zB}I8d!TtqrlN8T>o3iZ8?R_ymyME32kQI0EgW1<@lU1fI{`JM4^^48kd+VOx{I*r* zUc|=KXDMq--YF$N`F62;+nkkm9^5EemZki+xYaBx@AO08kF0Cg*-GNI9Tw~Q*K2lFEWS;baa7W^NcE)TEJM&z&grcav$uj5DBif@Yeb>D%(!3?Izd$vzxia#H+^z{VGv_*V z#IPI0ao#u>V$S|6~@YCJn>=-a#P;*M4^Hyf`;_>xFgaCixzT;$I?eaiZl% zuNLQ##~L!VQuj|e?b*Hir^?yiHy+P8eXOHz8uQAd^*+zDclFxVwoOi1skrgSG)Xbh zMzM~s-TV43iG5}I>G5;J;))wORT1p3)A$p2UiIQC+IULDWr^mAYt{~qceJW^ZAgDR zcgLdJlcqj2+j6zx_9R6etJCMY=Y0y*(p8KyLNQX@)UbeummSV3` zd-pn)AB(z~yz!V^_RU(cg<%#;FCOJlOUgLX!Lj{#_D;jBr`=}^(k{Nuj0l%d{c9H` z@%9hnob`?8Lf`Mdy{epX=ba^aNqT@N`d;)AapExw)RSbolx8aCYCRkD7g4 z?MC>icjEQ)bGGNiKiKr_#PtbN!uGHQq^!%n?Y}#qtLxRCouw9XhNf9nz1oqQr~D!+ z_KSU*L;Hg}6=#PR)KlX2)>o+DE{&r0{*8@7HG$S5z` z8~f+0Vi?P2kDfAfE0^W33`!+Z%Ny_QJI8?*{8Gfx|L4AFL~^Pc z<=ctdwV!R@F1xI;O1m%m?d?UzIvd3@ZDw(8ee&ApY%pJu{qD(Uoz(mnimAlEdpP~` z@@=ZdY>(QfpU&mXeizv;;d%X8_+ zjputDeGabpV%_8I_tVDDR6n&}X11oq%kC-a>%vc-7Thje@Af6dl`~~4yyphxnAmj{}vh+ZMYZ|C~|bx(>hgKjnxNr4IRGt}il_Uf43TlAHSqu=T`*Ee3ulI)y(&pv$r z!q6p759fqr*7a31K1oQ9ITES=Rp(gy+I6xW&3m=N^80m5kLGM#>UX4l_PuX@H8JyYt67Z=y8tA8QFzu;|m zY5adD)B1&G+upwLN!gZl+t4_4)v`vrckiz!Hn%dIdnq^hsQad3HM}GtJ#fes?&#?%O$YZ(X(<1^ep`+?X-0?R9v_AJmFw6468Q6PmCSahnekCiIX1tV-)px+MEgK1Up&*K z);+6lEiUbxrNzGbe_>4E(}ZY&lP5SkIE((hKe&9|yP*6l>FQn!-cDE%Gs}3wp9Q}b zm<64h&nfIQMW5MBu_K)8DeIAlM-fTAhZNpznQl2rEio`Zc|H4P-BKg{TmOVE_ZaKA zgyx@pyk~LGVJq7e^Ot&We|~h~3SY7Byjqp%aesu5>O?Adud4j`eZ%sew@>B1|2{nX zuaDfL?}h))+12l;HjHohEz!Ypsqf`11;a;Nv(itVT2S%TQ!OR$?)CP|=|4k0&&UtF z`lN9Codq-4kN@ym|7?xj+dNC2pZ<+b{_}NT{Ja-zqg3g*KSP#XUb~LLTsq89(tf|~ z)9@&nl;S;4^z0{1@2wPcneNmqYd15U@lN5>wKonJtHyho7bLb+Z1n!2d9XmD*S^ZS zx_3@c@mYo-OY!ZCx|XcveU&jcdDlmtXP=MgPY67`=h}Mzw^O!=W;XrWb7Y&d_k0_% z>{o}aSEqgYky6qDpb zUrx*PpFcC;FN)#WSYgCF$C%Zmp)NfFz;Qn>tma;1_OY|ve`}CT9-NLw< zY1RrmrTFR7pPdr8!Ts^u=g*e;rWf~@wX2G*dKD`6^!WVrlzno3z1Hc;-_E}N{P_O% z6EaMmYu(S(-P?0=)pF_2y=ND!XfXMIR{LhT*mG&^)yIq&H@RM0U$tqn@$41J%xg;* z**)mrx40w!{*2k752w{6Z<3tAeInUf&eGxb8nsnY)muNMeB2h4v1R3ts~Y?4;$x%> zBOa++@GUow{1ekzS*?;+&;9UX60euSJ-7L9by#ErvFMFQeMuvnj@lHShzbHOUZ zM$h?`d7;T#QnTk9MJMh0e)!kb`F|9W*_rL^WWPRGA?<$G;?>bW{XUjHmru->#mqF^ zx1Vo*8r=DH!>{f)Pm6WpOWMvpeJpio6^rwve;V6A_MJM&{Al6pVqFi{rDBPfEhg*N zN%%eIHoD^w&wbye^xnSEW6Lj}&J;Ih%)k5jjQf#OKH{I{CdVva^7(S>^z&O^e>9wI z9oP}Z{NCutkuOVl*dNQOadUjN&+zR#rg7?XeGJbz*K3dRD=)~|T4x>(tJhPXU-(=q{L?xWx$GnJw(#1{^zaQfeZX#Na^W)bqxPkd)9RXYJ6CuFHT~}Xe ztJL`TQ+MX+`;uzUPMtO?V?WX_e|5f2-npufk{J@c?xGEPZ{+*m`=37gt-<%d^}Q{!dS>Wr2Ysnr~=w)rDcTdnl= z+x=2u4to%4Czm#*Mc2>svfYUZKlbwpr+2=OXx*d6yoj%|j&Gd}`^9Z@E(ZMY zo+;>f;Hf~;kF#H{9!vW8an=3itEV3*y%+p#ZM0Y7xhRY4d#S2!POCNNUPU~bcxw9P z@cQztEorhI`tDhBx^LHhbe`WbtwN@~J^0GUV@(q(l6a$yoszz|h9xNYT%Reua?Prc z(~gCmmn}YYDWCoztkW^y>}6%uU1r6L&o7>i>dQX3YU76^7qXu6C@u7vA>o;os-RI9 z-txtjqn$VU!fV6T!E$0Ndu7gZh#zs^^gY4;jQC>-y9rre8jc+eFXUxdu;MWDjN{?| zr(aojV6|RVwEwB4%MM>Rx0=r)E|I@vFGEJ3&ZQ4$mYvPBeQ)j(aaO-NztNCyejLN5 z+52n!`+q*Q-SOX{QDgbXuKMZh2QvMb6jzBoNz47Zk*V;N*o5c%48PRu+SS5$`m^Qj zri#2J!Ax%FuHJv7({W(p8{zM!2R@qbk0vY^Rc}5n)#C?J{x`!TxE9KG&*Om?9uwuN9XTry?oD1b;Ettlx9hdxJt7HyEfTt z^t^R?F>g!v@dO+BClZWyybSp%J7!o3J$xa=H2rN#y_SLA;V+!4SLb%c*L)69W4N|@ zPjrIFi(3v^Zlz)!&E}tH$u0W5o;^>xMBB0U)vlmRFzj|q{>+fAVi-n&5`d&YC!sj^4t;=~bTi@?p_Pc9UT81$5m5{x+H4f%4zOCVM zdG*~k;pf|Tel=e7Cr!9lN%(&LrnAkmj5ZNZ1s#ISPnhOaO%xQruCQ|l-&HZ&HCyy# zBXkzJ%=LV^OJVsf=e&*8+6S%v3l)#QtLG`R@3+45 z==*A!X-^x@NuJtkn#yVV$;r%m`>Q!SMdt3+O$pRFX!|43d(!0%bK`$9KkJ-xvDvT1 z{D1KJt^B-CeWWL-_P^@Ucoe$b_;l8rFA}1H=}|o^i;qs>SzxT+>eT<^xEH(7b)C{< zHdY5hlephz?wGWu(&S2w?Ax^*Z9yLwFHidNa^k<8?iKMxOExQ1Pt~@06%}Y31Dv`Sp35I#cbw_CPiKzjy4S-!3K-7xOAJ6;%Hgd;eeK*p7@t ziSweP^cnZK9$MEs{d@Ye$XE3;_dYFl*X{nBRMB~N(T`p2`fm-n3<@UfIO6gnb6(2P zjVT7dEw7l_BwMzJn{HmY^u+8QwVYc#XUr59Wpb{QuIKdl_P2y{lU=;kvFX3AFfH<^ zt$E5|=NY?w-Uoej%l+ny)wII!H);4MHIL`r=71jvRC`S#AN}eE8@InY!o@PGyLaX_ROh5 z8)X)?X$Y*|%6!20-0ept8|TVBm>bjhjmv7o`N)#iZK4azmWZlO*g4nPdb#tfa`XJu z?3o7WlNddK4+A3mL9-YUK#BRB@DC~v$SDC$RD=I&HUnu&^ z@zV1p>|6XglS==YCQNxb^~;wa+vC-DPAoP0T=M(;ip%qpnSQY?db=(qmT5({|C*R{ zk=zZqwSIe5+zr{aPg?H0{<5pZ&b9N& z``Ar21x%J}B!65wX|%0Y;22|_(_}W8?b=Netq)F5(tY_jVs1omd<{Q456_Fz+N*x$ zQ&?X~S@Z5)+k7s%&gpsgm7m>Lyv27$N6kE}!Swx|cdJ)E+un_RBKG?_!+uB4WD*Wy zb<+57mE*Dg6`dn~{+o8(zOp;x!+MU%t9p$3)L+i@bBzIAPVtuWq%R{d*Wb>-TNR)TxvX@9h6KA!)gP zPe(kr`Xl9++W+MQ=O<436RiAb^26TBS2FP-ZtEu=+Hta(=jeh@a_&ZY{ullp{w9!J z#P)3+M})}n9OE#-pa{%FI?Gg^3~su4(F)- zU#V1ZgR|!9H7ozxj@X4Ub%hy=PQDWTAQr09Cipz<%+kI`jjTz}dnbJQ$Ep53@sWAW zC%rE>><=%TvBiYDF8xo?jaGME-_vihBvmTQ#J21D7JlAyiRsLXx|x&HPP7?F&#_o@ z(X-}~kkGvb8#Cwm&nJCyE&99b$*+PR3!i$#w`=HU>|#i;%Q)t@!1BYDZlT96A$w*N zW`EZ*Jvv87)SD-}v@JE6Lo6|Vzxm4RUtjazvMzh*b zdf~l!RgKlrYG!*9zHMu``sip`U}^+zixNDpL6{<^QM;HzpnicjlX(v&G~{n zi!*`=5@6;=Y;IrpCqn8&i}F#eB|vkWpe`F#Q*F?=jEQsAc*E zOTSFsEAamM`rFrL9I<#aAwGBi?w_@C>}&4qJ7aO>f!HwsS|?cAZoswHuZ5bo>7IHXoS8btSobgZ8fSUz3bj*IrH1%wSjUTq&N- zaw3(p`-*tN`@S2IRThf+qDHZ$Z-p&8Bmz4UvwcpA-(8dN&U>kU%e6N*9&B7#Zf^f; z@yqE?6^iR_-aB);$w%{3>fJ>ze_lELPT%aLkwn@89qnCI_hT>?~rqxZ%K4+jCV(6JzXEua&6m+-Gzrv&=U-~s57=Z`R*S@5{cY})ApWOWjvbiMShBep=nbuKWrW(RQKyH`?_eFbH0d5wa)fpJIA*k z9zH)WiInd+b#&>Y-ZffPcP}nk@BO{hwRY~hSC(bp|HhTwYUkTMg-z+D^}_3OJAUob z&Un5@-t)o2iH8z=wM6ebIrlONUwD%ln%tkM^3Ic4=2FSWeY$b7Y?uE%VDuT4O)iIOSPI*69{N>}- zr?ym=o ziaCAdo!MIOlsAIouH~eIdsgxs{!nJCd&b=`d}_%2L+W`?*pEq_X1D!(Yt_fBwRKX9 zqAPcZ-~Q=ddgGk-3$wV!hq}uVp)~nfA)ZTd6AIx=JYMD$x=^0Z>!O^?riwKR)XjL))l<3UcL}N z=lglGa8&sUv!!oc7P}fQ+iKf3U;B30rZ|^?-|I@oN5;%Ez5rJz|4R9 zuYX+ApmkSYAmMrLdP%1D%gr|~=AWd<{w1_*hD>5`%7j*5zw*!L9jfnEt*zai{;Xi~ z=MUP(uRA}l0L}eqJl{BpWwG^_*AEIJ8|##PCfVQS=nOD86R)3kSAXK=pnvw)UvR(q zb*N~Sk!#pY9rkBQk*PMJCm(Aa;rX0xTd3Q=!dAn|qc3LXoO@Xu840ypPR?YhUU2iE zXKQ=@mWzE8S}smYba7+2U9{r2E3ePGBNO14*oB-x2(|w^*0@yx6V`pWnejNcwv5$% z_Lj*x5`}t;W7o`GQPZ&Gob$<~=NXwda+1FNJALuk`2&Gfw-2vgc~Gie;Z1z+hZ*lu zHr~~FS+|1o9d|FMXZOT|v!6_g>)#$LzhdFB{%u+A^OyZUP|u$t@0@pF@%l}I@ z{R?`>lwYZQ?8s@0b5;wjqo;q<<@+)D>(fs=Dt}QsuuD7v3sUe3~ zq!zuD&s=uidV-#yRI<;Pc}9B23Xe);%-O$(uZ?$3zm%~3=c!W!=O!Onzy5IFyh|TW zwjA{MHFvRfrpFu`fti!{y_xLtjD;=6_{XFQ)><gHSV5ORBh0zx8th9zOJK|77IK-Kla%F z<65w0*|(R5AKiE4=)aax_AHS45)|-PP5Y?7nZ?Gvm46nQ#XjXv?ukB}ykY6t8Iz9{ z+zdZ`u6IkOrTH|+CG$5q-!h%QP;Wh5i32;m|0W&N589lVxbwyqfitOx?lR3-#uwidyYINevPY3m zKQYUgCaKyrvhAo>G*8uhwoLC+_y1a>t0BodXQ<2$ia+>s)+dWQ^_?r+(ly@wmJC^U z%Y`LhNOMDm}hPrp3*^cnT(%jf@@{pm-z z%=bd235majXK0_h!pEZRF~7v1FIn6o{S#}D>pK6R3gPpo9`+CaUUrY?;M#bZUrOzq zzoq}Ii_X5uCBxAgzf1CmfAP)WLlJ@;_N~Re=f2*VaV=A1=7p&2XG*5d%l-b}mRCtC z3iz#ZhE40^!|gLp795#X)$_?9EZ0HCC;qkBr8^}-*0Ww|Rx6h;TrR&eTCctA;vT_s zQcYq#K2xtPjy>Ve)qhMW-hjLN&tJ=xuK%vd#61a(G8a93ICUeJ-nZW+8<#&@A|%IU zesbX#-H14kDczBF>;m0-w|5^4=i1-WJYv-epnw%H@ey!k}CkC-L(|?U8NOBg7#nz=)Z+qU_UU~cb>#*95wqg15EN6e~FPu81BcbVzuBQu}%$oW{F zewOoB_|65N=MfGqn~Tr0S6#nme4#7Db;j(F6Q?)~p4mQXa6k0oRdUU%|1;gcJScxq zxy-Bm>b;)&SB85}&z|DhzxPzB*kiGbkJeW%-gp%n7U6QzX67?JMdOXTl6a~dayaH!72JAn zdv4jB(+}mrjrp-k+*K<|* z={XLszw{OJR=#T5JaN6D+=Elnc^~A~+wJ|R^?jX;v6b+phGJ!3r>y8Q47{~wgHP5PMZtN@lhdBvx*BGfr*~&F+qs+HU;9cg>ozQC z{T44X_l4uy1yjRxYHzK*wAjVxNx-BfvzF`2Hnd(eHD6%P_u_Z+bI$;q_orV?mUeH6 zKg6eXKq{nv3JwK0}9PXcQ)QxYF?SNPgZu{agl5P zZMUxdxHh-<_jc2Lg4s2i*KUYq*C<{4;qz5;(v}=kF|j#wT9Xue9slTjI^S1r&iu5~ z#nVHqT~v7cUHvzATy@_sc(1Ga&*;6Y|4+dkqH+s9ifjK8$rRnmab56O@!Oa>^>0dh z7YKwOd!*Ullp66sg|Eyf`)=~ry26Kda`bO{b3ZOO@SEE0<&(4acI^9p(|2O=XHV*t zq$bt~3Peel@BV-Kd)qweohhk4))Qtb<|npoxhA`!-rP~%JCEODFlH+kRm2S4YD zxn*-dX69M&J7V?wjw4kiKV46HnKaLkzWnj&twTS4$Glk?7Vp37MtZMv*HzJD_5Me< zne0u>^uCZWS>O)8T-vYQZSicyG9TNm^Aq1sn0|zBbCqRi`Q{m+68kT6nf|Y1tvQ*k z_tJfnb5#}7jhQPqO!eJ;I50Uh(cw-dZ|&OuX_}jLt8O!TZ^<*ionM##sNdB7>=lWc z?caY)TlQD%>#U5+jU^dZ_sk5?%V0kg?il|0iO9L+mYGF2&&cFWGP|$2&ES_(-M5)e zB9@c<#U~w)FfR$+a#!l)_u1*dsb?0 z>gFAirql0>&b@3CJ?q}46{{Ef?w)*$mtDLkAfc$HbNX-Zv}t{hJ=gZOyY6DQZ>;uD zIg@|B{I=U(xXk#~frG4vGx==NLl)Lv-JCw%l7F6l&-cwb-(?n8$qTgZ z-=4bj(%;5?_B;mMHe6jV_B~fBn^kJ^SZD1`zy93TJ>ONgJ~tA6*Xbyn=btFU$+u_u zp7zySn5B<@xNWuSRoUvFzb={W&8S|J;r@2ct6j{}|N5dmrhN)Jv-Pn4^TwBK?BYgY zeKNWxSxzon=6`JWx&0zO&V1_En*FOUtXR;s?DuWsq%_vsF8;e`*O!K!dUKrn=*cXd z@0*)_^<3|jNorib@>}PhbKm4+aY^zS*EJJAhq&Dfx$~yjFJyZM+ajHs*CqnL-rv#W z6bw1X{HQr4ij(g>%o6uKbL&OVnW%54CUNU})i!jTUbxy|qxQ86I_u`2 zi>uZS=Kr$G^}f%!BZYlQ3!9XuBy3>SPgOeCG+nAg^J=WL_t(uQUmhx#iC(zq)}(zd zTMn1bO%vGtvA1l}-Kq6x3#P4gvAx**?a495 z!cWdSx;c)x30{7->Jx89{NxysyL(>nW%@o%SQ=$*Xq#W}KP&XEF1KZchsL|K8{F18 z1?AVW*^@rMktnlmPs`=?zwLUP@t?+uS!I%1(>8G~HaE`x{ZcUa(%-p;Htzx%9zV$Y zdBXC|~RcqDG^cf$JJwD=;?>3^->iU-E`d*{FL{I#nzzWmFA z)wiCP+&?dP+JV{QNXO3Chg*s_F`hh}C(BSQC2`2Qz~_j;vu{F=@+*S6q}|Q+qFlC*D*F$gYqKG;=+Uv%Go+HPj8eush#@0 z@nxvQ%99#;Mq6IAP5gLz&6?^fx@}jt)#sM5T@f-k$NVfKA>iQ!k3RRwdg07LuNmg6 z>{#e@-(hp2P~mNZi~bG8UcBn%N@geY^K#CXS?$YB`J=jH+FYiC7v@~Buvv5BAA912 zwVW+3H#xVe~-3mOfybM&#^im5-8~iQ=iM&5r zeBfX$@6+4vZ9Rr(*77~L#{BAs*voiU9mafw3?6|G{>4%}a`>WbV^Me%w z53kglFMEB-n%gO_xW1cM-JGh|?|Qf8iIOpDJ;rJuB2P=~FKHY6a^L@0zejsyf|v4m@n0+Y^Vw_VQ;*&2mM`-=HPP0& z<>`-yk-z_`AK!H9Osd$q#@TJNt^Zm`9gg_bwd8c+3XhQL%*f)3o3XAlZf3u<*_YYz z`ovP1BL_G8oLhfyO$6V9RiUPpTe!Z>``~l#Y*8=A6r&u&YUk=DW?_DZzOdZ+5VS4+ z$f-*ecE7)h32qOljhcO0By*m&NUpllOndv=ZoJA1J)M?M z#5iqJPj^m}+I~^)<-O93`5%tF@;g#<_tWI^pO%-dUw!ymXudX=Nb-fM4vr~vPTUg` z`hVlmiKv<4f~$hp5ftp zSnY2o(7X3j;klnOFJ8SaRXw(DG0&If@?LtSf^&sd&bTVLWp8JAb)?AuAFs+XSj#lr zl&YOVoEWBOeq?!nbnhPV@0)cOclS!o-SXY3movIRw0Pw$iH~>P&$3j!IrVp;>zj2; zUOwB<)WMT*V3o;qwi}Cdmx~&2)~$_|l>E9_*zywZoz7i%#UAs%Y`Cv&7bY87{x8jN z-o%D1hsf7o*w4;`Nhmy6U`p)Rm=1kA0A+BkzTNP&g)4Z4qlw?w?*-)glYQHvqhQVUk$A+xTfE-zj#n_hE~po{bt|T zqogetGVkD1NNy2xpLDP)>6ZE3>^{EFFXdF_o<9HT9b5jUh;x#{f@AIb=I(nKxG;BH zT5rb6B%Naly*>L}n?u+2wVJMGmu@yxx)stQ^Pt33{Q8o|ViKBbZK_sSFnu_!l;O}? z@mMfB%zl~HqQ6`jlXp8F+T|-dWzLJJEUm|1&vdSvX}IFOqh^j@WyCs#46d0bf?4Tn zwO5vQmHCLCY?{U!s?an^(fjSuWz+m>)?Z55+ttx^(p567r?YA@_t8v^jb-c&ZDK<4 zyj1SJyt(spyH}0+{rhj-B@2IkPHUcCaAUsGG5@lH+>f(6n?o31-S-W3 zP~Lm0@m0Th-3dRATa0=&({J{ad2U&GciB`SOPdD8lBU=9a^Ky))v@HgL+Im1-g*`qm;!yRX$l%SZ%I(%4N=o!!KN?CA^TCDEaz+DPO%*?x%1COKkqWrvE-REBvJbdob$NN84 zb@%<7-Io+Mv!nQDLeJ?c$%@CDHmnPotMOFmO~9jU&(CvjZry!dOY7qg?Jvt1`{wD? ztx(}Dwbn{{_(p4c&6MQ4hWXLXi++77PC6Vmmsvpa?c62TLs|B|HTjy|pmzE2oo0{a z>FnA+`m%aMLrte<^G!1A)qbe9>iSMSs}TPXm6cOFs~g`u)AnC^@%>4`vqvr*IevTQ ztp~FiK0HY-En;gHl)h=fmn*{FSA0v$-y(&tthjH-Pa}qlyDV&kX1i#-(RZ5n;qUJj z<&s|+8n@OSsJrp-^&Op+#cNh-NB%LmZKQs3-IcA^cD_;;eWQ8tiIDLBNt2)c_~FB6 zZ8xo3dq11Gf4Eo@zlX9@b+G`)%Z0Z;F7RC>m~h3IZ=z{rc<{E1MiyJ{^Ik30ayj!v zN%*CJ;b*6Mt5b$Y(`S8~ZQ@Nh}UF+c|d~ohFo5Jlm6XgzHyuE9#3D4z2lk>J}d^De- zH?Ki;k$;buU;T8=UnJTXCjrK7m+8^rG zPUKvDF{z@+^7TLNmzpxZ7QMHpFa%G37_o>s)BJ&Stj^&dN30?{&(0Pz$$S`plA4F zQP+>$TLnS)k5+4a4LlSXyyof0^&PrdRtsmodK>-mK=ALi@1D(%X7fMwgIVoZba-E2 z)BXBq5<2SYMLjZqtcqN(A2n&&{+Wkkj&bF_bCaK+n((Gd@M6HM)Qj)dFKQR5n;M%Q zRUkcGbb84?9dzi8I63*m89c%j~C&N-w zyVhhG9etm?YrRZi=F{e*?;ZKR&N5cLU(w%eXzILbVPlra8_65$QFXo3Ef4bfURd>{ z>#lI-U*{}t{o^@%j-1wt;j^)q9HJkIp47gaC zezPB%C$Kwn^Y_XdC(G8fNU+WkUORu;oktE8wpTgVyB*aG2|T}0_1DC}XZ-esrm^!| zUq2N!no++$c6(@fhV6{sK|dGQFHv%u@&1DOTYfeBh<%e@%DxVv24dZo;?*f*>9q5#JA?{;iLQYSe(;bU2?vj>}~yZ>0iXfYqMTRuY1)j zZP!0F|7xQ@n|rl%?)1=P$Jr@0B6rUD?~=cvT5FS8TkwcWvgwLds`SLIU&|&fcWgTR z*XRGSL=(R`n{qA|e>r=ujqU5JhK%LiAO6o?x9*B{Nq38P$sw8YPipO|3iB5H-n#Z% z>_y3GY;Tj3H_dx(n>yukbh#(TbKS>3ZeMxzE%uAShlmr2QUVVP53IIXopXk_L)2ng z;;g{?oZ(y7U$6Zyv>~u}UdC3}e634*oC@;)96#&w)Z{z5%13UCUywK(sFEeL zmOA=Sn4k0gOpg6cYqul+^Q7c%upa-q(fcNIl|V{XI9X?&ezAAc$NT)(cInpYWp-QLde48K>FM*1Bp=PwxnEY<%bu-~ z-nvR}ddps)n)QdiY+I3hW@6w+4x5yVGnKvuu1wMrn%I>yy{Fp!Xl+PFcJTb8iz3Y4 zc&t9Uc=4mjZv-y=&WtW#-RrsWX`-Z9?1}DuC*(yQuhe|C$v)_$ocr`02K@#1A*D-H(3uo+`*e87{U(fC6`nJ#SysA|s8(#VDQ9G<}6!zQS z{pekdN3R#v9@wEZX-e?hpKF~@&6N}V&;EWrb5(LWgH(hiTjPQPS;wgOtu1DE1Sgr= z#&wUBJM-C3R0+Hh=u?i_4DGL=cOL2B@n4%|vuK)ki(RhR*&UMA z0)p+YirtRu#>CFva6GH-m+Rukdn3Na#OX=p&0`L(+Vb+En$qo^vis_eDm}awRV&vP zJ4r~XbmJCl_1By4Sy}yy2=g?)#@FCe8)T~ASDyaarM%bdok_3NYws7$t#kcsZZ2Lc z=x)Qu9W*89?{WSKrz^7EJ2JdI_PjZ`YeqN|_k}k?X^Kq$kAJ*fXJA@;&wR11oQ!Uq zq-%<>q35GA|68ZFOq%^x*KPBB5pS38>MMP!mWcJ6{j)f+G*mywa?LY0k-%?tMl*|Y zYd^eIT(?%xKboo2{P_QyX$QBdDsNz2JuB9ML*XFnVpf?$A5VVO`}i`2yT5<;)89UQ zzwey&|IirF-afbZ<{OoJ`{$`%$=?v|wR`Hv)xT0$O#9!ezG<`wVELI4GxM-g?S?C< zJ7zsuJ%1|Wh2EV?*4^3aL8Xz_Pc_8uyLWo~|E_w_wz%)@iBy9FkM9ym-|E-VTM%Hap<^QQ+&y4f;|I0BjKTh{N{8od4ifZC zUfP!!x5lN$lgFF8HYu|}6~jp z${Zu{)f<0V#q}QkuGPhDHtlM+M;iMvhYF_q^2+a@zdsxJ=90c?%rWydpWNQX?S8aH z;{F4FS)skxm#w?BEJ24i`p2t{*=OD6gw0l6wzDVl;XlhAA9w8u+_C*o*3#v>A9yDB z@PGesR(;*ny}6Dh)7-^2Y~z@Vo1<6y7aZj40 za^yL0pN_$@=iWUZbqskO_<6og`SJRAv&~DdBcGCZ9F@3pRSNC4Ogy;2Y{sw7Dcr_t z`)7QSHDmW%o239!-nZ z4<)Axshe@ef3|=2IpWU?ebcU=Mepb396l+&G^uK0Nv&Yzea}t19D4qh8Cf1#Gg)b) zveU2aZ(P!53tsroxAxDz(2L!=7q^z3_L58%u%DIGsQhhPmyOakeYuU1Uuw66EEb*i zB5OA*i^q`;llSr=KFgCf?y}qWTfiXYT3VM+Ms$Z#qSmFT>#B7JHH-`&O{iF&!|Gi+ zMRK)YW^q8 zhx_`1MsGA*dKUca`;i-{_h-IJYx?JX3p~p??^e!ucVWkt)jJop^6|F+VEt?GqVcqT zk-JgU=fWLlch0{5Sn~a*88cf<`U5rp-1%fu7`rxQ&c^!S&Ap$B)Ycn@=?HkQTe$mH zqM_F38%{rOoPNnZjb;Cj@AXUWJgqxav-E+2h>+Rm%8&x(wuW`ppA*{O9XqD<@6i*9 zk8+w_>oiT6GlCkp_AM4S`TD}8&idx}wGHOteVGg|lI{k6e7oIn(Y;`kWxD4JRs73O zMebN4z<6y|`>uC+eHSnL$;%hlyuPneVc7d!vR0=*yItlThfvMF8s_r_tYmH-K!?CefQJoHHG~CFHVGK=>0ruZ`UTh z`1GpS+jrLWF0~fh_4v3+_3U>Sw(jAZpU&OeTNs}9=7mt3cS(;Y@55BDsxLjQA=zbR z-hnqST{ke^JS)RV_~5I+-23mrBtHk=y#X>`K3#Y8@LID{yiaJ|m*-ukUoWbx+I8&i zCeE8~vv%o5&Es6La-FxYaP`ca2WLCIco?l$xKMrWsj#`dO6uHal`aQ9I4>$pBdR5e$O9!EaOkvt{%aAOG^6IlzP@|k&b!9X|5cZWgF=sx1qP+ zuRUW~oVM}r8Czcp?Qi^XPf<;78}GSwQT*pUx?i3(ZpfK6IscQK`?fQyFIAf8KeU-8 zzT|Vpv}K<%RC9;$ou z))SkD3UwPB`1mf=BzbrC3i7^b*4-^Ud5-MLgv)PFa_XLcvq>}8U4DV=^KILff7rY! z*SO9pm;2-6eC+|4bIxG?*g>$H_$ZbW`D@Bg=M>Hex;(QfstU*zllt)2WYX*w%Gexfs0;zTExzW zjS7#&+HLuje3uy?Uu2?mocrsC|9@QGCcb+2P*MJVbMH*IccQmM+*k1Z>EZkJdTIUv z+xw?Cd<>ov+f}gZTyyF=ah>i(U@2cHYnW5Dw)SU0j9-oCt46K%2eTV5WN*-O zV&GuuTz!1G7k^xn``NnnVU9tv8>ezD=euLklz!+>_4%xG(!OcJ1=a=69i zZ#>6d$@`{a!u12T{GX&|{7*>Zy|eO!=>qlefXUe}^quO7C)rDPyJQviZLyf}2m;cTC^?cs$sat>Vnw#BTx}$t+_2lf;!cm;HN$#Ps>%$scbV~QGUnH0;a`(GF z-+71Tc#9p%>-`oAzke9Tu*ue6_{i=V2d^G&=VPl{SbkaSj`j1Kf4=mK{@3`@e^y@4 zU0T0bTJ7CQV?H*w2-ewiO72%y%KH>G+cGg942z$6|4h=Vsg8*;E|=Afw3rsud|Yd) z^Wc8K)rfa_l`fyME*ZXEl6LiXf_+JnNB!I_(H8ei@AUNf6g@FuS~58-^-K4n-tcRi z1D7#y^;zDybEBE@fQaM{Zegi1%Qb7)dJA{2bhBN1$ab|+rP4ADby+v%GY=DOo-UA0 zPTI5Jx0ZymtCxE4l=U*lcw(hFUK%I)rdB1MS@}Ff{oS@#vj3jARR?K{`)|8#aP8{# zHAU_d=hmE`n|5}NOrc=z-H*o{PvzwAe)lW+=yAQJyUwlbThXbOmh;2JhVj%z+4Q$! z%HiAp7c$+I6>_`tWK-dkezU0^2d8Pd&ffDhx@%Ev(~}h{7CG@Lxpr%&<@{9Q+?n3> z$!T3ho5jpNnYP>6@=mEn40{Dijm}>szyEblWtlSh#}18%!xzHKBAPQ6wN`&z z*&m&mR?c&wWYb)iN{{JP=bom2DZkfy+wahx6O~rY{|by(O;24V@A&ojnn_2t#{2zt znYecSuQP2|pReC1eRTiK*gHp$u6O!aZohbWdB90Nt(#5kw)PY1E+nsbx%Cs*k?T>N z5)X?51oc^K?2|v)g(te2b$saT3`>npHcFM67-cDuuj=IgwXUVmCvciY@5?z1duH41 zi`TGs&uDr!X=TbX4PL*+Ix9QBfVMk6xZ?{7afa#>CXwAQ|w+>c&tz5 zQ^%nNkGfZW(K&MP+XnCBB2UwnOT2dQm~LOg`esFbP~rc1nzt9q#;z&2#JVOY{B=;{ zF4Gme53i}-9sH+1_S#;d(*51L91YU~w#tRf?$3%on^kUkH2-XtjHl$Jt5rHTul@?i zRoolS5W4TF$m}y(;fqhPL_TeG4E0-Z>MO@4*QqOv{~1Zou6`_Tpfa&T|LJ|X$BsgC zd!|pm)mfk__4|Q$&GoLg9@YC5Lg*cI4Enzo&yW9B=P{r*gS}ROv;{_YbSg4o$zn7hx_S ztrny0^Wb8=uK(AQhHw5e|5i{9s`dmOr!{vkcTI5UHM=<`o}2<64GgTOWLaG1X06^P zwneMaD9VRZB}AtpwQpj1TjLS~uZ=Urc-yt^Im#a8?lWHWs3VGXVNA~Hqk;k(xw4L0 zZBDlGlhqdMJX>#@J%94D>6Q0?+SSYLDn7Sw?%wZ_)oZt2uL@hz(>OnOq47%9@__rN zHW@cbxV5ZMk>x;z#d{=X`JdG)ubQ-+$P6+GcG#>vEmGdnT%?$MSRyC&%CP zp8YnOm)C5u!PZ&44^8_v)}}Db&h-BO@cr@!%P%?ftp0I1()&_fQT6-`zduPVEBoVn z9(?sOWcaeG{t%Nrv(zWGNwX?HDg|d1nhl>%%3_yF#zl zx>jeE9S~c!&F}2LTWK-B-mj4DVUph6IfM0BUU72P+X`pq4Sj3hD+I4Iyr912_O4$& zO+p`fbWP5Oy)JYAC9-Sk(+hfhuGhE4?-rY&bN;AK&eSi$flsg2oA($=d-O@XY(#j{&7fj#p55Ds}3vYbt;}vp1RiQoc8^>-+8C*?XcQ#eA}<*y7vp% zgRZVV^J@KCl?LnHOHYk5-k+b=!0BRlR~#?$Wh-x0>U&tDE}#KHGm~)oq*G z&x8Lpu;owY{Wm+Uan@_LkWEa=cT&X71@*;dGQ|3? ze7o<_w%=XVm%lY#-oh2PNw;ou)b50duOg=0)}OIYr7y*Bi(Jod$W zmuQa1fiEjr*Sf5bFWmZ6jwfZ+*8ioJ4Vl7UjRHU4Jeune(jmRMyZW))obN(!x9n4& z|JU9#_OxE#>BGyq{T3W4m=VCv-uz(hp)l*W?#tf0*KJdIv}lg=C6TN5cH8E!{>1tI zztQ`&ncLTxD9#KkUpK;)i7fV<5VF}KX1kTPvzXSib zo-*f*DsEGb$oo)bJ8SBW(AkpOY0Ks-Te&F}&R)pV-ML~b`(cr;Uc1iCQ&MFf3Y-^y z&D3;#)tV)aLd(xZsNCwE@oU>g>FNo3bKh#%{fd}=e%dL+)VsG-o-Y?Ny+7-B;)C+6 zdA)U-Q;XMb7F>MT|I4xa(|^3%U3=zdynByHbk?~uk*Rz>+|zG0)MS2|{k(A|+f|Wy z<}bD>>;nCybTd|wW|w`qCWQTbo_k^P%biqbdSvK^zY87`LG zVUpgt^NG?+GiynMr&3GIZ^Z0xwW_|dx;>+((8u>9xBQLLFqMW==qw12JS*? z3)IweyxgAlaD3~JUp4bmYp`e9P1pVq@qJ|x?=M@t=QY`Fdibs2#eA!pe*!mDH=W6M zkKS02rgoxnzkGIR^v%Xz>n3x-@N-)YicR;-*HC!YAy$6Xvr1Po|LYU$1k)s*%5|>) zGD_dCiPm0h*m=5o!`qtpDfav4ho4!%wMhHvkE*>Z9(b;5u#7MK>Ce;AT(FEQX4jEp z?_Wv_3)fvbEXhAzGGpSK7GIZhT-gisI~C#*uX%|*U9;igw6og#?C0)ydO){5yrytg zIa7F!W8T|C4*aX|Ta_ifitL+~T zPrP=-VBMlblLgZlW4N8VPfpZX!X@@($~L_#O5#hcKa^eLOQa(Pr_a<85n;yt4nbYR>(<*ly|me-mG(r@vTJv;O@2 z_?N3b1wV`5o986LbX7`k#iGBaF#*0R>MJ)}e zW3t;)baKV1OOt1tf8Ka{#aWg0?c6Q1<_q#KYvrDGrKT@C6cfua7SJFqnQ;a zR~>sK;k&S2hUok?MkHF9Ghd*}-ALKXDFNg|o?oiHFxu<-q`{6&?#N=n0y1PV^&X&GD zWxG~+n_!Ig)s;MNAKnt=3u|vKefU7}SclEAf766ai{kU5Kg9fq`*~K1``eBElDl4W zOE9NNzL!>e7VNGvB_gwQl6r)hj`76vT{YkNn~%P@QpF`lO;R;!BMF7op#em}Ps4rSGuEFK&FgYuDe}9c?b8t(nx~Wa;trq^Mdm&;s zWULi8DE_|ja?APaq#ddEAJR_IpJBdNh zt6wkF`?9Ev|1riHmmK8h^@~{v+L^J4HCsK|Z)ICG^}Yh<0wyMj{UIF-Pg<_??C*PZ zqt*N9?kc{z(~&P9RX#d@OZVliwH3G5)$T4P)OjCHobWc>?tbvX zhEki2jH$c4zyFB*C3APK+}@+hvuh(Ia-Ig}Oo(b9+Iv2DnENrdV z@;nZfge~;4X8CyT?Ax}*k;kTAI@&0IhUcBNNXF$i)0=0+xx88&wxN8g^BT6;zc)FT z+Veh8zomY{MM3P`1nyZ?o~J7}d=Pyh^JMwUM`~FbMkh56ml+?g?11DkuCo7INg+6d1=p|&eGcp9|#08ay+X# z)me1BUD*47o$=Y*vMPO#qH`bQZ&i)CutLnDb5m>YhWM%R*~M#DADreh@$I8a@vk3W zH<6Lop5tw}eA4ZFp>3@v@7h?$@GL(jRu(6=OLt+6m~T;}$;s44S7VW|RgANzU+?>u zy1mPsEs9s@$|mKxMO9DtF`T(G&n4yP%7c@{*xG}nnU}2IU{iYY<(otUmupOlH)a>8 zw7vWv)88T_>d(V=TDsunDbv($uCK?7_Q}2pK6x!^R!74}bAwsS&)j_z7We3maq7Fc zs?UMDrE=QVJboYi`t$8zXx-_L8pAD**4;kS;# zRPn}@fBu>$Xg$8)^w>VFez)G1^N}4kt6m%YeY9j!XV1?$A1%^tZYn0%DkX~<^*!lX zUvt_^q)#cXxYE+Io`H=la6_YKalA@Qq5?8S$5URx+TKrUy{PzqR@|JSuUU#{$ZSikm@o4dXlWl_;bz$!)_dKWJh?iD zI?|N5UbD{dvkR+um%V}|@gvXfoYYfRuO3UhOO`tPtu^-A3uA%1Pq}v&FI(5lmeKIz zL5%LEs~Q1Mf4s=B|9CU??ZI^&{Zh(T)TBE92#6c9q$39U9)S{QZ~DXg7xy+r?r;EZ{l$t&iIt68c| zT4Li?Bm1_kQ>P{R_j9-RCm*J&{I9!NP<4NcwQ+)Wqv?U@Esk}^SY=n8mRFXWc-2wH zWuMbW$sfv3RygxrpYh@(--)%`E@*95EYN!;Rlv3S>&^NIp?T8%|CqTW*9FML%gJUN zmKZ(cFzucE;`kXR!v}@h?7Sk0;mLWjoShFAeQgQ$U-GiEWM;zti1)`whj~HuiRABuM6Uew!Y!CcM|xWS;iErLozw^GdCSb{%;jpm|*J zvfsH9O{0Uilf`qct-L<{wW8_4b+R{mI=R@_^4NE+Tp`*0`=;P##qY}-V&@bH z@K4=OOYEJ5XMeG~u(XZ;_@jTB2Td)Ou8*1aQRDvFrB#b%=CyP1`AHPvnQD$<;?O zv0FKIOewpc(JTD^f#q7q%`*PqR_A@6v#so4B4a}H_2tigvA^Au7<)Wm@`kk>Jgbai zR-8Sk`uMQk@`~nTO2623p1q7uGL+BWB2kv8`TNK}H;vXqj_K!&iaB}j=PqDhY;k?{ zmlNu7i|VhgF65a}SyHxiXXMsZm1+44tH0$W?!CNV?XH7)sm31RnawlBnuR+SPGFdG zxp?}_>Hl2A&n_)J!naZD^MZ}_kGW;qau{M~Udp&=E0(MJI8*3RWb|Gy!J^Qjbqqzk zSt(Vvw&oepRY{KNe|c*Svf}6OvNpEcX*OZve0hoa@)FbJUrd*Oaj?bSYS*e7+v5SV zw$Dq}NL}+>!fV@C8RwNB8IRlud*?FS`NFeruh=&%xBqQwK5O$SAKBS?z3HJpr|h1v z^66)n<6f!rBzLYp26M|5OoO#R~+{eaLz$9LwuDrt`r?~-6ToW}O+EYFvU zc5CwobC2>buzsKNu>Ywn^WQ>ot)(lH-#)L|VmRYeaAKB*eL?oVy^loZ@V#?uyFJnI zPYKugxvrO*r*mFuRo0!=_tE%m;)+{dM}jns5BA0PSSX)dy7y1uHk@&2|x_xZWc?wr!vb9S=&&rn3aEOcVUg#3V&TSOrS@CSuO9FShaEZ_?w-%G`sb2kC!!-S$;tM7)b#d$ zY2~nc>baYL53XtT;mwi?`zZbQoUD|J{A`yu3zllS)gFDUz#p+Tugp}))OKl!%pU#E zCQtsPyxey;di&(%OmPdIv#^{$XT&#)L1nkj;|ZLPz8{(Ddf)e#)4`3aY@OC>s+R9d z;hDDL^jUY8eN_@>C29Eu6QdrloHL#0(dO?Sum9Y!J=j#%mtWX?>|^Z@$*?rTzhAuS z^2?mn>)r=7G#l>^pU0=PA>j6(+FL)`OXT0Vm6%tpyTLr~>E&*-IcR6YLoMLWMT%i~@7(<4t9baOfy1bh2vDL;$bHR@=SvM|*`=Oy8wH;U3mfUk+ z^(IkwU(M7ek%Y}oyH96Wz4^}c9pBB>l+PZJ?lobqJkdPiXlSMfqyO4fKNXc2 zv{%3SpdPW6v%W5RD^q=4@Y7@SrB|!j9Vt2fLE!S-U+gpAU9mk;lK#5cr`*iuM9K0u zj?1i1HT#s`;WxT_vTnl5b1T?qzKf7g*>zcGW!>K@NlX7;`Cq3}au&Rf-WByCYw_u- zQz>u!!>wYUUzqB6J+;Jlakg0O=NG$Xt~**X^}^O^>z2Q)>Rh+~($?m6QoHyrf0c~w zEva=6*N)ZPqLN#}yC_>E_V~)Z`TPF;ub&z?w|_zWlzHyg&z9WvyDqeA+U2cX>$rAZ zyZF^0_WY%}9{>*WcS_ zSNpcF?k{`E|2sDoeNOpH0kL+G>~nk>~Hcz>q1o zw|y}dtFBv{u>Di?^QYH%R)_sBJ6;!j@5$YTue$GeDR0uZTsXHUc&qYGsgEz!)0%73 zw?fw`+PIvMYmmQ=NmSfAhSdrE8&Ybt&ZSx96>$ zyqEi;3OOcDV9c}j&lL^saP9im9vkSW^RIf6io8&(BVZQQtTx^}x#L{Tn5D@6G)oyyNWS;9$m!m20i8 z&zdW=$7ybATlub?^G~MEu5p{&x_H;=>)*8Pr6jhSz1?)4$#(sb{s;YmY>z%k*Bp_r zJaTvYMUyQ~yj{&pZ$vp)mVUSz(95g%Y<{H0{C_$O1XG=P z@AWorP|SAyddf!kU)wKRTU+DSG(+cYZ5Ly zC2<6O-u`&b#$yMpHmvhm|MoESHpnt#7NcN;0rzvOBkS)h|Ek!ry5J9*0Q zA7|xMS=apDvi?zFt;44MP1hG4W52!YhRi3=pKi=0{ks&M3by>OxwH2>_qJ0fgdAJ0 z9VqzsLZJQ+&#DD;Go`mUe{27D&fsoYom_dvQR(?XZJeh%d3yc$Cv8z z8n0;E_vOP(wkUJi(w5b;Wxnh?d5$%+u=D>6xpf(B-|MDUGs|SH-ehL5N%rE`nXOrk z$!QC#)ngj9wWB7S);$&@+kaYqVQuEzgtJ$h-J`U*gKN64%+X#S6C$|0n!Rt1;Z@z3 zS~k67-t1w2{T7F{&y|a^FRfS{U%h9O-S!H7x2=A6kJ!9uJ@2=8|H54&1&@rJ|C~)b zH*M24_epje?`g)YV2=>xT;AZz|Hx$PMy14v3j@Z;JUh(vuk3c zxaXQq(>b+9?(HVss=9kO?2g4YEW6t&5?aLh)P$`%ME4#;%BM+np{Ll))Hdy^jr(|p zKey1~9IMu>7uTD=bgxqTnE8_N={4S-O_5&TJ(4Q!Su;lDZDe_}Nbcv!Tdq^N9|TE@ z8N3cS`cU%{bG-Z$4`E@Gd`rM+$7I8sA1`l|0 z{^S=Rh{*af(c%}& za%DfE)pxf&{d6Rjry*&3;ab!6HT56PJh2V7jugG!Q2XmxVU&ShgW0Yqt!CW_)y$9H zQxX-dTIDx5-Bi3&%5gZRz0jg)%1$|{?G_UJ?p_blrtM=)h>+2KxqQ#@1(!0-yc*$bF@l&qZo;SIn0$4{sDw)}pnc%f%`!SA$vXAh*v8GhH8ykBBj zx!O|W)!jugVGRL7%#2spZemQ;Ti||?(coaCP;6v-wewE7ck5+^9(&!{^1-+N$5Rg{ z{nH0hrypE@ao*+W9jEW6ZCx^1@RYzT*8UskQzL#oF*Lj--Itf_ z3{p#&wYG|*@mfLVW{c2vN#DuuejL$Rx*=hO^31NA8DjswalBf(B!9{F9ZcK1R>?>g z7BH|o@z@s1+7t(xx9$wDY&7ZWPviDzw1iQ`4BhlAxon9^3 zTU%Jux#-Ny_0oD?GaAp%>N>1mdhnxnN8q=W!Qo%rTl#;ff4SN#dRcFR*2AruU(6Og zm@%{2cnPccV=2u=d60UeR_898^2D!3k!dL>1n9rJkgVxG;P{P=Q_sw?q8TTFi-4QAjA+m z_coWzzSD2A%{+w5Bo7Afy}akQ_TscGCXi{2k19&zW*g`dlCEuzKB=b*Iv(VXW5d$R3c)3d^h0Jl=A8bo@ciPEIajOv>=flPh0;6MN8FgY z^y*#iZR>Avuu3#v+;-ue%kGXH%g^OZ(C)Q(|4elXV}Wgt{3c;ZrpGp0KF-N%bobi4 z$^Vi|q3+a6+t*4}eVcr`>%z)!pS)MfgibhgVbhln=c5jO-`d1Hi7V`r@#`NEGUt;T zRX2HbhAnZ^z7)_cx9ybNwp}aRU)}HUja(viaA}CQp6lN&mwjg~(AwN{%&_wP6Xs>F zl+*7_ea5tBQuLB|wtvSPkMXkYekj{~FzLkIy?DJb@kw=<9{A;W3WtTna#f4T zJNlVB4ivJhE?Cob&!^K$rAs5QyJfb}X9idM=2J_gm@L06Z&x(v{3lQ;?^ItUC2{t@ zLQ((1BfB17eWw%zDDiSC{I);+LqK9ube)1x9mnPWfxe#-Qj!g_c6H1*$tp3Q zxpVQw2?ukIIGcX5nZlmFX?5$8OJ2nrWyHMs{5g7gc)g8lb*?qYAN0@o_up6c2ZQX4 zy9=3x|G&Pu;otL{JM3qtGrQb4o&dKOQF4wub*n(BYoy#Wuc4B+UFYXa;%1k;CWOu4)wWSx2Q?X6Nc|OmV zo=fYK`}mf+7c?iauM7MnxqI`^vy0y3yIk8gL&8brU9uy`F~_iv<mQ&kHe25|{sA zH@{x4;mqeJjNLuctBqtzZoU7n>ky#Vwsw(w_VPrtvNaVCE#wNSUE4gFF7l=)AL$p^ z%lTtQ*o_mX=Lm0|Q){_AG-Wa8tAM})iPV4w3#DuC58q3xZaQ&K;AV5h2FE>{*zfSX zpR1;KB|%eb)AVG+;9F8U0o}>-eiX*vxT@m!_V~0LAtG6_qAw(~w%*dtTbkqEa(l7P zYfb6CcMk)umYm;meJ#tD-SU_3dQ4n1>D%oUY|C};FFC3Zd*;f{b5{e*r=InzQWRGR zoKd?g*S+;{|u$)YPZS*e$Q0D z^DxPMM?}V7kEL~YG0(%5c2~XX>OqSmtJXN@*ROQlE_1_U_1QeW-c-Gw^a`6KS8lUQ*Y4~sQvQ2L z$0=l@zswp|X}7OmeG*g_K05kwLC2Rz2QC?=s;;WzlU%&zRPvXbvVHRE4|U&I9a(5{ z@K}}2m8Zw#zq*}sRu#L=AJU$%o zL$7#B@7?g(jLh>=|7?zwu}m;K6EC5aYohXS=7lxethI}B9#rK#KFghP{F04Gr0&xf zDLj!0sgc?-7qptcAK*W7o+m1;bl&}E$MnqV=PYwLBfWg}gS;&+?we9M1U64mGx%`$ zyxQ!jJ4u3*`DXC`pKft%g4+AA$E)YHumAN*>d`KLg&(^`+w-$SULJq*fl*<%%CkVP z2Yn*Xm?SkW?04%@m@d6afJ5}oC*ckK2D^{?zmMiQrIGUM`ERjKb&I_>b$dR3`_UJ9 ztXeneYn^d(7=!=Ks?rs0PvmZ2YA;BC$iyHNsTsZ0HOBvDM*GbBy~;b+-@P5U$^4&p zresLpR*(86^O8&VzV;R~Y*^K)cR@CL%KgW+`|`ctU0N;nF;@0gSLI{xoR6wushUQz zuM$peI;-@pSzd9WZ|-5=DK*EHwp~2S`aj$y>41nqk*{{)hi{)WWtJP>eQADMzWnIJ zyQcOQj`LiW9pt*MaY)(JT5H>a8FRF_R?PIU?=xVn?kq^X*f6g#D`pp^=wzpYW$oKOsMrarMTcTdJC#i7#KQy?yokjwd=#A%q*5w z*Dm@O5KvW=yi!7+2#Ik+G^Y+|T^;Mso))C4=KSUtAaesNt$j`Yv~EiNWnp%NZ|9*+qZU z(tlWc{^sIbr#0^_|64DbxcN)+hnrWHCe|%(+aNG6`>H=5)6E}Esk+hu-iPyIGcRsF zaxR+fo!pJHuejv)&h^-z*z(t_bMqgTHTUMM{@-TmP;<9@zsD-KPl1=zx9#7ZV0doI zq#(7pnIAWuHf|D5+rX>O{^H)>nSz^+M1*bREACo&B>HT_q3E^X~u>MCEX zb}iy0huvnw@L97f4_`I%UEp)MxIU_C)#m4)n*5&ZyOPGhGP9T0=MAUtwf3uPOdInT zJI8F0^)7HPbyECSwKdJi>F0L&dF)%yUcS2KaabHn@ZZzBH5PwR`o(y14-d z0^VOUIr`YHu)Sv8)yIOLcXG}Cq#p87FMMKu^y)QjiyRu|7*;sz{HjcwJK=|m)h-{G zxVzH&8^0Yqv*YNU8IoB)F2ot%eO#N$$?H?H;gis<5Bp9Z5c-j^|4!@o*c+CI_}edk zEplPXw2tUraKxhNmJ|2MwR4)^-Z~fi_wl+TA8fXGuRAHU{8Rdt&v&g)Y$y^h`zrKT z^6&eAGiD5P=Cn?UzN2bqBe;9wDS?RHdk%>{d6#7`@k8{N^xnAOiZz?mC1vihJm`G+ zW#g9zal*VW_#?Ne#7Z{o%6qiy-`3!Aqu*)E@7=8Mob~2{$Erlf^!1wq&o9z^Iq`K? zVz)%}g7kOy7O2L^bbq^C==O~*=<|I2>3Jn<1OtKuU%Hvps2HAqx@=1t$83QFw{6DV zDp%Rwhab$BP^-%~Gdy(v-yP#k2bi6etW6#)VAH*|Ih2*h`-W=7#B&!a9_~DF{hhA- z8CRW*8?WB--J22ofF~w`<8$fJgaQdJQRUyOEgmz+C+%naux+N2g^%_B8#XR~3eBfP z^1OSQRT)m)I$*e&qV!mnB^x8u#F=;-i{XM!&p{TZRSK zX2qt}q#dv|Hb_isxMBV6{{4?;VQKd!o7k`WUQxHG`;VIHU(Xdc|7v;(PgMW;W6t+2 zFAsA~H#0Jyx3H|^X23SJBFQZ=j?qs`q)W|0lD~Crl(p!2-`-Vv#OdKxE9SnJc{ePN zo_iq5kR!M9$Hpma3#UJ7m3@1<=rEs-w@Z2GyM*7{xBsx6*Yx)`-#ez?FRk8WHyG>@ zu5FGDniT9@s3W=S&`bID_2+_B1OL1gz3;U2r0?AQ&64TMH%aiWyd&V=TK;ZB#B8bW$NTxz2uD*{=Px?VK1@(WX6$Ra-M>{I8s}^t{c)*F`tp zXFA7R`k$fMTe&ky!hm~ok2$Zf?~(Z~_J{btZ+P+jr2O(lyUsn1oHS#T!@NGjW4_$% zEEX>FQ@t#FOH*HT>dZW`W?J1>>+%a9Zpg1(XA*uu^zF|r`nkuvuCtj>w7M8}`grro znI9!X%Aaoe{$iUuN9FY}>$iK?Mz1iKxAM)*w+GgKEz$OgeEQbpZ&~G~+;yHJSGQbW zobmO8aGU+Nj!jF-o@JareAL%rb;->)3-8L<-*S|3Uy$Cn`efWkCobm9Y>g>Jo~GXY zooR7FzD1sr_q?ty*j~P*#Xr@%{ZQmd)hrcDyZZk6Y(VK$*xIZPGL7n zd0wqa_9^I+F7E2Tc|C?fcBbd*RE5xuUgzhnJ(nA@`I>w1)%&wwuKpbDF=?gF-EW7} zgjC;(-e+juyW^^y)k(pXw`FS_QX3q0f9jXEh&gEHxnqydjvA|*T~DvwIDPp*;q#kX z+)`YkzeIur;&1u4N*_64!)J6h=&iZ(5pC-;bDf-?#hhu$UG`^@U&u%Ct1A0f%rO^= zzcNoN*YS3S<79;y^8+~^T87MhCKmtV+Cow38>y@8)MtpE=wRP`C#b!zg5gqRkHnTv zr?r<^rk$Q5!pooY;KYj~>t?n-ZIHXCI`Q+JiAtsHHE;a8CWSLpa$S9#c+BOk@1)GW z*D9Ua>zqTFWVfSmxkz!`kN&jAQ6ed{DnJqEzr&g-uy~20#jtBPD?Vj6E>-19T zmdRt8H=9)DWZZv0zrw^UVa&#J}k`IVh4|QI2foc{}E8I<5PCd36|MIxEcNo7o97m=DyY__j3nxOSN^3Oqik*@0MvjVJ~MdSzqDMcUtnr?8jcs_8X&jrJg;Z zn;ZLUsoJfS63b0zZER(WHt+qjg3lu+u6=L3@x73;C9m22FSs4F5!?9R5sT+cIQ=8pKef_=7)`|R7!+!N>6yXn-nr@mj&`tPL8-U7P?6YhGx>h5#@ z{dh@a&zC;c&Yef5RW|Lgb(8Pz{Ipu9%0p_xC-Y+++$+DmFuHp6mA~q(f=}&d6T^jP zpWyx(dE|~!-*$Jy=@$=lUN5wI*&h&ON98t1l3i$$I3nxwG2k@8X#!ZDivg-RO&}w2iwKvc2o;rgFYQzOQ_{ zl(ODGH@v9o5?L0jY`X81-J4@77I#1EXB>?xnY$%3r({_PL*u-IugrtiCVh`syYKN| zp|3ZOAL10fxcf(G;MJv_tA1GfN^9R!{-#nj^~|w`eU~Cns)=1PcmJ8=BjMIBx_*Cd z+OxW>=u3YKlaIRXlIPo&v2j8Z=kHA0f_Lgir1WAg%snm1&gvV+V9A_pVRu;~_gU4~ z%i$llCNDN#weP?`L#|ENYHZsJURXZs@9kUvDnGTDzpm3{e`D&?%=@a@^?5SdeEY8M zEnEBeX34DU?%cd z#$T9ll}*h{x&5Nip(oS#>awj>;qsMK*IVS2^TYeT>pOqP(|&#CW^yI(PKX(t@v^Nr zvS|M)VHU~gLWxK0P!ppY?d-qNk;1EE9^}*}q_ysVkUJW2&(G+%mnpTH6mhpD?%oyv6FRujBef z_3tk`=dSc#tWsR!cI~5P>y6-^3i*!*UI%?Wb8A+0-1V)dORovpTTi$eQQP&izhQr6 zthvVSho!xf`vqBdeJysW+a)KOS1TD`D11!a{j^f6ZG;NTKTcW4Ughmqc72)3D*91~ zm+fxfx%4poH(hIzRV&LFukPkPG_!wJ)=%*z&bP~IJY1IAxUlgTewmuT=*J?Vy5u&` zi`q-3bm+(zOtY2U{AG@aFaOmg)sfFWcP{(>b@`d58)}`!+c)kjS@`AZi-Nu$*1!Ma z4a(-N6>BbAG2h>F>y^lmkewHN)^^<&5bf6Y5C6xc__FYvZJl=CclW%jEOSaWHh*$> z^ED&B+BMc|Qth>M#Ydl+FR7iDrak@I&8R7jUKi%3PKflreD#ruyi%_6smW}yD)OQh zZ}TOc*EYZ5Kad^qE_UIyD-KmFuBPd)e-i)q?f3c2p;@bouil+lvLvs0`ogQZzb*x9 z{QD?1``ZiUEkF01sN=Ah<@IE_{+?4?6@LXROI+$x=^G^|6l>Cvsa~@6-jC}uvNva? z8@w-A-Te0Twj!n6tA_$!b5tKKZu8TX|Lu`KGd=Hl<;9zK&42$}U8I`+*!}A2UAG=w z4Zk=$@FJH0|GJN>k|!k{d6AqbRP)BBP|`5sqUYW4Ju|WkHuZL%SHE|!U3lA#L+c`h z&!y+jxpJK2wT9Hk0LNmRD^-H4HMr+2U0EJ7yWr0L`}@*(ogP<|E>54N|2x_?LN#)J z^I?-Kg~vH3-;%kN&AIjH+oz8gO#krOPDO6xOAe)L0kzAj$|6T`O-zuihkGN-QlWWj+E=_0Y8Q(J<-vYn?3NGgkzW8KU0pnXs-OW=EKQP$$S6Daf zm7x4pE%^rpM&EjQ1z5af-I5P#KiD|C@Y|+*ks~wXf4axUXYLj{;aDuY?D5Xxx&H!> z?3}YpaZCD@MFojmPxsUXR-Bufwt)NWP9xDb>OG#`HrdrahOAY-o}A}&W*6;LtSDWf zXLqydy8e>s#j8yxFVs)85e;6O_UzsU)?;g)oi@$>rX2kxbKTu0Po=gy55IO!?@zjD zU9jhd&<=%jrGD$QO|Aym-YPc~-jgS9vmlXam4w)#g`XEcFS09t`o-caqw_ksmbtaD z3pM&b?ps^WG=Gl1&XJzfcjq-TS{Em9JGWYB&6Qj>%TsUp%ja{NB2JcW*?U%N&*Lxp zD^7l4^}io3f9&xLPVSGh1GUdOUfGiHiNEO8zvr$K0(!QG-|V`WR~N~Ax@bm}x}#iv z8fVbl?4`XrIlH;C;(qUq?)2|SbKn;AUo**irQ}nK$M*}DnlIXw9^dwD!?mkiPro(& zJaSU^&5E?xyDndhZ$1d!WyaVn&sMg@axQ=N_rH1NsjTNp?sOlT`a}ENkz0>D(k0WS zTPjRX?lAe>%$js7f7g))Ri*rTYg5gz?<(tOSkL;|H8E~`#nX!Nw$AzgS>Io9eVg9w z*BBPC!-TDSi{Pc#XBF+Nc+3{4atiKx&U!KW&ow2Ul&+}o6{`y!nig|co%q1|{LuEh zFW*o6^CAD2bCs+8i(fHPH(nHEI=vCLzIBWFREp&Bc!huexT5+>IeXR_TK@a9%E+bI zau>(Nm~9=pUvqivSW|D8-0E(69=>baj>(EeS0cAv2+!SHF1&c&vFOzXHaSKszCKLK z{!+7QQNY{7JMCq+*?$S0_iAga-`1~o0Vj4Q_Nx99dGtn4J8PZJ3gOlMTaISO7%q;A zlGn?1;?b;Nyfjy2>XG0DJO=-nt7}f(*YK-7_R}}vZ2gAg&AmxndsRL?e))I)wxgzB zwF*pMSxz?kC^KtI;}qZOkkFZFX756~*M^+g@Ooll!sJ&MW**&h22;uJ zG7)|I|E-MGs24nH>|b!O|F`S?_NTYh|0+3hYdhbuOY}%q^|9vv8)-lByU~pWRl9P- zKAMIf*JoR`RN6q(JHGFD@elQ!m{~4nN^%$PFS`CAT;b>LwHAy*9~+oIK73c9CAWQl zsBGC==N@zI@K3iFrL37+|Fyd&InCOvcmsd*=C3PC4}Lkj!1RjzH=o7xrX^Iz8U8C% z^Sxr*9koF}$F=vLZpXclXV1!h|4fY5+fz~SO>VN{E$IkX-?+re6E44#o&5@GUrH4A zMY6X@-iuEW*!(Q;S;Io!OA2mX0uz=uoNzg~(CO;JYe&=lOSo4zAAc3IZNdxvq&`ZKH+}Dn1fKe@O7fSYexyI+)MZPme--O>!0o>j^U4>Q8+L3;Qth41m#uL8 zeT3HKL-CzOlkXjV^Y76=`{erfA$1aR&%X8Nv>66FChs^ft@=V7qq!$bl+&N1N$V@} zjMuk+-=Mvu!2fzaTkx*3&3DA+ZL&MN(D3j&@vPX{K@s^owqE)=N%~9EV_!KT`FG}0 z5A^=*VY_C#d;gE8su2gKC<^5HeYC6odAwn^)1HrPrER()bA5|dm+eWMRH>Ek5}^HB zUFu;a|AgNM7Vo{jLU3MJwCayE_gkBNb*%I<{dZhh*0b>Fx#hZB6t;CL*I&xKV0Q8K zV;0`7l#PqtuQXr?e)IJD;SwkAq&Rok)g|fY^_IM~KKt)P-Vw113+_V?`tIy)bcxB5 zd0%z(k$A3Yt5tMH zxtZszea9;9JigfGd`8vtnD(4a_kylSKd1`caqq@w&c}bW44b%Nl2kh=bxI}?Bl+Zo*s|SQ9u3IO(61F zD%Y>*=*CJW!D+_F6z^I2y_}}|Yl`3DDRF-c&-c65=JWYyCaC`P3f2C!d-l1kk3S60 z-BXU)rEEA?I@4;k>#1&=xhqdh{VnLfoHhDXS%1Fgd7Y%hsyY09uipeq?EX+JvHL>thWnjyTt;!yFI=-1f05Ab+c5PX z+p$H>^)K~hu2>)C_!Mx~HNEiSpXUZ|EQ4oy`JU3WWm!GR=gybR`@RMCIc+NwmzCsy z72i7h>|23-OQV)tf4t>=&~4@`O}p;!GuvkIwC$OB&^Sbn?OgPPbZ_>U-X^wF(^eh2 zbeEC)#X_HN4RyD!^jTe1Stj@9;KyfKv8gsPTNe7>aZBD99wA=F%lGuk`HN3(a-Z|h zzcO>d`Cpk{2WMJu^skUyynMfekN)J_YJtmx**acuyI9_}nA`9u(&n3rTh^V;Z+8dY z+I*w;(ZtUMe*}6CUOeom)98N0+;i#iih#?kG3zpeA07C$+E>T+vXQ;-{8o!yp7WMy zKR5Wt|NP!g&gIubXPca_@##1i_fg7YQib2M?OFmWTN*##KmYUn>nZ>9&g~C*wp~+r z;{OlAC-ygdK7YGqDUru2l=9W(w}c`@}&-R;S|?u3!%Fae{k$-x&nvZ-i)u3M@~hRt-JKe;jeD7 zJK3klZT-dLl&ibjXXW8$p0y$G_!~P{XJ1N?tnjFOm?;)^`or;McN*-)RJm{Vt~jn< zS2ydQLo@Hxxx6Qw6R=)ekAx0jBruQt4Jk#^I*|&$y*)Y9b@MrM^ z_nY5zLVm5yAA6T{M^h=RWR81f=dI2@&j_iDJ+|IGp#|AXt{qx+?8WZ5 zr5|nP)E6u2m;2oOqEq(x@V}FJ6N6KyS#=!F+wXWM=K9=(E${ntShqZkd|^M~+w6{q zr~lrIo9DFl$Jx(Cv)?|oS2U=ceK+o(too%lPwy8bb?p74qJHV^Q~AQA9ee*UsL%QK z>F%5zm*V1%cG^_`%$~F3R9${1mx61n+_g?}EO&a6MR3AffX zOnzrGPiek_L*5ftH{sG>e+oNafBG>oC9TfQ|KlIEIn1GRw%Kno-xP6r&6LNi`L7Za z7C(qSb75_q?95y@ov`J5nL2+g6)Jkd_N3;iX62NBE9Di1Ql0;n7N4)p$cQ+9V!7Jd z9}HUSz7=FA#;7f7IvUfcyi4)RU5DzQ42yU+Gi^W1b!Or8T^V5ujz4*?{QUUA=T>XK zbtNb4uWE@sk}%`umTl+eM!qfEee~7-OLDIglVg_qOPIe3Fs&@Cafv+kz1r>BtS#a> zcT)`9+KwGOZgtlpDD~)`^Y)EqcjeC?=vTG~`17x4=Fj!+)m@j;J8s3DUud&^W!qg| zwe3ZU8OKi?m-zqAv)eIqiPq82ALf+hGIO51!MRrF!S18!^DnfONt}27R5{V+%%`p_ zo12a5+tueOyz39&^MmunRWskI+l3~rKmF2L>CP!zg>-$pTZRJXcKUB((|wfKZNPH< z)}fO6=+w-wX}|i*YR_su*W6O}jWgp@MpoE^>-O^#F6{WWaL<#{4D0QQ*YX+ObS7>+ z=-~bPo^#K%O+2ekZ_9rB{oB*|JT|?x#+z0_W8+fy7m9GJ5_S^+xd7eo9zjIl4<5p`fXEqO_SLDcMIdD zZ(^Kr?fTMPQ>&!<3JxlMJfSQxv1ZTtf+~4c{*{b>()vz(jDNBz;L^nxFXAgETzVt= zeN*QvGrOGCzY;f_xok{dk@459=5-yr!MgH;)i>3D$(sjHXPLK8dw!H*nqA?u%uHL_vF1rq`s}X;VqZ@3zO6a(kXPqw)f16Qn@5|tw|G2# zy8qI?HJ{=hu|2x7h6rl-)m*JSD1lvEHo9mfL38Ob*d+3tzNtFzsH-l`)G6QwfR&;M1-co>^oDt(5J>2TO~ z##9A^gwolZ^)p-cO^|B*&i}S)XFOZ`FLp=!dzt6CXZ@M>bNTmK%=^#U#C}Zup!N68 zluW+T^Y%y7Pt}=tCx4K5%)98>_aIlTkNy|;@m$Fc%baR`NH6_prh|jmj@Z@qdU^T2 zVcc?FqV6kRU%dA)=wH{jhqJFluG{|d_{+U2pTZS+@~=dG+j{Zev>vNJk7rigX_Cm! zD?Hn5l_~gtN4$NM#RrKS{q_v^!rPsfPF!Pg@me?f@6APX z*=#IAc(NykY;~1>nIvL$;hyg|J+;WTT*kYP!d@{o9Y2+tq<{a2!0WL3^K;LhFKgMd z*k5tMxvjsdSK7aCVb5Nk{`rsXOULBvPT>Wezt-`ed&u6t%Z8)xiox=BIkmLa`^`FU zu~naB%$%gXl<%#{`piskPOxz{Pp%j~@~nBV6hxa=XfZ z^RDi0<27kwQ_~B(m9y&SlV33>clM;dIXrRdE+x$i&3n5#q@QH|eJFThm!ta!r?m$k zUh=Fs#=J(AeP-CRzuMeP#LUf4l8$ool@o z+}~EN8TaN-~aAp{?_M1#`6iAzU;2)xv%9H+SGGfdzl0KgvL*M%R)=T z?|qK{dO41-gmr>qUaI(wDWX%OXIlQ?c(%3HKC*+gG0)TmR;Q#f_OSvg*&rF366(xBe09 z*~0nBSEZk9Sbj3``*L;NxA$AUUU#O}Ouy%3R--MoZM#BK_9f((&hptG z{kx>wy}kZ^?x^=V|1#`;K=0PipTAbr-LERKu{P?K5^UZ#dA38R?j;uH7KiQ5Qx&a) zn>8znbBof8uB-Pm8T)8w+}I^rDY*=@ z;D7eT|9(IH`_gr%+OaWN)pNp`_6oL{v$)wTB0D1 z`F~NztQ9f-zS~X&yVXwMTadlq0 zTfLJfo=x8|xp>~|KDPr$95(CDEZDE|*fF6(F!FxD$rytNo90!!r!RK8b@s&h1$&*# zQthwbT^-Nj95uby_rFZeujdKLI*HcZt%>Vj9M83|Fw)=l{Ik|lhJBHIGdybEguP9c zpXifd&vaZO=bA>=^6*!ITiK^%nxqGuSF=xb`xumUbJO)zy&I!>_J>Q~50u#U{Ceht z#fQ#5lytdV{J`za)6Y>0x1KbbmHX(>*CXp0SBzj~UlqzNj@sqXT6EM>a=%jYLv{_*NtCs<7U`@>epf<>vXvL#b?+Bo?wlC zk&XUO^+Y+A=Ll|Vu})?dN}Sr*++k7kaKSot-aBjgUQC;-w5nFy_Qr*?*F<+Li{@*R zi@Eal9#7Bgyq^poUdt8QK8d>=)Ti}G7p27IX$rn>=WEsyEZRkB`r@(q=XOjzeQ{y@V&|@h{uVzuHlOw05%EOF z;P&+$YuU`!1TJSjy4z^4o`H9%=_<)1kzL}}^L6zS=Ba;?^4Wm(&3s3Ur%aDK^1XikmF+dNy?U-bi0ycFed=o~p0wNx>(<`2t8reH zeLvR!svzU9ou5B*KP}eUzvy+xbp8XulNj0G?fQ5$FYL3)H|+zfJ4C;qyeKtemE_IN z`a9YebvhF2|F`*V=+83WD!bbLUiO1^f8J@$e=#le^x5>?q3g|`%AJ&!+wLH*ecyKR zZZ5V}YG0*_pIyB9Z^!O}Z#ji3b2&c#zIE%>r0NYkt0!G~!Y7b7_0#gw>Gc`Y|GaP9 zK9Bug)dfB0a#yy}ip6tJ*m2%ue=jt9_wDU=<{2BeSF~K`OAF}iGC#Acb)`o9;i{$c z7A)&cjX3XpUFF=z`ps-xel9cRIdD)ar1Hk5xyI*Wnw<}dVL1rI&*NtT-&hOtK z@aSD%Y`mKNl-hS^cKF{fHSSy*oi^{C{KMS)mF6=_?y*>}`0?spi_rA)^S8CO+%1-$ z?U+{^G|T$p^|VPLk4~C=Wd3L@I7j*764`fUVhz_!rPw^ea+SWd230DZbA6o?FQc8_ zx2B`bLRfa@aoL-@BrD>!{4q{D@S^$rxlJD|*!!P~yt}hOvUuy>m~^v7`vOBF%ZVqS zi_V@TcXNuU%>SCHH6elP3Qt};F-@XBEpmJQhYbsv%h&WSVX{7YW`}u9mT2qpGeRq0 zH?LQD{Jk>jiTKqtjn#=y`ETb` z|IBF9xRjg8zT`vu`kZ%t+#&1Dl$Xru>{otuH{eRw?0wVM+?u^+`pW6GiD_@&O-P#` zBVYMZr{4Eno;%~a%QpSD93)C+M#e`To)mWNY0zKg*(aNeRD8`2KV0o#V0|$t?U`Rd zso0C!yGePPzwPf%e)8WX^J)moB$4lpDi>o?-jg9*`0p?yPG{wd#$Sz|ob?#hxs2j8898 z_Kj@gxofQT26qo+W&50GZdU$%-b;6{gv`y#ZOqr-epH)M!Mr*mmrwQHy$1<_pIX=i+q3ju2X(#1P_4@{hVdgkAQ_xDV`)zq)mRZ(Fx zzshvyIs5+Z5J}A3Trm^8b2vJ@!{Bx z6S}clcPq{NE@-ExWc*D|f8QAUTfACz=c-qQ6SsU@wd};IX?M^5JzaKux_+O2_>tM7 z4HILxb0K$3>LIgvBiiThd$2&LfBAvT`)%s0v*%bSy->Z}?4Y#g(INYU zedTK}MP4uu_mr2-(=}+f7n#&+Cabb&m-)#vhN*irb{)@2_^-47J{jWnj5j+$Yv=5zA^ z?{>fWKf=P7Hg|3PIlp+`^V-kLQvb`>`Aq&^`)>N@ImPpe_oaI-*r^c}{2+l}&iS&+ zgR^_xmY+U3FRbe)uUN9I+Wz&i_ut+4RmXYVyxg)$t-i#L4RT`zHa6W=xSvWu!$ zXS6m7E^68^J3Oi0er5OC_lG~kdL8;2%lJo`Y3hYtrJqZ0Z_t-2ZC8)p`uf{*(TZ=3 zbARXUzGkIq(UWIdnLACvY4r!gy_@;MkEF~#{MJ+T{LJn1E?j|py^ zPKBIu@@_BI%{v?M^OmT~|5pMHR{hl**YN);v#e{~iJo;E zsstX-+#QsprT#waZF7f@=QOjj)oWL!6wQ13@Tp91Q4!;uQ;QdGT`W8Aw886hd>4<) z7`>HJ(?7CbpJ(#(NB8gZOiq7v|Lx%?nMwcL9$d=5wS1lE7WwkcN8McwTkIGq_s4D{i}uc7fquSuvE9jkuFZ0p>#(*qmG|N714ai+jdE<) zaxR`0=JF@W_s?5j#@!BKvG;kCBLftF{a@phXIpMQ-T!@Pc19Iv&bKYX{|-uPG~DfG=BVa;drE_2Md6M&2Mnv~^sQvm zf3GXCs?;!F!gAGLvSj0uYY#tdm{j~vh3AB}x{_U8kgBC@*`Gj*NkJEOG#;M$TJe)d z$Dul(vZFWozkcj06?e0}EL`xhR9Gla-TL9-dv|t5J=QfZ-l`?*6YDDzv!YM2eA_?6 zy60T&e;R{TqIzO{cVFrBsqOHR>QL2v|4eo18aKuRJEBgUIdIY7^XrVaKmTe;q}}1o zcG$On&JGRZu6=hN<~8}3?y%?}dEhXKCx$ zBtPBy(6{w^#-h+!^^xm0z6m;B#MJZj?fj1$WxUcRdl_>ys&EayWjUMc@lp^egAv5S1pU*cRPMb zin%X!|4PYQAJwMN2N_*lPg=jazghW-_J{YEm7nN*+wtp%uHgMwa|PdcJ}6RRwLkuP z`Rg+oDsye!m%F!j<{dfY;HvO_k?NuIz8^)bTNT)}5Ah~$WyyYVfGtm~HuvF-${g`c zd^`Eh|6!S08o_(s=5fL9`X3B8_y7KwmbPsEn=9Ge4^*Bs*!AzvZh8Lrk4@Y(_JeLW zxcMh=?VHW}xp?Avk7Zk#r@CBylDSaj(npsYznD38J>D;Bd#8q3!1#`1>HoX!rSm^c zRLq`Lvfo{F+nU~qu@QW+%?7#Fd?RKqF*xW!XtE=Xu2MsDfuR(xbXanGPl@!f+EU47@hoIZDjFRxI5>n zY(%cfhac%jPZ!mOd#x_s`|`JW-s{zobGzDa|Bz~_F+Zniqd$Fv+4Sk-$d@87*Ngn%uoH^ zsb_%_CEAyyW4vB;p4j)VGbcwQI>BJ}d-wNqjGaQ?DJdI#yY|=9YR}JK?H?Xh<{0c2 zyyPmxd5`_?tv-$~o7RQ>p6J8n^i|RCcy(2M<;MMY>uvjEy!LJJ-_ohECDLPwp7fbp zjfRDc)pk>FY|9=(Xk?(ZKCI6n@4Sv;cKBo_>+ABY{SGVK*wo2YIN@Iictsf7# z>=z!`AZtCv+aNNw`H9XS>wJUX${SoZL~MU}UYu?7-4DTahX4Ay+|wS!tvK%4d0PCL zCwqHWmcC7Y_#QxXGv_xfi1Q|}&X&(#RZmRY zyE{a*CN92f&2P`|jk>odMA>hja;B$Xp3W8>tGhZILUP=mNk1%9j{SY8`EOi>=r4Pn zr*V;Ij%LL<9Bz#Kap2@KeO2YHW&cIzZQQZ*{vn+;8JhEg%md`OQYBVc&rIOVduV8? z`}O?A>5r%VI({Lkz=qG{T;u7dM-@~yywO2mwzZ@u0rw)^Ay z>J8HS_sH)qy#KfJ%D+`w_pgfFc&70yV3Fj(_6Z^$XLVwvFBe6m^Bzk&G`B#xb;1=T#_h z9LR{B(Y^x z#}0Qs@=NLI4O=HyrP6*kq`5b;rPuNA?)|5?%T&udZFtMul3yma%W(gV{5Iju67Ko0 zlVtWDQnjeMuJ`cV)HJ!+w`)TDHnu0aXeI88Udn5^XR&WmYL^YP0zp$*cYRrRKj~NdI<4}G4L)LV9nPgY!$V~v_TDjT`^}zQVJKhJ zGEdN>_F3?&{P#y+?_dA^YRjxvA=~GIYm#l2{%8pL^D)kE!38DTm!*sI>hDcYtF@?L zORjI#jF|aBxwDUTDG3;qN9`4#R@JX0X>@TJVcWx*Cdcw0iJKNVzB zx2kW+JSHQzIIi=s+p?(Sa|(_{8|Cl6>YViYC(oKs>(+26Sxr9Kt82x!9E2y%k^J{L z<;={)Br#*>$5G7|cUe}m*Sd&D>KvOV$|-p3vP=3F#?|6$Q>JwUigOt;efbo9qq;sM zWY721ljRkg+6$z6?tNWXVRY=2?%5>&`|N-C|9p1)Xg~eBSZ>0rQ_0`|MEdXhGVPb& zm5Ywk+Be;pJ3;kQ+m*{_rH^cjQK-Ko)Sp*9-zzpRttLqNc3QHSbkY26nMD)A;j43J3cQyE{ zUteOL`^_b%i9dB?jfSkB^ep}RPx;v8)2CJF1hU_5t}E~o$vAX%J@du3eCB=2W?M~Z z-`MImh1uhfvvY$)O#hLDw@jDn^~3aZdb)Sch`K22d-TZXrH5bmB<)*O?z8VuT07T= zCj}cc54``rDUa#n&FKyy){~ho7CzNnv?e&}_0q+9elfapOvS28Yi2*V94=e2TI$8c z-+ImA+ZDC^pV;*@;*!_Xp^}o+ORoZN9AjB%$-jkE8j?b2>)bWcpypc$@>}8 zSH0O4efw(uyRbdIt9`d_w$zahKPk80`q~YqQ#<90ua)hLJbX7sp#NH#`|(YOJ=6s_ z4%*iwEjStzlpA$T#AdCDQHlAiGrC5vIrQ@Qnl?W4`|xDr!W-v0%;s4=oF6Lu@8;c& zigSy$AMkCTD0#Z>{FbVoxs{(n4hfoXyd(FvyUk{2!-QLF-Zo zoQhMk%ER2fcb}x~Z|o6X?e*;Dw7s5*{H`?-lC`xhWr7zl$YkE=H73+leQlUY4QQJs+Z~R|q!`igM!{zf#$_{)f-+b`~YgxuVt#|wE z=QD6Feey?4;I`V7-^Zr>{&c$5`Sj^p=2Nw4dP}~CIKHjyo%uc>F3t^e8Uli`3k%iNEGJF(0!EU*!9(r>BC)>gvs+36uX8%kia$Pj&k^k9XoUjV1JBL`zdLwBfIpRQ`|YF8Y}cpUY>ae^5k9zpYo64Z zN$Q(+FrQUxKOMY*SyA_E&QZ6CM}yw?7fF9{yzVmXcENuaRG{+`CBKI!L$SS%2cP)oH7{tE|r}uRY_p;_!~3yl;2-WEL&|@N>!? zhRdNpvrg59PyfyK(ec-*-sUH(k2ywlEj?9iBYQj0|MAVv-W`i)eaK(s`5Mkw-jpW zpIRvL^!x6J6uo)=YZqT^wC~-oA8&r?vlg&iLy0?On{9L*I7R zd`LW0wAj@0&!bPvAD_wzoU{5@_Kk=K$DbIAY|5psZHM1S=l!hudlt4i<*6|Du~=Tdf8o`WZhpF% zqQT=Kc&~NwgtN)h1;bB&ojU!1?cWSBy&lWrr01{S7PHJfIQRQarNpq%Bq!5N-LiFh zr&4vaxrBv3-CTZPv5VNm(8)V@FytrZnJirME<#sm(%ZvRYJTcJ)SPMKD5yFkYO$|@ zZu~vbd6Rg%wWc0;|OR>jJFn!QByu}}h2#sBvTd!+JQKOysQZMBh7*EYTR5v(PHKFt+Ti#>she@4xymO>>to zPl-{$jw@4MO=sAAU>>VjM?&&kg}CILzT@{?q>R(Hgf3@yTyQRBtIg#(Gd75Y{#V-- z^=M;3z`v7P8;Xt|(6*9OJnq(a@$QrK`2RK=g|{VDm%Zg!sbu{>W2x}g+1Wk%^ghP-kCg+=Kj_juHl00qb;;(1*L{*FA~6cy3Fy`9>D0U4@xb_&&!m&NThR zuNK}{^(}`vz0d1wsg>n?+eQC)4)JW9`s)1ik|M3$;eUVb>eFR6^SHMpG7NfM4|Mtv_=h?rI`_$^Z7=Wp7_dJX1N*m%;o@UA&q*JEV9f&nKz%D=)JA zS2+IdX5WOnRVRH;M>?FHk~cxUJ=^D@TFYtc?V&5rXny#7BPrj9L-*=)sg&8Do*hg* zskN_YWnD|-&Bn}0?20AXO!vO}m}qI%GizR~U&R^iP-J7Osx4jRUa_p@(*~Qp<_k18 zq}3j~_0%-*NJd$_f6rvytNvyi#1dRjCOpCYA4B2FF z*PXGGb26*J%;`D1?!NgjIU<19E~}(7*FrdXOZ0-9pOY6C{7>EMo*4UEc(2%8-&F?e z+kO=oBzhPHhH$Y8cKLY~wP)nA?pm|Yi6{G4w?p{MdV#D(mG#GLS4xEasa7+2%D~oL z;2bPxB(S0(Bt2IA>dT;#t=E_(Jmuoon!Eh#?Jn!`?A;~q<=}pX*~8D^sGIW>1HJI9 z=Go`-R%k?>n72_)VeRpy^PkNZn1FI<;vZ- zuz6F>mY`D=mrURIXI(PqDN;T0_SB)N8q>9-PKe9qw=~<9i|brk($aDuEUG%`x#g6p zGt2oGHGP`>H|Vb+b2R&!SvC$_Nk+AkCcQb$K1uMz-jmDM#LwSVcX6J7)58x-Ioz)w zxN0@W*Wy#5Rs6OGC27ZepI`oXIdY=r*-f9W<~pZzymn61v74eevtiL}XJ79R;$PK2 zEWSEj^oQYb^9*}G8NEN;Z6{Te!5`K3F%~&6w{pLyP+&&VDfg z6uPm>7_F=OS6yvXS-+cU}43Jg?Vcwp3*Qe|UQ1+FkF{Q)<1x>L*Qpvik0yJaNX~3#G(&f75rHccZIwo9aTZ zUx_*8tn1vm++44}e(k38<#KzH zB3E(L8#V?AGIy%K7d|!P*KN&5C!ajHx8dSC0c#hDTL~$tMw#1`zW$%oR-dnGQeb8H zV2||NjMZ(j+-P|s|oHP7z-a@%oMH`j&9yq*g zpZ$cM-#;3d7keGumb-jcuK$jL+qZsfJNxYRHtUj^Ar~bNsr{WVdqvOP;#EM1A^RfF zXuKch5 zkrc8|<d3tezjWBJ3$4&F_3GH(9;`{ZQfycPeg@`I-4Ot4$& zVsPT1bc1shOXcC$YRdUHN}_$N>c5+X+!LAh<;S|>ownA6Iq~~?(`@!1e|xiGrrs^X z%Wb!(M6YQ7@%!FEQRcUkO>_>d@p08e_=(A=&{CVoo<;k&q0j1Kc zU#+EA*$JOrt8OH{+IqICjuY#osOH6bw#t_2|W|f9JZhOYQI;Xz>;e^ z&wTZA*uGWV-}!d^xwf0rUTv~m@$05TvEPY0lY%Qx3f@|>%C4EyI74P(!{2K8)VV5iFRq!}<$2|M zzJ{le@0;aZdGV1kwQQWXCF|CSh0p)G)M91I;;F||-nW|xL_RzC!+T@70{2D<_Gxpk z{NAU3!LIA{83_wz_Ojb?B@2oV^F`m2KY1l4nC1Nq$D*lkDldJ1Xtk~M^);dD_WpbK za=UE2oY;)pwa>0l)Vz8>ds4XPzp@^sNs<|6({B`Kz5E$8xh8$1{dD!Hv`Oh~VozT+ zJAran z0@6HPe{XWWU{vu+`#_Mq`NsZbjSoI6&0>6Pm^W$v;r;wGpRE6ozt{7h^*`R3PtI@n z<`BF4+$K5O;6vuKoxjPPoX^~@zok9OnPX#fV)XHas>f@r7N#9tYy9f`(f123OkUd{|%NE`FysNXf)hv1Wo1Ki+ercV1?|%AV z)NiBHCH_S z^H}7HciLjk6E|5N1bNo{vTV>>trlOmUQbE!+}p5OMvSwIt{ic@pQf_;gI>Jbz|Y49lwn%42zEL zc_KEiEq0PKdz_hd#qv1u#SHc{lzdNQz7~xRPwjhCFLsjcQkmIC(d|y*oN@Pq{#&#@ z(EZ7&dvpmO%Z9dl&p-aWVKY<7?en1<_uu!o&epyv{d;3mbf(pgY{kBY?%FuFZ|5gZ zjXOWnr`Txyj$2PozrLy`bAw+m>$J>`{<$-~0)IY`kYd=)#J6+_ubIUB?kJhZmKh4G z0(W#d=yiQxeI>MF*Aw*@-&fr)Iz2Jy@7KQ(30kk3W96*rs8@aR=SkGG#X)>ZTReoX)R z_r~X^O^1H%-l-WeXO$J-fjN0eADOl-Hh6V(w&a&bT36>VCD$)LQ5gOE%}e>G>?HKMQHkbK;ddd>Sgqx#Zb_BHlz`B()V^;5Xn1rOhQ zSW*=b-5C?)EVz$j@yy_i&pyBAxXtJLrK29%``VzeznI$b!qZ zW8uq$&x_dRy6jBQW{|Xt$>#knbicwR_wbgFznA&wzl^%3*?Y2ek(rOzo$E%L8&B>? z%zN~&Kw$S%g_nzt)&=fg_)A?cVX<6K?!6|_b=}Ke2^Gv%9X<*{4G@+pX z`r9>nrKbw*oO`KfaU84c6qB2hxf;t49zOo&`+G^#kfj=}PIEk`Y!lt~J$pvH39nI~ za&J%b6937k#FuP-7e2*n`7)P(Zp(^OYc#%F?y;OwD%GoIr@Q!~PVgtQ)s^r4I`{Cr z|7QPVYNULgQ;)F4dhz_Jvrc*V#(WCSb*s4aV{iW~vmBYt5^}zJ`a3tgsn+z!R+-UT zwCgUHwRVQ`+=Dq)bGYYkUd+3tsj2cxT};ly4ZYK%X3VqP6JGgs?LnCzRl2)7&#<9!d7fn71t7+Wj+w zw|-e-30J+@mrEK2jv=3JGaW9?3r%xpvD%|u+a6^(VQocZW@<23v^gi=UHgKJRXHs@ z8w54YHvZn7Y-h0aSF+|AUd^YG9--V9nS`bq6Bg z-*U}2A6ypaol`Y<`}n85gy3rKy)B8Fe!(X$>zivoSs7oyjqTLL_J!+a8%knmyBSh6a~Shs_;XS?#Mc7nxf{KJ|BynAD)LMMC(?#U(F#ne3zj)}$8oy;&5We%$!{#zP3U#0?`!sHI3fGyRkvZov!K6!{(VY%$JA&bT_Ul; zJYH~`YN)>EZ0z4O4Bd?U$$ZAnd~^3 zP4%YIb~94)IjyVqcy>FBra#x$`Z<-$nnqtR!J=bQtD6@Hz!@FlnmWny|H9}`J z9sk4Wz;9-3CL&Ml+^&a>$fjL(E=F^hRr+1!}WxIOlZj$k4Vc`X5 zOJ$2x-FR2McG#X+a`;)}soW4YF0MDH^HkHdp6xkxX5RdUHm57D*&IJJ_iR4JBleCJDwYanY=7dn7yey?N#XfnuOJ7iuktgJt$Z7d&^o?!}32tf6I)sbzS!=R^HzF z`AE=C&5(^Icu4G2z1@@rMg7A1v|Yw%`;= zKBAVYSerFX|M|<0_TMHt@0R(Wls0o|3HQC-i*i_aGQO#uYn&%AB|$xrtE}-(;Ow_w za%T6M9e3F6zjDTF&tF-WPh=&`UiLxY5I-lcym_kLdecc+ETvjYz8713jp3c$$NTf- znI#`3#FaNq;0U(vEiPX=ng7exDH2Osi}&2^Tsg5OFTf@7Nb&>uT^BPHU9Ne**L_dHKpiG-Jy?Vr^1;*;;nPgy7Vem74nu3SBLp|e!V!`d%#@2;J>Z+l+r zb9weEo4`%mr&`|F(z!RPTkUqt=_^OW^?O#|J{wmbw!toZWot$7%@u_kOo9UrXGFVR z_*YxRnmnDg*1Kj(VAAa!$OQ*0pEmX6JAG&fgx}h%q;Rb>8r8pZ1RT4?Niq z-G0ElIko&~yzcI|_n*msN%sfOaE6;!ci$AM2@9KU>j#Ui-x!;1G3d8y{Jf3rFAEuR>+?61)_)(Eqoxm@nIV{0~_ z{XcufU7h@86B_>UsCR9Bu0Q$Q#!&Ol%kLgUHeWl&^7pxgv2y7H-^ZyF>nFv}+gZkH zn7T5{`eVpNGm&KlcKIth&9CT5MV*oUb?-~7_zHJ9Z5 z)+wJeUpWWlZ4x+WTkY(2s7-PE&NX?`D+5`6y8q37&>`yUu-i#(UfbRu#_r$eUsivz zBJ_A(omb=o=F2y8Z_G)))oocfKl|zOIhG~KD+FE|NKUU3Ue(3@r?dJ+Rbtq69*bpM zANn5Nt96sLU*dD)bXQ5G(9Pe%TJP-5E+50xWigd{hsHrCd*muxS;g!(F}cZB24ar$p8hpC{kxto=FRs7ss)Bm6@PeqUCN^O?1zweyH9HBWOe0? z>{n}cBW9QKd8M-#ast6 zzRqho_;dQUXft!G7UKtQ{kiVTn4hUxhg_6w+8TW^w&+57gL-Mr&jy{qPkZZwRM}hK zm4t+?+UWOJa?MLli^3mKH>NtSx;!aswSMy=(XQv!MoPREUjO{KE&yixOu^NzkulAia7dy?qUF3Wj}_uXt_0#$it z-8dt`{b{0e($}o0GBxLYK^H#;mYg%6Qx&MZ_D+532EPY$p4eTVTj3=9-09RSo|R2U zHCNx>y1n`Hvm*tW9&gsY{<3t!yBWnBH#~Wq>fEDM?DcEmhMfjne;ms;-hFer!esHk z;P_WQ@y4*gUv@xotjapSvVuXpKGTFo&IsuYys zIHbw2+;PRBkWYngw@ylyVXN@|nC`jSv2Me+L-~RNG3^3Z({HA;++urbJLjlb&oYbs zC(mVE^I0M6;$3ad8r~*%VaM$h%Xy`)r@Q{6f2?R{jNIq&w7u!Vd&&y8KhC%& z%sk<-G;i~?mr6VO9>%M4`5ww;exj)KsLk8L^X}{ufAe-$B|KyJ7Nw}kF4o@2P9AZMl2P@6zMSb(4;=9g;L<%Rd*hLfHM7?B74P*NR*mPX)#9FlO)XSG^dsCrh)oUH|W+T7nM%jqWYwr)PoLCq0Y>G^n zrtOAXIT2xcQzKR9J~4QF-_yS&Uc*?K{hfKJ(@%Bw6Z-|0v2mvSYL4OgSbRP=saYq>_~rW~xha6})p5&Ry;-r{rtKe7z;)*-Yow&1?Q;$9hR^GG~qIWxG?KdVZDa zeJg?Izpi|B2vZXYkEp$_oLzjOocGu_yAYG+$6l3Rr*>&^m&J-6JKC_OoF}Dw-SL|z z`9u|diB9iG?rC&zRQ~?zRmJyL-gg_%8~y(&y*_W-`7Q61+6vbC=C~}rnDDvzWx+E> z+m8(De zu}v@kac7+5OBY?%EPN|(9=puJ`Je2kS#$S0s&Rjs^0WTiD%u zXxDnqg&mzrlE2TcaJk!f^Sx3~fn3e5Z&CM;TAO7~F)+_~{)jQE{^i}2dnxv7D?(E* z=*F*_eK*Qs)AhWb#Ka?;V*JcXr!Z_YzPPfT@#GaHo;@9t4s$$-URBTE<SSY?=xLnu{9)*N5^V0_n(Y4 zz8|DkYbClaw(6a^(m(ysH?#9myZzp8wY+ijdDWsu<(m=;vmfO7Sw0Nu-f1%B)qdaf z)Afyd`RS!h)(>8u*)jX8bG+oQmej+SZ?&H4`RpQW?aX>{jg-ok(3FO_35P8gn{RF~ zKGk$d+1-Lm{v?yPhT`0=X}`ihI^BLd^Dmza|IzCLVJ_hxC2WLszP{j%zOhHV-i3Q- z)2@o=8b6*!Gq>b0_!;WRw`e&8yStR^xM=RZ>%mQP<{dknwmtJpa_3r{Y+HQM>v_Ji zFz3ttt4^7_xc2t-rAkybTQe~2J(JYE&XkMe^oJMjOiQi)zi-&hp2Yvvb=J$Gq-8;- zdIl?Mty`nii)U@gSjaAT^u}Lh(J7tMx?lN~YqLcyk{oVl_XJJM7wBofeN;@Q@9Mp& zNB7CK7GGTXd3uG!`(x`^uk`+rxUjW*?fwNOD}(^Fu5$eXLmb$(*vcYR|+{-Z}v$_ z+^W;0-Dm5tcV3%q#l!ni-x8iO{A5hwKhd+w;{E^QatbTo?lGyK@P)tCeu71P1Gn!( z{$>AUoDDUv+S@i_^&%W^NFP) z8@pB0gi}2nrkWQg?cBzYylIi8rNOpozuaBE*ll4sI%9Q9u*0;f^*kxs3yf|mFMQtd z{#-$8q=F)oseB{Xf@7;4I7D`^E&cVDSvhlw$ZMW8Ca?ZpSME_Pztm!!^UZ3p+RJr~ z6YB-@8P1+M!gE$_Vg1MGz^U%DnqK~R`QCjC|E^2DY~9;l{N}s!;k|#e|3M+6@2nT! zI7WOs+4x8I_j?bCyJ5i!Q5)88>|D5v9uhx3f3BVaX2dkMkd2^)+B@a=bXz zbAIfP+fV1Ob6)ED-O41;?5q8hTk+Eu6np62vB|1fv~s>*`!Sxr1L23SZ&g|B=$u+| z#zdpd_k`b*zbdOw6f@t<$Y2%UKk1?_+e*flFM9aQ67ApKl{#|%&^MROWgog*tCx1^ z38>9^xGR{+@Qm8asJF{M=bAR27{o$4xS)s}E**A$lFubRtxLZhK;o~AnE%U~n5|8B(&T?MN|Bf7BnOnag zT`ViGozKy&W835CogRlw?wM;CD&%$@b!@rZzhKW4j@m~uBG+ckEX*!jcum4iI&$Kn z%P;C&+!Izj+8Xe6UBK6K0blz9zU~Y7IxXPqwt&*b`qGo0{9rqfKJ)ylUxt5z#Vy%& zvQ8#?|Bd`peJ-e;>#@3v<}9t-TPC)}UJNQ-c*|Sd(nB*wB75r9Z@wS*>V4wsXOk&= zA#XbM?w7{@$NxAxe0pPjSokm)-RI7s1!dEyf|a`?}VjwUP2a^hb*=Wge3VhfaYzbP*h`z_DA_S@pNqdR8U zyJTv|dXC%Q1VkEKBFZ$@Npz?yl=!puWiD9^?B3>gx~c zb@b(K-QOm(!r?_#sIRTNyyfcUa{HfrkTR4_;{H@}`lgoYU8lVVrY!$l)swpYuRY(7 zAAI)vj`o-Rneg$k^q-Cg?8nUO#6PZYS2{kcTTJ$hU-X$<|fZbE=DPJYIY2IVwu$ z61Ls?kalJDaqk*-{X)gvUb-J;_wETWUM5~}<=o@r^&b}t+n;-Qod3s1+qx198}0%h z^=B7m6nTHz&+mQhPRG_4soWl$t}%0_*4(dOo2(oD_~i|bw|$WnmC-J!4Lo=CGtOtADR(6}lvK~Jdrrf6T%XW?q?+o=>Q_VYe zY)`n&dWb{nl~qGw-{Q#G0kZc+zp9G3EpO;)-B)t##8ruHf4gE%JmO&AC@3e(*4A&e z%*FqMw)y7STl9{3h?lZlu6S;-DAKa|LI~fDzn`a7_1t@B`L8+L%vZ{+|^V=_fap{8jbL|)X{wJ7YulJ1S>qWbd94z;zr5?U1f34u-o?9oP z+N4V7xmCOs+~7K6UaR$mWy@vT&#wObrseu0Uz623&N}t~rBXNEOYVtyVIUBB$Z-y@ zd$s_(%u2T6weO4VbWGj;wMAUE&e(GPNUz!B7XdGO*-Uqym$=z?CA){W{d#c!PCMoM zx7y53&9>y&dBf*La@FGk)7w(XN7_qf2xY1rbu<>TTpzw%@#sR?=$17+IkuIIv2$mA zsO|RKK5gF8np& zuY2m_^0vc^PE1;Sdf(S)7Dt&ZN*{iCx?Fz_TjMFA+yjOm)-25n3;j6%BHJ3ydgk3F zFIDETAN7y4PkqahG55-;{`f$IrVo1=Zc@YFQdxNZ5F!JtdhKRp17R0k$B`h zO9`&z^UcR~zV-_R&041PUSs>ETL%QSw>-9cUy+{koS$mD)C$ zO@?VjtyTwToSbSI_$onqy+g5nO9P|Z>6l}I`TMy{rt9*l`WCjUOUt}DxoBR-ih!6; zN3@S??R?x8lCEph`%K#T%I{T^_!n@tFW__!OmFb#{_xWBpUE5JmxqsSAY)K7&!){y17{z881w5#=8yO*Te zd|YH`yk(M$g}hn1bNN}t?vRO|fx1q=>~<%&mz$>;h4Vyjp5ISQ(- zwR2v<5y&E_Q>tSXboc7w8HXoxy>nQ!N9rfbx<$%0v;Kb6OyFX3O(x8p;|v_h;7U{VKVyAG7LoY0;e=>B&!GX5@xfMAbVlZSJ*l)M-jN&nbFBGHYkN z+98b%+u5Z{i>GKC_vjx@-T25VF`V%}%d8BUJznDXSW~`lVo|R)$n%?}+h+5uwo~}) z&+}1RQ`|Pyu&!LbE7oUwnDmXQ9{svABiV~L-}rwyYqG+@f9GGNCx5+qcca)8mD7@q zyK)xm2RnZ{HR?F4J8oY7R^9V| zu4`4nlxJ&Vsw-l}9vv=W_U-?5ie<{>x)R??4c1vt%Qjk0J#p>PcCR1LmcGxqtnQ@k z!M7{XxccC+x9?kPUCwM$wC=05oh*=Flh1Z?&SKs(Z`4+2mTTPT*j75b{KE6gUw*RG z6!qPoFLdk9Mc+SZUfBZs75Tqv9okay;gg++%=O;me(B~L56+HX^hf<=v3#xGlJmh| zc22b0e(|~9ubgG)jlWd3*p**e-fq`_`FZx2mkZAOe%Z;I>|XPoGkw+M)m*a=`;*c=t#|QfOZWbJ)=mbCs-~U2V%;r#W~P?QCck+xub8!w23| z;y&*3NIz@Z#pqQRl`>~)LPDm&#)R{S>>1>3Uh+$9+4*|IHL={Bs3T5iBQE*s7@pr+ zennnGX34$E13dTdEUJ8S(>bd2(~>PGIJuwAU48cSWg-6y``ABO-DuhovwgX%S@Z<< z)CoT7fzLh_<=?dN{=2=Uv@TZpS+RwU(5so>W=vdc&*XnY_hrdMl}ERyzFNAaL)a_o zdP}Z*h4WD+lpD=A3SZ| zl6qQpNBZkaHJQ%L7) z$H6o1M=r~|r!e-N_#PH=XC?EetSFVntg2bppM3GT{O#GU=387+mz3r&&6?#JUNlcB zm(9QU&9Oz6y}c(*Uj4YYEG|K{Cf`LmZjrwXOPS-fYehD?L6f_(cY3JuTx65V61%A^ z#CN!5{_>6cQ#7tmvTb#Wq$Go*xZw z8}~l#J!ZS>qwiaeZ`)n!62p`PU+S>L2=nPZvAyly;#-onpMBP=px?!=>;LsU`+KqT zUrgr86#eDWQ{#T<=xuM`%U`-@%CUu8Dw}JInSFo1=)Ro&;YCrQo_J97_lxOk?#>II zaQm}`-o?lBg>>I6D6d$s;o*wBR~kLjVjiSllkiR{tH0vV(wurDs(gNIA&d9zZ+1a@ zHv8JJO<52%?S$xrtvfis&*cAhyZys>My{QjtK#N^b!Ud%$X zHYZK)O7dBF*1gdEJNIq>wx%CjcW|CpjJNX8x!bkfuVbF5`COrVzs!3VzO(6wb$z(8 z!0CMf`|eWHd#9ofAIz*dbS@zMXp5_K->O=+&fc`Q^ZZorg-(-tucaz_(Jyme&EKC< zyA#~prhoc8r{>+cS(b5*hfS&)w;Glk$0yEmudj?9_PMc9l67`aek8{k!7*(QVH=E-jER+4%0L+R{YTQvb-}Z z#k+m2clr76U3O!Y{E<`Z4@|8;BDC|?k@E|ybp>bt*mXVJ-_KzQ-6ir^>wS)KCBt3AJsKuXI@&LAI`NkR&rg*Q|BzvYlqF=KaRa<-`||z z;>ebE`9z}Xo11QSZ)dsBT(7b8G2^;odpV&H8OAcUI@tXqkPT+4a}@-sQX- zC6@C?6S$6_jDDE* z|IXRxJ^!P&MDplAY>KU$X(Rt%Zo{d(Kffo2?u+%bT%zf=cm19oS+Ag|sZ$OpYOgQk zI{4$DuYtEaqME&TJ zg&%n*9+K|tKNznnf28M=r8V2hZ=EUJnm6~|12Jy9yu5wnee9#}dLMU3{>c;Df4<{> z`jPj_kG>0jtX{t2n)B6nZ(`s2O?E=+d%mt)Xaj@1iK*l-hqY} z_R##_jqoVthATZMo-V1`&b7ew(yProOs@5uV4d5gz3O_T+|Q=p%O^MQc{?}e<4Q3tr}&RVOYhS?GvW8@Hv34)H*G9((^`+ef3)hWaEirL-rd&Dt1_lXnK0O| zd%;K3h)=US?iW>fm8{^c^wHkruhn~zoRxV`TfcfQ>hHz)N~H|}co{x#y>FS^L3 z+vv$cKEBNYm!to`PJf%Y-=taBB*yB5k4)Fn>lzd0B(v@n2*0pc@=eiU)d%aD-@5K# zx-I+gKl{sXlB*ouK?mV%t>vx=4&7ECr@L^8$^{XwMPjb5uI(GQ1abRG`mF4)3RdEE z<+A%2QCgD4XBFP%AY~%=$fD26V$mb!qk^(Bj;r@{g+z&L)o>DZvyLh~9$SLQUAwa{Q%=`f{n_xzFj!q$>y7C8eW@Gx za)KYQY_GVUW9%BAQaaNx(ck*qha%mHx6(4s|D4x8_1LX-ukM_lZNo0R#`(IMY?@hn zc6s~is4IJZn1=N>`2U)~w`POtP42l*j_F1SetVOed-TqR+4+W+q1@kz3nH{8C=q??p{%S#4#o1Y=8%~wBD=#wpzo9Kb z(a3iCfdkrI@tZy7@2mE0yuH%s>}4;9nM0;r;nc;NH;fB~XearJ^UN6MgU)1MGeA~+Dd(l|ZooDa9 zDVBArN3S(J5_>-DhtoxmIiBx4nhGB;NL}zT@9gDDo#yblg_rNiE>n5F;L{qV@`l?> z<%HL>?JsGbXt8?YtBa4$J$sV+N4@+_N}o6D&vWx9hvtRvKAK;uJ^%m5my+vrGg5al z>lD3xJnzeFYnhCX35%YcG|l-PRsQ4VqQ*TESKlQ#i1^Oqn~)q(Rez<&d+RmE=~1%D-vG{{w?3a^=jJM9qnk>)9#PR7S)9EE&lTs%a9zG^Wyb_1ASh56b6wx8=OXs%f*1+yvn#&Zrh*9W_;Shq4b%1^^rr|-K&ZoXzf^Qd4Ie`N|19E)cRO=d?7HAzkdDZF)}I->G{&{yHDHDN;4--kJ^PE~OuHRIxj|W=f@g(D@(giB?Lfk?m}S zUgy#lO_Junnb5Od}l06gLWiBP!@V+!?7ya}@IjubCOx`@#KSJuw zDRF;eHrDJ;c|CWb*_1P`l3vqUO*X8(V`}32@|H_%ciG{KD${4lTyNS@zU$)KJ5Fru zR|W6g;1_G<5nC1g_|@Tsbqbxm9pc;P&Cb%;9KW(XV9&Ar2i2kl`P++U%9dqR)HOwa z@Mb>a_dxT1%saUQm$diIJAUO%&yjyWD*e95bsc=&H|NFNFS8yb+MSxHD`5XWCH3Od z2T5O*=L;Nfg=P4Dx^Sf-mA!m$B?jBm$yvcXn+VxV+)6BJgNgNS)JxR!Eqsg9$ zlZC1`e2v*WbMicMtt#!TgkXkK&wK+c?)uwKEH{&CYWi?u*Od!wtHUETn;G7OS~l`L zwfh+xx$=%|y>Xan^QzBNxi9V7b81qBp1Tpt?QFX=U)!#UhnL?`x~zF!!vDRRve;`+ z&A#bIfiwQyS+94o-mmlbQpR!i!Sq;mhinO83N_8q&+Q^0S1&+A;_`xP0M&kraWTE3pw+H-d9 zm6dziPMta=kR*QYqSBraHQnAbX1{;*XbS~t2>R{%XVky6YQ>5}4CRuVsvT~{>;D_- z<^5)=JaG9bGl97Ll+ziz z_quJ(zSk2TJvrvB_NjN*`)^)u2s}Dt>Cw1#4oV`6XXS>*_?}8xY;^SY{flkyADQwo z1{_nbJZt+g;ogfKA&U*QAFyvbxMHtf;BJxmr*4Hi)L6Zpv30%2%D>k;Z_PJSy;>Kw z=$pOj)q4lFYD-UQb9!{-lvk%UGKsY$ ze0^fN{>t9IQibm0l^4`x*njqX%KxXgljZe`7tbR$%$sxR$6c%9MVa4KQ>(RAqo2Ka zu`6#vTdTCW@!P;18yf}hUzPK z>*NKeQnrIaoejq|uA6HW9pK@a|1qs-rnkHM`844z+B=#5*Ht>)lFz?2aeZ)0@Z!bs z8zqm+Og3goe|P-A+@8I8f41Myw)kCtEUwh;=&Ly_U+#(+HT~0O&9+t0XO!qQnAbLM ze@*#@n9Hn>Q=;d|$ZK{fu}8 z<9mL0L{^yiiK^UBHvcj2@1%zZzFR%6-u`j#?H_UZHS5jyF&`^G@S_fl;<9Vjo9+vj zxUb#w{+pdb3xroIx{3vsnWQN3^FAghz-M_}Ohav3U=fk(B z-WOPN_=Eh%7hCr}lHSbs*mY){>isoQM82)H-%yi#9dZA_$nkyJOk%{=eO__S4%`>ekwRN)T^7x8``@X7f!;r_U5%$@D!UHnm-O zuEc!)A8AiJRWJQA=}~cLLwOc;fL~DO{ z!OysvC;JaSagp`gcv3k(@9AuN!{f^yx_!>^NnWkrc;V9IE6+Zk4J>{m`8OtJ=MJ5` zAK$;Z2;QH0)F>qLI!>cxZUKX4=_d~~rlfF&z{`>xazjB~j)7!c$SM&S-Pkb_; zEEGCcB-~yeT_&IQH}zlcB)54>>*9bH@xO@EhB`@%O zTTNznwO7Sw?-PtNl~onq>`|MRvg#ad)6IB$VBt)`E4rrhUrS$1Idtwv>fyR6mMRz8 z)Y9)V-m3jGkz-e+AGcCd(Wy+w7Uw$`b>HrI^&>GpJ}I^)U&!7i(`sFB!Cc>kdcRm# zd$Ana*{Jk)s@s~0#Yef1e-^UzjK1f?_)s8fweEf2_r8iEryl(ih?2kalH;52n##!q zGvpjIU$rS*&kp*$ML?^Okx943?3n6{#d}Xpm6$*ImVw>t{TpW1JkpOpu~5;8^)fT3 z@A-!9_+@lI{q7K=L*vYyWNH|s9GV7>mB=GHkM+_q?xBqT0;wl(v4 zX#bt6vuRG#R({*PsYI^zf%LXR?jM6T>rcCQ-+P|r7B0qD>v>Kqt817G-OvbMC|+#u zs=qJKUH{hYo#L%OFCBLltElT|W`48AJDrL3z=}J~HIFUs-?zAL_3LUy)X$(*CbLxP zW+$3$blj%+;;w62;kpe$kE|y~sD??VzWr(TW9iP@k3ClN{Bi3p`LM+7()-#g7ncPX z?_GGhl_&q4K+fWjXeGfVGkj;T_w}V6Vsx}Ld0i3G{NLnsca}QSs`bX*=KD6yn)WKv zI#96c4V>ajVuIPtTop-Xu>i%Jg&HZ&JtxN7v zalC_{$hMhNR}0#AJ)Zwp#`)us=N96fk4mC_mMASr5n%o>)APp)-7S@}emzgNp7{6i zzGn3)sc+T4d%A1m9zIRd|0QE=ysUtG)5_%<+!H=>riko+z_Pq}uV~15+qAX*Z~k36 z)uqqV)0dKP=JmB#W^ySy2iyV$!-U>!zS42XeWTCM8IkM4w}o8oKfA9&hjX^-hsc$x zsk3K1Z43V4!R;pYEcjVe7t#?_a^Z9VGz$HIPro%h7$Saf!x6hmzmiuUl-nQg|)+6tB zK03dD(lLWiXD90fb{yP$b!U#C=Us;<%T(VxsI-VxDoX3LCGT#&A;Tx-UR-cza{j!$ z&Z+KBFI05HmMlA)x@g|r*^^dW5t^-#+^PS3-}CaF3)7a}H*&jwLV1gRUcBmko6AaW zb&jk5`^;>8Aeqc^I=Ayk&}!xTHpi8$ZW-=Bs4LU>dh#7H+uLl9rJ@5GG!0rdyce`c zE8tl)H|x7#^72F8Nz0qQ@}7D7z`cLp%6A?&SN>R3)w)TsbpOfAd$)uqKeP>B(&na=Ow7udX?hdwWs zKOcQ0-+uZPrWU_gX0gC~)}N0E_b1E={yXzVkS0@v(|75)-xd~ZD>fJVy6!*6*Lml^ z`Ynr}zp47cH~VKoKF;e5c{_LiVfpUwH!;Ll&+FAvxq{i>qmE2FzvArwr^1Ewj|q4Y%!c z(|hH8bhc~Zq}(~CWxbaU+?+r0CVTKVlbB^Um%VxVq5AjX#4lFgbfixowmneuIV1ax z$je&+QfAY$bPlN-@qe#oJ7ey@rR#O4P1ir3N6!4=mI=Ss@7l2H^3FfL%iK-;*V}2{ zU0-s6rBk#%eZd^TJC(_Sx#?%0&v_T?q9X}+1neYt)a2p{w}(&_eExl^uxpw2U<_p{fAz2%KJ^7FndS+8sf%J#|Y4`eY0ktP1n zY@6i#gUescZQ1+n>+h7+@Av!6eD$}iC-*?7ni=0MW5?TGS%#8F4*RHe?BNdnc-Dy9 zG(%zQZOxT;jgQQ7(wrN>u<`o)!$wvm3hN}kpJkNWks;!@vrypH;gYiOri`mrk)BM; zn!6T0xXE?-ko3hKuEJOLGu_UZ=#*Q&zdCdN%j16S_Aa>(nJ>)ZI5kVjXTGD=+|Y>z zr!C`Vte66uK3D5#QX^>$36%x9kz_PDwsn!Ov?$ZIX_3ocDWN5Z057w zJQP-+b8Y^2_0=={FV=m0bDVQYl;X+RKOQ)~`^D#X-Xd)7f;$a-HT%S6f4n{Z;sCEa zbLX|=tGC?T;%7L+t2Z`fL7?Tl-4oweo(uP|obplJ;s4j&S{Cu1B@2QV#q}x6Jzgddlzn zHbjK8h{ay6tf?%wex9^%J%YK#J_XGm>v?V_@o_+Sr?7%+`!F&^4jdkpj z<7UnX3fJM_pVVy8q{XxD;oRLu$2M5qSBtYtFkR|&XwPXzt~(uj%Aaxn?RTGjq1e;b z#6I{bk0uL zIOB2Ix2mJdI=3xhlH02i z{&L#={qfiAaOt`qsoNJynXhts_wpKl&)r{=von^=mA13G`G55WnV0(;Cg;bc3zygT z=>U#yIo-`V7Bu(cR9EXGd@Zi$-v1Voxxd=%;lh-VM*-_Tmd>8h zDW(4Vi0p3;pQQZ(&y4)@I>f z2`iO0)Jfm}dn$3|tk%a4H=J`XuS?gTlvckcdE@Ud@1$M?TCZQIw7xoX?OxulqI2w0 zP5G}kguUD-zUtk9ip(fW&t54u!`t`K^(zH06D}I<4%oU{^6Iyn z2M<>lfV2wo5(HKWd7-ldLLQ453YBA&>D03 z-(Cgd?{7@CEKi9Y4s`pyL|DF{dO^fP$qNPC9P6D}MEDM~x_@C6uD+C<{cLs0or13F zS#h&3u?MT%KAQKbA0$N^RN_@IIOQwb8>P32RR;n#b5NljZu{ovm{1RWWz!p4_aeDb_alpCEMlTQqyt z4xz}~2g2+Z${bVleJSwp=(pur^515ClH$mTGKgj|t6O{7V7Ju9R)_P;&i#))cIC+P z|L4^Bx4h4s$$HK~pGSD<{`arH?+Rm>dC|UOR_EQ1ENL|x*!#4Oyin#`5c!91*`<$; zOc`gs{9-xGy76T%U%q`##XBhm>9y~VB_@aGGnt)x#ALpg|Hh3U|MoZaGWtC~^|(*} z(}sdByTHp2j%?j*AivFw`Pzf(qhA-C>9%A1Ahqn>-mXg=|Ch(KTjxd3W#j)hTgD`7 z%CYC78;{y7Rqv49pTO5(;gDt4_RRc^%)0&)OCmyDW0Yn2>Z@kk+_;z7e!A1UX8P$f zQ?wJrzAK)VG%@&k&rL#c#R>s+n*<}x>(Lkg-@Ufu?CJ1t4H*;pjE%K^{Y{X~6`uB@ z{g?JL0p)MOeV_HVS()m6%36Ll=KjXZDSf)D@(((%z29&=|5ffBEI*y{;T}s$u)mdD|*(>?>PSAmtjT9)$c*= zNqxV!d;iFQ#-%Z+x@+~$T;5Vzum9-&j0o0AOH9I75?IX+OK$z|69Mr zyZ@ghSa1K=-sk`7m;WPw)ld94S@3A@$s_wti+}(9v{GTsIY(=V^w> zFHl{-uC0E~)x!T4t4p`aiAgBWyBb#*tSCP{rn%xPW8pQ0bxRob)s}2!J*lzPXglZU z|8i62T|fM1{;n`X#TP5TGpyZm(_Z(=_umQjB}=FG2KHT8nH{Q~xa^!{6o>j0_N2Ch z7Fi#jr>za`Su|JDS9(rH)WTg|jM-BeBmO>`WqIqOj_DNJzn>I(D__o=D>wI^mDYjz zH*fy3W%ZhJ`Q_K24-yueBpHjo#>&OFhIl~pp%n6fY^bK$0U>n^!& zkvw|$+qzy^x$T)#7DP>3@y4-qx5d4F8>=}kAMWaG4UTM5)SITM9&Q=3d*OMDnTF-+ z9HMu$7pyp-X{Y?4@9^KQbk=8@Vjs;HP3x#u3!Bct>F@qU_|Wpt2@7n6w=Ly9BOY<& zy`|?J*}i8lXW1V(I>rBSm$nl-)5|KgIK>Nk0Z|tY9KWA<_DAcsU%b8!@^4J`6=?w@&acf6Casrwrs#XmW5sjpXWln1dF$W%I$gZ>X@bhmP10W7-oM*E zUWxau$jiL{^3S{H-!K38n^Y%%=KcOh-xdGNOFydilxO9JaP8AP3r)LjxX#_p&!^M0 zJvc+Nhb?cp?%FGn+j;sODl-+D+ZA3lD>0cD_P=0p`~`w&puG zep5L9I6SiH-u?3nb7i{Xp9;0;J-SfFcXa)uMHgP|+_HaP*~$8QMWt?u9G~S*C~bSS zdq;u!4z~AeHZ+RoZ(VyUhi6vCZ;f7dvr}189ew+JPCwZCtoomQ+uQ!m#OTjqH8<`| zJ(pTwA3ry&a?QlsJ$BnoXP>cOBe;D}>&A=+5r4F#HDb;@yx=D1UK4-h{@EYj9{slY zcdz$-OwD}9`%;H%Hxw$}UL7jKA^%To!U?x6CtujC-P3(3SM6J#igb2)+pigOU280^ zG^Gj~m2TQ+@!Yw?eEq@KU%L!*Ypc%af4(_qA%Emnsh=H(Umki@pCo=j)}cds-m#$n zAz7G(=8cros9RN!}fMc@GMebxzDV@qgy~%aghO zHBXIQ(P>>j&H7~LoM-tTO?*o2b41M-Ofboky;vW*m+_elm!{yi-X+>T?$O>UE6t-f zT2BAQvA3a&^~Cqr7do?N&A6c(lM`=fkcz(_Or0`o87W%ww4%>fp;g(0g zIYOF`-kh`jchQGp8~)?L#rb}fCc_e{EfvupYxTe*~1e3dWW zt@-@Hb-!Mr7k?D5?k->30RI(P`JcAjys4YypTMC|!Z}quthy&V`w(}(T5OV>)6Tw) zTxIDYAqmZsZk)=^c*CMJyJK(Csx<+k=d8?b`(E7dyv6AE`72f2+wInrDIEOtd+B`M zZvi~V+viU7EbtC$m^%4-HtSPs_I1%NRd<#j;<#`<)vPdi^OLTtpEEd*d@}X_t$0~N zX6^ig%j{;hz7{(E{hRhB(HYNgxzyQ62gdKU+H_uxRb%7QU-GYrp651sA1~nZl>k&CW|=^jo!GtL!C% znRC{E@#@D3eBy_8p1AC_X1Q!^bXxb>g+k)zJ{rezJ6b%{tG)C+uJBT#+=P!cF~a6f zzn)C2I~c*3Qf`+O|Dqx5qMfd0P<2+^>DTl8Q~4cl_6Pjm`IT+PznM|?=L4>KOo#*eOVuLb3wpN%&a_4RUihPW_P-*1rTe#e9QOV4WqNXJ zUWBen&35TPX*2bPidWJ+N4Ca_?BC$yl%Jn+X@SLyd;f&bUpZ+oQG4$zwFCoO-#uT{ z5;n9aZgBrz@{lWk^5PShBR5a1QhvGrZ3tsy;)jBb#ga1d&U0pPrY$}2#z)wEKWAjh zdd9N7k6I-TtWz(oiTL-}c#8a+B7vA3j_V8OYwzok+!wTIYOu~Swua+BGh22aE$t0E zan^S4!IR4l#4If_f3rU)eNW1v-zHV*GVd?sZ`RZ``S$3|+aC4IhZn9H7Cw|Xw)wU8 zl&KvuYRZ|PH8f{MT-N)2{q}+2qfOH99N%Ognjs_>{6y?cwc+f&-ihHm`E_qxJD^~c z@Y$dy_}1T#^TMJz8%p=bpI263;Jdj0*pb_rkNO|mB|m!a$6U9ol>PpS-oB}RQ@GWw zUvElaTk}qK)w$aT=I&>BFMh!~)#16g)ZG86%@^&F!;CEV`mDqRZ+y+&N=k^)X*yWPU$(fGp3e%FYu#*+0G z;&$P--xyEyy|?~;zIm=~nn*|WWSK2uGwl6@&+ku6E#J9!#;wj{9cD>Ac6YT@^Q!DC z-iQgY@-%!Xn!hJS`^8zJ>#n8V_~$1fd+gL?@s-czd$mvBg5uWsBYIMVrnm2!=-@G$kB2cEV@YI(ZnML#RT^Iex zW4Tg#PVVp!o>%f~pTp*wW+L zDRXWb_ZyqNcB<`Bs+YD&WUIRKFS-4wf%olRli>e+J9J{Fn18r9!PPot$NsIdPan){ z%baWIv;VG6=bl_)7LSE`vlbnUD||k^MSE4%(-S2XUyBci$|l{P{wZsz@fB^&^M_>8 zWn=Cz34c0fa86^*qzJaIn0@p9-uWhAb>rVs*ZC%ak)4SzZl@T_tQXF-%v=<|=is-F z)cF6i^xi2KdGbAr^NQS=Y4p*?cb;GMq4?eX#l1gnT4?kuZw|lgde$u4Yu2{L%xz1$ zy)}6!Tg-h`Rkr@x>ZxC!$R1Goeo2YHYS)_&!J)UG7U}(-_TDx4cE;ZGKb(TLvQ#wm zs$V)99=&thjpfIF{L(rie#Y?F$qW6Lj`pn$sQA?Eli4e*#D4jx6_?o*NAJJCwD%a# zpX_wHW}@D^TT;tYo2=g+-1lf!?V}jBCqF;F-J%>DBkKQ!^ICe>o%mHoA5Wfs6H#=t z_T?j=Q)lb5YZda5DcKbt*%mXLC0#k_#d0&h=FAE_s;>c`J2EcsEcQGDe;i@BQp z()+X4-c$tEn zTos$Yzp7*2eV+w9oR!=zd-OI}c5deTX8OdlzHw)s#}@_e-*@LEX4JPu+7{L}Fn!+Z zd_!J)kAcF~70Jt^ELE!HmrEU9xyF6zqrdM@DsG%zVmf_tiu_a+Vb5#4ov|%1m+PKm ztSV6boq1ppPfDJt`0NO_Fng9=RUhp1xC8UzKFogIsHPX6xgw*R2stsKU?<9GZ&qV+87=3KUD zl~uW%*Wab4PHuj9Yukq9hB3Dlo;lR3%6GV)ey(|6Tr*qm`e$#$8M;1sI~!h$r*^ef zDJkwV_cTxbP$~X#&DTSnGCi*jt&BQy`Hg7*Y28C7%F35}s5xtkAI0J?-l` zm9jglr}uYSr)wD0PuA?)9@x( z)N0DE$m8MKcT;=e^BV!-rvtV>b#)HyoNZf@u||wd^UsMpPcl=IU)e8HIVmMI`|^{U zJrc7X$dr|+JAJ*jL}hW?v2(o@QV&-4F&4i0^@OQUUP}7u`fEG6KK|8q6H%UhXW^sn z-fMLgI%{%yc%GGn?>i9}_*m&V=YG#wpB9VDg#1=Y&E{l0e{7A)jwPSlx-Pg~le=(r z>z241_wPlm-;v^ImH3;TVUGTOm7grjmS_a^L{B(p^v$1hG52RHpUdy#yZnP+s6PHD za#qKtxjA>{@vch&HqmvL4}>+XTrp2Oaf&RbYQgoshP68^%B&{bzs7rI0@wWW>hJE( zS4*{VzW9sPS-VB@?0%6cMz?Qp@I*ziX_a|C{HXnSzS-oJ7B`c*b_mRWxcAE}&9LA* zdGU=u`xYiWWRvOn_OIGi!TxgO1Kp0@GnS}duI1+yt(2Z&CY|y8?8C|5CM%pim%U(a za^0QK-2A}w2Tn_$*J!M-`60?(cInd>$&CjK&adI)TdlW;#qVwSwX#nBXUkQ2){4$B z=XJf&?{e)xN4&mvZRy7N_wB!a&0QceEL)@AkS-sc4aaY>#zV*Lb z>pxCP*{Pqqpwo`|_-=NOmvh&@)8X~e;D&(9BwX zvprRZo4>sI7}<7xO->=F^>qyc`R7Y447)iN-cTu9F=wyV>4Ly1x_-t&a}RZ@DNW>E zx4EbEgNbzYYuh&Mr-c!W+xEQsc`4lFNXL$nc%K6TVb+IMajecw+&cM!w#c8xwGUi( z#me01WcK^2qv`Pe(P<}<=#9Ra5B@eU`0ln()Jx~$)f=VjN{-cNmTK%|*kS+9$N1}K zUvtaFt9k#Q&}=Q+S01v^dE!5_ok!)aSvZGx~WgEEA6Wfh5sH=f?F;XD7Tn745Edarh;wri{YuPf z(m!_u@7XRF^i1Tbhv~iy(K~5jw?AIhbN@GkuR?ahn-a-%$E)TK1w0HqLw;*NeQ8%bl%CCVevIDYgCP(^zd+PgK_7oKCIk~^+VC>YpF9h$)mT}iB-Fhq({%`8~ zKP8*Lo|;l@`Qt0kytJTqYLi?f{Y^Wb?rJQk$X{J_)a^$kqp0SupSQGQ4mq}-vrp?x z4tT^h#X?fm&r5UTHBsx6_6HcJ&D*QA^vhGdkB_=PUYeX=qxpT|74Lvo>OsFAA6XRp zQm9+gcE<#*zamRK*`{#%tlTuwZ~y)C?roPCW2T#&JNd*peaE)gJ9$P&8hDni-&LWT zIj?WeyA4_Tb7Ul9f-F+^{xYuJu=;cS8sEt$f5xPBYl}_TGWo)0*7(hfSLnEy9ymB# z!qK;9+Q#rldTY3E|9(*a-zl_i(NpKivJoGPA6a~M(ng(CYikP2M;DZ+@=gxxruk%9ER~ zr=R7mj`~`gUiFPFJKFc&0m)srR;_VPvp2y2_BQDn6xbHRDDtPwasQbzeP*8 zh6OZ)U0dj1b>nq#*y1k}W2*cvE_D62wD!tUYw_i|N0T$<8Nbif`j{uXL9S@IUFOmv zR->AqI_Fzu&i_x7wS94dwg15u^}0?^ujRd;kKdGEGP@z!k9F0{SPQ0x#OU}dEQNPP zx*pG~oqK^zV@>bl*q>KBgRG9uE#L^QHkfd5^RaM?+N9ZM(`MNRRC(2;8eC`jeZ=R; z2hJyzqHJpqcmJN4n8ZI(d(XC5=9KudKojG$A*K#;uRo~D|4#1xDcl`iv-y5R%VE)q z)vO$rZQY_F&Tp<;@a<+;{pM&o&&t<yV9qxGDVMKZ)1UkQ>W7Gl`!+VOZ(Gcu##)o~&%G^Wp77r)i-$ZR zN@m|wwI!G%rcJL zKeik*=YRLxVWA%LW}dp%jyXS6{15L8{bTpN?}_fa>a{AC>ux8jpW5&AW^T4&sL>pi z!_KvSdT&=%uiwP8XTozcz8^9sYh>rYsbaNg~cJMT-s6P|A4 zolss~z-=^hwefRyze(?>9nh#%j?=gs=VhLsTL(%9)(Vm}c>~!}O)c8w#Nv-(Hv%)I6D&rB0bMD89EDM(v8dXUv+WIfv;24=C9T;%Y@6L%6)&_GW zP6s#JPCF3cVzo)jBCL^zCu82e|6NyZM@I9R`m`$THQq7rsMES15oI5G&+=6=R+jdC z`RBW2f$gDkwd8-SM>fq}8>ewOWd7UU&s*CnCoMa0^T?OE4{Np_S>)R)U^&g~?$1@Z z^TO}*>z}bdkk*?!&#J=FA~rdgRYbr~UvuRJ^CXL-Z{-`8@$__TcWjG0y6}~P<&I~k zd9CF?Ki_yzUM|BmEAswf%}@6P?L$=0roK987qE=+O-sjl%L6UfbZh1_Z1dteBc9$V znay$TTw6lvx}vkcg9IOEJ8_oszT#+^w>BoN<=xW@4Np^xFQsyAc{Wd$`O5Kx*oRTp zBHVd}uBYBSy;scF(QjT{zw_4XO)jS|hvcdz9=_gC^_1+!)c<^0@3cGJA__i*-L6+IWEjTZGJbaVJj-Om zmvhP_%3p`)6)Fp*AASG+=azn@?Go3;y1!jMwqx_JKFjJV1I@^Z+{?a(UJujL*tEL& zQ<-nPz&8K(wVX_qD?`H-PsvX=Z(Dk2g7ouc$71>HTFlOJ8GbCx?3k-0vpDe)|C>LB z94waiwAa0VEc*1p*SMEr?`=JA6lUN4ZD8hgQC!vid};Srk+mjAlGRm?pDXYFJ<*bJ ztMlaK^+nwb$JZGoZ7f$yT3_1D)s!obSKI^ZnX~ok^|N zzqa_K%ZteNg{@*R$Tlw8;+$S4_v^`ycayD|Q(bEtHFZo9v==k5b<}5OxmA5_)oTh| zxnASxh8*=hD(dsBudFr8$nm=~;qtlj*)z&{M3oMAZvC-w-u1;Y=WO!~JF3>%{N;Y} z--b(`hfnt3qtJFExyJ^-0%-MgT)Q<3 zno{Ij=PAi$7k9U=R$X1K)6c)I{^|$Klf3&iqhq{UH6~xsD7|`-cYjf6*5T9Ps-`t= zU3L$1Z$9cizV>*D{X>hWg?w6@ax#6_6()Ig^I5*0=5+qo)h|m9pL)b)n7QMu%kLD& zt>=^!7vB0I6mZ8UuCek(#|za<+0F5LZeB^(cx&^S9kTt)ygD&uQMc{R zzA!b%9Mv|}L)Mme7S#qtyyogTa2T0H-PY z@?1pLaLfO^aOu3OPj2BO7LMcg0-NWbnOmM}9B9bo&9r;5#s9=@|34WdTZx3*EB#W_ zi@uS5dUF$NBLBx3mNx~gOGMs!RGif`Fz@NOC8=KM`__2%*^ui${;&C!s~z|^TU+?* zeq*JmrdMk>i+l8IOpL5fZ?k3Jc_7PsQJeRq^UDJSeMP_jzkfCC+}7AT@we5L7p+~x z_mt~Sge^;`8QbiyC)OOB`DIu1wVBgad_MGlzSaMK>Q{FD_wTgYFE6-T&n{AUq0zO^ z>rc;_67ww6wf*JhGJ)yR(u+hK_x^ot?~qpid;Su+pSl%733J-I+WJHe%O_Tx4t(cy zYwetGLU{q4&o6vBo^tqI@osa`V;c{Y9r-@#U!45wMc-QfXI_=?UMer|D=R6R{4QR# zclDY{;(CvGpEON;R9?RNI#2B97vA{T zQB6_e?*6Xt7Wen3ELl-AgDo{Hsp#A1fOq!aw#W$2d@7JTfBWh1hy2sOww$&)oVxen zrge+nzB*Bry|GhuQhx81sw3aEGZ|iIsGOReP<&bC>6f76yK1sEb7zS@ee_toKukjA z-j7ed55936NE2FUEa6a=kmCBL=f_p1u=UMf)_Wh(Gb^}NabuUusq^lel)ihd$Y#s7 z&UqE^ice(n<%4Zcgf?qsYD6r1KSgiljX(VhcSTMWcph?;*IeVT_>$nG0gr?Fmb^XI zCc7?ovF;%uyZg&ydYk+9-|LQ?@rz;hou(Z;UlOHd^kcVbpWX3j-PSHc4+rU28ThvDs&T)BOP~Kqcndd zC_9S>uXfh$uv7Sy;PJKP$LlFsS^xKm=ze=(AXu%Tcc^^!k;k>}llU0(q{Xr?@0b>` zI6g+LXHK=i_KJu#hLtytf9J3MaLX+C!>#5uo8LWnZ8Ig)WzWv#YO{9dM!XR#4D;&E z=j#s5+*70d#D=#kVT0VBc&-_@mu$52Up+lzb;PI2qwI&19#^ROO*CfA+U(or_%1&A=`$Ol!@0*w9?hc>X%%&G{ z@LT@B16I2hJ?2+%x$QIcf_%p3uGsj^n(@vF-+dz|9awiOZ2wo2_Q)wQS%#VNn(t~B zojledpRrF{`|vzJnY0IOe%qGa>ilq}O7UoRobsJFr;Q`7trouf-cQC*N6wGiO1$=W z>5?NycYJMKKe<$38lQNYOaFysyAN-F((?T2gQZ7g_g$TP{cIOY^Xjv=b{}f}H2a8F z)>Q^?x5<5zCMH$>+`5ucyvH#tq~+$l1oztiZE zSd);{QJrU!^UfI^I_g^ABEy&2UAF3_QAqcjX{kjQlh&0qDNR13_2k%LsqEVm>$2DU zk$c2}Q&$NG+E|_&Fr_J!#tgYu$J72Ff+*G6S#Cp=|gk~p?Ip6z! zygquoV9kuI@SjnMUEblH;w$Zv{dTOWbqwsTa=Z7NyGu*wmFK>hPq#ec5oar9=T-Xu zR_EiJIjcI&pr}aus9>JH5k0&f~ zIxnX@Ip(Zq-3g&$&CY(Y{M`Y4DvLKNM<(6*oA96|v+mMIum7iZe^s(96V-^Qp6%~t z@jGu{`wY?BV*NYKwz%!*SDLN*<#M-r z*)2uy_Z(A#v$c=pC+{gZ{_BXh_6n(xjd3%qHQoQ5JMbT4_s;8diF;aTkc-R zGdm{)WNRHP^W}=Wdg@N%c`FGM#e_>X$)D~mXPqnDR`;mFY5N5M?&)i}s^{^Y&*C`0 zivRpAnR#2SZL({3l$BnTX3V~@?)gh&uFa9^^&7Tm39gG>e|B+UajUKFUF$iG_eJ(D zt=d)2!?#1oXN|S;FO|d}?_{Sn=thLC&sN>Gpn%0~I$IlCtFP_Glb4H<&t45b?skEj z!E~DBysJW+vzrgId`X?{JbzWX?%KONTc5W+7Hai7^Im^p`ulrzp+NWu5)ty*l zlRD|IVru5@x>pxYm5~s;G`DnrE3exXb9LoyCjt(KUvA#2yKC0V%Y4o)Qv_rAZ)SB? z>+(){c2j0gnQ`uf+ea5T>mD>aeJQG1_M%=^l-i2N9yi|=tzQ%Hc?(bCXWiaKFWerV zJ7tl(u=?fn4V{cX;(n=mJmtC~cTV8E0I%?0-Z?X`uQRuNJ?~NS%V`S?So5@b@03hi zcfX+YLDO{~wcRhzylq^x*+*@*szIk*?99f^8c#}|hxvC;ulx4kdF`K?2cc8;9#B|& zRlU;H*L=lv!;MZ-QNHJLyh(TSsv(kvKV;6j@>u6dif{SBxU+dH^}ky!FL5>A$@zE*yI$===M<&2BFZ); z;^&TrI~H3Sgv{4?I@|kwk}{{sgL4x?8Zy7JRkPhU3(0i-5-KAr{VG)I!^_FMhZem% z$q^&+Msi<8(T3xDD{3}8-*I3?!ucIXm$O&<#rotgU#Tv%N+>eX@{8;+-O3({6;FFYk{u2XY!y`x-@^{MCD z7BdW6a+0y?8TW9)u*B_c#k|1N-{c@)BdDSl^7bb_ztqLv;(^>rMN<`IHO+)Xk zw|6`-er{^RbZ=3Sv}yhC83_wL|0a($Hv8=O=&8k4w5G$YDBejc8+JLCyzRQbX~OR4Q?lF=*(p!H?Q%Y|w9I{ey852R%~R&MW%SJ1*2!;| zruq1Xv3uP#jiY}oBkJa9`?lm7=%qYJa@#BZ>cg57^ES@z^^^X(=j{Sf@2`J?u08&= zRKd11WZ^Em2{UhO_->V?+ZI%pXvc6olHL9F?E?2T0l7RrTEARmt1<)vH*MK{kT?H~ zV|>{!F5BZ-alDOR6aw!UWEW2(%~7e8nRzL{GIbLpXHwxmho!vN^yIHRDZFWKGP83Thd|rv_cs}tHr=~+ z;`rh->zRM$dq2$5J0~)|ZH>FN@%jm;U9*y6CrnzZ6)aP}M(1ktl#})5AD^yx(d6 zJ3k8jjxE@@?8cr$QNJJAoR!jit^56ViT?et!1IgcHpzX_VXvP*+2Xg%>Tl;XR&CX< zYUf?7KDYAN`6q$zDuQ)n&l~$HZSG5Zd-#9tWWAsES(DCZ1hsnpDgR)feQEN4ci*aW z8JDak|H!&oe{D(mzy4WUu4i1To4iA3r{|jLG=9AeGdunldOZB4uzsKYjstwr++RwY z!oBWp^_D%Uw@KV;!imIL^LKFm{?D-Epp@7>chEsPOKW*6CSSc-Kd)v>rl)6%7`KQ{ zM+Bq2LCuz9Sqs^^f_ybq6hy9Q9_v^!L!s`hBSd|o@OiM}d)`RpoL7meC~-{0GvpS+~?ZSDQn=SwfDod0R}yzbo2^M60?R{iO; zaYK(rY=zu~+Rd-nyux0|svQ>G_krxtJ2BQ)fXNvzMp+} z$JHymW;~5orC+}}7x>fd-)oXfxA2!aI^{<~HYjLB< z6T?>hI|1(-j=o;ERz7L=&94UgFZVr2l{m0%w_yWcnC|q?95K5eu8M*7Hup@*t%ZCqV-HkqoF{v&YtGks>y@8Nox57xq~FZC`k|RqMjqcj zHi?;vfjX)yr=GH1cEogp+%p;Bl)lo4zO~=I->}{E5jyMB=%i+JDC42f%|qhZD+83` zXNiPp@y|YT^L1y!u|w0ogkAY{?N-R{L-qULS?v_LC9S6Lwze%Lrm$<0{DaV}y|HK6 zUb4@4)f<;@s``vo-~DO%x~Xx-2gOQ$-KhO^NM)w{b75WShdu8V#F|2Verx5L?CgB} zvUXR{%`~C%+S^H1SN&Mc*p6hJS|w5EtaU}sBK+*3)z7Zi2=h#s=e6|glpS)X-1d3i zDU{Ftsu8_OEoE7c>dT(|Lwh7GT<^vGoOk8e9^0PR%}e?H4lR)Dzp&uJU)SvXj2YTf z_s=@=kNrkT*xYl%-{rKE{8m?KrsXFsljb|B__&~?>-)Q{vq~n#7|l@AzVKy-$1Jt_ zTKz>fw$^s#%VM5OujfpAqo&!Jc`$Ouvd87AlkWbiPHB(|{!m`* zkm!0pCFn+Lm&M|H7v4m$|DOA8=8{HZ7FD^b`F20lqu%}9uui;pdXXug{i~P3N0xt& z_L2VeaaH?Vx39B=;#*IwWc>1)?Mrt1V~!mc&tLZp_0|6%I9vYR^#IeW-dh*H@-|*| z&XD`7NvQRikH!IClS1b9uF5{T>`YYtf~a6&Q+wMdg3l`0ds9_!i_Vjb>H3tL?GPzr zcHnsFf&_Uky>l;4Mr;mPp{~>WsYZ5Q))k9$GW7wop0i9}xUG7}w#@s?|881wUP^xK zwBSkR3Bd<4-`>x>F*Q75{98%~UpuN*ix5SbVB7El_LqoTL!T`)4*v%-OxSEWW@}>+j>aE4GN6 zl)Stfq~lO(84zx;SZ{x1$^Fx%mOMc*Nq%>l_jo?xO@FfYoK95AJx{lL`7?#D=G>gY zv(91l(>t#mx7^w_?R)ZJuQxTOvsdlbSiI}@*++hncO{SU?LVfIc2~Ri7@PKf_J!iF z!?xbt*Ug{FdUVb5=a-jMGgdFXCgORpeCeiBlU8ut6kq?PV)tRb%-Jz3?_@TvSu8I8 zxqANN?yGyg7I1&{(%usH@c-sS<>-}nvIV2xJ64>%z`ACN*&(Br^C9Aj<#uOg6d%3v z{F2&wW}h<=>2VCc|23cOy!cM(+j0TB?+YLNeY|Aqp=+IKt&e4vHp{$pkgyMN1aCW~ycFyCtx{oJ;v=X`WZMs&&*Uzx7UD{t!*vb@(>{ko`5{0-dMr!(&M*_GK=g?*!?Wr z19^=K@*+aMEd8D>75=N;FQQCXEpfW4p~(DdodiGasn>NLsU}4V?LVI&6=XB7o}v1< z{-N`0JB^p7uB>f8F6H^czDu`Cb<4SOwPoj`qz?-p7}>;?v^l?7q{+R)_R*iE>ZbNA z^A;gzv;_}}?P5tyFSyBk^GoTc z+)oyVJHrZD{@KSwDlYE&{4HMl-`0)s-q*J%X&XwWDR!&6Ht#LU%PQP=Bk1%;|G2-g zQlD1^ai(#qf6V;&ep7*>q`>~4rspqZvCVKx_ZY>!Z((jie zv2D-%V{HC`a|$1Gu87~Yb<^oX&tLp|b0F@l`n@B!cs5HatlfM1#p=7ac;4P!%KXl} zCVCUwESX*oKZn1%t2jeFT6JS)E_wQ%)VauIBl{MPwK?Yh1}KM)>ryFUTYY&=I##9W!oOE(ODbUp=o1Z zp<7q^M4$cGqe1O;SXlr4D_ec?r_$Y`?^6v7@83v&uq;&Td0MyjyCk)kIozB# zu7=IGSZqJnPBYqP2Y21n)5ae~rYZ3y7s%Yo+{vn#`iQY=d1X-Z>(0Yj^B8-}Zi;N? zWP5p;-{I7~FCRR=h4W_-3N=gy{ykF)b0?dSh^|LdRajPyH{it{|NpGWL zq3PBeTYY<9bnSa^6a%NRR7>zxlwat?hm~@-z-VhzoH{MFU?N;XJ z!n)|YH1qCtL6sWOGJ6gud3~MJxoAPg4wK_6(^yU#sjRUKXv-XkvscV9pcKz6-?cn}yno)lEj$4y^Ld-+UuQ_O5dfL3{>7?0fH@#pz z!Oz40@vLu+8sm}&*4w>)JFfb=Iw#_Y&i+{Y*H?b|-C88?!KzpKKm1n5+91oBb0e-* zXzX$7-SOgL(#mTh`zEMfcxF52{K1?r22Fk&_uf79f~Dl|R&}*$u6*upEAm&W&r(WC zc=94~muLLaN1M9muQ7|Uw(|YOD`EEI;xE16w(~`8(yxCDv)?vl4NvxzF_&~|Okh8f z%iq3$b?fFOsmj@()dOz}`)>^7+GW>NwNbKsU#eoI_vy=~D?dADZobV`Bd@ce?d23J z_4)o%RnjsSOTWGGm=^W0OY(-f;EkWld@^6woKRGInVFROXmUcKK+l5r`=o={-(uhH z!JB^n9pAJ~v2Eu2@8y-7Ia#kgr`hsT_E33n@V5@-TaOmWo0ZND)t&Niv+`n_zlp1# zd!)?B34XgUO#fWx;iPqD55%=^xcKhdVO(_N#chTYCpOrGm3u3BYv16i`O-B(4Av&1CtRdhr&m2Cc8EVMa``B8r@N7BBT z`S~+@3#9kks%tmj6MLpI=iOq?@Gh5WPdZAEsIL9cT^yymjAxnpy#JNYxYvbU=Kf~n zW%`c)ws{Tn%ZpK)e`O_~{_Fi>>*@Op%NOOZFI};IRri~k^IjnWl?4_z^jDs^`AX^f zlYBM#jG{A3;?phSi)Mr`S~k^CY1(S#MISR%cCX4hzV`})*X@U5`;?x(meb1FC%XKx zvG5tSGAZtR^SUSRQxChZd+koc)!46sKjQZ+Ddn5Xx=wWV;%OoWY-5kVeY7yT)5xwZ zyxBA?KYq=&_j&)?odfrm?f?9By^`Lows&V-eKzGC&{TB`Dyp`!oIdILg2;UHg01hF zQf2qfyESczNKA*^9cNpHq|K{!lK90NmREhRYBQ=7`BGmz>t3z-X#{}lT#t>Lr35K?aUEr~{H(q&#S?=xaELp9U-6`{)1gmc3m@QOV zU3Xcg*z%0?yLoT(07o;pdbdHSKE?Und}Fllm#qug%^eakZSp`aFTQnNidGmCe%*#=R+Bvv$GE z>`(JfDm-Ld$vby#^9>h0ov-sG?U;MENvs!+dy;c@QDMxnjN2yt*EgoE|GlE_ZIPkv zy{XFjKVBCdsXn5m`fpn0H~ljarnZkvF04_SyY}AsDZQohbJqMe3H$E0CNF!|mipR{>wdZP?U*~OlYcW~^o&=QhYB0_8!2wPnto7I zRPE6$<>x!mHvN3Q&Tvw_TiUX+E6$P3?jZ?3-wH;r!seXd+|9wYOy#C&s zE9~*+V&fB|d(jei9QVExF7La(yti`2{-;OQJJzi5sQ$pWr*po};k@ndB&!6&?;luR zyJnqg*!J~n*44h1-MEYI>hHFwyBA9|V+HM#es?fPi8u`4uKC$XuO6FbnhbtK+ zzRv7>&AI*YOx7J!?u8qyN}Teisp9#Jd3!=W%S~7@F)*J!Fy!~F|H~pv%=Vmq;5fJF z`rc>pv%PkE&mUC7sed!lsx1)cIk`o)jFzl`sHcI5qq{j-W5n^+{(BqyIf zRNA3bF=;P*?K?50-R@B}{~la5nSbzA%#2mPOa7nEJ-tSR|LC)mvR3LVUHP_ETC;tabofZ_Zl1VHlcoRLgsZVoG3 z=DzUim~$;@>elRFo~y@Rt2kfPtb9>l$NT#zUtgY(rAAiO7-tCE`j^jLgy|4Q+aH^CCC zO1utz?L0nzQ>wvV?c&GwPyc>k4OThJc6XNa{S#-ZHb;H8@ws~FD6_iqZuK3t&aGKv48&vx3`+AdJi9=261;w86?_K`;ACRQub?o*Ob_s7z9LCUw(Of+Uu9=75+|r(5z8k zYW4T;Q>(69zkVq>gH)ryPx2&FMHy%Ez7=DzWtl=*U>JP zU+Q|Nxy6zL(oTQl!qi;SbFQphU~$=KugZd$G@C;aU!~7Yf5Z6w;`FyiH>mcyT7^~J z6bX{)LK@r>JCthls{i1x{ z#{NpSFbVR~6kVD$Yy0Liw|^dpi+OD2^Dsv%CdlByHM6`W?*bit`wYD|_ZFsYZ2ht5 z$m`~-5)T&ivsK$WP4H3B?y9{J_UiLo{Z#kKho|cl{(HcYwp)=a)TP=auh48wvt!Dg zXE_#r%yY%}lb%tvwsGVptwValgnr zYP3hrddb!BrJs~l1J@j1_f_xl1gWx*bN9b|*b#GLqqm^^x&=%3@JescSmyIl^h>Dz z6DP$a;}tioWb}|fuz2rjx5-z3Sea?FDTD@mC|5kTLPoWS zA?sq}rEbfIT0GCvgBn+gJ~_Sp+*W1(`4g;E`R3Xz>FO7Iweb5Rv%MG7&ODIF3YqJD zy+PIc-FDZ>mi!lNe<>bu->~Si_ZLB#-P10LCnz&DJ9Wt3IMh}ceO^A<=x9B=nf=W7 zH5_-cO(Gxssgq`Ed9;`Ner%nap$}_e{{`)uUs2yI3=bH7erc2()Uki%&y}vnc1bq9 zTOa!9YEA8l?Jbv^clmcJZ(&&dOYmgouPWi`g=RiZJ^C@$Qz{s1uioDEB+Bgw|Nqvr z_l{`)Z`IxZbDx*=o6lmG-8+8Ne00Cn^N|0Q!}%4=p93#ysq#&X_TXN(|7qGR6ZU6+ z9toxi-xe?V`RCsaCB<9$@24wNv}!EYDipiUI{(n0cQJ<;jAiWIt@>WbtRcq^dgUUW&zhMT@+;8U8LO?tNdj$W$)+&-=61X^(Yg#LhN* zUy-|UkIvmEMsHs&@n&ZKcq;0D!)cMYlYdi7HLUIgE=*mEb>Ta_J8-OkN?Y8zVt5M z{N=`qkTus5K38wqtTW++Q1gkid7|3``X9NoPr6;{lDk1*z3B6jQ?J?NG!&!Po|w+> z&|Dp4QZfDi{mTzTd+Hx}Uw$A{Ka0(ggN@h9=b`j}cPX3mU8UzECoMX-(xtiFLuw2A zgtVV(lbP<$*`IonfvY6frks6r{Ax^+>C}MDirrJx{6t?0)o(mz8M9|$ z+yA*bg_=`;#LeyQlDWIO#odS{)l(`K)}>f_G`Z!TehZ>ZAQwbiEdtc#jmEkI_8zLV#1MM z%k_E==YEve)Kq))i&f{{7WVgvfA7~+#D(fJ{5g4t)n?=FB}UiRX&1{*4A4mm?_ZO0 zJO1`M#;!YGKO2kg%zmP89W$}i^F34UXg=5-S?ZfmOWRlo}>S6{lkK~R>oYnUuyYx z9>0yw;fUJC)7H^3Elhh~Mf~XvYgTMgef5Fs%*M|BdRt~>F+UPFlWb_n_5Pf#GDFPU zEb-u6o1;y;FDzMG`cNXxS@xs;W4-@otKt)c16P?{oV9b_Qj3H;x~XQ8DY?Pj@mdR= zD>q0+LpHQ#r$a_eHBCMjao-a<{KrfBl8stDK6Svy4^A_sVw7 zGnAMxmoZJoFrR%+NRxB^cFm2ym=`@;-xly&H+IF|yT{h6<@QW{wDac~-QE)UOVbVY zRUK|*c>9#fi|)Mbzv(aIf$hzo9fg(G`8d9`FXT18*>>c?{@h1JNlSzjrQR`EN}gE2 z&QN}}Jv&RW?j`S2Hs5$Fk>rp0zo+UtD}P?b>+qznWW{f7|CD{R*mD*oH`bVj^YHyQ zJmAE7eDjQ3^DDzRW>?fO?w-$67E#!;=8&1f`@-2fk`KPz8!e;w$k9J7tt_SU)WMnG zcYNPI^ILD&l!&RN$y05^o_2)pObQK73Kf4VdqCY%z}om%gY20zr++@5A@Z_0S~@`A zdbgb3#L1HnT$uklr)FX^^TxvuUdev$7D=t$8~Z(}O0w}8{w%TirF9EcSt%*~o` zi{+Mm;+tLBnjixUep{}_nVC)UxRJRo=_Z4>m9L22i)gV2vJqR^ zx1OJ{mHGIIpF!1UWI#Ih7kP%k$~{`6uU3 z7fxMLy=NL@RK%(?TREgZwsoGIk$U)f@}U|#o02!xAK4F-K6%8XvhLmWJMMRNznsd? zl4R+PeSBR}?PxLEQtKU^uV2pHqAs>_;=Y#Ii%YDJINe<8xlpuXf|*RIYxJ3(dyo30 zE*}>W%zV7R)o6}YuE43NRaX{%>&O@0K0#tBU+CVS$M4Cdr_0@vI~n%(nqvO(7#ZIO zQ<_7Lhi+w;;y0B4yT$X-M6=5FA3fFOYcqZ=e0S#^M?kgx#%o=VuS}DVao63pDthmh z(6_fv1^@Xv)k=8gl(y5?D=a^KOZ+)QcZO!KDpRP5PGwIz@z)~wkxzPIkNvnccm;xUB$$Bn}3(XK@wP?x0*>?9D_rIK6@%QxfGzl^OuEOV~InO^N zznXqtBe9ydw0woGp~|c+_olYXAI^CsY_&>g@)g%_4wprr*=^r;DOjp--Iq1S?nNQ% zxl5)#Ht-rEhy4{EneP`0SJb?8|{W~A+1rYhA>OP(vQRMlI3zTB)tsUdjw zX2uKEufBx#G(Y;psxYnW!c~snSE@U%UKZ2im}$7NJpEy5#TTtz%KMHSH`=QdIU(&| z&sh(yiC1?6TOl>JuyCqkOde z#9yc%xZoqMuBIT;C%|uTP;@@uOm&;%JnuBLKTU5ry7uhUZ!?;=d-~p6?Ca*xU#b^d zVk7eV%GN!mqA{%w^QGr+n!z^rObribCC}Ci?ytTSyjQo=dT%8&d)kET!pM6`|GaoY zBkxuHU0s{6wM}F8av|?M=5w-r4i&AoI=<9C;~D$9OHaQQ`%^i2- zqTfaAD|yf0@}+S_NH(o;R0+^kIJrv}9>emF$@o{CpuuMGa)0766zw58wJ6y+< zv?O_k{K;v(pJ&|K*InLq^3I>ziyqmBE&Jy3`|QMG#;;ZvPb^w4y2e~!$??Vat#vwM ze%UeIFON!5Gc1j>$6-u+h#)W>8#r<(sG}eauRoF&sy@~G-vx6h1t^s z;y0yzyeQ_aC6v7K(?ZuBt6!X*yXaFBlely4qg!u^ibCgkZ{=JqAN)jV`p0+)*>6jD z1uf0zom6Gq)E~dXKkAajA7kGOB`-ea-V!O8^YJBfj$r4a+nYYb^elYt7Sj^$r@{PK zsb$UC|GcvowT3MGm8x?|+3P>+Z~H~Jx2@q!?wB~&Sl4X1iP`f@H|BKRn4_Ikyz17o zm?w)^W-MH>Rw>$W_BXy2TE|y-g(*y2xZKmYcvb*+f%5Yy%l5@CtbhFL-lg9)+_DNu zt52@DB{9+AjzqGK?eVFXk5qJ&iKn;B4p1(;<)N2cP`XQV-@zlYzRz6Memgtg^nEw; zwZGA!ecvkz9zVVD{WGh z&TeSA!PT!iu-?i4SYxJ`@Xs-Q~Yqf>j9nYi= zv6p-u-f7u45wZHoBWcSO3_r0cOuX*GjqV&(oJHW-^#twn6PnY^$$z-WJ zbvaIJ(e)4(y{$8nA}^X{hs@rz%-BSwgXcIajl5g3Lmx}S1Gi(Kiw>#pZf-vuwY&Lv^0VHs-8Dy$9!k6 zTDV7bho}ncMCFFLGE46*GO*QXa}0m`{T0{W##n|UnHD1FmJ6?xcyreAly+UbVr>2E z*xp&656U!fW~M!F4v2R(UA_6C1j~`AZJR&N|4@{c{5$q+a)G4Rujca$+HS98`>uG+ zWx9nlQ%&jTUEe11Y+8>vZlx6AZwWzbaFXDCJoBNB>zQbI8{o86-GCN-$Nn2FSu6LdB zRGyBzUmS8{gKmZ_ZT@Ax&)N6QNt@H(kH#-vcOgdfrE;8o!jZ4jy#*7Ov`n*c zxS5t^tit|t?djA5X)(UMOYfRaf6cSR%-QD0)MeHc(@!$qD9k>s{_W58c+Z-}N3R$( zPd1k+GK)D{JkMYJa%7ick@-Re=Z=E=ZYK8|Wj&hjNvRCP?;f!qD!+h_CcX^$4 zkECSaf9qNqfrNk==cURHEVHgrjh%fibo0uIh422ZTp;KZzcybz-Bfq8#;ULES3d4n z*HQd@N$vFu9-reXPEITb11{e=cU`S4{KeSIlj@l=3%k%N3EIb6@$YaT&Z0-h9OLO3@>( z%HCavd(JQ1?ep3_wX$!`N&Y^AVs`zrLaL%-Z4UO2?!`Yo9Fdjf+YGl;C+`by%=@^9;I$*uOglrv}Mt|ebmR>~%weQL7yapI*9mpHawtu0yle04$G zmV0@}%1)*z%@4JTFA8m$rn~&r{w^P`wQ>6{6$hs5`8{`&Yi**0$)(yO2mRk0xVO1P zubDEnsAYHfv2!z?)}@Q(=~)-P($Y@eY;bYfHru&rI^TDfWF9=ZVs}kxz;UikkNpce ztae_AGo5r^I`D?GY_Nc*_DgZ?eQ5$aa$E>U;N} z|H+{x8w=m(+iWSb5e--??eBc^d%E_#>(@)nMNDPu=<+lhr!C zNgB%xRUb=PW@u?`emwie&eQMObe>8s-(F3z~V;iH=HKHl4okhKqCmxzQug~M?ot=$l`HG7oy0>@x8x@?4uv@gdhGB(WP;rp=W`q5w z`);4PAg$lN!~UQCokeQ;ORElvx1W1{-c#H5?ZaY*i0D1B-!|FWB<+5aT76@p;Dltg z8%r80o)$f`I3K)sZ|K8AT35R_R!lBjz~js@yXSwy_80SHe%)HYd~|p8qOW_?o-Y%V zcULGX`TVlLn=9Aaas7)|Tz&hU-=~yk%=Bl!D<<=0kNF(tJnd(?M^4Ai=w-X*r#Ppp z$aDQ}hxHPF!*6~JD@mBexjkxM(9}TD=kBk$r*Nf?Ymq;+$ zUaDC+DK%Z#*=v)FO+c=hynDj(+&qcL=6r&uBsV{3z4Wocd+O&mNrzQ0#0BJr zwd~oiF==tsl~*Ze=FK=6Te9kE>?+l?@YSwsPR)`yA2^|Xxm$1^e@Atov*&^JJC90Q zS}?p^75~CcYV-8MJ8uf)LVegL-PWHMuiP5)<(kM`wrl>!vL4MgE%6oTc(Od%;OfQ9 z>~zyd?-ngRBfX&`KgdtUA@$WgMt#%!6#d?&h?=@2aS8$cV~EBGhXyMv1PN&SN~Yc_fCzIVgem| z;`U5@$hFI+T3PG{r;F8{-^ushrQOktI~KI&3s3KitIS!Y>Pu#%3f?X|9AL`x49}j%~`csmsh#`*PxbZO3&>Mvl)Xd8L}qS}vXFu+qrZeBWh*P-ly# zqWu=H(xf-ZC%63-PiWhHXU0S2Jh#^AjVamA4Fw42hCS}{7pK~&GXU6}g znJx};`!y!dz29@rzRJ$3Ua!1v&c&b1%U|wkwbD zZRe|bEg^ANQFPnpcMAJtk8EfDQKpbuYi=Ec+p3ajf-f7j9tI!zlpJlWaWS4bxbWlb^NFk{M1EWfnai|0_#tn_EZIlTm71Ak zk16e+IXfaa?7Hl_E4s4p=FL*u|6M(qHGfu@XpCWK{K33g)yb^ZUqt6zbq;l}TB3OR z=Z-744hvTnahW|5+F~B_T=?SqXp2{oD~sl2KKo&^Xy(pc>dyD_q;J2OqBZ}S+BxJkaIL-X@^6%-6j!s?5Mj5Zae01Ekl;v^B zl}!t)KfYuVZ+Mtr)B0HSiFs)G@ohP&JCzqLJU)wW!-Q$BN3Elm)NFh;WyY3`ZYqMS z^Ubyh8pcXUO3r=sCA4}?q5PBSym^bJ-xs?6`2Nv-Y`Yvxwgq=BQe4in;wk^mgeLBZ z?A!CW&Ij!jjSm*ybUoxnBI^-t^VcFEwa*X@$Xv8nnkHgzx@0udb*6iXwTOZ zmY;6fy?0tRZGUrAU9H@T)MYhIS6Z}FiuZ4Ra$|bQrkATOOcXyP5&kVq>)EE4Cnx_d z*ivwH&FfVire>SHcRyXXW>vgGpgvPwqV%(!VRvR9;d%e~o`rNhODDJZuhuoIo!fdQ zEZz1nJU1uWddVgki-(`RZU3Nh5&Qnk3OgeTxl&7let?>)Z$&;>iZZ-Gv zs#2RgN$u6Awf{7IEMgUwK7HOaMPPxMg56xEk7sVY@LSWOY4k*7*00M`M0|M@nr6=m zSmbuQEzzeg^md!$p1C}|F+s&|pD@q+c2V~@-<-dz^p9jj+}ifM@>zw3UEdc)&Y(#_ zcg!Xv+}p%0Y#6g~?u-pbTz&@f+vVXSE z{lD)}J^zRMV!vMhv`R{jTor%Ejs5848&kiAum33_e4g>=M*q46aq+Wxee@6capa5p zxg33d{rq8lt*@UaeEoa>{KwhuuxPDeV z_q)gUJf@xcdtuwc;4fl}j$GRxth!t9^Yo0523aDnY<7Jwlz*By<-ND+U$v=A^0KcR z^BkRfUQX`Vn{ut^Ri|G1|BZ6q|K+`-!KX!4lcxS^{dnN##hV`(wHFq)J~o@nyW?G} znq>L*>RD3p6PxRt>-H4*?CY_Sk?VMwT>C=V;LG)*ltmS@C072>559J?-jaV|TBf{@ z=#~D*x%wX__g#tqm>qTU$Sb3`A0L)3^sIVR{bp@ua^Q?xE$%uET>XxSgKFd5v9+IF0DM}(sp0>Pqh8ynKmE4ESQ%)|6ld| zf4gJ<-(C0r-G%z{7yIKc*6&x!_Dxpbe|0HO(cPva!R~reEFn2&CN~b~dcE9vSJ&<1 zv-ZwyJ@Q|Eg!o*`C|%FSTlhiPdWlW##-NWkD&8cjs;+z-ATo7>y4QSt0gjH_VyR1$ z0?&no%@RshX`cC|u;z}DvL*k??K6+m3+hjcSnD=vD@X6kyh8b=AFrkMm%O-HyiQbW zE6+#!<6mSI{@F{|E_6AzNy1puE++rvivM+!XLSAgtP-p@FK$L^k$fzdHM2{*u=I=V zE#hbAm}gFrd9dSK(&vN z#X+4<6SQB-butTde>s}*q%?!)!Bdwlo2ND}+YvdjuXslF{`r?$y zR=Vl`K+mD9-G)dTFe=+uSB`)lVbYfsdxJ# z{U)~lW8qR1Jp4WH*Sw}8lem==R!)2B)A)Pl8Ltc1m|Uk!KalfUF=T%o)9cGk&KGi) z%$W9!-J)!nc&~}(!QLs0!}1;*ZHw5T_?h#Kz4N!;d;ji!znuK_wW?%;nMu)!mW==D zCPoYFt)vxXS^|#VWO%3$^T%n|HB-)0C%kU>2t=N-OuWH7U$^#4kmWAB?K4w$=xmqS z`|2&H6~jA0&trS`CcTM}c*354(O=5uvTE0ks&4||z@ zP)0vM0T^?%hfdo%`XScVL3#^(p5$rj_c5aIIPY-h886_qXCq9@(~Qr}ScL zgm&hd*|Zs0JasPrc&@JHUDwF~rx>1dPwk>6>301%>#~#g>!!x}8di)PTGO?wMGb2f<>}i9G$c2r3S3sr-+ZRZ(tIn+Z-)H`cvR-j zsWth$?}pg6n>Uq$j%jVwy;RW38$3msON_gM!R^Hk`P#{LDe2ntH9vB2Onw_t@~>RR z{ZENmjdvVt>yxiHe|cPyN}B(1&wLFTmt*=--?b-MXCHp7Kc&LZIDJye(@9PJ6tlw^j7B(sABAwr-}p7T&&llmDuTW!0qJUz!WoMM{xryj)^RVCNVV7*V+V^!d z=in3zYYl;8(b^dk-8>f899q0RO2_!F({EF))As^Xk1q_+?s9MX{Oj!vljmPQZ~U;u zR!UCF=x1}W<(F6S?tC2=|AlBx`+l$SMc%`SLi^&~r&YdKrE||dZ@Isl?^(w9!`HVQ z+~Z}};vCfd?9hBCd+jSs2m9af)U96pPOQtC>*D=?hGBUXcl_EJ^Ox-{)8y=0 z73&}6Uj8?lVoz+Fx!Ko+ZNCM#{0rCRn*St|Lk}G7Up4Yi-)JcoygSKgq6E%ewcjS(m?- z{nqvb^LItk8jiWnmr^%A{bnNkcU@vcLjJD$b&@@G*(;CV-u}$Lz@+=jkHS@|M{SZ< zaWNm%3n=$hWb&A*?dMukAhyNFKx0MOkq0aso8wxi`qpmj?$Ek4C80d~O!Y^@N_n&S z!K@QDM7%qvzV5N(k@o3!Vi(QAd(Qp$H+;dVZ1BRqXPM*uyUOp`_RHv=eP-{xYwG2C zkNzv7wcZvLVlnUBel+cUyyEfq9=995KPFtrRZ4uEUvRznSChU%?a7Qb+x*_E2OnN- zeJ=g6ChXNt<*LbxCC-aK{#m*5`CjR~SF!yO;ZsZ)J)MI+Px6**(>BsP$zpfP~?FFblq`k@BXu|6B_IJRfJ9Jw%s`%a9^6!SwAY^l)y5c{|6tu-g?BN z>c9IZyC1B(rW}pEWirWkWz3${hEG0s7jIhe`TOZPj|-*bFMsLTaV1`a$#A& zp(^TdaP2{%CHo^zcz@9EDQD?_wDQmw&kd3*v+8ARsy}FasxjrMyq5liQ~cBg)h&#d z&u%=cEn&x(DD{lrSaapN?Mrs~$u3*`tG4ZIh5Dq6*DI^yo2MP|>UbA*>fIKh_!Vk* zb?4PRSJpNAa!EbUT|DcrlGX0`%Yv5G=caVb$w_?>e%oR3zh$qU+^nvtijlS7 zl6CW+p86|RcsheS{`QlNZG8Ma>jYWcuhx7MV1FCLp2#GvF!`~MQ?g&SU2k*)1NCZ z48NE5NSH5JZ!eej<*QHeBmROP_acNFUe_hK%fG966+P?xsw(qfPLKEVr(OE}=BrUk z?Bw#r>sRiI>{)Mha%1I7ds(UV0p_`Dg3|=VPko&7WBtxKhnb#iEPAT5S*+6Q$jb&- z&L!0uoL_>a8WV2sIXheJfbHf;7ViYX205|WM{AWCugL6I_fDFza9P4hmswkNm4m-E zp4~lvt7i395BIEl^G+5NX@;LOJ$xZSOSEJDTvgk*Uk$S-rax)uEsWKy&JBK@VE^=| zMvea8Q&x95=8Ny2eYkRS_R7waX)ce>PJDdY=~a+^|M{|4Kg{M;2X*IflVqN?hW|yc zlbisTiT%c@Y$hur&hDHsjqk{vC#-rIa>o=ySETC&o|~wDYO3Tj3z=_UiXSbkc{yGD z4ddNfJCTy@dh*uyX4PbJy%x=CRrbyyM;>qJuTB=yzvn5o37H(UzZDivaQ_O$lg#Z|XcwYOhbf9G=W(Z%5f_Y{i? z^OJY|C}O$ns&`3Sd!}Ad#>~g{$3>;n%j>E_J(@tmY zQJ<--b)rO^tbI!&bV9X;$XCf46p|OkHYs z@zbn5QJX&J?EKUyeqv_O4zh46Z-xidm&uS&OY@)=I<&0+wLuwS@*8P(r_;G?zU80`PstehM~M~ zj`mD+(?7N2hW(jG8y|91Y?;+}p&<4{&4%3PPm=t9EEcXlRP3jDNhiE-_EDx&voxNj zeM&L5O$)S>S$6K{1Ko2wKkQg`^Il@v5@YtMYo2*E#c*zByg0k1b4E3b*SdPPKSzys zT@S7eXA>)rtW8_7YSXX7KT2=>Q2pTjVny}UT9>ENsyFjQ`1`FrOI`|W-@kB4iSEKj z&*FVm{GNWh-WhD^!fp{e`N-d=>WOi@-pkb;V;pWvG#a{CYu8*_vLT|T#K%z8P0By` z+;xwto*$N`m!AHdb>r`^ol?i=pNo8N>9+lP@~3aJj(qzSZk?uRF{SWO=ij{^_m(j^ z|Fr7Oyqhc7dPMKY{gg|M1=|eXKHbYXPw}g*&h32?7v%3Rxa793WXGB-D=t}0nHw7L z^tISWo{#pOrn^)W<{dwNq;SgIbj5lFJQ6`|FC!uV{g5=KYzOW^>BsHiK#ETURB!8St?|`Zs(HY=MI{^cU&{2 zV}7YnpY`wf#i3f)!dI@UH2vZE)bymk5dY55Jzy&t!Ye zpTnQe&ti7PdOP;{$6F5?aK)TvWwGV{)@W?~XhM2X?7nBy%I^j}xv}^C`3-Uzg)jC= z=~e#Ja*A^J6Qv*Wo`XewQJD7iU(W1m9~Bq-1b&cN(y6m#ZE1nVn_o#Sf2~~Hdo3m$ z4V1drsXFI{xM|G6P(ID&jb4jAin|}}+@UVwb^BD&(j!`YmYsIz+J6WBWx1sz6?t__ z=%ri}R`!W%m)|wa_}O}>a@MNbN8?Yc%CBrP)o^Qj-i?j?!F zKXEKsBbR+eDQxTg+ATA`&rvzDOB}JzclE@tOf|(vk&D z`xRUL{x*rv$ba|oP467d9P`tsb9R1e3bj~So@39yb#=&$Z@;p#7q9(UBm8#e#Hm~} zgVw#-sCLimx%VmA8DCrKO+HO!X=49)%YQ?pM9nJ|u{UnqVsEr}D{ihiKC2?&>$iE2 zL>9{h?Dd=`x@?|Pm_%8m*_X{l2ewL|Vhs7%Xd2geLi3vBz5v%Vv*&MGz3Tm!IVS|< z>T-I;jkbRM#r()?mmdq`d#C%?KVDVxydO5dd*%85O8x_S+sryRE_Mip)dy(LF!Cwq zwJn%zm>D1Wc_ zjXxzGcv-Y9C|%-I?*`WA%Kx{oNJ)~JGBt1Q7C-L(fYsFn|895ohOF*(aNwFKV5+%Q z?t|9LDa)ofA29uv!K!;WA@3&d?Z&*o?@Mm7RQovR*F4>#BfQ3xckf5l%S-Ofhz+{p zVP3QR)5{Bc!pi<{UK8@Y(ZjTv^W;RiBijW}GkRZoc#~T*ac9xK-e*PJhE7HdB5OCc zep4yc-I8@aXuHzm=IsT4goQoc?vBhnc)m6x`#Z;;nI?PHGrt)cJ~f-@zxC+;7xDr| z%dF>bd~@~Xf@KX=hwg5AZtTqRUT2v#%RJ}KSGzst z!4(GjmxXiNY;M$N8&CMb6e0F=lAO)L!-x0|ZvEqKR_N)+<+b4)tN)&uv$w^+TCKTg zrY*iz!d2dO;nEqu<8QV!H8Foa%{sfWEZTePt9PpBjz#fJRe!AElBaym@Y42gIvfYr zp5-|F;Cm*kbme}}ODs>$e!cR2?N14_3u_atQf7!7t}&`gTJ!6gQtgqy=eEx9IcT|| z-qc~GUxbfQ4(G<_W`&Dooeae9n;w{X`v_BAQUt5;cQXD<^3R4ZI9vYm+m=ULB#PfHJ}}Mr!LL(FeII7N zxUnJOuuj<*f!VfezJ+KVb-wgrt$f(Sr(N3Kf2LH3mZ>nU=rk#OdDT3){l`c3s=RwT zT$_)`-n`)!Yn60szP)$$hSO6oMlNcb^zwt@>c3lG#)!{9bH>!p+sE(erJY+Av}V59 zyHwEq0X-phHrbP#UB@V^wXc| zO7nZ!Esa?v({B4#U)_@`RHu9YuFzk%!hc(qzLLp#Iwi~XRnkl=8{?~OA*#YT3)m!L zJ4_#*z24Xvb5SwsN}uxNe@2H?e6+MA7Rx3c+tRdlO>~Kw&%xep6@|0K3+}3UTqtIE zZJF+;la#)3eMQwu)zp?Bdv3aq-Gmhn6~qc#^cb$h-00F;l=J-~%awcL zKbB5h@NM3#6qiM!1-nkpvo*>^alwiYZc>Uxel7oJ~o(Um!U@Z>87a zaOW%Ydvku4IK2H?e)HVY?OwB-=0(01?w7o2!@Sw`-1Vz-vSX%+EUKRQsmqgR^TC76 zlV=&uw2C;y{P@Lkw>|E5|13<*-5+z8&2irC*m)>WB5}2`Ld43vMaB+S-|#C`3EuDK z%{jm@`>Ah(h;+`4+=!q!&Y1y+((`^qtrGkA@NZk(gu0puo0K(z_xXO0*Z!Py^Pk8A zVd>33AFAy5TqPE5^J4Luz|9uZHyyiP6tU@u^r1a5^PZ)89hsBy@BWuw>sb3fvE+ zQ}yruUpM`~L3iC}&AlL0}yDckhA0--ZStF!&=Z*i# zwVzy{8dZww1#{^xx}~#_!~fuHrd9Ro1pzfKU0^TU{fZ`pte`^zALav$yaDENm@ucXVZT((w=tS{2~SsS>hw z$LdXnyLNX-I;e6iDeX-b6%~K~C^c4O&;5eX4DlSt0Bwa3$CXiEJB7FE-4#+P+4p=- zy4p;UJJ+9o|MmBBTH3tdUt{jGca=&k6}8K&mMH%HM=eP2fWf+ulLwz^PpB?=wOs0^ zd)12i6KOp+9eww6%>F02rzEIFC;P8%mFpx2@nwroT8i@9zSFSU*gWUvuAArkB`f~^ z-55Px@~8MV!Bd@nZoM-Y#`0khg&7{^bXIJEqvP@vR(N? zQPbxRwkF;CzDjS5D+*4&UU9x@V(n_@S<36U=P53h-hO#1&*F2J|GV`u9_*ZAmy@#o zb&pEPqhl*R#mx{&*XZLftm#nBEWdIqVXEeuNilUH7Ui2ck4L;|V!9@^R7gJl*6FLE zh0mV8T2*oBgxbp=s}69TV9n5<=2!9Z!)or=FOy#X;|s~r5IgfxFgk6MYX623p4lgF zy%5Nd>~VbX#;#B+Z*{}pE|0H$$6jrdTGzd4Ys#Uef!EzuIcrCUuilomKk%1wd6Ubz zgJLTeTgcg5^*tF9FTGTA(}vmVS==#@jc;eI-)40Dh~4Yfs&$_ataI{lu>4Wi6Z60P+p>wy~FbN}xji#ltI=KT8c%4Tbq|B8P1zUALHwoQBf zw*H85!A}dP$?^~F8;ee?`mgYJ@BbBsCpXk_?9Vn|{QSwe+`eTdm$&}cSKey=v0hGd zwpEb*xzODUPhaSp^7j9GkH0xd|9|wly~;nSl~bX&dG7wNlA8VfYfhcL!rx!@J&C3K z>#wbwyPvHRIo85sChfgLQ-;Y-!Gi5!z7FHApkHerKJ>9!qcO84icS0I6Y)tK!Y0hiyC?UQRnt)}xGiE0+(4{g8R?lMob zpI7na@sl0z7iIHU6;^I=J}Sc_ud&go>4|mHTKM*h;qwF4|2Eup3%3@XVB=<6U3P6M>s5&8RopbY z`3o~ov(J1J|1l)`LBX>?^EKbUomv@^J2Pjkny6Sj<5B*}t%7mi?iNN){_@$UY_D1- zzs`;a8R?q0W^g<2kx|f^`Qx^and@W;E4{}~UyDkTOP5GrJNR=aL%IR~S&qgJXHz66 z@b(qkOuPJa{kGt9x1Ky%V_SP^jc!QV+do&HcmB$(y7Vmh-^Y;E1W_wwiJU~9$Ptmmm4tE=kj zv;KcwZT7KA=Ue-{`?GI7DKXJ`XT0@mA@*f9X1-V4+nJR1OWvz`{>@oa7e4-Hs2(V!p7^us zr&WCNQpL_^t%h2gFLkJCtG#>Kc7(a0;BL;h?y9*np5EZ(&P_Zr>Ey=~zl@@dE%pga zn5w$ZBli2;(xU8T(r+hjXXTxk#C7E4M`N3eq~{+6X63WXzRl>{&a-}_)q+FKe7I_Cnw5 zP5Rw(zd+oV^Z&BvIv@YZJlb@GY2&UNGnKyxi_bnX;qJzEnf7lj`zM_KzDTeoxZc2h z7vr%`wx_mTiWlSxbMs5Ky2iXUurVr#ljHl5n0Z#kN~S%teD&+SS6M8simbH0@+xa_ z>a~1b-Wj%&IGw|oW>1^8@rMkLsZt-dn^p!)nuu1uKcmVfkNgtw)EUeU}hNv+~4TGyP?r#9nxmzC&_(68!G1=x%?$OyF_Tqrr`iG8*{+pnbK^(sf0A~eN9 z#XdaK(c_LtO+35*kcIa3HG*6#N=-t)bjB{|NZ9|olVe}@w}h2DM15DytAD67^<>o< zrMYiY-+!7?yrND-NPn@~7vt4OE*wc|d#;mnYkk`k6P2||JZ{qSmIb2sHnLq)zT`yIoqGnPkna>~BMG@9Ia(%sWl zzB)F&cJ-~AFU3h0+1|?RTg+Ddv+*qR-92I*@-Kzgeh-h7*AOtC`S`ZdomfxCod$wT z^O!>4bn;A8Uvz!S;^U7W`X%TTT;sHKx))`0X+`k;NRis+f-NHA21l26@8;Ur^;L4$ zmoGtr?qZKuKCP>(Tkqd^QBknEJ#;y@`P7BwcHe&o#-7gGckzVsG_wQ-53>hJ`>gs! zJ)i#w+{d>6sgfCkRo$ev8A;c~HlNd)r+WR|>?3t7P0p)6YW;KFbM*7~?^?Dk!Qm$| zm(Gva_h>=L8QCcTYzg6;YFdvzaZ$6Z+Hv@fr(C!M)A5T>)@)8#A-;WjY;f+QN%og) zFP(T)m>Rg}#*T(fRtG1}k(J*#eg5Uwerc;TEw(OJPl!6;?Cs`sSFk;J1IJ}%Q5B1h z-8XlZ9esGcXG+^;J>Abr+)U4vjPCw>dRAmkgRD-_q}bk*%Wf={+9LUW(!`HW^-&?U zFLO@0)zvIJRT^@8sbO5*-$;#Ly4xJzh35p9eK>n^O7UAA7M0m1EFOx+cYeBAJz_nb z_Ps2@_fDMtWb;KK61@kD_jqn&o|^E4(Qb{#%JQvWI(u?IcJT={swJfJmBk6jXl$F{ z6CXO2#o1WeH(DTZ^2#F@?uus~l`sD7d05)_y>g3JSCxa{Cfk>bUtWp7*S}Y~S#D1E zqKQ6BHb^~5==A8Av}y6iOHb0&=Pmurvg=^w$?WYjN(7I;&lEoMa(Ww-wk6ZE)JX*j?(B z%k-+C|C{GeIX+EY-u!EFxx+!JY+aRv(+T=hR!!^|_|SQF=MfjTIh^}c{Un)BzYBcw z#;)>WZ(s8#rT-=W@0Krg%h8+SeNkMk=*^9YUVgp8qLUFR)5Ig0e#-5<@4V+@>$zPw z9@$*HS~@+?x!WMMIoN{Vyybj+>Z!}@oA$i9-tTc`TI01JOaENn`s3u2)Zags>--Qg zvEb8cVhEORUw%^U{j@-XUFMf>{d#JWDRL@|yXMi)M>f?@{%p7>a!vKZ9Iq?79AXx{ z-X7Uki=}pdaz86Ny-c$5!IEvOgN&FO8vadwqhO%3pr0p^*LcUG#+T_Il-K<~&~f@) z(S{>l7M=z?0-A~sa(`MLtPu+1mpWl&c(9{wp6cJDQo%pM78D#kWR8ynx4r(Kw4OHUMfTILaZMB=#8=Nl7y zH<+*GbzSo9#j?+R+g|*+7xE_W!7FyRe50ff{dtAEIL|F~Ra47cWN-O3p0{V0;lUE& zWA2SNmzbX7x-3*{ZeVrIgCjeswe!r5l}paN_sbCSWL`XThK30Dm)l8oOeb2>Xs8~`kUDOxL@4d z(VZdVzL{5i)#Dkq8oSt>nOCQ(v$=%_-4xSwo^#xVd1b-F<&j2R#Xb@Xv?siscley; z!nX+z7raoNp?!sQ3IF>$-?p$Yv$^^o&z=%>HS+SSO%E6`%PJOrIScYxX2U##*-e$hF1m?bzC#cHCUlE?b}TE{T(O+9b1| zFA8jY4*oBBmCfcVzF^y{U0hpR`y4N3O=%6eEiFDXx+GFpw90wOsVlQAj~74OIZ;&Y z;#J9&ChgG)vkyzOok?1qeE#C~jc$Q89RJVdk>&6PQZQ(u(W>0A3N z83ZrbWD{3rWfO6KR!VL5vVA|Ri}R-6xOApRuu(Smq>{-NW`nuhuCEV$iji9!b?0NI zNzmQScL&a8b#Hx`Yh#l3`oY1x+zQ6M+yVWzyKf}qOzZ03B~+qyPVl+vntaRI`wgGV zF{FJs^hvhc`r!$mb-TpQuIkoatvBzBzMIc8L(jD1Awqk(Rt3%}obyYb-8JUun;Y95 zw69E(SZ85$x8=s;?K7i$B6Tl+ZM&uuRqO3Lac0^B&kcCh22bwv%1wb#$v9sgQ&HnDW?H95cN^*;@wl<=}QN6LK-(}}wvUM0@9?oMiC zjwE-q*x!}1zCn6HTxm0(M7(5L9=h?X)u*X^DVJQooSN8cvn6>!R&w&;s~0{toa@ZXNFr%iJa4@_bIe2RP18s4oOs<}IoK803gJDckL z6#Kl2yWmjswv=`y)r%`GJ$WgBug~sbeC3a_jl%M03;~KNkMD6F(Taz@> zE5tsgyjb=4+k#}S{rxw)ik=$nTNd+_{n~Vw?++z)yT3nb6tkO_%WLoLy-@brh1)yY z1h`I$7Vpxzb~S?~_l=co-i(^Uxa+5$vRTaD{4l4Fv3uJW^^H4s9==gg&bDpSvW<3+ zZ>9V-G?)Fp_xa_*|LQSUKixT6{+Z7;=68s&DgOlZ4CU@CA*)yO+HSkycS_|dbDc+P2&Fh|a~MQWo)& zlTT0T+^?(HQ6}nsqu<=h`rp&eB~RxB%WHSqonyY{8q>r6BBvy`?aBMVo7OAXQ(X2o z&#dGP`!+dvt)t$=e-~a;58 z)^F*aR8xCT^ng-u@?73eUu;#x|dfWV$zhCXGDq&dVE~Yw^rq+uv@ssYX-%?T5m*tM)H3iCW>mw(5ve{7$F*4Q7A1_J^%C z_#XK&d|J`$9bU6{F!h;sXGsYgJovQn!_(cRn~Xxw`-NHmn||pqled$4 zr{7Y(x?+z`{&kZV(}Ifj7kvrw+Bs*1LHI<*mzUx#{qogAwjB^xSn>6MhW_fAYj{3a zp1gG==%v!E*?hBR=gG4taPfS0bBbN#b9TbSGaoYUSI!LP`aJ2!C5E>G>3_BhKfa;; z@wnFEy=_M?X}U=%&s)6jkh))}Q_1Y7d-hp)u9`n-W-5EN=`+F2Y@4eWY~x6cJy1A# zLbR9tE0M`5)q-5{&fh*{d`jEAlR1sQbxm{J(~X(DPOg`V3a72ycr3>5{H7L`i-!_k{+^W*!#{=jR!DQIbxoXIL>6yAi_On8CesC{ zer>Fuzr4eSUHSJG?icbaS^QpodZ`v+vN-7H(Sw)nPtaEqH@*Vvawd4HSE>ZTb-P3s|#%v1US-z^D z-#YS^|B**bRxh{gn;-D&mARga35UoWRsYxQZ5x!?d6yhp`?^`zcCmhl!I?e-rlSlF zPOdTU6)!%>Dl(~Ll3=u8a?$GgUcP#p$?uHGckBXVTdmt&?yGq%Z$4+T>GijQ1HSUF zd1jO(8mTm2Iari&cS-1{zpgK4%Z2ed?r#ivk|h_Jk*x2i_oi!ta`?0@yR7CJ9$vRB z$I)Em;`#ZWefoZXzdPTMym0yjSIC4AvBwLWHqNw~*UH27@WQKGz1|i(cnnv{{}l0T zH)Nl5jq8$A3CBe3w-tH8Jvs^Bzd3ULH&`rqu`JK!$XWh{*C%pjt@r2YG*iF${lc|O zYZ=Aa=K_~0^mvw}UQ`#jnD{ySMcc0X9Twfz794v5l(>C2eUQtxT^O^m#7casXZ_Sx z*%M#OA6aZ$JUyu>WZzyk_twRgtm>aWI!IpPD`9!wJY(L&t=Ur&O-@gJe7{!Dw8MG9 zA)7S?HIlzy6mLPsn-?>y~zLF zv1o2wTzd4MTb`E!ru4IZ`6qG5J+3WmTcc0Cxou28zvMqb$sYx(ze3XIiCj2$?E9X% zSC}+5boP9&Ql7j=kp1SA1*cp#HeL^PQ12<&sL-?i+UCaQFt?Vxvg_>{`CAJ0*_Z#D zo5*!NQLyx>uG7b7VF}MZ9-fx?BIVO@<_)3iRcBw->-x{KIkjMOV9bw%}MLI`1!l-+EjK%SRHbkS3Fsu=kTo!f-4u9K3=&v_@Z;) zYlnIXHC-j6^9O_v$(9|ixc6^YKRAC@xnfAN;y9~I{7W@&$4qO<8Slr}0~j>Trot$Bm|~@k_#=-uSB85%zx5 zSJev*v2M&^Di?N{g;`^f86j%*MkR46?uK;P35T^vun3$NzAlrs4MPDkq11cHkv*P-T3>F`i?z)EbEKiHspWTYzhxI7wOVVc@c0X)ci_t---2yu1vY%r+HXi z*-XgH({dlj^!=6wJfSvP;YJj+t|fdA2mHa?zTbPus_)4_pJvzmEL-27)}nJz&JDC;oE`wg#!Nq z4foY2vdm_Ww0-l@|AY}o)o=bQjb9gdZoQ_+^>%*nri}CzvwP<5zT7kSvS^x!I+tkL zKhtCmi(uyM-mi=m#RMa`droD~%s5s4<-vjG6Wm|&iv2=(ZeNs{o6KCi==)+ru6Yx$ zwwpWGu&jz&(Ktvl1TIOfUGM6FoiFT&o{!_#)w1w^Vp_a?{$xbOY}z%0&T<5oedYYn!_vc9rD5SvpF`9SqI( zzL})YJ4-?N*=yRH^)OkJ1}9T7KS%^BXQR})g#9`pBGb*5`sW{T-Vf7QIX zyy6+FSHFq+5ngYQakEOdKF<4pjzs2^W-&jl_^eI;av3u(e|)o1h5w94thtlJ9ByIp zmB!QGZ@Tu`L+fb8F;r=!>Krl_}n<}_~aSjzk*!@RYUH3~)h^!ybBzCO zna#JGC2U0wuZe-^g^T%NV#{r=fG zA1~Um&7S*kjW%E3)akQ+UjLyNVHCM_YeB6@hkXCtz{mXy&pdh^JB4%M^9{PJ7sR&L zOXgTz+trYlr{-!lO8LE9xW%IwD+7xo2E$Ied zPHuwAZV4%=yscB(Ppw(~-s$bhDeXq5f=$lw-bwqOJZMN+`s(ARmG#P- zo~&8vW@`|9HTd)djWu6>**k8^xn#CyqWz79Ud!*_b*y%jnzx3*{Y5tGv2cw`?;d!) zRD95PBJ8$3*W|k!X7jjh4NoxYns99I*?-lFt4|((Vzo?}KiGY8g^X)vqtE+e4r2Ez zC2qf2#%jbLDf@l;+;!ILA^v-nxj%qhy1E{uar6+m|@r{HhewPs`GF9T0!AVQIm1Z~i}ePoB7ma4CJgv)CX=JZVY(f(B8y ztN^{5Dbp-lBMMsn>n~T96;5u8n>BUOk_&|zY(Ls!E~Un;FUl?1@cWROtbV6Tx^nT% zEyA~o_?9!C$(w4H=yhkk@b4?LJ{$hM$SR9+d9&BSB|CQAjnkhLyer>_Y6L#?a2Ipi z&Z4*c@`fAs&%7*OUD~BLy>@4_@mGVwmraIx1#a4hFYan6 zCs@eEe_O$@e47vJQ)U0oyq8z}wI}E)bnvfjG16aYI4@E`aeLA?{pO2bcHO)rFOB2Y+kT)d5@K0obu7x>^^%V*M$A3YL}V0-G5HF%*^Y{lrqYS9L|0^?C88? z&mV?Aw)^*(Ms!tlF;1TSw`gh7M+>g(y;~K2?U~oTE$hb7rKi-hF1%&ESUtsK*`^EU z`krRluhZ+eccj^I=gjB#*<24Z@?V!V%b0XGP+)J1yM>MB0|}-TGG2@;Y8El9(Ah2- zc2dSc)pAR@xC`gixr^?s;;Q7aOYr7jK9^tC zcHAhey7kUG3&+M228)CW^8F|KB!%&{diGY&J5Sn8~!eK*rg|P zYdJUHmj$z&Zyc8k(Us@=@VlFJl6TAIm%I34kF4;z^(mEo+jP@Evrikoy0w5yT(sG{ zHPLYTs-qLuzx~EE?Q&BPE&F3~;B>F2FXjI> z9b!{xQ%KquEVC(f2}g{knT|WB?{MELmH!S@eTL(A+bt_dE$U zy}hiX?!Dw1Fa1})+@}{kUciwlA=<0C@NeSeB;9q%-OBlk{`CI+e*V@m)?e<+UtMN; ztoArl-{_&^L(hi{TNU{NigfSavG3Y8<=+p}mVd#87L6PsAF>7id@4xUxBKqAwFbg$ z5u0-zY_^7Et&Y2C|0{n=-q*nUzy3%ktWf;woVoJ-D}R%TTI<_VyPi26t=Lf)vh2k| zr=_nN*1Xk^)#sYqc;;5aLc=Z3PS~$|6fOUPm4ANGc5$}9zJHEBo38b9x!Py@+woR& z7uCJ{7L*X8w!c#Mtgz!(o~veWrv6*Q!lC0@GBswwxm~+IUcdX{b>SO{W7Y@$zvQ+S zlX>M?<)vI0FSJ3hCs6$0(uorcQr9ku{PH*d_3jskH%_|JrQUqBX5-FN;&VboZ8mFJ z?9r-->aAbOJu%6O`Dos^S2u)QkcRw%gs<^FV9kO!s*1dtJIFU#GS#m~c*U z^2B@wk9Q~S?!-?FI8->HfaOt!w@jDn(Z#JfhZRbLzVY_`Tkw40!dkni+fT|3<9v52 z&HVKF;KlDduZSO=z4n^*Jij)Hw<`W01wQh`-oKP*mz7%)vD4|s>L)GvYvT{UZ(gO9 zZR@saC0AI7u)2fmzJ{681>KL%-72@Z=f?{XpB3+=xB^N(y>{4YIJw>Bq@eDV+}s)L z_NVxxUq9DeR`aOj(AttOAyq5&JDJWU#J3#%b!EdAPQO^~Gv8hAl&;<+`1Qo0brsT? zzh6{qZhSob!)~)%9vj#!Dw}Rvmf9BWX1=gm+B=!QZt*wkb&J1UsQ(vu)vn|14Zl2R zfx~6LdN)iw?E6?S<@3CkZZ6IWhYYegv@?xf{Hf;r|5rEX+|&1p$NbLJb4>U6TJ6TS zVaW#W#vgw+>h1U?Ts8gdtqEO%W?fRe zT^i5#l`g7pLh`ucqPeeFJo>O8D@e!ng3Kes24;u5Z+mC4KlFG|;&Mr_=Gt~`-p0*Y zh9cEsO*h{Nq;;(O5i$K|@HGp^?3mB(raZ%i@1Km7)a>JY$zQkfNy>X%Ic;^%?V^DFkEX+a?^ZCpJyw1o zk^O$o_x|~fpZF^RBcr9?nd<$U=$0ytZAypZ>gh8sJPqeR?PHo^aJWkPz`aeY-7kpP zX8#hO)6~B6<<#4!^JIP1*9(`swa&BUjjw&NF#p;Pp9tv-3wr;WM)oX7-=1Lj{neG* zm!GE^|6jbuI*B*!<5-wUVJUt7No>`?vCbxRKK^A z8>g@&9TP3~NHi9FTWEG})ztHrXL6oeUntz-9`fM`(`5mb^?a&pHcjbXQRCZoz@*EL ztNA~7nZgy`{c9}5EEymF2@5xWccLIBfA3+orweZP_Rl|G(ea3LRYJ1WSJP)NVm5ia zZ;E#I(2;CW)m~=C6%l#lixuOe+UwK%#aHkCnYbdH?=XjyuJYa9MT?=y#mwD+gpiMwib*Q9Qp-+imQITGww66|bl|NP9I ztU2FADDGva-m#IryOq&yVu_FJ)9*L&J$AY+}jA`X}R|H2?T4RUrjU zp{1X1tp0QJ-Fw^SdGjBg&sdmPa>AH7`03{#6>_=jWv_&2haK zdHeQ@5Pziyy=j$BGfq1AdP;x%8EITCEkEzVyGG4gix`(%CX;uv-^pJ0cH%49wd=Oo z>^g0wys%beU(3bTEz)_`7Op%KPd;sL)+@Z8HYG~?*UE$3r}RxnxfPR=2R zmGP>kArr2@N*7;H7TzZ`Ws>Eb{3`ML2_FvH8BHm$DfVu}x-*iM}-^`!Hbl*RJ4X=bvNvPeaCpB^}lHL%{d$%K|Kwid^ zEu_lqMe1a>(uZ^2Xee#lvg;P7!~-iMA>&Q2V%dBbecrsd{p$%kE71U zy=k%U$!;l&BX`$4teVVr^GVW?;{Io!vINo{)+94dR!>;ecPDsh$Bx~d^~=ihjqWk> zOj{(WF|{l!X4>y7cI!6iS-o6rXcs)yU9(}I-(S<47Z0kRTx=C6H`T^F??m6Cg{y+r zP1q>O+LKo=nNum>^i;3;G3yMMi14{~{L$Y%ot`aT*YoqDk5G4<6yMg@EtdnVo+sXY zf7;Vw_tTp`|Jl6me%pEU%)|~RpLM6F1!KLMTAkUkf30pwbS#v8adPj4!+CdD-kys8x|LBwdr3!F?b>L~)2nBd z9_V~x)?Ha)sP%sKi(1xw=biV*Z}E4~HfNQw>Ryw&NNg+PdI#onM{aSsTrc}1)ndF$ zIjOC-b7Ny6=iHy{lbudlz2+;NdE?&_kHr09iaYr0-yV*aU3Ip|>r=f>fsxfs34S)` zI8meW#oKM>gxRUik;>X5r17KZ=#E%}Q=SzJ@rOc;H^)kgE);*s@Y+yHZ1*?QqsKO0 zO}#95#*61=;Oun`lO-y&7rW{PbzVKb)oJswI~gkv^;X*?t>|vwt(qDg%X6GR@tsXU zN@`3)qS&9{hwI%BuCM(Vx%SD^lXqUk^=WtQ%Ifh^42zIjebzK8?CWjLTRPH3i(i+@ zc%_92&1v=7d_vEA!{#IMMw1w4&HWW#ymWS;OkCrcxBCBGo|%1FG*Ky12AODH==n%$*dpc;%|!tCPHzP7FM1DN$;3 z_V?HF((;&eb$;H3=TcdAay{^P2&b^dCvnkOoJ_ab$mW7KCk%uoBWMuv(1)0(Yv1OGQlv^vIBu`sb~md3`dlT=ASbz{u92Ir-9Nv* z(dS?N(tk@crWPq~{V-WPNcRrge$m@g&i)AAb0x;^w9b_7?K6+4E;HfxTgY=l@xN}w zxsB-?=j_iswX@gAxjC>)EL@;lFUNcC@APLI-%RJx)KKh;%{_ejY+s+mCWDwaO@}YJ zgt28g^aXvZn^qNO^?3>Bo~1tnB(H>W|Fy5Gn6PJ6sgGIja@p_Zv+JE+^P3p=-~GPG zku_R%-J_5`8Pz!X{o8bNtY*41KfiujvMu}5jnn|AlIdLrT$#7dt6j+9j;z-?le}4> z(Y-VMc*M2SR+IRABoy7U=Ebi-tVh!85Z+w1#^3pjc#_XJ!f9c+{bGn3j z0>0-QyqWUsh<4tIoNm#Md==kjZ2neq z&dz?bC28v_or_rawAvqyeD>+|nL{Zb%O+QRKB=v6F#N#9&T^-3wp_md*0ZtY;RBPJ?n_tY5-rZ{&FYbSKJ5+j&1*cR-|nB7yzE2RtrbcO z&S>kn@0Yr=dDYXN9HD@l1y^o7&AQX6bmr@O8%^Q=`sb1#9b1xpXLG<$(K}vNXOnJT ze0=nD+xCUgxz3i`7G{U)C!PN!{UBkU$)StEC$r_3Uy-}8aebZl=UL~Hna#BH?oA73 zOu9L_A;N50U_;u1)m6pkPsVAc6y<1#x~f0-R80w7Ib-V-x$9xcC(_sNNm$TyBYB&! zQG4>nxvQL_H#u?d{#qYmVGwWSyYj*rKD8}dr#{=2dg9>CU3rxAy#F=sK!j6UEs7setK#vzBpN*3{*`$5Nt}?=zZT`@v>Os>EK$ zIbQA_bI&UCs%AIprB+n+f9$?|tAQ)v=282Ds>hv+->}-np0$`@6qM7N*Qy|RXNvN= zCmqgx`bSnyzFa&Z^ah{nd-X5NW$t?Q<(+x>Vj^2&xA-&fpFjS0)o2R;-~D-}VATeO z{G@a2pQ^DBRaN8?aQC#VOo>y>ZLzaN&en!&=UG`@{Y~scB}90@wYvFR(*oWx$hfqn;(#^ z6P0?dwD3{l^3_@Qye}|?Ecp64XP=3u=flM9D>(i9Rd3AD|N8u9`Ldli_fI)*_22Wh ziFLw|o-L&cU z1>56IYqYJ@i*{{2y!PEy|7+S)B)_Uo)SudBKXL9tzC?*d&!$>A$2xr!o4?56LbT!O zqZd|Z+-Z1_oolh!`^UG8$NOa8#Kp7C%K8{=d-{~ndC3#L!bkURO-z0j-8Z%L!uB$y zQy+g@f6v%=d(E1cmdugy;d9*HTZ)uSoSM6!rjVtrx?kaZ%=?R7H@ky4CHx z!G%<>z(Y55-d(&fDdgk4wBEE}`!bhTWy#BpITi_<>G-tx>g=8DG;>kMD&cou7HV|1 z-<{6eDZ(oCc3(qZkHL`u^;S2}gaZ$mcI;cjyCTOZ0#au?&-Q*cJ3q0t z%zUTH)`LGA)UWK5V)6N(wpNIxcH-r&mKN+D%=-K-p`RtzJw5EdGW+M|Yd7#Gc%t$wQv1bBlJhWSMR-Q+Ra-A%yF*mhva1@N?y}g zRIowm=7I~Kr$;Z&co@ky`%c^4?PhD1yeQ+0{Sfxcx@)szmi~uxDaUqKsITE&uVBu^ zT(t7|f77G?t3;{`qc(|OTR!2B;`Wj+J3_4vd9G7k@4Wa)-A1NY9^&jv_!GPhIxdua zTCm`T*0nY(CvmaZ-Hpa(W`~1TmcDW6R1?^L_QYAf_4n$w>}9Jg=DGA$Ztl9mZ$HIP z6-jzuQx1DpA$Hd4L*mZRQ^}QkUuoRQPi1~E`>}%i%)FpElb0>qxQTtsFz4x!{n2L&4q7ygk~ukhI;k-72QmW$gq zK3wX5 zGM;rlre-(S_zPv_813P#RFeCU&94%?c*0iR(^v9~W%g{=TiE&IX|1W^^7|UKN@>0= zEPZO%_}z4T6Q4bO;A8jhP3FgqU-xPz<#)`R>U6e6X8(MZmF*%I?PXu|Ewfu-Zo23+ z-}0Sonz})2+%7wnOIug}-r;!AIF4WBb?}NuAGJgnE>338@Z?*%wxz8(Zri`=z6p9F z)l*pt>}1sDw%9IecfBd^T^)HoukO@=wOPVBGkPwhFOk`@bS7V~`4>~!S?QeuUb5R{ zRM$*wGpo`n`(jb%CiU&&;SR4It;b#DTuxZ<<%(yz2$-hJ9V-|7q};OMnM&*I36hy9 zQyvNI+syUunA@2^XM>8~-j4fWk4w*g{NE)ep5Z@vml^*{O}6F!jt#S$9M+udZ~uDH zw&kXxU-zE=`*W|VUaOkYVI{qh{a~>)=gqTgna(F_+q{`&!lK~me~np5@swqm)vP&{ zvoDmZP5x4mUvy<(*`b%omi8HMPxrl6&FA{`?QGeqM*@G3CMLeVD{1r9MJbKK2Xj2ktR?xi;rrUvxP%Mn|Ujk^nom$PcSS$CE=l7JRo0 zTkV{%+c_%1`fAOy27Xr#$RS3|N6auv?C@d_eqLeJCc}??ijq}=cgmf z5?g$jUay>)TIu%6XyT%-n*1vV?)e%&&~sG|(74?Fab|-@RJGGJ2JM)vgm}Be3#y(9 zk0O5ma_<+86}AvsGnYeNZ%4OanbDh8@12TY7Th+ua_|(-w=cqMvdhzVJ5L)`QvkhLg7bmibiN%)M{v#$N%v6OQC5{T1bTCs7sid&a&%?G4qo z&AF8^tr}uN9xwZi7csn_u(i(OVTiBC!-D$H8<<}CEHu%+_9*n%$HT8ecl}LN;xKt} z@^MYh`^ix^pR`M!S-X;V^13IU$A8~A?VmmQ-Pr_XQ_qPFpIEwTP988=Dx>%7F8c;S zar-%s<}SDM(RsVlVDZY@na z$b-o?M$J*HZbt2AUTMAH)6|@U#sRn1wm8-8d)~5a-@%!0F1uIOMoy5;=xmO$y7Tbc z#@Tg&Ga^cIBe?!gbp8K&)jc1cpug%Gk8Bk5cWOFUvpLP!d6V_~;|K5Krc3=&*{-6QePz+bRLR6o5%;q`RrGDE zo={;_yedb4O2yI+{KP1+|Woo;xU)c^+Kwh`ECQ>E&CKE-~HZ^wl79FWkGF9 z_?_t@hcD*k?GXA|QzE=|g`V;CbffpmnH8Pf8cc>03%lH$1a+5NDr%rdVPIMpu;XoK~!N(&2NvU`fp0nMb$T@uV02FW@-L+3s90Ax4gGDg*Do8GfN>dz&xwyPfM@ zSpRUAVziY%*V9iI?{B$gZoPSiw3m*(j!00ZnAT3F(;{ibs|tIzO-WihWxvfzQRlj; zM~md#43{*>O=aJ>Mri9A&5(DMG23Q@g>?pn{jSQ5bl-GiTKknvN8*0iGkpt^tkMrV z-gDMXT)1n}iraf5d68C&Ojnd|tZLf3YN$bC{0y)VgeGMaU-Wbq^u zPf^{7j*NYOvr|uBp87v_TgkSb#*$+zm}3_8zVDfGO+Pc|fBmML{;#LJ(2a^@KRNB# zlHX|y=a{W)`TRO4vWO`rb@IF5XT2@1MlYA#S`d?Ivrz4Jsw$6?SM#5vkxzV%9y@XC zq~3-N+1D0M^?#)Dq5Sv%owEAtFK&BWEyNI#XnpQeptH$Z3*XG6m-pTZJF@o8>HYuX zqYU|?FTM;bEs;=J(S3VU+16c2mP?-9cMr?y*(SD1YKCvF+{$-df)@R@{8wG&T?FSu zq`NEoA9?e6LwTO>gs0gp+s@gUhdE!8La}c@vDj9p$mX{i7`?nAS9UY!^2JNb^6o$CUud;u*Xjcsw0&mv zoBD2XP4;*ul+bwZ@G{#}r>?~_Z2xqhDvo2?a%DQdQ+(Nkk6IJ7%kntqIL+U4My$5a zN&je$_QspB2M=ndyw&@5hM%ohHh8XY)Vmi4`52ThNzLK=YhY%r&i>j(mVZ&#OskWH zj|9HxuuVPS+h}~ttugV#ibs)xIld+@m-@I*-g5V1%bDXrvuF3VA3LNVaYWhT_Dlm7 zwU>;g8R0i?q&sX7xb*G#eQArLQ+8%QIT!1thR(_>JT-rpiJRK;DD$$Sg9|55*O7f3 zeXFPP*Qaj}G?uT9kPs=nS-6dfO@Ej9y-z$vWlnBO*4-$)a53bb-VFigZRf;RZri#` z=e;eP>8`Gi9&QYQ3(~vqp84AI%|SzB!a70ck5|$qZ-Uoj%JHEruOs#rj+f@8++)zA!kt+T}$D zhYH(|!_!)PPDzUi-V$&Vcx*UrJImZhHk&ItckVf*^F?_2%p*r%YE68Q$u((h@9B43 zk*p?4Q8`YJ`DR<(Rn1CQ*7g_@UUs>GeB z_Au1ssE<{w(s`I)Rcyaz;gvj}xC+}t;>V8Y>3KyQPV(hcz4fyyVogEdol{Rav;Dgi z>N>7|*y2{STfe3CwAsD&Uc!7Eg`ug%}Gzv&grhs?S{8V1MJ9G>QVTh6^g>$v08n7Q#1dxea?@3_U|^lepuG|whKiMy|o zWWIH~1;fa6kU#&73eB*wx%id|9@OJLE?WI+UkLR9z{H1E2*FvWv zr`WKF!(w;2)2}96+&X)|`k6Vmxt6|v$dc)L&$oT!!pps47mT>%Z-;WatVvw{YUX|S zU*Enxwum?T_FZf5y8c5|d)R;SefA3ZGG*en#o8;Ax_LHU%U|plz2S1DyMPva7ZRFGIDqnVh;2kei>VKQHfr1n-15cb)Wi zb6#HP8mZ9z!SQxqjtcwivLgnf-#VSl@7;TTU`gw#nyfeFCMzS)#D3oSWZ}{YPaPc3 zDPCg}2`v==AN%BY$M=K&?SPdVoiQ}yQT5XOZgDaGtXORtlKOo^?6E@;|2EO zMcikLFF0R6d{!mk&Q3?eoeO>hRZo6)CAogF-K6+W>s!w-FZI%&^kBo0$k3eJ70c5^ z7n^Kf+?nGjws_Z(?z>fAB+5=l)obs(W%;#DDeOwevDYv8KAte2`0z*WVgGM){IByI zvv8HU?9n8!v+>R3F2i>|ie@TR=0WVL9`6qah-^Op(DGOO4PG6V5@z0_H52|a-(Qq0 zyProrUoN%r^oColmp&YO^*uwhF#Y&9kJ#gLOWkj*+3snUN zuG*^~^HWm}yy$M>+c^I*TW>^CRN$6L%`)6KH5}F(95l-;`O9wc=$7fN7US+kOJ_`2 zd~D{StIxR7U$TAOo?CRcz9ov~nQOI<^zJ%s-rr{y>wPZT@^LrAO{+gP^FnLZ>VETg zy(o6HySrX)Rh`{*8QJbd|3mDGj|rsuUf!O0^ZDxTMPI9I>iS!i$G??GMwZZ?mtcAt9hl*2Q8g5?I5|n0VX}U%$iP<$G^t#1st2JNy7tPj_ z5*NrhKi755cfBdwHyR&ebM-R)k*^}BROrHXYnMYlU#F-T|IOV$_IoUh*%N$Z-cIkc z-ww;p@V&Twj@R}@zhoY*Wd3~rRTV$KT-n3J1+TVjSZMs$43~ZjR3^qHe zU2n6oZmxQd)a@Pa-AjIMh=?j^J#r-L*_v$kFZ0iF^u}z}4PrH~JtG_$rsE&ud7<2J zn*6c^`=d3!fg52;Sct%{oy z^>2UZ2;2XsD>kZo^0Zbz_M2N~UTBf*OWizQvXG7Bop>xyWxuBNq3zLM%CCt=hSz&c4uA6P@kSS(pq`q3Hu>c zTLdOPx}xT)Y00t5LHZisyLTe#?)!~j?N~Ia$8ht9?bmcQPA)xFwo?9|c{0c3a;qzy zukQEf?q;5Lm#I|zM_}ZhpK3P8@6SKBb=KSz#)B_R-gjJi+pKy&V(+B2HKr?{f2sKM zuCQuT+MMmKid-+AUFT1@p7e3CZ%oKD&qM!J4(3g>nyTv*;_{B+rLtj4w56`M#O6Hd`(Hwn8N6*x?#Yl5~%}ULTJ{{AAk;#%mYR(U{HO(HfM!ie%`D%MJ zbi2X{g_I(hn5(O$7haCMo;SNM@BM}*O^fMw#U1h{@H9(WSKEDZdi(H#)ZDFxUdMlW zl_x8&dT}#-eet%A84KIAW*TqGH2INMrs$s{BK>U9f7|2Y?h5l6H*J`C_x6HMZnJM* zU%$*`ZSoUyL(8R)k9;rX)pX0qVimZ5Ay7hE>EOwvh80%#HmsLx5T3qfmG#|};(D zCcT$$|K7MJ%02k;?-wooDd{>+9PAsym3ixmR95%wsZ{oR`S|q7D~yJR*F8yKl+|k3 z6LHt?L`mK)!8ez`Z{28+FClREO1IBrK81UGJyQ~`Y~1Ts3e7*rc+r|e{P?0NFBdMb zI4N+U_00`M)3>J>FP>Ihdwg}2WZddyKXqoR87WlBF?Ou=RciX!@GMs)g6pmOT=$lJ z|MJheNAG%;d`x$R*Nx3eOZR0&F3hl#lRJtsG?zvreSNzQIzFw0Oe64iWnnzr$ z{^6l4EA-f3ZrBm!-nt}e!LGeE;UE4p?m5JBg3Fbm!P$FmEoV(|=(UP%+ccM`IB+v^ zPdh3)MKx8E)lo5^B`GW85TDg4o5yVv6tr9odOy{;NZNtNUPB z6bq|li<0cxx~n^9hOE8RsI>Hb{kfgrQ!`h8{`>E9@u}0X=l6cUQ+(d`yUwFS%~Li{ z4~k(=*HB68Fpn|Hcu>A@Yt7N?o90S4YOhT5QY=v2DO-EAN=AH7%ulmKzb_LvOqw}a z%q*5w+Pz|}Mh^EEfsI=NA|K7ZcagDV@-~L=;`f*;N;ii`#F(F*%l-X(;y%`SEyZsf z?gd%eo-}Vu%X_@L(&Meni7wukD#ml{d4n!W_wxq(7v+veKSxtB{nwyK(mmuAR@h!n*LZ+(+m9MRRLe1&)Tjy7+Ui zFSq!!JF{}8S{;?M=3dFLZQ~`;@7+CmvP@y${zSfAqOYc#yKN`3gx5#Q%1W%wmbvBk^{~*LzAT|#56VJxE=>H?9=^<=d4;&qwAXbB42Rt0 z8a8xhyN2+3dzY=x>i^gLXTOQsBR(s=1-p-KKG8nGi8Va7qkqB`UoQUN>|DIO;=7eh ziq}5Pf3?%SW%-+n%fGJtTA3-9aro4=PhYFvy{cF|*LL5r1)uM}shb}2tEgr@>%FhW z|4Z2g)vsR6GyCQHE|K?f@fN{DuE{e`c?t6zUa+N7R&cuZPW|aG-b@!aJ@AX;z_%Nk zUs`;A$+zbIt2BC1-f+p%ZI-X)VB`v#u;DO2`;z1_vK|2=ja zpU9iuTpZoq5S_V{VDAlhBV3sf>9)?>@5Iv%+6z%96h0@!qdqdiD0N$tXK9D=02< z{`5QNvd3xBBk5P72e)$nT)6FP#iqyi&3_+x7kDaa<&>cAZ|jep zocx^0NRpYYCNC;#hMprKyTD#)b&8BEMy*^Lp;|3vC*Y3>vlTx>h zKe(Yi^2)o?j_8>5*BJtGX1(UKInM@}e6&Ae>s@!__+h6D4sRI5=kC<{_IT>+Zxbt? z7Oi;rC|4(6`tEvzU1o{CcQXAZ%NPV7xi0U=)ZNrQ3z}Sd z{=wU2jx6gPFZ#6=$;`|#`z6d=zv=I<$3J4Od`rG>%T-($C||B%6Ff63uw-(~nxwO$ zp`Xo7*@Uj9@~=3pvhBx5?GyRhn{^I4Cws@_yqKrG>bCBi2RC}(C#^AwVY@cjDB#H? z=FWfydnXgCK9L(om5&sz+a9KJ&sN7PGVkHj0}h#{uS#yqIUW0Mt}WE_o?F{wvYm;o z^p!_P7607m_dTxoL|8sEy?TjuR%MIW*^_^6=50T%-O$YUK6d%_qd6xv^&R88iu)rj zPQUQq(mmY|Rp>?Yipjr|%f8*Rc+jlswAg)#lHCLwTOtwnCZP$F@y*e7U35 z*05*El#}WAo2Hz&bcem^tg?0aLS@!2naSGX<`#V`Ci@h9)O=dAV@=`jGOoDNtliz# zb5e^6=f=eBp1bo<#gYl1C9U*Nf4-5+sHhk?=jK6=$!~HlB&jbvp%RgKctLoN?YEpy zncEfh%OVP|)t@;OT*5Xzocpyldlr|znsxJ;ZY!S-=dT5spEfkj7BE~e?Xky(Q=3Az z`H1G_=@9^#@niNv>*~`^iJv;Q#8>lrA3M7jxgRr8jS_FT>W;`1$%i4KH5_qe4%hsStM^9Li2j{rm$xlba&3O-(Pvdf`}n8)zv3Yxqo&5- zyyoa?@rhPy3BD`|6XvS7+}`*vugrQ|%e~_lIGVoJd9J=VKZ~Q{C*P$7yY%j@nRnt@ z-;zD+KJLlqnKj+`|J8{5+L03@6Z)2~Uop$~{q)M5uUuaqMztnRV?HeM+^}@g%D~RvueN=TM$g98mU;`z4H8g8{$hzRyY?REXWMNiZq!`4!J z!rZN#ch)$I{j*(^xi#cvzd6_U>0kApSa{51aqxfS@cog)W0vRq3E{f!xlIS#O)lh> zZ4TnQmC2I3zGZ>0+6A?Y1(hnBJhh@qU7t=1-yJJ-&ws<>D1K|{`3e6N_PR&zkXF0* zSk0tsLv@sp8^=4woX^THI6arAP8K|^x9zE`R?6ZJJ`qJ18J0PCK2=^Sbhd?6eO+q+ z&y|HeFAUmD1uW%0_EqQ0o{3{U9@4{cF`@R^*06Un>)1LYdYAPr_H_BN-l{%6=VBx~ zPl?lm!0U}`=a(^W`dXI6_FrB9+I*GYm4>@~WKKRVYhC_%N9;rUPdCn`9+=m1B0V-P zM_}bWz6Wj{d)bdv9n(B>mbs$$Hv5L-(;l8qDG58(eQMXS-nW02%=)PH@bvV#w|9j5 zt@qYjJ>j%cQRLK^Fz3ExzX`J-^R@R%H(#={(`E4K2fpY+|Ln|U{PvdfyUyO{0BQ_e7XpF3|(^5eJ* z+v@kuo6J^LDgOOdMcb?Q8bM-if0CQeWbno=?mynn62unE9LCV~rhH@VbQ7~^eZ6(x zd3&b4nC!7Y{Pd<>;zC=NoOdw$lbG^i^_qo?D}?9f80owXcLlcXpiXCUz&SF(5QL6hrvB|eYQsTC_xJ)Gbv3m*sL)YH@w}&}- z|I_u#D?UeGH0O@^dOz-T=su}H{$u+igTFoE+GA$+E0|g8%XdZjtmYew*b5JBei$%; z`KHZ}(nzxlHAins#3W^MTbp09zL&FL)(hi}a>9oazdSwl?pOZ7MeL^*u6wq8;(muU zuimgeVyXUqeU7)feQ~paTGV`YQ@Ot^yZ=uO>DBqvdHTN4io@db7}Wl7cI5~8@fN&$ z`-PeF-`}5>v-ARfpIRDVx#!Rl2J0OY+3#F?t1Z9g`tDk*E1L~39_T7Je0u#+B!g+f zrp6k(Q#;Sym2C??JuB|wj&pxkTsG#YEfBX|P&jw%o9nY5$EZ(#mHkWa;=?72j%I%h zydmfDVS)FvW2UnnNg3(e_4Ua|t}@s?iL-T&6lZkxf*-*>-u zUATFx`>?=kwPJ?d8VgzHu8rnB{b1{^Q;drumKt1=+V-N(w{dmb+d9k8#_l~lpKmVD zJ8#40{awrRkIKIpAzH_B_uDT#S^9g=k5^k)|2MkAZg#}ovHRjjL%TED4&FNqGhTlG zq0_k9waU|*?WkK)MeCzu50cAjE){o9uX$MB7IOBw&GM^?QKkPC%9it6wzA2}Mf)^z z+D%egE`B_$c9KwVu&74_jnSs zpk)B-olPA`}E6ZYV3<^D+6-0%uT->`Ng=jPhf7+5NAj55PWP(3 z?g{FyTgPqBJtyg`^yGy%%sNuW^i{x6q@DuKqFI;Wc9|o03JY;KvdnhFc!7 zcZ>YpTb>&nw zWk?<2`!BRN>+{RbYE!Nw%G=o|Enbx9)1fDKX{S^8?t@0NwOam)YGl3s;T8BOvHHFL zwdi-I7GYWhY*c=i(YiJm7SI(!awm#fcUk=*xO&Sc`c;}(BwcfGh?rs~?FiIa8mR%G+Kwgl&|{CBRx>fWKX3%7U9 z&t^+IwPZ#z+i}68H=XPa;@nsSg00#ODg@Y8K2(#q`Mi9hbCG`ev8%I>)n2sEh>e!= znPvKg<=447j@LX(tVAwmKacHP5WD|qe#j2_?lrZSPc^;>VZVC#>YuxB|YifQTClD2e>sBWf*npNc4%onYN?X$1Usrqq1 z(qMsw&V?-Axr)3|-O;~95@U?z6JxeAKRC6+`^S;2rp1SP*#DkddFqhb(?vnoES8)R zlCgK=<>8(-^YKR;fBl0M^V06dymb8X@bQ6VS1tzqwVm+&oY1`+iI;m0{LWafzoIjd*PMUq;sr;dmUrJ(nVT+7b?~d}j4Ldix zyjx$o@txdDIUg+%PeIw$e^?iMKQzVKyYsfQnhd)+lhDGQ=0_`8tgg?N-mdspcKQ8P z{fnFnGcAwW&vO6RFD703KIwnlw{uB?6E|$Q^j>Sj?{uz%SGO97AKqDiaC+s$m5G<% z?JVYg(^&82UGR8KtWJTn-}ygbigxFZ%iX`WS*F3PZ0;7O-)rV{*G|(prqOOJcKP?u zJDCyh`m6YNzY~uU{*v~QVRrH>T{Dd?WnQn@?o!=*duN$hS#JFJf<%p(`8-4M zo>pEvvujHioRORHO|K}CedCsP$%Q{+_PB1WUb*lycdr%y?=(eIA*<)_xz8N9u$||l z#H7bx%9x|8#rZdSZm}*sR47%nGj;BC|B4j7W7aau_n$k^^-d@-ukVOzU%QNZ%I27q zRr6BZ+Lu;=bN6?o?mO@%<2>$UGOr#y>YKE z@4CjrOLk9>JuZB4b4Wdd)6A@$6-p87&#!Wj@6dVR>f~_n{4Ftu?(9vC35i>mv4-eM zulifuw~V`rPgs0A_vY$@nPwGJz5iv~1igPe^Vf&PYhPu|zk51vr`P&so4xjj4_`}p zU0R%YW@FAYzV9~k-lXndlEULRO#E%o1ZG48P5zO(PsUZ41P)A{&e znZ6ULZr8R*Tw6TOMTw&we!72%0JkD53Cdg1fZSmx5jpcqYIv6;5_S6DvG zEb=UE;Im_%5W{b>uS;sboYZ;Y-uo(2{R-DaI*#>ACnpJnHCgIo9{B-R1hdxyP60dv3hFOW<}1|2KzKby?@C{)nB( z_qsUYgz47F;;h@v8H;@w*YAC3P&fUDQLUBb5xvQiST=mFmezah{LN_gwx@f7bkFtQ zK5Rbw?2|-GhMX@vUD58g3{USo6!`U`sMT5b&-`Pjzv$?@3NU_4GXGt|(6vXjyKukq zztwv#t-kT@Y0$mAd7WME^2gIw+D=*Pt$+BB?o@M&jj7YDrJsNFFYYbSRyO#qbmtOV zPWt5-p%vcx4_fAzCm$@Gppr1@mFSoMo~b(atnXe~?3n8mrKE7yJn-ZT&RU}-QWK)u zXAAcI=Irw>HWB)Dcg}p)2aSG=96mo^#&LMZ&2$zNs}zb}YP-JADIwqdU?1z1U3M#^ z)+m07)10cDB7eVgg6_P@4xZm-tiD^d_BKDh{B}04z%I)U2AQm=Ge7tbY^|Ey7`;rA zt6MH*M7|eT` z{{8DYdGO=@i>!LBzR?#Smc}^GE>LuzvA6f~d&7m--&!|BcZn*#may9XNy_3{zJov0 z+GB?g*lptf-{imZMRL&&uG#-LtV~!~`BU73oz33)VcD@o)e%Rgmgw(pH8F`6E9Mid zt~h>V)`ODn+Ib9D1ZRdkF!_D<$Zn?K`*jj>`jyF3OD3POYJc_h*RG7Nw-R%b6(;{b zJ|3blrSw%8DYYBI_R*)3G_ulOy7dd>lB=*em4-;X3?<~!0 zvu0w3U3aPeoyOAB-XDJ^@%}k_J;vgSvfA`1e(!zVYr~I3AF=p*(aT;nSBo1=H_+0Oazm+_M43qo{!xsng7rw9J|eDmW^-MMEiIqs~A zIQ{hWmp#@sJLLX)oZYxj!n1j6YbjGNv*pRb&8!KKePK51oH&ULsZ zc;Z!@4&P=Yo(*q;Ep(dM4H!=d?kb(GXt<0*U|7_*>1?G3VG)Hx^y6dyl1k75bmT&IF!6GP^E|sV!}D8{fno8(%JR zOS=;A*Wcu%d$fFftlg(?ywRu6A7Y(q?w6IUcalx})V1@!Iu+mKKIATSuX;0GZ{G&) zx@|h_tggZ@^_Cs_DREl7H^4po|MEUL-}LiSlO&x2y+1wR&hT*PHJBOeqqg@-+hb?3 zlUe$C(bqHl0=ZhV!&bCvS8toNYQf4`b&LP1$7ok|o#qlavHIrr`~uVWg}<&}jy#=X z^Sb|`!ZXpu#rYQ-zQlJto}H%9$FFmc+c%H1{N37ZuTM^R(fPM3c-A_ZnQznYKhQby ze~Gql&gC4H`rRA*xs7?P6yBL1I#{;$+GVvjFWp|PJk)Bt*R#HS=Z;4Xe>kd+Gi?r- zd8TfCo;$ZkPN`nZp0!UN2<>UxoszzDPr>Xx1&jB5xcZg*{si&7sQn-GKVAKlB)p&H z)H&G$Z~6*6wFTSm-|sVcvU^MLXSeAbg4>wgE^+5oy)>BcBHrW2X5OnQ=N7k4zZ)gD zxT5js`e{1?54>-4W-O?(_&qu0kyy$?`&TAnMsMys;<7fscz9uSQSX87!>g~J)2(1w zwVYd^VA%;?WBKY&(4P*pMBc; ztZ1QS?Sko#?tC)j-u5N--tt>Jck=%fx+8O1i1#ilujbSf*Upr@>-+lI!*@rBvBA}y zyytcK`_wM?F1=9V6=lS~;8pkEO~2TquWsbN-{8WN^=NazmR*ba7kv`#-{QgC*wk;g zeCFG}%lcP?FGZIpebLe9x9v3KWPZK(%`N+fw~xkeIsNs0`oy#od6x<&$Q?`#>Modh zXmdv4F}*+C`^EWJd|?s$y6bMiraQ&1y$6qewDXxL{w{!7dTaGjGZE?BVCJWPHpOoE z5PGL_ra^XR?(;j0)p=>+a?5s1ejWEWV9))noAfqc;9QoPSFwsy&7NU{XWgH}Pg~Qr z{n_23^w{FBKJOI4zrvo|m%49MSu}Uck)z%I*SaS2r0i@oO3J>Iml?X}<=;gw@7-7B zS^4l^R!1!JQMuzn{egxTQ!Z~m>ATK6;O`BAkgw6bPv;%5U%mX}p{Y?1Wpw_;vzS*_KP*J!SLx!J7G5m)rjA zYs_tO+q))@?c|FyZz6nJBpjCp<-R%2`{tnamd-!&IGmBbsyp{zhvpoE%sc! z;g;(1u(O#xe2bnPdzmh=xU8n!b`S*TJ!7xWm_P4~#sq1RqP>e*azx53LaI4$P8I(0UF7fD z!~2gFtoSE1_j5{3g6@CmH)oqO`WSd#sip*%*t#~f=>@4RY^m>?)HUEdo!lh z{?`(hjXtfvb>Y3g7JpZ4c~M)XDB`lT+CN5zLaW*e)iG_Q7@e)-a( zA8%UwE*xISrt$K8@b^nB&zVz#>^i;t z^QUPs7K|)g+$XC(TjuoTrf9O$oFD6NTex^%UbKH1H{-Tvo< z)5mRSUG@35-p3FtKY738`uTqUjQJiI{P}xz?+<810iQ{Ckerp@k!7{u`E0Lr`Qx7}YFKLY zQ~%dm?wq38{I+NMp~I(pmOngRu72oHYVDVvX3#P4_*$Ry59t zBX^S8EB)6=e+#>RecoB`%>DcNv?JV?Tx=KI)8)v0U+^z~YRL?Qdbgn&LB`C>hKBlz8B<+?V5A%j2e`D(y^%;O5+APkXz?Reh!Ie4TWp&|uR8sm<3^Ufpj0 z#UI|#*eO$1b~Q9u>ee@gmortA)i;OD%;9V|jMQ89!c>;eDho>KJZ3lV?h57r>gY_tG~ZaNf+%3Zj7?Z zzVI@wb@i>tz!vuP_orWbxX46e*}>_S<}qRAbw1O`Pth(On*{A!{M&bIkvN}wR&DOHyoRLhEyubgHf_k3JPv02^$zkeqS6oKZ9ZKIoN@MclK=hXoi6H+l;6Hrdt7<(;)T_JW2*NAy%yNA zD>XYju;;iL!_&UCe=f{gF+U}tSa3?^r8Y$ouTpMwfPY`+p0k-1`4mZ0#W%W@BHs<3B8Kw``4HrTmA*r?>xD;w|y@`wktr zw|{N$jJUq(k$;U1UJ4uN_J(sv-`I4!j%`_K@A_9(9CcFzw^~X}{X8eSEYI<6&eKUL zn;yd6N^?bs{fuO?LMe1nf#X6mn3J?~W z%f4T0@}^Z9%h<|3tf{S&zSk~q8XDX-uSK`3IQsXct4~;%Hg7Z#yLqWn(0NbCdhT6~ z!OS;p4tsE2uCq4Ons9mFu50i5j&@&|AiAT?cY2BJj<%0-_kV2I%(cxVU@vO`gY1n1 zdHcRg2r2H|VHOh;`e;%?NP+sgvapHQEz)~uH3z@x(8=1rKUnI`tPBC^><7JPpY%Fv zUy$?MZk4}g@2367xqT-qndkpKue;($PTR)cyB;`d$RChgu}r9H)2=wxXP#x#vV&8_ zS3QW!_1ROLvQ9>xiQ~;evAOGPWoF-gDDhFlO#eauqcd(cx5Sp2I_@~PNv4Hce%40i zs@FWpX`QcQ-&|U~&fsMA#3jWhQ=Rz*t^{fATC?ovlpjg6gqsh&+OlS@xZ#oRj2B7I zC1o$FZrzn3zARDj+~JySUzE-{Z(@7k^mUdMLxlAS{y28_pV9$cKiVGzn&xmm%sRyP zE^3kOjiWkt&YY`0JUjC++^M@|dc}>K`m>YjQYU)0DOVazm-?~k=}NV0(gkcYI;3{) z;N05M5cuj@hsN{|cX;llIG1t>+;#G68ds$k$*(7#s$doPOstqj2|0a3k5_i-0 z_uVZo7idnKdSvQbrU;%5Qh>WV2m=l`WCYa*ciF+}4$f4;z}!zw1lqSUW#t_Ug;4mlw(g zd=0zhYd=*j(VpS?->*+TMEfVQ>KvN-UBWC+Q%O1g`_#-gzdnj&6sl}G8z6S|)YeUl zBeyTv^fYtL)(Z~bA2e_l1{7}7i@P$f=-FqFv=w$wz30E)eBSxnx`%)K;&(lk*$+oQ%ro85Ec-|+q zqjKV|Gfkg*+2mFnWZIc*xV_Q+=x#ROe&%Tf6Zg7ADE#j|bT>g{?X~M06zl|ozhs*k z#)ob;aA7gfdUxb>iLvXyzkHAV83f!f-*{Shz;f#67tg%}C5=9JY?eCndFS={Y!B0A zRp(gtu&d5FQn%mJdcVDQ^6rHzOLNUi7_a2V&UU?Dy4L=ne34wVz1#?>T>+^R!kco=Q_);&txn+6h5uc^3!p48@mk6DTTB*3* za^BKY1wMNZ1h-$&3F2dI(>y-)RK=fd7f$*;+TQA?b~HcQW`AsrqDs1kQ~TSFjWL7sd$m%@6y!MLPD@f*0#b_myTZu|3|y*wC;^;C`Fb zx5GC(+CAi%er&quQ`?xm-~Y;a&-9tB8y?M9T=c~1gy*qo^OR=!&!zx1F!ANYwDP?^f+6$-JX@TDVsG5JEoMFW$W|@&gDHm-A3%N%*stS3)gMvb#k8Y znoDlKz`h+xwYwV*&hpZ_x6@EBZE1lPPPSs8(<8T=Zo6%ba5po2KO`R$b(}emAtTj(cU6!$14W z$uSq#C4`#oe{8yJvt9BB!S!1crm9W|+i>dHe$zK^x)fs?e=YFS-d1gBYnG538Lso} ze3MaQUBq@>+iRlPH$S*nu~{2ReR$|8BGY&E_wLIXn~iQr`nX0e3A&>+ePa{T>&u@5 z9b&Gn@G;k1+WYX%yMs=9O-poD%|zE2Mb3ZcegEt!qs@jFbf!mg&1*RF{)97^PWR0h zCfawo&R)A9=rQYEyxraX3A^gweR=us_JjYbm;bh2Uc1m-W7#&(nW2JayHpb^=14!>%`*x;0rf%GG!O;d@x`INk}(IbZyU;de6I>eJ>gv|jx1a+htMDy9)} zzJHybXh}h>x1wZ&z~o6^TjgJFc@^|g>)G5THk<$3O$qloAaVGk#AT7PA3UOeb;bTN z&-IsC^H8?y4_o&I!M5XzEn`x&A4X5vTQkw>%!&ht4a@k~9De@q9)tga_Ty&*=1ww- zKYk|D!ctPSLSSM0`<&_RvQ^z>9%6ml6q{?`Fr@5UwLs@~zT@Bb??lr#uG#u1_)8lX zXQpWMMRmR3M|)53pY5L?{#H4S*Kb#XNc6JDjBWXbSI=3=tge4qQeXeDvu07<63I!* zGbOgRPj&cz(Kkw?(rx>iDkIf3W!KV$-_Ba3r~T=r%H^nkK0()GU)Zje-je*w&G__@ z!ZQtSQx??-3Gq&!`_)j{?SRf!Q3nxaN_hpvw5c-oo{fRVYqU0 z;*sp7n&+%;cJM!s$-Aq3?IT;)m2F}xbuU@Azf!%)qP1hLTDZ<<^8zXJ`#RQV-^gW{ z|8hSx;hKY3eM`$3)n_-v^YnHuEM}3_yZIwq@k$fZev{+xR6m+buSvLUw(Rh-%74nw zW=xK1p6}4e#TCvMo;D-pM&5_}9P$0--3_bGm(Ed%|DxVJe^tSm`)jObPkr=k!RDhO zH%fnIwmkMUuFiL{nP8lE{O5+gZcj^@ufoakOI^M$OK_G*>(D$Gv&Exfv-bJIg|}{Y z+zp(fXmMVEIZ-!SkoQ8#lAR0AB-Q@P=6P6YC}?&kGq_Lg*P#{9UWe|#H>KcxvzzA* z&ItZi|0kKoH+za_&V0sHbyZZ3U&WwR?*8+D&@V1VcM2K#E}j4Ttu&Q|;n$74wJv9h zpFPaX_G@yKSo`#qOJsJX;i<3>UyR+OOYfw3u}n{Xxyb$h)vnD)Z5vOu_buMQ%&%iy zEqNm4%Xt-lQ|Fa-N+)bu<>lr0?fagkr~3Z8y(carvj4n;%S(~t?{gZqaIs$hmj3fZ z>CBCla$-*M`B(oPkC{-*v`JA}*|<#m*Ks9w>DfyAAN%P>ckKOIwfBjJ$NR4vrXPD) zcd7Q3thhZG(1mcDSvBFR2}gkXPezui7EHnD>^qDDNVlH+-q}b+N%_) zz0Errjo(N}u>8C6(O+-ZTrqx))~R*PKIgu$>K}}C@O5k7X*AbuC;P-%8}hGbZ#u_r z9C`Ze1#!LELAShaOV`@Yl{S zy;uk9=Q3~S6dx?s3cS5O7zn|2zsdI>&dta+^=N{!7txoZ6=ORzn zFMsTRje(~_8Og@v*G5oCFT)ez{lyoE-lqP$r)UumYH1C#JuW^%FTTq5-(0qxTZG!1)u64 zPfo_gkMBHj?e^qSndVc?^yPp4DPe_^kzHr6?&4y%WxB-upyEK!x39;XZFlZi8P(5v zvTA;u-%Q?9VaqtQqfHZ2cOTztK3VR&TFo`S#ar_1ehRV9E?ThCYOia9dw%EjkIRqT z`{9(e@<4iwf^q17?Kq*uDzAEei+ZS^2>X}MmBMkz+f!lB=l=OZoQoKgMIz_+I~`2q z?0oXzflKg%RUc%R2_1c7ys3ZEq1(P!%x5RvZB%?cQDwGGZjy7p!_%mGH7o7p{T(Z_ z()Bg1Z+Y&_{ld~)7SuO+(`SjUU6-GqIv2Z%S2lWaH~akypRM1EFqKw5tlPQ8NpI~$ zZ{?zwoIAI8>D@hSwEw{MvjsP&&9!D!EK{oGTCjf-=ZTh2vmWhz>N>^!{!0s?vU!Kf z&##L-gHZ^o2wX=xa5NVsgTKU?lc@qfA03~ z@oFZ&RX+nXectKE?7Ph%uXXL>#>>sQz2<_(E}0L`aaA?lQncP)aQCXzmmiI%cI}J4 zXgM?Nv-rnZ(|IpCt@tT**!`%_)7?r%?Ci4odv{;l?LPm}k>uoA6MOfab6D4* zVp|!tKq-E{q3YhRQ9T#WYq}k&)B9u;HtB@7X5WM>uUm>V_V8Rfp0rD9hryE%$8{6; zzpZ*5T_rMW?g#$u`$QZ6H|fUy`Ig{4ZGZZP)Q)tR@oRDTCfBC$T+|^U; z|Mso(U4HrXwA*~&j23t|bpBd+?1fW9Le>ovD^0$`oLpVU@3Q$^={IxZKGA%puD|=_ z_HC;sZJFt_(tpF=58j&A3wN$}voQUB)%W4Y%OdGV3SEBkY$(rMcr)ssOsqtIxabAR_O)e_>U2hNaf`g?T0+|6i*J8dWp!RjizN zNc!P(rsR^QA9GTB7Rhh%lbW8xaAZPM`3;k^M^!G0e81WuDsSSZzc69_xyEVPh3~gJ zMO_NKB^g&%+g=)#+LN?`D@rZ)`ROgwqNnXjoG7KX?bE`GN;eslm?qXqKA8U4>7a&D z!uCbM?w6)pO?Ef4*I1b%{cO>MBL9aE50vKIlgd@zlhV_>NWgc^Q^SQDK8P)|&+hrU z*gQS_&sodayj|hH*G{}^A|Wv;^T(4O{Rw{#&a`)4Z#`-0=9gXq236JX&i)Hs7Fr`L zJ9*Q>=AAn$rv~lezH!JQbi*2_<7;nCc)B{^`~u-7sXyxu?vNDx)Aisw=O3%a_|PAr zt?|_#8txr-o#@FGJN;bg9tnQ2I_4eiU)*##1hPKg>RA8W(PWn9GPbtsNxjcIpTG1p zI_P7TCh+O%*_2?m|61iU4Enq?U(bDbsm=QEA;!dW>GdGL$ewfa*rKTd%e^E!m5f%M2dJ#GC zm8&0}o$8%?>g~=`%UPct2tD<<^aX%;FSo3?|Myb~F8`I@E z=W>7X(zwswY2TZ`7iMOYovuxo*kHspb?@QH?Llh-_dJX?-=cWP@0|YD|)A^kqze&U$x5z5=!;nB&M9!%s-Uy#a(2T z@UrwfDQnxL_a-vu)XV1STb3}@MVO}~+f=-|8I@-?sZRTw(?;gvtH#bN7>}RaF8L(( zPu$C;H7aj@xrmqFVwg3NA!Wm@GrNi`W;O)x;%(eNf%$~<*@P|2vwoebmfkS=uvoui z;S}LN2}h14&UOf~k9Jzce?l-)JuTlbqV zH{MAoHH)6b+pW@LDx59)y4#|>I!JC=5zplhx}uk_?6t`E>fR+jajxyBRx>8myQep{ zAD$)m{z$6YT`tbIJ~#InuZTXF-EqBm#^#cn>$V)>;S+tY(>h%^{O9%En?CP!NOKR$ zeGtTDuXxvm&$X0oZ_mUH7qmYV&+1IxsIjOmBaljReLGee2TV;}ne&YC_2s>toLfZ%b~?=VIi$Sqkh^l??Sv+ioBbht*FSgt$#Yn) zH{a{RN|wr7cX~oJqxo_(#7b7}iM+5fy2EepEuV*tFW#H|+CA^zyM_CYzj&YbtGeso zyZmP%YnE2e>8iavSFLlG*TN*zv$889x@R4J8If!J&g)HJNa`g?$NjS=*3~Auy*XBs zZE5wXS6Tk5ywlg)ll9;D^S#Z=^WT?N#E{L>P_a3N?Y?!nmWl2qm06rVNzA*H18?70 zBWU_Z%7&}s=vs>)<)?XF&mT?aEfUqb-uOh*luLAB&&C;rGt*Bj487rYma92v^SdA| zTbaDX_-~9>?fVj%+SOWpXXroy>CduK(rEDnXgASNC?rc{FddcWf^7nZs6pQ+Fm?HplVI4-fO+ zW*R*G&%%4`r?XTKH%s^K#$U(wo{sx1ls?T(RQ<%C@IA*xnra?<`mNk>=6|EY{)EKx z?|y10>aFxRjGBVxCMq=D@z}*(bNndhCZVnitA1zh-DoeNKS{voY^0mKuoogY2>>`Jk2Y) z;C}g0e=ULDnFYVrJheS>(U0}fs=L2Rq`P7>Tz=HZA4)N;mpxuqGVjFn*eoxFy~!eX z7UXk=J>4ZMsC2aB&yBbFx`l^!ot)HV$ayO2>*Oh+oZ%+fKLq&{b;~&qsLj0c=j)k* zNoU?>+!pv3aX9~B*QLacqgxK`QJkU`xnbU%$wdZnue?;YuG)F{;EwkdT)QN#+_zgq zf6wQ(=0D^4rBq~}0L$EY6T;2Ag@eAl*yJ)@(&C1Fu|mk-BaHzwxc2T5{oT9jNk+!` z^8qfG{F3(`-@3fxddkMxn|bFZG5=TFJx|+tgru}%Vp;jgKONg^GY}Ry9xdM^w0fLsgmEWb+0G+ z>{=D%5q@3ot!MaE|4Di~F2B7y*=0{q#`W<3KQeEHUgdmS_2RHdiqSvzTc!D8ziazb zZhd{r-c3-A_O+R29t&^&nzB%|_(h7a z^Sx;y_DZkp?>C*%D2h7Lvu~YuQWl4I0)uZXtMQfX?x)JCugy7hQ044}Gs!h=0`mWu zI*s4~C7slu^m!TmEAJ#1qge3bs#x$PH~Qp*0V(CK~l z`0X#oCzejDn@}^`t~9Vu8$C+-bdYD( zoZyw)GfK8!`!MSihb&F3Y?zLE-S+?qtxvSaR`9C7PWj7z$s#w8L|65QDMvUz`MgBr_>i>4s&(j79bW zfokG5C8c^2*|oo>%zO7eWd8Gum8~}~B`msAa#<>VveTa93g*`K@|oW|yR-iAKCTgq zzQ?QoY5AllEWP5^1uOmUx)d?h)t9*3so|Xvx4F_hL%e$K4x8`d5sfZlC$dw`RvW5L z4mVtH+qfre)(yR2uFAJ31;bzJf3S#{*>ceKs-c(eth*dGu5(h&|98K+!s&dsX_1U@ z`Ik1ocQ5v43w12d+`)ZkHR~N~_Z{VWj^XQH9!q277MbmIwbshK`eUuqnyYS`eo6?7 zU-viD4y$bIRJ(n2UWI(7%#>pFhl@|Oa@O3 zYfcT3r?*e^U)lLfefQD4jCgn1x5gWudLI4TpBT7P`t~K!jk{WZIflEtXve%Ude9X# z;|R1p?>4DNIU6|bD+TWvlzj0rf7Z~q=M zUvngX>$ov9F5jZ2tA4`2u!&+Z6<2Lz_NT_1hw+{9c_Y=jC|+#MrZsQ8880@k*7-Fx z><>$j5vSOSnJ#8mCJR=TKGljYEMaZcULO`dYs$$D%qvf1te+L%D7E+WzN75F4n2)m zaa()FC^_fp9)*VziF!x5mU6tB%eM8)%c=c0nD!`6WL~HJVivc2{;~bbUq5KhF3@UP z9Jll0;xz`+t-{CjWEBu#EN5k*o>Rj;sV?ABJWLTi8lUcU+`Mv z^4!-A(O=(}9a;P4T*vb8$mC}`O3&#Qbbo6(uy(C3)AnsR#TQEkEh>F71-VQLluimmLx_dz{ViBa3&s*4v!3Q$=E|)_rTqY4k3bp|?-y z_|lu<7HkfJc2|E)$WC=kNKHx>VG{S-8Tj$l)s_z}UKaw^YZr#Rnw8NJ-Yv?uJ-PYC z^u+~FAN*Lr5!qmNVOOu)st?b?=V)C~mCAP)Jz~8+a?Smj7cBQ*?A;aa!1>NbJ8ZS) zz9?mWwYAgEhXl6fY-Q^F{h_A(x6T@cCa>EPJFE}-?afb>zLdb7yP$W$mVH^CJe;&o_grN1{2dinIFGj;>RzJ!MUeZ-p@X#y3fJTAZn-F9 zF~MZk@B42pW_=DT6R?>0;k zusE~r+_8_(jSc$hna>pdk4TdFe{a4?-+kFP7JW9-yA%F&7Ot_l@zdf{U6suB+c)HU zJRfIRUC5I;E&i#n=T(VJ{M@#}J5y}Pe|KNdyKI(TM#q^qFB*UBc+_xa z%f^2kC-kir%wi49{mf`+Quy*@OQP@H`9^C}a?b}zTQkmaKl3J$Sudev=LJ^Ajm(O5 zN%ig>^KX1N7Wn>><ud?&UwDa{<-D(%5&d6pOyZO{;#@z`#M{@^@htcg6lNa zhuTlL&Yb`E_#V4QBHOi%*6+NZ{-pH2-l^9wGb>Yh4or(;PyN1e`;GVN$>m!=Y`QBa z7=Afxwz$Lfw)K+Ei@4VI{y2l$a||YJ@i~e$T(qX3fJZt8*vrW0yU< z{L*ZX`;+@#WS2B6|0$PE`}=Xau9)x)3$fS}+%`2IemaLgO8IxBtWM?tyTh!{4mSHl zUQhZibJn~;Zt5@D!yYVc2kiBWoELV4>RT~?Z!0|G@n=Th+_};%pMAM?JM+GkSS+%b zd7#_9I8*$V0{8Prhg#S6cGV?4?eLq>J&$X_Bf;vQ`=

    ZR7dJ73(gXb*oHxSFfI)@Nq_^WfhpCJ)X(y|12mKl^0hUxr^XCAXJP z54FnW|KGmnYW2^zKJ7rgM(#u~q39wlZCtd;D>j zu4Vu6wY&b?gcS&{yLH4vfA!q+;)>@~y#MvEEfBlf?cKj&@s;+aA+=(wUzonV@!@Cr zhN3$mZLw@Ujfou3R6d&*&wrWnY=72ltsRnKJUY4)j5_04f68uYQ9W^fSNrcsb(@sr zy0sp4h7%L+TuFHD|7-G@$TMjUsSRBp^kin{$nEY~5v8}@ruF{i@@EeY%`n$5-4|!> z|3LCirTkr`E2~cFXt;gbc(>lGNbYpsnIox3-!NRzIHkMfYKrdMmhA??x+hjwzY~`9 z{GOOr_~`HtANKPBPLk`Q)|@w3ZL!hPZnJ<`C?D%vi{IwI*3Wx%Wb((Ej~`^~)t(L5 zFXa7LH>_a&!z}J8Nq6nOnY_7kK()hf*Sh0;_sW?s1bmOinduRW{oEXDu_7x(R>J(Oo z)$Ki!SLy#`{;|h;E_cMLZ=RX7%YH}I0x(##DxYPA8Yc@v@@xi#}eyl~iNS zzVDD{$n0kecUl?c78**$^*E-;Mex{o@2);@hati4%gcmKw#@sLF7GJ+9#F^JpICC{ zQO{Lt@7LVZ{ifV)J^FTDLaWy8BM$0|TReStKIBsnyD`~;Y2xh&{SDV8W(c2Ei5EZ{+%KNtrQi@r(OT;odf4e4p%pPJR<(@L|spIRP&_Y^Le`+X^4kQJ~_S27jcHCayW zM&S7phh3X^7-DO~C-Hq&WSm+0hd(X6zv^3xvU=Ys-mgK6X4tN>bxUl!Vf6N+e~?o9 z-DS4_LX*53c)ZqJ?A~-CKsR;@tInj?3~4bv&A}vFcmSm828>9(HT4JGj3)z)(0dVj`2T}YoEGMRcDc?RHDzB4*hLMW?ziGckydh za@<4veqF9*GcFVzwn#p-vaWK0p7-bVF?klpPuy`ZQRTW&x|;KS)jE^amj8JyFV?M+ zR8+8==WtTL<=#a5;7^}6q#OxoU*<4tuF1813tE-jHs59so|3aOv2Eg3MolNKi58Oo zK74ib_T973-OkFTK3d{%j6?-X|JQ6AmH%@WdkWm2d$_i?!qPV7FY_hm+s_0p&-}oy z_D^47<^Hn|+iLR@#n#WS{an2{>Q8ww$Mk4}XqL^ap385aFZ(a29o4gb+pi;Ld*qV0 z+-7(q9lW^Ud8V^_qU-f!XR*1#>o&PvYcDWJ^pH8Bb#&2-F28eMj%Vb${(7q@-e&qY zb;*9En1)Fi_vU-ouh$BzDYb3*B*xbLfmwrJ>g39XnEd#OQj7Z<%d>XXs&Q*4p&nT@wrygByN%izb)H^;mt>3wUt+pk}uY&GMP}b<4LS=RU8{ECFsle)>Ja8*e8sYaS{%Bq|D zc35-E?lf<|@>TlMHT_qgPa4Q9%t?G9Wf^_wW{a}?^3Rsie#@0}t>pdZpVMl$IespD zyRfZuj6`?x*NrwenI!H?W$$C2zrudv{I?7LoH*~guu0aUaL0$=J*Rjp6TYP{PerWW&xY(Ln3&t_#@Uj~PHPr~-B$YS493O5xpE{a*Eq_pi;4o}!w zGx^fNSeGBRZ}fMXJT~BMs7RUh;fadUktHHbn_SB${`>!b6>qP(W`>}E4wFyF;&U&$ zlD7yHmpyPg60>xfOKi&Y)NO3MXWezUbDd2x^o&(k?P+*ZaN){J>j&2#Z&>YfKykKD zGoS=M+am^FKz{q}Bd$7R3HOAFq3@XemHG+yGlht+(u zi*puoH>b4O-_vNywyL?~n_FpW7`mrRF>aP-$?}e~FRfbI({t_b#a-v)NS77+mTA%a z=X;CVqsxz<7_1hs-loI+a>Dw(X`Xv_m@|LXv1<|U{JrzAUx@H4@vwKI9T)z+Q~Y-2 z_0i3j94+#@KpX{zL!H&rTsU3JSA@v$*Yl6_Wlm3Kv4K*+Z;j*d-*4o9Az zD4t_z?G<9cHe+=-%iRFxNi}O&HGf8Q{OS7Qe5{jg`KwyDl3xxHJV}CDO%WfiUVf6k zs3Xint!zuSS%ZabP`pN~o|u*Mg|h->pWnWA3Gh&7Z7pFFdvyEQ>mWzP_?>++uX-o1 zo@2;;vCvh$b^pW1%?wK!cI!=HI&+fISRlcV6B4>uodfV}L|AL42<9He3yjd*XyYc@@t9`y8GHB}j)4V#9uZ9HMXK`Qt{V`&y z)}?2EBjT36K3>niJ-CAF#qZ$Fr5!fQzg*6_%C{l0^iaBnZ|Ld5Jw3YSce)hWgi@Do z?VJ4V?Z(JMR|*_D+JDuqIim0KS?{4vGLg+@fNi(;(%efxRJGrFb?X)WX)bRQ(l4-17^wD?8 z*(oPBWm3CoB$UYW<>dsZIQh!>tWJXNi>myJf1er*JB7 zo8E_?%(Dw}=I?Gx+f#8tKBBX=Z|BAfr?Rg^uVDZAec?e-<=D%mDhFiP14=xYe*D>J zDf`jVJ#F#Srn^_8-&&a*e%^UiZsCHuxf^dCKKZ9j@R85`kDI)>Yv(O}Blv8`o0+T6 zOnRkfJ2PLt*KkthkL5*&uSat2yfW)>Q{*}^h5p%nc@>FzXST(}pP0L<+%2jr>7DIF zTe1H9X!eo~Rc61QbezrX3f;Qk_qSioCu=-a@914scyam=hhMv`oxb8_zDuSv);%lE z_{p|ODEaX_wSMuLdz4T9@m=M0g;{>3eoH9b=KPUbi6gN5BJWtcD@<6>SoS! z!<+33`CRsun%J%U#kWLp+M)wo#_jjMyY5menkUJeE^;vMb{|_w-Hk-=Hsx8f@&iBg z$y$Wpv~~Qa7(0Y4@viok>8m*N91j6Ri(jVw||Cl^&d2@R9o0we)6ut==+%?7Vjj) z7X@=YowBpP<+SfRzdr%yB~SOdUM0aO17&FA0@V{ z>^r`nKT0V6@qIS$N5+4oH>=nkx~BX!cG6qHEk2#`dA&QkpA-nn>|@|}be2nUKfKNF z^RzjeUbajN-Fz;kqUntt&vVE2%;oK8ci&W4c)tDHho==+e4m_XmOtxbsbJTpRz30k z&(*E5JO;_j?>ts|r{q3!_vvp1vb&B{wToz+=B?kj;a>KF=of0cx7?GmvX``zn6ZcR zaeY|P{=ZikcE8ROvHn&pX+Fn5?AtX{k4rb04e#`p$29K#c*DoH@BjRnG3val=4dTm z-g#lkrC;X)3KLAz=DXdzKd&?BT>TlBohgc|8cJq0c&UDS>B8b0rn~TwVyugcO`Zem zQzMqt{#M_8$9%FL{^i(byMb%=k0(VrN(RF3m47n}Z*c#dw(7*9Sqq9k6j&4->u;Lb z@y@nVtzqxI-PumJY9;4LJU+6gr&zWrHpqoNPVx3n?dBCq>7B?-KH=O1{U{FbLn;;eS^{JS%`%)|2x z_>(8ETlVt7vQ`TwyKjZ8FYV6?-`>mRVU6Z=Et~YMqs2MPO{$pi@pKYwY zc6xkj%9|G+Z=Bla`em_mV}3&Rw+A_ss=6i~$`a5_>PeK(fAse0#<%riRV&0~W_{Rj zq~gnabH&(|tjnIx4Cl3xzo_5Olk6YL#Um~EU{ylqqE{yD&q{>5#W&ntmm-j#cA;x^ zOgUG~pY*By(e^rqeIDu#`fj^coLRqxn=X})owc&fkUdAb5N>i^yG|4|&@k}JT+IHz?jjsVwo_nOGCo-ja zSl+m+ze4?j|KTZG%C0N7{oYakC*@zt)XD3vY?75;w%|Qy{+vILstq1f?)k!;}JT;>o`?nwDvfyHV;e7e9m`d*?pQQ=f3{v;@UXkNZ-Lplj{OOuZU*q+< zuh+kxxV)!%RhZxTjI7!7F6P8p+9$i)blv?VP=4{5U0OtB^&I0H8tlp0*AttyCs_(v z860gpp04ffQM=kmGvu;P)9e3dtweWp-aJ)0<$2Jn&@0Z7oA;bN<|SoQbN1iAU6Jjf zUYj(J%=D?eomjoU<0)%Kz=xnoCn`FAZ^791i)z+z ze{edN>FLLga+9JM!Fkv8rY$!8GqLYN;amg0i5dlNA$-=#k5%^{+q{_FYL9m9)CDp} z-&OjxZnB)cb_QSjyV-Y4Llt-N6bNZ;+hENeWM=TRZST!9{FcJS0;_igFblOBecsu8 z(6BN3!;;tgST6o)7S;T;a~;#k=d3!;*&pL?o?-i{ut-7hWCdr`46&Kp=B!&$|M08g z78w@y^o5+g3Nj^rrK#$heu~EIeE2(O+i$PUChtY;-d=ubFCn;_e{D;m=DDDYm-DZ! zdXagfpv?ZtIwS0yfo}Z;mDaPl#y-<^;!~&6pff|Bij8j8ggL z&HYPdOr}fc$;^v5;;V4sESoIbo2k!R(>%{^ezoI{nN8u$n5+CLi`DIxrCt}+j|{Ye(queo~Iy}p0^>u{Sz{J7Rznd<7sHk-63 z&(5@;WNR*CIb>8U&>P8je9`C3)mAB2*73~}FPK?==kBgrJprY85z24xY&92rwZD1W znKbsh^Fy{Cdu@I3-?6Jff?M>ucJ80Y%{lpQZsGX^gW|w7t3DrdO_jep`Jq(-t3i{z ze%INb-xqEA>utR5kiS!2Z;gO~j!2xyHs7PhuMXr$pIgVa%J1il8%*6tj?Oa_5-IX5 zIk?!84u?LEaSI!zV-D-vBJ;B8n#I#4n8yg{D>?0 z!@TbGbiFR8o})dJAKH>Dkd50q|s@!kPJr%e2-h!J?m?KktMGEgqzfrvI zA00o<=(xUl&W26jil#_U+8QfmG*ygu)`RGuHyJ9Y8Nte{WQid!X} z7XAuh6pH(?s5;|a!KFpz7Mv1~=a{~7vP$rsbMEuw`Zu!ub(VD*seMJeSmkd8C|dDk zaHgGUo;N}Jpxh_T8~ioLFFEBuc)D{%G0%?O&YySA%UrQ_PBeGQWgj`GAC8I-AFnzy z)%&c9l;cdUlYedEn8gqGIXLu1&$QuvoTS0cX;^yEfw=lfdPXqwNNw)l&1*s;imQGRchI_^9Cft9T>!T(j9#pG^o z$yX0oZ@w4&)?ZK0OHb~&-2B`LL8ktv6fe1#eGk}{cQs`0-IZy|dulxW9@*XG{oOpV zuyXh8g^p4p4{Lemy}N$){#yT4pUX@A9(moYU2^DfTC62YRLIR|LCfm)RVBv!t^0Oe zo%Ln$v@lPDcHccB)6&emB<6mfl>L8l${(#$7nDVG-;}N0;P*2k_}5j|cs3a(mID^@ zQLa(btx`TqE4f*}yC|8Om>oO4=ECr(!f-PWNu=+iCcH z-;8Se{-XyH{!WPgeL?b0*@p$}cW*!7UY+ZGb$?Fuo%^Eid90skGg^vQYOD(v%o4Kn zkU5&U<-V-xvdnw|yCVU!_pW1J_eAu_J;r}48GWXT&b}PG%{Zq?*T?_iyiKtmOqR0? zX5<9vW9r|Wf8I}u zET%6pie0|3)M1nAzxG2H`KH9Z;y3rak7RD&e0jxn zL&x8ierHbHt+-q<>r?)w)0_47ws&lj;q|i#{nBtqx$uRQv#joIt(^ls!(yK(Qt*1aF=p4`~Lo-;A| zCco1p;ZuDw+FYqRU6EQ^X=fakuig2Ok7rNz!)0HbYfnX;RQ}{}CpkvNd7`Vs%P&>k zVnOp&Pfccj?>+id|wyQKAH~aXR(YobHit3bY$uF57-g`9n{rB)U4!-T1 zwyFMm^lsCJz3Ui$MO^DPRFMthm{qc6_ity{NsJr^?>f1k6pxs`d+bW_11{x4{fgfk(gsqqnmS1`C?||TH7h^7rBo9 z&aL!P?hD${eyHTfq@R!9Ec)WS@{(@lsrM?HrMV2<_J4HND$A+wxpQIK^oX8Y&*wya z{B`4${U_FwUO`viocE4#Hi_{x<(YNkj0E?mi?K;xUnyA6nQjq0^E7{3j%hw$C-decor$F_OTtU}n;mzBhZuWVx_7lgZdsdN4*(XN1 z-%K~S@c!>Kwkn48uRjT2KV+#KK5aph!W^aosUxd&Qs3*@#(#_HV!XHM@Xt@R2kdXO z|Hv2A+flYKeEzQf6PeOiz8Ba!4@B)^*Vtk7rQz7!nI20fuUk>c z!Y;1oy@-cdB0}Stm!BnvZRp?lFWYzTp7!u}f%)xkv2A`4kw!*^;yx}5q+3rEtEUFY z%xw58Q`h_S^G~L0>({m&koxiFaoX{de~!B;9W|F^JNr<%T=wz)lLC`kvfb2uPw&cL! zX;~}&KR9tjzjak(XGr~oF2$;M{;NYJ?4)O&C|f8j{^RdEk8ej@Eo4?PlwDi7bpKTi z?+*(%TwNL4B|QI>tqwwo6agVKbh>dF*9KOC&}xKt#5tLxvORxa9&QFQnV!2 zz(phce31vk-8bh&vKF7x*fU`VM|PyMgxu7P7ZW2DxV1jyxr^qmS2uK)9)7OPlDlNi8q>>l=YNuamT9~#*YjPEogB2MPYt{2EUuKf*|B|kwIQPaE_F1?}aOh{G#Kq3ei>qB_{lW6u z_x-$H#m>`2j~leSzSOgJg^5&dWdh5b$_9U?1H3jYHkX-$+ohD90@trTx?i^2mA~ao zs(i;G56&3jz9W@@kF{k~AmdQRvJe!q_T4`orheR*e|_Og?zBahv%UQuRar=0$q4(q z@z=Xek2RCH0<(hs9yz(l)Lr}8E4VW%SpE@P*#l|iR(_6h#+`qfZ<)lJy*rh-S>M20 zee=ax)4EQbtvQnarR`Re?}g9u*G}lp)hOM1ikKT`RB6wb9g(o_Ebo zB<+ik-*IxAY(9xzjJIMv&l1fXb$D0Qw#Uwwjgjk(WP#i=d3 zB_-$f=bGN14#vFroN3-ptOjy*^1Cz3SAG3g^X;t5oNhVI7_o#s(zEjy<%ukpiT!;; zxwcBOJ5}YjiJx&F(OgPSIH?w)9) zV7lrO=YRW841u}lSH5gMb3XK!!?Q1pdL~otcD!;q)$O_S;m3(<7XH|OiGBC~r5D*> zc5F0=b(YmEOPSHsSE-Td*vY->{f6-0N3KbEo3|^^+$`}}?o)MN(n0>58w`==4%O}& z3_gz+)LGAR->Ce2=GR?E!)rQ!>&GrJJlJh$aY3NPC9P$JXUDXoOIal*i(Wn1xM8cQ zjn<;?3)M7^#i-h|E?N2gk4724$uy1=8J0r7Lie1~vQcC*vu9^@h(6Dx7VyJV!#qb~ z>61wTYt%QL$>E6a$m7{LQEg6QarlhVNb~-neJZyY4iqIcigi!e-||-Dl(Of+tuxx% z1>ZHV<5_TMk@3$qcJn{dn-xS=6hD9G+`zrzUGw4};omOrG}!fannzJktTYds0Oz(3 zwFk1NzU4{JvE|V?8sGchMt@BsrvOV=h+_Sf?jU2`Z4Z@g3H1ARi)G3LYhm$+8Zurn4JV!)(fDSv=h$o&m2jo! z9&_}aAF3^wn76ap)XyPLVUFNVAFh6`Gme_CZWwxSTrB%@+rlN$>b3L}2?6t^j}#8Q zbYHjU3P?-TZZk{4BKrOc3Wh1toZ6$ z%dp+1AsmriPRfdFIc}O-x7B-}3RDO@U3Oc_>f`&sXlM3g{vJUlq1)0-d3S3qedWG! z`jR(GWbAsjo|-mq&SQ4Z%6ab0ebqdxbwsD{k^Q%`LVSVE_hmnf-nv%Xm~ei$wM(=) z!!u&~rujc2gHAN|_5G@lT)|(?>}!Auh!V2{b$p+MH5OFw?`*e=K61` zI4O5}vGGABwdB)9Q}=C^nleA&SiSBn@w_XVx_<&sKQho@_sBfBcPh6jV`W}WdA{tT z)gQ9g9*|^v%G%Y(@WuYa%V^t!txc`2@9${JHgK{%jVn6OCH?bgMB0-5C&cc$R5^Di zy)!$Yock`!d-iYnV`bmv9xKJ1`8^@Jt37g0oxPiGThc_c&F5eD?zC=heKEUt*Gf(9 zJ>MsAT`FZ`)fIf2DfffTwobW?skpH@@Gst5hbd#K3T3Uh=f&po3b7 zbDDL;k-F>a=D+#MmTIb4$hNtZCEu-?ZO@VKAEd-LZQddkZ>l2p>ev>3_qF1a=Nr5{ z_(Vg^KIs#)+TD2vd@YuRi(Q;iArTL+$_GBe%{SyIiP! zVD2RjZn0|zoF45DwW>8fwb0!7c7DZ~+y$4+70Yh5g#0?~aJzrP>T54cPsO$I2Ybjb zE>ljs)8RVnLwNA4e@9=p_c)9AhL?h0b|T7peC>K3l$~GG6{( zOnE@nj3Bm`r?xVGm>XN!@$RUgv#VjZ`nEFrXOf4%*_|r2FyU=lnYMGj>3r7X=c|Yl1qU)K{pLw>)zKG@eb@Q|FtoPfM{_L3Xc}uwOBT<8W zxuuV9&i-EfZO^qcw~ozPdLZnFj6hzufqi%RVn2UzzUTn1oTl@Syp8rN`Rn}u@b^{H z-m7bFyf6@OeH1u{*S}hXU1lTOXWODnKMSTu{$#23&0liSZjRZlp6Yg~jaOHs^3R;g z+p%|1*)oKj_3J&sx}=vUs>cfIRwewb57yXNG)AR7~9ul0_z+j9Er zaxSK(ru;o7mt?b)Emrtjjrn)Xn{^NPY$oI;oJ!{r1J9e#r z_e%fO*v_{)#wteI)2EBH7C$NsOuad8*ZU^dxQz@}zxd|Xt#~hB5V9>rxz91dvUKyZ zHhVScjjA>b|sv?c>aEljY9GeZCm5%{^wD>$zz) z|0b`ie)8|fm(yo7r)p2(To$r!jbxE|bS>Me>V@1A3R~8Q-g*7@`ow8nt{czH{P%-r zar@tWDF%|oo!;|G9!8j&-i%brvr7bvd>e1&-6EB!}ZQYy0_J>PtZ;9fMcU*EJ-r5G1%7tcqm(Kl2 zI;>UgdYJKsYVPF@G2fL7r=}kGxnY~YuI%2MPqf%ww{}SSbtUrcW_-WRUsF)uNw8nu zyX^R@-AP}0R%vAOOD3zna21%lG_I#DWWQX<)rX!e-^1J<*)0*?(b4zk@*9uy8?}`U z!+GntzOZkf`&w+vvaPXaXS3fo_-!rurv3861=i8s>#PrGr`cWG<$cz7y0(1UhHwLI zt;7P>i5FhReBDz#<--+uIgT0J414RX#rRToZZoc1y7A22HY)IWyhxU0KBrXXYDf-4{e%SC-U;{@t&VnGSj@qjLjzgdyNkN2%00Vy;i(R^n-VWuy67DOa0}Ht`2=PZsM^^pA{xU-FOGds68zGnBxz9rwC z=X!V7R%y-JIhT$rJQb<8u->+taBY8!$aqi63HlC_#d;*D`zLk@DZ-`9RJ9R;`wD)Z2yM{R_MU3pa zQ4cF0Urg8BpH*tuv{ffeG@z?^s`uL`Y}43;wfS^vgkL;(nV)pw*}uD0v0J)}MWq`H zk26d>vggXT&io(?kLK^X+J8QAf4DJu_m@XcUhX`_Zl+@$A3yE6>Z}FX(o?=}n0?7B zcKYfyTNQavDa=+0et7Cs!cnH^!{tw2|7ltqaqcna361nyX|7%SMDK0TcDvv@sUtr; zZ$h!C{*^6@Bop1^_S@cK-QV>f{6&nuex1B%y=3?76+1$; zckU`W+<7OfEPP(q^YelsIi$C@FmvyS9py4xXxQcZC zqQnE@Inr;|CK$cFdL{gevc;Wce=e-@e?ZgZV=QYg#PBE`{y7}ij%a7PwJ-RpL zBGX)4E^C^tTyab&dN+Idmkm39C+Kw9d(ZwT!_~{sm+G+fTIa>xm!9!`TTe86!+at(74~0Ce{dt?THf2h$FWbdKd#$UeBrj{ z+29O|`0Uy+m6DY<`X`^SyL{@esL8oS{5PaNZ~q{=torN2_^WQ)9+$3ds0u#N70~~A z!}0f`0qdUyl)qT$w$aMBXV(QY`Oxg>WvypEMF%VNU-2qXIBhYZsYrfiPK@t_L}kX! z!qd)AnYe?EDWi1R{}u0@7SwZxe3#JMHv2n&Y|ibd(1yAxL3h1qeq0lUI^^30Sa7zK!$6 z54!_p5esHIFR%XkHU5ilO@6T5*(0e7Pk-F>F7F?^^lmlwk4hKKx3$Tdg#WGxk7_GR z?OvxXz3b~+k22LcE6Y-!ZJ50K(WUa#J-4RTvWRXwe9i3Rx)*VC=Utl`W6iqN|MbU~ z>q5f)HgA3!X0zq`(#E~D_r+}f#$7r5FZY(ooXqfTsR>6T1RPYhD+_X8XYTUzTL0E? zjqmD=GyT81&TZH3Ub)C~&mwCD{oO6$DsD6Qo?UP;wA#jYfNxUN&8_VfHoNPL%asc{ zV;zIrEiOjL$={!lfA;>N&R8pB6Ni7_*nU;$+?Lf6Q%}gzoz`WlB)%c{lb99n+UOsd z7RTex%1QS*Up=Y5%k*uE?WGm=k>&ON|FpJF{`%By)$2aDxa+zB*S|c}S{g95b$3sO z@6>=DD&EQ>dM6&qD5{GbONu+u(|cP=h1XnN`Xg`m{*%|6-(CG6{^iU8q1{PK9&� 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 `%y`n5?bxhqPZ zPrth&LW}*fp-;G>XyU4G#YcmD4GVqt8n`CU>U!Bbzx#gh(wwD1sRp(h!7H!m`b;;R zd#r>dSXbx2P`|ZdZPQCzpKOrY#!R_os;OP|;#ptMb}fxNY{D1JvP^G=RKlv3mvVNm zWtKJ1xRxB0ANJ?|ufIqBPp^OHc)use$*4Gg-7C571IelHv%foSDnBFEzfRs?{9nmy z(f4!Z(*NK7bV>Dk0oT2|KA-+QtBn`4|MT`6)BnVsKg>^`{=Mrv)Bo?bMbq2=AO7^B zK4RV%{?oz#5-Vp_tNvH0e|RK$earW6;-BPme!J$c!8@BgtJmaktq!@rhi zPUQKY-1$@M=4kKYtZngYdaBaf$0;Q*I^Q74XN|1RR*~lBMM>>_oic*fclh32-tEjS zCNpJ%1xt^pv6|T_zIhT;1>O|==L%~U(`~xd*Ew6lKB=N4Dd5C~WsY~{?kWnOe*E~@ zk?QT`d|4L{#a4SbG3_u;OA@ftGdsv9CoZ3@!qeL)WvjCAsC@ag9K(_`8Oa`pUQBzu z^udCQ&Pnb(-CiDVeplRF;WX{-@?^ zysO(iKTmbaoo9Pe?nR5qn~Et-kr4g4e)cB&Z=dFeXU=co-NE}(%G6Hl+4=09^@i_~ ztSda6mf!f8?B;ru{r_*R$8I9`+wStonW?BLzS7U$Qne>_?Z2IwVXKdq9nJdc-d|DN z?{?$$+DXY#s+D$ITEbZ#%KLSQ%j;@d8c&KT>e9JctM%l`lLv-7e?;@R-gA{X%KvV^ zl7IL=?YQ87Hm^6o^)KJ_!O%SIZ|1*)^PjUm*Z=JFvF6-j=_5b>RQ|j8oBzT6#oyI` zt1drdJ7M;upilprezLksi>}q!{p7DJe^-}?>&$5}pX$!!T~X7HDmz&dc=6orThn@@ z98Z3`RjR)$*UzuQME}v>?NfC*{XYJRK2rAf*3R47Me*g^eD6iD#+F7Gc1_wleS3~@ zx!fUln}YcAZK|q?t#4;&*91J+XH)&{O>UCnKR%J2pKq%@_PsLHV5!5|m|NifxEk(DFy!pxhOguGx_wDbWSMRu}e^g&pRn_w7-#%5s6!9|FR1 zwHvN41AHQRN=HBjlcJ{I0di4;^psq=^ z@6L*G%gcC`O`0UMO6CXG;gE}KC#9%s=PkZ}?&nE6eyy%|9h_Z{c(2)-JltcgE7Ec| zw0phnslxN=ob`2oUhmtjRvLaWbbYxOx1%Ftoc`0wawRSfjd|RfU-h#*zAFCMzy5-E z1>^ti;#H3#)fevmp!3Z7;eS4-^8CHB`^@FVem8D9^psEjYVDU7e;!uW{(pOG*8IKx zZ&g*eKHj@|?ct4E9Exroho&XBCNd>;ZMYxpF2bR9w>sx>?E9;sD;l5XZakOqW1(V1 zy;77hOYzZi)AwzfdrTi&Txz20`DCg|kzqujpox836N&$b-Dw>l}8b8=hyqVGOJ5^7zV z9B*t6zGmco-+6eF_yzHaH=1@&Yx;V3Ys$jb?faVQeZBj3?s!}FTkGQQJrQq0&m`~t zF#p!m3KiPNs?QDxL3wK{X+?w&;=R4b$H~ZfopH{Kdbel-?@%miVgR_gP zujHPt`15|Acm0*;cfGI41YY{){#X2W{M*AG4>P~do)`C8skJa8{n7sbX88rCfA{!z zADP4%@lNk$Uv1~FuUI=KR>d zvgG?N*Xir4s&zY$mL>lSS<190ciQ`d?dC8TBst^U-(T&)?ix zbn-Xz|7Tx~`eWr^{o9#*hw1f~U;kg+c=3PY{)R`d<8+m;yvX`uFlnvzwC}M}-(y5Q zm9;&rBE5|~)J`h-Y~B*EcCOg6(yLV&dri$1cD-Jju`+7bv~{T&kx|>GEqs(us0t@Q*>Be*hEShSe>ggF4G$lmU*E8H`ijHdZ$-ttihfhg9ZJM+^Cj8S> zYp=$j6&y#V|Cs2d(h#EDxP*^W=_otbop0|9rEe;hnW|q{`Iy7;-ub1R>@N~uwK-oe zPCFI(NzF3)p5F5l)lXu6HpD21pK5xv`iJJ!DGWDD({_^C=| zm(G!$D_Xri``XOTe{NaBfBq@^kHoqu^B*k#Az9b>{Nrnz`S%~P?wP>dxBl_-kRqlz zk7_xKq%0Nvirq^(4$nzqERDURAmpgzY0{}!s4`JyVv5n^B@=e4O#M?j#cX2Ernyfh z*s4sIQD{FISkyE}Dg6ZNB=>cbYl_-MCO9bt#J_UazQ_>O%XZ1iq{D2H;ucF$&4oQt zCR4U8PTZpX*0K6>fmMgw1rI6TlGc6++Lwk-s_;Lc*oZMP|%H-X{W?Cnrv%Yx_PTk^V3=EXKJowHmcs(w{3pxNxluM zZ#I_6TAwIey=bTIts`mMQrmC6ePghD_1(koa@%h=zu}1X(0}^Tb;ixZJm$)0ER0Y3 zm<9VhEGXn<)hZSF&h(mNd)&$R>e^HBzih8tB*>WcNvZb)A7fQMza#I7^vtwrJ5Qc5 z+dkX!ncU^v*NLB3R35TPooA>&qw-m4Fo(ulxnMyy&xt`jQ#5=hrg;@Fb-l!uxpsItJWlV_vT)J+`Z_?u#q`HOKRU z(E{GpGt$l^#YXaroz&Z4Q#SYMX6rQ#qDGG2ul_Chz9c1+U){5Y%m0~i6#k`gu*7v{Xbh)NAskr97J6r=}GxiFvu9#K}tesproiMxM6$G79Xc9E&=1PVt=h z<-f!0nBB4j{osxBGjCijd6Uidt!#3Q#EEswcDT>D^I5CZgF{heN{Q-2iJcZb5nOIs zvL{ZkDe*CLRys5^oZ@#m+P&h7K}ZFQmNlp7+%B(k4y?~FFn?j$>+m^K@oVtvm5y1( zQ&+ydBKJzcG|D$*^3|PLvv!4@4cfkX=c~Z4Jyo%~0kvBh*7k`l65Nmyt{c;R<TiVGY}}m~)K~cS`S!jyS&Ly^$>4iJm!XuWDFdRSTa^WWT}rrN*x6 zj{o{)>@UxjF57;&`bG1X4BJ5eYtLV0{))2ozQ6AIEBCL)ze@Kyd^ct4v2yEhw9(@? zSL(G$?wXjSV|1z4NBQ=R<|x}%t-Z+{X{yE-a#FfhOflGOULe3MbH*h2tY{kBDs%SG zYNo4``n5i8UKQyWR@@!=c8%OM1?^j2TPCgD88&O{wNsn6Mc0SBE<6ykLpJmH&EPj8 z)f4CDrQf>wP42@%O@o871`etU`vnE^KN{Sd?fyYxUW=C3Q|$`28OH2Al}tV}`P;rQ z8?!YE&b)l?xXPWtZ2uVqTlSzMpX=#VUI>+(2Oh5T?}%Q8;*q} z7&3dDVdV2?X#II$fxLhO%OAr9>)EwTq^8d7>GE+_O>;~ydb;?NP>@(->CIgd? zEVj;{15UGs1pK|iU@GucW>MFQ7XhX`rn2kY7OZ-FMdeCq*Q~Bne&NOew{K?gt@^#8 zis|dz<U0>U${%qG_}$aG z=vVcIf-ChV-ONmr4t`si@T+8jLU$@N`_4B86AIX5rttq0JYdUMrSL&uQMZH33OP2P zme+y~u5;$G#4LHS(!p)lJjR@q*Om^)6aTV&n7I5ovtrXj_8t}~M~BV~g9j=+^VIKj z7%Xa>s-i5J;c0rQVLFd8cgIP?qQ;rR$0Qf1-Pd5q`*VgtLHz^|W0^$6w~2i&{}-yP zOq(^6PbAfmx#+Z0E7& z?l`@%xY07a@$-UxtOw@GhnNd=Ni)4M)X0^1fADbQ{tP*G7PZeJ2?o8(nOh@2=v#i! zYi~Sa{6XjE2W_T3UJNx}0ybS7E^Stc2U2zjGlm?q^gNK-HJK}AnYHABv~81_OXSM@ zcG#)y-Lm|-cEdq$FIl5TAJy;^wVS5wTbma!J$rxFzZI?DZ@A~I``20*pWiYuGL2ekJ@DGZCG}D^IQHmZxi~z{jt6$KHpUSw)iHm>gNmGI+BmPnxwRL;wjC4rxGg8 zD4+7JI8n8Pm2**ShVj%zx8{e&hp4aAUmbom`j+!ryX=!WEABX$O+5N?^4FWcjQ&p8 zcmBt@3ct=j)zn4S9cpjTSGQ_H;6Roy&8o@u_<@IB!g zB)#jWj;wq9!rd=;r51RtT6t_$^wr=j-VcsK7ykE^g;Wbk)OUwoe*JRSJy&^7lQ1(r zDWzNgcmC{+JX&?ls_&b*8!P|D?YE`}%rvdg-zT$H|G}Bg(l~e4*n-#3d^RrE(6>|0 zdSvj?*>mFe3HMJ}{oJsLR;>xtUvXFa+3{!nX{@U|uU?v!KX>cA?aOa+zfr2TT>qZOO*g(| zouyM$b&&`kf?z#6dW#gJ3Dp%Gn)ac4R>X%er*kIx0BcR?L z-{pR!JBfFt`ks_|A#UrmUw<;1sl|6}{dS>Nv3*ReySPGFCiSH--pOXy686EQ4n-#`q*@-xLfB&hMW$ccK1;{6^>QJ^Mlr%;r3{+bvU} zWQOInIce*R_BUkzIQoTkci`&1r5AqP<=U=(^YYv4Z{*+nE|ZymbUKr>eX-(#iuhN| z){_^Wjy@vuaZ-fqD)m)yer*ARX)|Q*Re^bQY(k;9DKQ?W= zQ*r*sr4_tv^(SNU-!W^OvootlST`(B*uC~I(+m?anO!1pDi785?LQ*^`TI|?f4UJH zCR{I)vba09&aY|n#hcIWl9J0o{ba!t;g79&xq)HA2je2Y6Oxp%zch`GD<6+`55jhpD|xTmIL%$PZ*kq?IHt7SS@{{axBR`u`nIbqKD#mJyYTL_?>4X6 z)w=i2`u{89FTQ^vxMF?hgFW94oYMO&RkLD$=)Bwe{gPH;(gXv{uOA-yb}|2j$J^+N1>bTwqPg-n z&zC*)gYCuDhbbmMeg*zw|7HHm^zQK$Stc#^H}ho--$|REZF{Ctye;zfEB^boviqu+ ze%)Gn`j=>r>6O0i>PaQ`TlsHJf17Zx<@Fxs_gwaSC#`?F|3jkR9_23|3iXg{y z&xnP0eBV&7yX4xXip;((fm*89C$}Fsxvwi_s^0qP{HMw{oWB~d`mAW+%+)EH$EPYS z)!|g?Jt(#J1cTAB!w-`b3dO(uG1}>R>f){tcUk_W!7rps%mZGm4hvkp`e2s#)rQ@7 zc>YH?u3lw&Dem&UtJ|`7Z}Glmx>jcO(N`OnB}jFbws6lm5a+mGWW%RllYd3j%2n*? z`?zqUsOUe2imPYM9=uU~X8p{0^Q5m!wx0TRZC6I@X1R#GXA|CBTk*}}cj)iZjE8<- zj+cMS{LN(JpJ_4gSAqHD1GY2&6ffAZ?(!i?w)RhbpKY@oJ3f5uv*${()HqX8xbnxg zA6qNJ_9&K3V^iimGi92`?4|RU6rH%Y**5i#y7(#40MXcn_Wr4UDKazJmhbD9X>!;1 zpYO!G#U+1_L-NbAstNO!Y=4=*#eB+xRj-b(a#(q8qghqYy;D1qbPW4vhaZ>`x+e1) zm-gjf2Y2O`Zob~2J>OaE)&b2sS3L^OCT)*x3SGO`%yIUrvqyf^F34pn^Uv76)oYE^>eGFO@q3&8wZsLR zKR9On>f;zm>LZ=fyuF66ab!-8Tt+a-txc#o~MMj_CT`tNz+d zdZZRosOXlhB7c1Ohf;}^$$ymo_g*iXSE#d`-{y?TkG(wU>X+`RK5u*+xA2jieO~9P zciL{9osXCbxBjr3@?^q~$rc_`dcBjkc~&pkRJ3PLK%D0E@O?o|8|I&Vz`A?I;;XI& zI+m}tXDy5hd%cAB(lN!IPclO{xSzdI78aSmEdSE}%lwwax$P%@^KxIZ z`BKtP&ZWx^O)ZpIxcp>^#;xNLtc-VVPRcq_BAZce)%|XP>6NXocE7ST4g8$=`60*t zYbym=s1O_R9;+&ukw8#40u%Y!6;5`N7DptaL*?_m4yCzHwB~`D-MiApCB_ zfpvXHazE|6@bKp!4g1sY3*vViDM)WBz94w1w#D_``(<4#7p+(Ee!FDdC40Yn@g%*`E0)wr?NP`eV@_w(YU+ zcjvy_yu!|DVYQC@yVpA^qUNxq?{&9Q{n|cz+XBzSQ^TkBPhmPbJw$!&373our9o}i z97Mk_j$crxf9dY4>8qBkoV9lA&qAayZuhdemzV%pL zJt3T5VWXUD>wKr)@YJo6sWN_L%qCi1{a5=HyyGr4FF4rT>ybP~kiXZer7;G1$ds=Wo=%_3w{m&q))Dg=hCHGQPF;^I^L~ zn)?60h^af7Z}0N=IGOTl$Fa<|KleRHLD{_Qz>zazO0-2W&f9) zzZ%R!OSjIqijZ!7GkKxxrG3}yF0OJEk8%=S=EQsHq1}2VLDNh3FK9~`_wIagJM5a# z>lvmZxu^d&KVN@yzw`e?6(WC%nRe9a>%R{vTV-83r|khhr{~o|D~r2x?wxaZ?pkn? z>A7$E%FRL@vCne~?v>jW*%fZHvYr!rfyKO-f&0NN&krnjmo$15?<{aV-gqbbQtV0( zE&cG;-FZshn>4pi-+lV;(}kZhDx3anvSIhk-@3=~p2qtIzZ&KFQ}mmrzHgrXxA6y? zm+?~F8#{Mjx?dce{P5)Rh3(G{PSc?xLDyZ$kML_Wom-U&_0Cf#j<=MJdBh=6UZuc1?J9;YD4FLM5YKs)Z!$J%5L5^LTn^ zF%L+cf!&+V2zL0UMPazIc8Tw&c&<@0K^|_7l0v zhKZjSJ~c@D84{4aYV8%d6E#a4SF_~Wnj|Vt`YdJZ{6FA6&p&(C<-fT1WZ5Tc2n5_S zIkWFs!e{l*n@&EwDdxQOebl~f`+Xm5-+f#7&G)zZ6E>gzwCqoIo#f4}Op{i>Eh+kC zl{`1{oYC?NvXg7%zb{W};V@+L`yE?2zd|5y_rxg;CT9Mt6!<4SKYjb)r^yF7wWpMe z@@;+16lUe1y{h!8TbB9OeygCpE3RF>wdh({2HWd%Y#SEl=$&poueW%AtJ(iPGkvqL z!^M%$6pH8VycE+t<;TXaMmE!f&u%>zwZlwk?fb*WHtOcE-#+ZOImT9~ruc$I z=AXQlS+Zx?)3h$}IL@=p*Kclr(Xgt&behF`%bNxJuiq(S`%zUJ8GdEqyu$~6+)P?` zBm9-BeZSW{mM`z7_n)*sG5u+Dk@M1}ixxy(SHAmi)t_}QmY9CYQvW$?jsw?vFY^oh zFP(4sgkF96>iH}0f^V}QzSg`G!&N=G_CVI_#}A*{T`m6lyNZ2r|HqjVvwIxBRUOUA zs7*25uDv*X{xhzK57Bk=;vasmP`OogTCl0c_MJZW`CZJves1{^aOvs3PZH->>N&o% zQ;B!=zt&`)zr2OnckX&cRNWc~OQ^kG5B`&H+!e1G+HLfPd5PmlMUcGJG> zDEG4Kl>{$q-RV1Na;^V|J_)i+2Qv`}euEqCBB; zUoUfZek$G9R?l?(gY{;2Gg1aS5pq( zWSYjg=F-+lIuCKak=FanUBrV z^I64icywpPs$9@2V60v6FF)(}*449)F1i_E#vWQFv`T^_HszPqk9~WqN*7OboM<0! z_)H?ZXY;Xqx6miAEk5)7scL+gof>JcRBN)i`T%>`1Lq6>YCi;jo~u7`d(Gb0w~QPA zehLcSv4SzkWYaVq|7pQbjutGEescE2wck%4f09&K9452v9=StYTDE$%o>}{3Ip*)>&N&*b-tJ3RKe%*p#m7F6ClkFy zH4=+A_5E@9^YZ+bDYqPQ*Q%|2eI@3{v-?*PzTC^G*n2(Tta*gZmzA=2{;)h=6nHDA z-DKxgo6I<4?I^_+mrh))4I9E}@s(ACd^|3YG&5cLYC(hgL z-MnP`!)LM^p30=^&L|Y$$=~~jb6%SHDjm=2$mm5=Q%w)3PTLoC{>t|k_h0+=ge0rl zh%tLFKeRu6=KPu4&s<-VqkVK<`tqC0-$-whpMPR|!vD=N{4=7?TwXgNf1h}^r|eS2 z4^KD)CSUp#yoqmlp+_F~GwZb>4a{}3?ld<2xV&nM_}`YWfZHphuf$(jR#tHD)+qPtEVdU)UGa6!*FB=?XSeLz^l8nnZHexm zKh~($b5AXq6JEN@qWR&<{+)YfJ$+s4zEnr%HT$E$jXfsPeP5ZkeBCCZaD9q%z)RVu zb}z1eH{JD;YCwx?1cvb#F@duYlvlhjag&6X7+m++60iY(7JY%ZjaA+HZM$AgJXov%u~=lSg!dZ8mtNnD0`8rx>cH__9M-+I;k(A56&`WH(V zSaCXB`JS-**R#{lq@QUSl!Rt?Y!#^btaoGG=DWA=<-Ol_`KMZ4$NlHpb0*K*uYYW+ zf|B=_^%)}ezU{h(7(zlN2d2~d&bf8O8c3TvGhOlTUBShTJx^3 zFl)bf{`p&M!3U8mS#0{PQ#vS<|;jpP2vs;xnT) zLJ>w2uBP`!7^@leMy}C)ebVhv`F@_`8)nuXUG-w}7uR1}7PsTSv_J4Y`GQC1yi3!K z^g9jl0cSaijXuOAgl&_G5VLs{k=m6HMC!h-yAt?Ljeqj;h4=1FEk3w4 zb&6QmN}teaTCXQGc~9P$BK9po{L*vdDVNhTjqdurzq~2S_G@LuRn=E)Uw6EE{dD2S zTS2*|GJC3RHkrLX+}5D}Y~$iLJlRXOUz~sS@&r%&>+4^O_S`yV@VHd@@(q68vNL`M zo<$Tl?L2lTQ_kqKk9@^d$!oIOH@3Y^u|EFqY~C4NJMl9gMeUEtJH6Ml+;7noaqMy5 z(nr6OB3HDp|I@R)nEeTNK~e4kv6-hNpNjn{lmGGdYQ|UHl>V};@UM1P6j`!tq~G#> z+o8mynb~C*d!J3dHc&tRigC{3)f>6qy3+V9 zjRdFjo@{Fkd zwh5P(T)njX(s`ldFVs)Xe)9f++5Xd8AM*dwG`>)-KD8@F!L3eN=#J(j{w>?uPWdg$ z42Zmbu%7qa+6AE(n@ptVEtvj|spgt^#$x&Gv%5CF%#r;)<7|t%-BNo7W^=P!Qg?fw z_ZGHgmYEnET(Y0#J<(eH;NM>#r1seMKiK^>YSQ8!8!N|&y~0R5}$W@@u#l))LSGyZyD=L??)${ih5Ws2Hcvz zk8kS^jGni6u*@~z%0heWm03G+9_uDIdt5$^mY;;(4P;n=^a zk9m`47M{q+D@r+6P`qSj&%bl#f7d*GFp>LO$!~S*`M3QG#=wUks6CICC~cOe@oC+a}@aLcg7i zM_2Ri+rB}+`$W+sPO+Oz<d*(XaGA*b{-8^;Y!83;XikjKiY_w0!%g|?kJ-1=@$`jH`f7?Gjy!Taf z_uj>q82!9=Z0kJ7mOgp2{0iYorz@`a*t5TtR?TZW{YUWkRTrV9r5_HpPY7vxc&BQ? zqOfM(a;3maA8VyAT`F@nYd`$>oJ-qzmnQqns4(}{ z(nY`Xr}3~~Ir}b^fAjrq_a9o?FqO`EEmQt!Px9~7J;i*!M^-+{Dztv}C|%|9r6B(w zcbQh|zxpX^>08IG`y(=MSq>}z66NV@*x6&2om<$)TH8MOl8>H0`cbu4Lx@?eksCvbwWmj~)NGvWC;LbkDN=U%(IbiIe6}iazc9`yg6lPmSBo|Nwtyz{*}pncjBUQ4f2 z7ph83{+{*DeJ3g-dtmkBtE^eecKQDe+`Fpm`nIfiC(-AMhigx++fY^TIT$$ccG#ebL_aU-F{{Jh2`&zdsiiLeVV%WCYzWzpS|}i;m3`? zYFn$Kh1Uj|HHyvM&Rm&a*A-rr9? zj2D;l-m29^hikkPf8(C^>hhP6T1z44d3qAMJV!aqC-t-*v--U2J3MF*X>Y$r4Q3~FG(w6-?@E{@4lr|6h#*p%dcL%W#=uY+@;(6eoNi?+kI_r zZhHF7^Jm<}zpnhH_IFL4^ZGm&DdV2+2NllxT$W)ed1LT>#{I*-S6hPkKdy89%aL4p zpKHtQ1Kzxw#Bbg#6J9c9+a7iK=2g**|8K}j%zSmG=w9i%L&4(Nf#QV|e@wd}eD33n zFO$D?UkRADXJg6wOIBQLJZ;zCI*BRFT&MbevTusCrKeO-r_n9ZC==Fs-+gz@t8@E) zS@?vu`3qTtJxjMW9{V1)_)6fbh|;!MYyYjA=2+%=@mf}EL8$D7+2RdlO#Vg^`wFdU zl8lRWMLZqCcCzYUz4q>0{KNU5)hC2co|8Z4QG80l-gw)T-8?EHzEz=IM^ETYDnGo` zeuB65)2R$g+b(%k%D%bVa7N|jlj0(lwQC)!FD=}nIN|Mzy9cZ^U%h^H`<0)?9))ju zzkBYcl;124_{{uE@Nd(<)%Om~$a-V;=d9f`l@(_!H!r;^Z*g*CUKC@Qul0#MrtMh^ zTIasK_${P*-rj?DN#;*te=yiJ;kZ@Oi>jN*bd6JGs0#w_#8|Ah3uAXZK1 zte%jsS~2&uEEb0?v3==!&(Y{_qm9be7Y<80o_=^FdX+8V#Kc$9uiU;)sfx^9!rQP- z=K^20*z7i~J%^mQrc_*~2%bW+aSzm*le*KZ%|eea^;C?ND%Ur;P3$QqP z3AC^owkUY?E_6KeIiT0_naI@(GlHF0ADfY-vv6gbRFKowpvTqgrf!M9|MI)d{>K&f zpRa%Sc*Ut{Dew1QE1i4&dCd1+*O!)FKbFD0W%Y#xS04oAZ`P0bq*Ac`z?51P@dM>tNUL0Y;C+2F1_yWg3v3^U)nb*o|c$8VZCin z=CPQ^U6qITB=>E<^G334%V$%Ii<7Ue;Z0GG`_8zM^V46hsoQ1k`|QtEbA%dZv)Nor zdRYBXF(yp?#qBVcTbvi2_0-x=$)8Go;(AK(>9k9cvdfOGF1{)sQlHDRX|Z07>fO_G zSGzYH<9F8X*eNzkIw^PayNG`)md{yxBl^wzT>j@;5f>(Z%#yV@@$HB_kHHM-Qo1(G3Vswk9o_oq)isFzjXehUs7Meay%j>$JKRjeu#-|vG}V7aitX-O)t&L6W#v& zhV@&U-5r+?a5_!lFH>{Kchp-rPe;GnK)<>nMs?(nh%x|F`RoznbN{wesT?@9)v9=7<})h(+}KfLU>B3$rw>6XT* zJ!byV>vFHxJhXlMCG%I%mDXi$*2-dA7p{=xUAC+1*ZQc_3zXE?tiG1@yRG)T-s>#| zR+hCN;+7w{T{C^Zo&3w0_1Bm)xmGO=|2g>pQ~Am0psv-7T7@6ZE#484r}dq+yyNt< zdjzka?*&I;Ddeh&P3)noY!1yU8TNPT%>CA zzliw0n-(cH3E`T{W@n~puI?30?cJCb8NSBr8~-+*^1atimei&Gnel(8)?_gi3Dch{ zD-WHFvG^|dUA0^)?lbT6^X3n#KQ0bf9K67xGNCJB;cf$oz&+e4AC;4q@6hOa`_SN6 z_vfR&3O`;=;%gVwx1Dz9Y0-tn%L0zKep3JB`EyN-&r06bIsH3-MXp@B&E@I6W&hUv z%JSV}7u8f2w|c4h^~GNkS1=iW-TT4C-*M8BjK&^sqiu?x^dA?88tm1*&9$v6LfUak zeDw1*zsjnsO_Xwb_e$R>Y<$=1`yu7K>gj?rj}5hrcd`~NJig<0LH^Mn4slO*e^z$P zE7^bD^Pl*>6#;=7Dt;pVhi%Q<#CRt6dD+A~SE*e4XJ?I@-HNoPlK2&`x5TV9OsZcv zZ@GA5*1x1H=DTO^J;YcU!PmMfAOWF3+BJN2Nbxo96bZcCSpf_FfB=UUl}G*6@oz z)h>6-jy257sn3_a(tZEnrF$PDXFGl^bzDFF$Mrp(IUj|(yK|2kJ}R`h<`)#YbNw7G z`Dy!I{mz7()A)K-@|D)t4YLk^6JX0I-QspD=kJ7jS0$L1-Rpf}pKD{bI%4;PtLxVW zmAUSCrjb5(^Vve#k0q5C>LguSqNV(fO?>{Kvi{1=v^R2VeBQ}ctWt@ecmL$_=4F1L z_qI5mxPNhl@Z!K+`L3mo7w0auQ+Uae*|x!zPR|KxfR=TZNaD>JdonH#xs&-aYp6rA=D)_Ic}as_q-VDWQ1_RnfI&T{%o(f2z3+up@DnW!0MvhiEC`LtQbd4)~PKPg#r&3cLL zmnzBW2d6$(KESM}$hPm}nh%==+V=eMn8RcG+v$#OTIakV-<66+U$#t94?S>ZTjS>c zEJr>GFWT7WG$k-$+NG@0t*fOv_t>tAbGoayIP~%@g>wF;=&o0dyVh*Kw)-Ws!{6>N zi+@S}?TkAm(0g&kocU7f3zXv&{=a-?RwlZ0o~h)lYe)RHq~Fdg%T90DJnO1r_`2oV zJ&$+;7oLm!!+B6(w#VnCt)EKH9QJ!Et#QSB$F`uTT!T{0x!0Y)9Q-A-cgaQmtA57o z54`-gkuP#zS*Sp<{d4whrw^TW?GISP$bM65{x035-Ru$Dcm45_TUN6`FYJ1QoblD& z1&l^9r|b57Pv5ov;+YN;HA&55qE9MI1Ag*-?)f>p@_1Fs*6oiM9!h`6r!-e^#TWB~ z?Qv(MrzB)+M?YA1ZbG(7v-X+x0~?QVdAF8!tj|4UUD4|N$p4Y{gzttcIq!VVxboxr zCyl2Qio{%|t@Q~xfB0pn%w^p zI2M1%yQ3<Se6_R?y{*LgqL_?8)FMYNboi9Y6j-Bf!1*V#`S{=Ts) z^R8YXd-|Q7WlDYebhi@o!dZdk4ts8t&cC#TX{8sF;B~cC-wZwp?(Fzj<1uf7dBEkh zcYO6`FTZZMukrG4UavTbIXlIcRPt;CqKuw}{`czxjC%Z-TdeS)Q|UN`P{nP*()_k=ym17cR_MmUKp zI(3L0dm#K?a9x83&qmhOvXhT2ePn9La4Lo?Mqc&5mVap1>a|yYzEXeX`gLuT;FZGA z-MsoH%;(DFw2nJI4o~j-~>Y>g-qjaosoV0>dfGs0h6jZutWX=L($f@;@q`RJn576(_0wTN^`e z@$C-`_GIRc4YFgt__k4gU9&{jwX)3PTe&`@e|9Wh8+iFquX>ww$bQj9Rjf%T&Sz!0 zMt6p7`YJMSO{=ZM`?XtyU%e^QGhFsL$#fmxms-|JN2vmt?GtXFocnNHA^VTrH4_YE zyvk*gr|Mo2Vtu*ci6;B0vrj4$=3Xu;RrPtfyr;qc{@R+}TVMXoUFo`IQ&jBQm14`! zUfq^)Kg<5`=Ksfx0HXr-?Q7&G-_Vhd=@V5-Ffj&-aF&X4?XIQbAMb2SUp=b zlb0d+sH0+fBzM4l{>bHP+Exf%extl#pGJDmW*#rjO}-zBSa)8`*4WDFe{52!!q@tJ zr$3u~dcyg=X>qwSKf~>JkNH1J*7O+6ySx17?0~2qp~XjMK3blnxN_%}cqvWaNz0sb z!xQd(Yv#-MvfnhdA%3a7%Jes?(}9E^h*)p zhPz76W+;F9yddt}3SO;iz4wk4966R|))jizZCR3;@$cD-&#rv-{8`**iS8$duDN$i z`5888YTn$fauM6^UgL8%jZIq5D*2}I&<~3`KVKJrb9FA!l2x0J>}-4S?{J~6OK!p9 z>cU!&R3R59PxBY%d-GFNXMD3Rvwti6sqczoO=OHf&9|t6J8~(GoGF>6`&i|Vxqr;Q zapT_!`$zE~@)XYOV$#3yK_Iq8G>7#q?}=4wBox>>V~_lMWYhCq?4xwb>F+C8b}rH} zo$9n?U68#dYuwB1o)Xi@)Yp2kPd|Q=vGlaluh+jn`Lwp_lw)11wuC&IvhtM8)8HT1 zcvOQmSF^3?y^@zDU&?alPg1FE$Hv}kk*}98&1~Ode9OP%f&GoY;=KX$mmhk%{@VM+ zhjt!T{bsPJC-GQPa`Q)3i~p?;6V2TC*ph2rT3s>Pw!iZpXRY+(HI2KhqE|mSULM`P zcK(3}dD|MaZXbJ>7qC8oEB{|%=1<{!LZ|$ zNfA?4-RwOoEIzkpNuS_tK9zTTMcvW4k8OTFsuA6G>-yaOXXeiA{2NO5h1bNc;Juq` zIOVNgESu^dE}h`GHEL#w<#{U3|Iatxo!4P{z(~r?B&ciZHmBwNhn7F}ytg2XY5BH@ zxOR!Vy@s_K`=@j+($1ZFP~!5*j%&FAE%~DITh~O*j?Ir=yKMDwN9&_ojG}bc3ePB= zVa9o8)}ptEJH)Q9ej)#|^TGxdTiL1tZmEEyEAqFP*%|zjIK5!oeCe6TYy`)->Sv3l*=FufleG+yLS-Fwrob^Xrl-_Fg4=Q^H?dGb5$ z`JT_Vd($S&l3(BIAsN(b!gBlAM3|;X`&;}{ zTT}Y+cQ38x9c$F1i?-N=%~LwhDlRki{K@xEl)NHcLym2#ZC^b#+NYCzb5{GN0o$X zkC&VDV&g9+l6n6bj(s$LESs@-VrH_*aYx(WGj}D<>KI@DvdJql^x$p5YYHJ(HLo#d zJX3uwrnF^C?BP7#L+^6ybIvz8-%eeAdwGt(K`DbjpU+|4V(i3gC{h#Tvr4_UY4I)HxfAbcK0R=`_bTHnCYPIrU*~9L+6u%g zZ`r$|M|_L)t?0E&;w0zom@Bt#J)`>@R?j#y5R++Om%R%^wtMIV*jo=#PqefF$? z@gW~m{u#?>s#Qg(8Yt!YrMj2RvdaBvx%|M)y2nqR#n8aNni8 z*JbYd4lZe(^7f?MhJIV^_{rW{p;MGkxjuD&I?;&l)D}^`uFE=WO*s;@YW^?375G-o zE%P$cp7jgGO)Z>FqoitYM)Ju^7dsj(k2I}K|1m4{ zjKXGSqu0uxlZ*MZUR8Zodh~GNPnkE7=Px-3EMBuRVU0+}HPhGb8-8b>mcO@PpYAQk z1^X6$lc?_7d)+QCenY;)Zm*<0yDS9#wisWF}76 z7iDpjWOvmy%$-~4T)%=_;$h!|hn>f2l9v{;&3oSWQRwP|DK|y0mRW4dHT`qmakEO& zs&z-BW7jrbljwP+_d2`m>OWSFPtGf@TU4*yd+gr9Z!1y{?-gqaJS{n7CHtXrjA z`Lw$m9~={Zto?B>_q)IwN8Uf&|4@F@?>|}`rW0$gl&%$g*I0ay)AfkkBHeAmzdN0e zeteX*ExrvFVbC>Eh)^^X4{fa=Y0$%kllEAFi59uZ7HBG3%Dw+ttTbd@NXTS%1#-;42@?L(29a zEIINiYr^M5^}{FMYdM|g_@-`Z_>AkNXOf4_&pB^gW6!DeJ5Id1$zi`rppckq3STD_`t1d+`RFS2!jAva+glG2@jb+%hFRd;ZoabN>4`ZDKRmTO(%QlQulh3yjiZ?1JRT<1luw1$8ibSDJ z+$^3Z|HSk^6{qTooNrEvK5?_ia4FA^!0;x6RrfX01D9)W-k7t}ZS~`;k`kwDS6tkF zW&YLYuNZX2j&SxN%xN4x%MXaoPqd4C;9fIkPTVUYuEA%>^!`-biwiFf|B)XlFCwdZ}VMn=fsqhPnZj=WY3or z{IdO|z4FM{2a9$H-bu1paP|(PUi)uZo6JvZf2{lCP_{Ldv3`R6>3HVV;$o+qRGnJZ zB`oG#k=@;z`@!WrOL?H^?e4or>>imIJZ1Z667tCXBfo`8e8~IIOJ*VO4`1@Xz;3>i zX^+4}>(hUqJ}k0%WG;E`dG>{0#>=iuolDUic-_oCFOy@G|;*QS=Srq9@X*wSr%sbKy#wMU*=8?4#Wl*9D} zW_CXg|2VhxuT#SewJHynNfQ&bmnaoY__MJl_}s+1Q=WNkxa9lOCzA8}-_5&Zu72AU z79)S6?Bac+e+E)B4xeF5sM@9frm6Jysg1jC3%_BpKKf7S&(GPukAFq{+hN|CcA=Qt z({@vq5+rJ+@hadl$>CJl^mu?nP^FmYcFN z&-{|cjkk9s{^2;D7U}(F?l;aoe(PeHLbqGJVzHfbclO%EpPDmijm>fG3x9b$ zUulP4jLM4LB7E!oE$+3;_j&#g`p*{S^xdrepsjA(VSnRI4vBTkGTLSqE~u7Yt#c#U za>YM}70p(v`d5xw25`%}w;M}&uh-Zev+>@WU!Ji>9X8623hVdY30)^Hf0~_R)&!L| z4Dx$KUwR5OUGd4%jh*Jz%ysLa@Vcqx4{QG^UJtc6V|ev=QN{Mff{D8gwPtU5K5ON5 zhq6nt*N-0bSnPZJRmRs%X3D?)BG0cmwqV}Ogoo41n2(p-x_sA+^WK}PPokIlyq|5_ zk@C;PWMA6_=8vYnKBE4ep-awQGG00PPiu_qx#I4k*0-N$Ez1j3eqb;^lj~WcP0fY6 zfLEC=5w-$Hg%%)gpXs^1oWE3;c>ciWS**KW<4wEKz7^_lW# z)jyO5Y~6nN_FfTfuf!SCD=+1)w5oA0|Ec`5_)4PrQR$nZe4#tER~C{!rPS ze}^g$Ue0fI3SqX@5xU0R-x^Waw?!sIj7Kb5XZ}R}lf9y@hEw~eW_k&^DSCfQ(0(-g zfpGo`{j0MQqN@5lc;_~U>0JqbDgDKIS8hwgnlwq(Ge&6)GTSn@v9EkSBmc~z?%#F0Ha7n@$r+$Ph6G4HShf_WB;-3dpqmT z;y(;7pPlNI#e=#uRHvTu@>cbcT;}8SW%p_=E$xeC8853e7tcwQe%o8H*gUPI_oGNu z=usXs>)Fm{Up_PZ(VP7&`|^1q-NRB@y_>}%_eZ{cGw+-2nZm;34c{erzB|@VHQ)Vx zyR25C$dzBRng^#oURAI)khSuRV}8c>fP&)|Kd$%Q2}}9U_|71_YyDw)*6U{lr*R)| z-J7)S2g8vyURR&673DuU#I)j_`6sC(i`Fh%Q68{9>ZP#3C+)Az0dn=qCuZcv96#}% z+5TkM64M(}+-0{C?)qI%qwik0D^P0h1o`g74_8hH`d1arFPgnW`;N5V!}@3O zpMzVpour>Q1!i`Y@GLHu%W~hG$62Jn9<{~!x8v*O?=Ng#Q11IM>iU6=W@h#*_WBL? zOxd=JZd)wyJI_y3<1&YU!QIX8&#rrTP1*T`PJp9lUqSZARl9dK-(l8cxN=oStA74_ z?K2|Jx{fZ5x@3~MXixY*&pHi$_P_Q4DWyi6?1I-WV{NQA%U0j2^~>hR^3V_6>0f`f z_0-%*aGAX^Vb-=4hqwg_C%--VE%`U=UUA#&v)^*BbxS&FV=?Rb5#IIIY;(5r?0YYm zv1?0!Ylg~=LlKFaCU8yLc2w?z-pLEg+AHiQUGcr8P^&B2W^{H!`RVO9}Q6vG;DZlMkHzYN$R# z`i%QC>&>lOuUVztJ!-R5v08We*2{Na^1k(9PK+)4WF3Dgd(GMj;@l^Uin!{|i2JSK z73Y)>n{xia-PQ!fz#lxNd*?`W&fKke%+qnfnb)7*7iE6{pYtoK?R>h?PjlU&HC9ofn!xcqM4~C->+}0L%i1M zT%RWTY(9IV;+-j*yqHsWZ1SAB#O`W_$$R&yyVp-Qw>kSM&3(`Id>{SQvVY#Jzn1xX z*I(^LtCntNI^rO?lH+nwdC)W+HtE#KW-;tPmT1&T8+A7Kujea@;d9--)N{d%SqVq> zeaiYd(ME*t*}N#9>}9zZ*JW8ovF;Tw%A8vlT))=bxJ_}=ir4ShN@H1l>siYra^`Ms zyV?28w5&c|ux!8VUF%5)*V%r1Y_!8VhIzyFM7#F&+AfEcW5lw$bq{D?SBotcHPX7AF{_Xg;tRLs*zun~5V0@&Lz5D)hbxG5+^VP*QS(A8FV^1;|wJw>M{o(C< z4;`CxTJMVA30$9WpX2F!Zt=~b7Fsn5dZOixKldy#3b>k)+4w}i{p8^%)7mL>Ytui)GL7uQQT*T2Z!*7)kK;p*r~ zrkA3adi^`)TH)kO}LYp;Z!U%4-;bgkl*HLJHV{d>&0 zV)a(L@c3S$I|?uUIC;X@&MbWPQAg8>7p_Vwtlj)zmQa~?^{U!qbqU)`uRWi? zS#0)v?xTS(zfaUI;CQ_A_nd~BnDgPHt2+9RObQZTsdc+{%E~=KG9O+uzMUk-ay;T_ zMygNq_M3@wj4U>grV^N-+CbRF|qv>4p9+iAF-Z;}F>Xv?LLS6XgshiwZ?D#zOxL3Z$&uCK@X^y#D z9A}!BP7k~*k$I+Nw^aH$lk2n8*PQ;~m%n!TH|gkx_5Fp@tl}@-)qk+!&mC=-s>!`6 z(vN-{X7=o~YJ1?%Z z1cPG`La?O{_<_l{XMQIYIs+(FeVc(=TpwfmmrudC-JdN!Up@cX-|_KewQl%~x$ zrf+oyEr0g&vR3F&!{DxG%;4!gxOPDTBSZ_b!eg}K_eDCMG4s)J= zF!`tWiN>D~R;4VQUEy0YUCVRhC83ucOHQtRs#j$H;gRLe^+u7E%Vz}a`S+@zwC|gj z_A+~h%<9I1V^YRF9@z^_56wzm>#+1$E_2_a?#UDP&o|Jn|0g|h-igMgDYBN1dlrb^ z-jPr-hx3qEPhh5@Ta3;;0sVv9r@64^tXvTgwyVi=OJP*{kK>uYr2bC5$8A}0Q6g#U zhP`v2DV*wiV{*>7Putx7{0ci!)$EgepPH^bNNbRj{$$(Awn&q$bGK{!%3UJNM)$OB zr%XGsuj`;zwyi1u&uwAVD?~3I{_?acb@9H9=WZ~CePOa|p zT{Btc>!Z65RBd;xyOXi!T7Heb?Khm>2(w(9h%uxU%z@cd~BW%C%QHK2Oic-!T7n?3}j= zYue9ozxv1AWik&oX)*(<;m?&f-CAjJj~GeEB+;F_YKD64FNHl zdBXF%-XEED$t|;ei~p>iH-3%jIZOFk;-gl{g`CdRbvSc=!rZ&1R|^(wd;4%j^`WEn z$t(xrL$=37PknQ1TSob&{u>v6KKB1)Umf@&tN6;|g(-@!CY)$hUYGVc{^R!_mlb+$ zE9|pbxYfd8j_N(vtv@5O)~^dOZ}!;lT57pI^qTM9y>biRo9#2t-fVpBS48((p4CmZ zr~NkeH+_1sGkm_~?*sg3ayLRK7mTh6zZ{Ag-^l)F*Y zBT*_QJhGD8jnL&6WpE?dQaRsB`**Qu{A$z^`!<^QqNIjny73S)kmfGKko zrG1V~{Q1G|?1A6!TbvgypQ6({)%?`#DY{wKx%0~eS@wq6^N8}b^8Y@!qSf#gi|LCz z)##NM)?4+xb+M4Qd_1>*?#lq?@RY!^XFHv46{R25**Ni9$n8uXlkP^gOKbNjEcKuB z`pdojHx{i+{;^MZ!M1LN7e+Cz7v3ldbh2yxV$e7m_>Zk*_c8%R8L@R-`?&ugzB-fr&~(x+*+iuLG;kkie+hqm-P-1u#9|NEBsEquRt z{!XY9mpgDiBWFda!(&# zmvPK1@Z%l-wdz^g?YX`7_}*MB5`22~R)^~A57X{! zxfP}CdxdB1)@zKv?zl^@IeTeZ#ni|_SY8FRP%ytVum zn{Mds^>?ql%V4Y$-?Q0&;z#MPxxf7WYX7z2Fl4_Oe{2QYS>c;sUopDrta@DY;cDjN zS%s%}WZN|9?eOuh=zUlqee;>|=B1*EU$?e7ycb@3^P16Xt!K)!-yW@H|F-F^!iEbP z)^bvt4#XY%CRCd#ze)dg>)bBC(&c^53+^P(xq8kmUHftKpB>tMeyOhjjF;`NCuQsWMAjyuyuC zL$2R{uzOi%@z(PXrs!u~{FV2_o#ENyIhGu2N{?Mx6MRiMntl2CHle8g4ZOvuObk6T~#SM77Vr!_q&MU^E--Ld%n$}d^j*|iO(_pAK= z{%@_Zoy)L%2iub$mU}MN74_RFS03s8{H&{(>pD~4F5&BQU!RqIa_Zw}!B*a&nEp5Nl z_O@+gG!e+|GwYw7>nQs!;luH7MrG!EwYRU(ZkxM4NqO2iVfLx7f?du8gdDrR;xhZu zvVvk?1Mc=ISy|!&-_x_Ey;|IR;nEhJv;O~G{(G*^EiqD)m~Qw<_l!nycjd{PthHO; zDI5~5mfO>6Uh^&Q7}HU%bN)Y@LmrmsP3eAO_w3Y%#+u|Zu5-3_|5di!JrrBBtLVdI z=B1LC!d}jrqI!37oJZW7l&W2N+e7d1zq`4nZr!)$&ucSE5`MGTuDKM(z@c(UsjRqq zf$bT&WdCKw&u0JMwc0Rx?T*A4rR^+JU$Q-awDM5tgY=L0Kg1m>Z`!TVZT2Hwd&;k! z7J}$GL zV)r)#_VwH6%P5wgh|=r+JylxCL}a(4B(p)2^;4an6Md$f`*2b-%URc7_>0`Hl)rQ1 zm_(liC-0q@R?RL4Vio`$-l6pf^Scx zXO@nu*WaZxFWH=_*i|AlYl`yTNq3$&yf~mxx%bc18lHRq7S)9A)4e~nIG}jd%K4er zTPDAeI~e<`Ft$POJ0rKP@vGU_&mLd4z4WqG#($Q$6Z6|ugid@t*wOE>b;qIYLW@`$ z-!>Kn^gs7>U+NyD-_vEi>A&(*an+dKgzAHFO6^fEwtuxRiGMujBfC~!=;nnt&+(XA zM?TlBpY6VlZ-elHJImk7zm3@~C37_MxzOI{wwoj#J51i9Hu2r@JK6;*%=s9s$;~wo(x=%7J#diK_k8#apGSynI7v8^UnOeqc z6Ib~~=NoV5W~nR=n`c(kvz*N~R{PSMet+4-vrV7=rir@0Tf1rRgP;3K&oxALZM=0+ zY}ajm!N5N5hjvfgilQBszTa{3kM6zL8%j&Ks$0070yplFP&${eJUc#FR=rMK`tSZL zj7wMDa+6(Dx1^58^iC63OmOzeZ!ta>)Uu~9+@e?|A97F0&ACP|{fM3=lP%NHA_A?tk63r65q+YRP2&Yz~_iP{o0>=f6n_8rME03L}%%C zBWKTGs}+W?BwoB{kD6l_x_?c7bGb$P%r}`^lgs&gHmf^nFKbMHzA&mbNq>9z?bmO7 zw`C_9Uc3Bp!3SoOmvjF3)M>A8U+%xDFPbf8tM<+r-b?@HKe+BU(M^W^-gS%a>^7-8 zZQ1;Ke`eVqz5h`D!_GAG->T1&wQN1PN)7%$eJVtXpj8;iTsbnKV>`I{QXmS#^EF?2uCU5tH}&cbei>VR`)bM8DOJ)rZx>Ewo_ld~#IEeaTU>HAld}7# zElfR>zW3^%uMTrBM>qaT{!;j>W<$U%ziOo?FV-8{hdMesE?A(^{4QBOr_V5b_G!oK zzXK}sXM8_%-&cP1q^liwUH!k$=ym-Y!z;c|-m-Z1+e06=uHG0cA-`dr{>KaJN>40Y z|Hk{9Y{>HM+x7=fUc3F`tmvM%>YpB+Dl)a0$Ng;ALZQB%@yo}V%CtDvl+wZ(KQZ0XSzf9k9?3HDB@D@Laf~Z(fw<+EvF6nohs|`t_oFV*l3e|0h^f(Yi14 zK68Ch@PF2?OLhd_T*1BTJ%d=E*)d7(1)oiC>WuQ^sexTz?;D==Q#cd&%;m$s zs^a#_6MJ(0rPwiMU(BA;ePh)--HflozxjX9ef#=KvD4gle)8!nHp`vbBHTA)p8k)| z^MBvk6rg?QrBwuLP`8PK(vD5coXJ{(&d-_)zip^aUN=Ghr1OjPTE7QAN4^E*X_-&| z-4fj_wXJ=wZ3W}M=X&2~RG$=mmV)0xD-ydl1Y2m-=+0r8ou;^Z{(-$fBetQ0*Wig5634fWceh>4~o;tC4nt ztXLI#f704#VeG5hO&Rjago>55*NXgzs@iou^!2>2C#q6+=EU#ri9Nk8|Mj-y@-2to zXl!%uofo>3<)6yYd%5#Boxi#L;OG6fD&PEBujR+vUM{kHtMH+7Owtc~((i7Y!H}fvtNy>TqkJ(7ta4Tnw(|6DamXX6cwt-sQD-$;zO%FU)B>_SksM)A0|E(>i#&{`=Pk!|&>9a~{Q9QTMNytQf=fY0AC(-!$E}&ASkNL!pNM>uU8j z#qDNYl8?AIwq22{oTB4;$~f@m`qKwb#XV);^LW~;kkZ*zp0%rs5+3fnm3cN={L8&x zCAIDU_P$G=ajf9+iihd9(zfh8;nU8pm-({bK=<19YvOg!z2jTH`|iH9>4kPqC36-| z6nyabQ{m!t=?kkTtv+EmiPm%$*#yy`>U(Q|9 zFhT6#>SImk_6O)`R94iNUJWp1jGVEwYVo#}xAfk!74^M4I%`q>)%=BJf7ew@+qr2j z-WAC07ia9$^P#EE*Spt5SvG2Rs!jUenHl+NyEfbRe6{?&SvZ*Oika|y?e@|{t}P+j zGhzcfw}&at_KTWsXuhvwjl=Dh-TcW@d%p#FX}?%dGC$R~^4dwABb@Et9w~oM>s?sA zgeCc*U*)a&ESuJ)9=z~?Wr8c0XKMQAOR=vjPt5uh6T542$Ktun>0)2FeV!Zb@OfwX z+COY&DLc=@#Xl_U1ZyT7S-#okRO7cQjxTccfgD1IT09b$O;E{kDTx=@)GBkq(pFhl zAjR+ZGuN)pBq0t<*E{O-MAkPm$4=7!Viv$PO^NGQkFLv)>hg=cvQC?8^ZwkjwheZykOBX#Pwz}x43-HW|2FWYX{{hoMFIt?AumPq++RHCzRr%_)1d$acr1vnEGA8eY5o zZlCAwJl2RsqDifdSxFJg*Y;j3)9(GcW%oI&?4L>Rq&MBYv}Li_+ofAC-0N83zq$YB z^ho{PHoG?ocl+QKF*Ji)8dYgFt%JINy*c{boRjBXmp^#4;NzOtNp<`uPp`S2R5$(TAGvPF8Xfz| zM_sw*x7|3=v~L$n{z4n2#fm>P_FHSe4cYExp%mk;y6^nC>)!=CC3xmb>G26YULba| zqeofCY|~Mh9XtNym28=u#FC`E|NkAkml9tr!%w}p2oD!a4erx5d|>PG8uLuRc?yYF4{m{f>Qk z%Wj5qXWQyRubr&^dq3m-b`>%6muuXU>gI2Ec){}aib(pIR=+hyeIj3q7N;}(p0Q*> zwe;H#iT;k0@2{85UFlLc-7Lv;tCOH%;Dt_??1fXicFoRAjkfHV!El7@?fz-^t8+EG zr<9bjs-FH9W4)^f&+DumQ@&pFdEVc6JEP?X7h{J&Acy{o`@01M zHwkWWQ&yS&)$ogWsF>o!HLuf@t|;%XP83smV)9=T`lGCCG-#%N5T(X-zeW{J+ zesx9178cPGr6q=wl$Ia7nkxE5R)^m$J7R&-Pr*$hg%j^b8}M^IT0E&Kuc`S##iOfF zn*KF@$vY~O;Zb+|K!UDM_k~A-!XfULwkChD{l2xngw^D$LD~Bxnb)j4V(rlPvo$PWoS3sBX8J*8!iZx$P*vVh|c<0Ys zUpD-SyuVMt#koiH_#?$mR~NHI2M>SKyucr2zvzv{weI|CNA`U>E84lQE>?WKbNc=K z{58hHffL(0P9%Mw|7*vlNc-iVR>&_@nRLX-a7EmbNy<86pE~%(4|Em;3dZP6kGL?i zRK9%DZoa7}n*9Q%2K-F0n(jrG)j0RNKMpB*4Iph%L^x~tom(}7TX-Z^LusU3OPp~(MJwU zCku80MpwmGkRw(+uHQaftOicC89WT zs)zgB6Aa2vp8qS}z%)0%{#v^s3ztCq&bZX&o4h6--W1QG>ax*q`NHCmymhJ8ijU^~zH_gKA@pBV|9bg|a;O9UA7TbV9+Y+92fl=|Ga2NOoq4I_gOEy{TQbHO7YWX$}AI&Oj z=VRqux+!k|7WI;Of(&1kR-|n?oNu(ql6h*+x9i_h*GP9q_-*_a85y?DwYuy&>(dMS z_8Pxc$+*Jmw%vE3m*It_DQ?@Ye?ISH^XTxqw;x=2E>-v@e82dX`S2Wbo`<$J98%bngQ z&s9-p?eVCV-L3ay$EOJY?VnD(h$u+pGO^>fjFFou-BmNU^NmfD&zZ+H6SEJVSk3a} zqTLf8y^=k8pA>~I`k()^M4h2ZxoWnO-|?nj!GRm!ci$7T-ESgewKu>kdG)97f|D6L zPI6dseXU%%hil@@#uHxxY8ISTOETu$xKnoG%-*aR$&Hc+cSRjyWdfpm1$Y@ox3l%;-}|_JNCbxS6STa z<9}==m?F;7%3rLs;FIBnpA|n2)|@*1o%v+}i{y;AJ|E)xKHJRyxv3_mll9DV{#U2J zv#XWZvV0L|TtDBxp>vJWnxA?bDWZzICJf?wBe=JGBwQt!<7nCYad)uF4#RK zLhtmJ$fcg*4}`k212T;TJblL=Q}f7re6 zLh&tEWk$Vn`4cAM|F-E}u@O3F#+g;u_%@x_<&S%V&oQNM)0Ms%KS;ElaVg;1myIjG zbGWe_S1OwvxGnZI#U`Ldx>we)gT`qU2e&<%N+HM4{YAKBK*pBla{!)P1;t4Jz0|%%($|9PK)0&ga40CuV|>c zC7_{fyE$X!+@2e^*jdlGlw6E*yV`FME`8ENapGNTKU*HvJ2A_Oj>f)h&B(2uAI0u? zU1-K;-_$1)jwbb3-9GhzU2u&QpY7svW-A+fg8wPcj!P?<^)CzuWl{z330D1i!VQ2Sk995 z{l14${P#l+)`piNGzCk48SOCiKIQf#=&sVHj;!2M3kyO*cCT2yY+u*9eL5+t^;ce4 zCF8QO{}Fe(Zv@NnrnU@wms`w+>^@Ico3-e5eh7WIW}ds_{G^8)jw!VXUvW9|F{V`W z@zRtPVO&X8p}yK5?p~=+HG2Oyrgm*r#yzRhq{dk*SQYmvKRm{^QFO0`OO=g?5OnJaj!zOmPvn1r}p5G-gbOqj6q!oA)F6G|RiDeu32A)&tP>bw1^ z*Gi{F-@7({r|6gPvRwDLrHxxOJ5&A~Rl3P)GKpQT&~ZQW#BAQ&rkY?!72lhyl3Q#$ zEKlxKII;A?*U%ID{~uGix#stB`%i%^oh_CR6()LYIH52>ZRtdo7xqslsv*_X34guGIk&Y9urdN!kL z4xigo4%V$Li|bsPV%QdT9Z@=ce9^Rkegol~`vgQLf631?m0eTKBQ?QMuOVyQ;(I9* zb1H7gJX6njT39IeVUyjNvusTrz7{tPe%z3FH{ZYZRD)ECGi%)8;*d1$g#WkaEZ0u) zJn<RmS|U;vYCMAH4NHYV*IVxy$}NH8=jZw9k}f>htxx{*{aG6nHb4 z<(H>huQwy(-|F!DryrGG5GeKd9{9KDpiAWfrRh%;E1P?24!S-4zf$bjrmP)b_Eyd4 z?3!`-T4v1+I|0Eutr>=bp`xoax0tDkez+jGQ*%qpuGIk>{4HLn3;p@re`|-}uTSUa zhHYM8`hUgbpIynT90O)=yfCAoX{zJf>OjqnuG~~*fztjBQ>}KD z2`9BI{O7u9>;H&k9SzNiv5X5=?>u>C?b3xxa*n=d5?)u#JaPZ`i3iV5BvzT8V6Tk1 zx8&XqMXjZ$)(No~`->l3Cwj!-lvl#*TJDD*!)8j~6jiSJ`hcVO;`E8HXBNoaOxO_f z*|NAn@AU0Y8(&BjrfSbw%g^6*xNq~L!07ZvyYyO=JvW6Nl+SB<{V!PX(pu&BD-V7B zUZVJ2KlQ_gy${1y%wD4R*Zw8T*BMuKw>#^LZTjQqSoVCrWWb!a5B2(E&Ys`-e_G*x z-TQwg7EayCkP_?sWG)AjN#N|}3H6E!2Mt0puix+AFJEu}ukO#^AHP3-fBgP9J^}m6 zC!q)B-@Vf_T6#+Pywca@?EdwEcg~)+t@N7eV^ezf?%7^#&#r2*&N*^#uI-=DzB@Wm zyz_(3tpk_O9?tE0^zPZjJB=+9ir(7>PZH65^33a7#QS*~&ha(6cM%`JgSKi9p=~?f-YMS=BlQRAN$K-53EN#!0#TC(Iyj+3sk?Z|h#(u72-XZvTG4 zKf~H%UnFnN|E#L|V!ig8=c*^Q)(f?+_FHu^z3a!6=av(nGds=Nnk{)@Rr2y_a}P5$ zS();!kUTO~!R|}6*H6)F6_E=6ZCt*{KH$#ZzexAj5f^?5yP}8^`E&E9Ec37WDa!rQ zcuBp(>W9j|`@0^WnrQTMapWTR{}T@%Ui7;^$D@7o$NB#QUc~=z^eJ5Z@gGm(HE!QR z?M{wj?N@e3&z>#SH~8}QMxM6V{Pi`eA5VrTtm+uOx*M=!m4`)=37`sbc+xh;5iS^T-JQV+M+Y%ed3pDSwc!1dR5 z?R958ZrynJpiHRXMebH+)BAEdyPwtk-ZSCf`>Yn0^EXQuU3=f@TzsO#Y4<(fHB;}s z|7mG||Gi#J?*6@h=XC0>KKt%}=-Ur!C!O0P^5yt4;tPxO!sh+@EmNK=td9Cbz-wL%|)c*cd z&dZZi_SE70^EvyG+1{Fi)zbI!L*Cf`-#yv6=(4>7sp+ViAdUZ{^qK=L9aCg*WSz78M^7<`?Y(z zuJ7LV?a-n5i_F${oypn!^m3uF*Y~`am1!>;{i~vx{c~?B=UQsihFh$Bx*&+xoww)B z<>V`mjwC&FEq6_wyTWR<>)r>;me$P)-1TJ#=l1ipFP<8fdd_{UuD-Orwp#hqugOy0 zO!wbq+Wecd;s5IN<#$iH=}E0RH^bpiZdPkszndH%W*L;1J^%W_kJ;~ay=s1bnOR|%zxn<$=gZG~r2d{gpnv+; z&%A%CI;KhAo6cvQd-ZQw`0n}7x6iWq-hQ3`-TW_AR(CcRevP|Zw|jPCuZrrv`!6>y zIyy;mbN$|1-;HKIn#s5Ke#C;Wt@D=s{jt#Q>B|3`Hpa*8zGwC5ztijH#q4}s8D?2m z+?9XxyuLo)tA6>z!;cky`n;}mTA%!hHR`+VT8WCok{z@SGigGar@3YOU3eD_IczZDa6$Gfz&l?{TuzerEPE%lEwg?Aon% z^!qxW?89$4xVD?Gi{6&%c6`?4eVs4mcWmh1`>y2dkNny87H0eMPfr!j|K4rAd0G70 zJx4^f?ecFH9zT+${`XwXmQPpu?a!Ulem42bpDncupI-YIYTl|p@u)Mel=*{0>`OlG z%MO2D7WMtfzS_($o0r)d#q({`+WNbu|1bFODupdyXXl45G+01{h`ZP5x{L$?>ato$eR#{{RzL_C8 zbNREv0P)!sPFwHcAl9JzCFG9diK#dm-24g zao#UkQ@nl3iE8`Z)BWzn8)w!2ZvHqq+cng_gK+G&%gCXKi<3M#*>|!ds)?|oxdAUA93lzz1lwg+t$_f^WD6^*=jw!_~=%CzWMWS zd-v3QShm=`c=0r~g5a9+iJJSYA51y%q~-tZt`GCqUaT(DuKaX;$)Wh-uq6V|KkqA5 zo_hcHDv4sA|37x|WPa+G|MDQKg5?TN=f^vLU+fmWz2(IDmUh=YRa0vX;^#W*)ZP)F z$DMqCt77c^--YseGq!l~d1btNbug)5hc?ee&;Mc%UUgI~`FKb4d{2txE%re92d^5^ zA5Ty;+19=xW>J0jZ}%&I?dyULh;Z?ih&X#6jjXo0{90bV_-2^iRe`=pJ;jIC#kx*{ z6E(ReN=%#f``IN8DM7CeB`(gLA$mJi6y3Q31uykVIC;71iPptSoAwo3J^%W9Z{2hM zdFkivs^^`5Ui-7=#T@n|0TuQ8-=dpcqW+W%bG@H(heyA+SADDc6O*zMZH3);&&TIk zByScBS+Ab7x{^y}<%@v11#^yj=FhlrcviaL+NCrKeu^FQy|o<7>| zHDf7@$XDXfyNY8;Um0WEO{qg z_2$i%|8qU-LUPiM22r1tj7d8D$GcjeKV{9eDV^5)OLl=@W96BRO?_`BSLw`Qx{#_< z^F!cg$<1Tl4H)|DL<*xfdkE`D*VsuDPQmX8GXwDfX57-|DLsP1|gxDaiQo zuJpc>pQ3-i-fFWTGmLq|0^WlftF*Nv85P(U2d!NA@=C&n5;5^}ds^MrIL-=;`Ir~S z!oGpcL++hQTdUYoXUPbMKlanUPuO!ZE<@(v>FaZ!^c-w>>8-E)QeOI*ms=$3-u4$> z2A>b@t~xXIQjDjdM~3AVJ2O*`LN1X-Sq=iyRdGGPHj8h0XR#%^e39Lrr;8pez3P2b zV{2031^d05EE`?sSXbZE{?AjMnCQ7+y1}KNdCXr7yNSC_RpSHdUuX=}5B+`>(qTOC{1P0wvb+ zFdPopTvFM6w4pvpWaFt(IG1ourStfDxoy;r^*1#V7oS63=CX+P(|J~^`^UsFEXWt!<(mu0T{cS7r zz0{&_C2Vp9SHrS#e^c7KksZ-xOw$*KB&0%f%Kp}Chl#w0_XV@mTp+S z+ALrr<0Ky@-++vpxhniN3g=bk9c3_SND?}~`gy40%zu*ZyK=%3Jz`lM_$K&H^_3 zi+Rk!)(Q7w_AWNon!HS`;?C{5i2_<5|9Y8R@HdRU`|Y>D@shdW(LJ8>^3|TtCT4w4cU~VqvnOud;x^xy-bb&mPuqDf-+0=$J9j>|sBd^^%B5c* zkb7>Tf<)%ypOr@c_-cM_m-zc@UZcm0?Z+}&%UZbktnb8$L~l2~b4#q$#@ur=TJxqDz6)i3FF1W|p1gOK`p4hC`yU*etE|rRSId3&vW4g8 z^*e8_$Ve0Bc>nPCy-$|x&NuX?_!UKz+wF>xJLnXTF&JVft~|iN-%yb-mc{ejr#rPH?5;+%Jzlmv-&5xZ9cRYxYUZ{u`EO+_;dHC_1>9OEFUoAVf>Q#Rf zJ3BwZ{GRr?zi*W8O*(W``9+cKk$D!q+$;MGjy{PhzfwK(l1|K#Ro~clnHN0ClAPA{ zQ=qLq)Na1Ld+h$gT{epCu5UBvEh!Va^Ja06Ysb^Zg#yfTOVxi{bmBXFsgre|XS*`e&u)(-l@NA1^EB=)F6tv2Ba<>(eYN&oKzz zIKZ-U#r$}$d{3R9VF|{;;Z2$jHiG|GGjJ~1&%0d9r(o8`HdSlYC4o13r2tUWYo*yJ;01BeM0)>6rd*uDBe}FVzZRudiNN%Fn;|yRF-%fFFMn zIC36*oiKgw?AW%Q^5JvWJzf1zlR2d*K2&|lq3sHco=#pRwh>zcMHYo7x9oZUC0e=b zvDcQj|7@3UyRhM!qs`W(3)fhjpK`FdD#~t#LYTHf$JIISwEh2P7wqJjVEnryB+E+S zNRGiyv7KBO68}XcAOFyBVzV|a7b>>w*%QtJC`OD?N#9&`>{`ExuClafz`m`5s|E%%p-^Z2n6vTRG7H$@t9duFe z&y$!l_7_UdIeefQk z2weACn^iz<`_DxhJOAttwq3l-mKg$E!@4-bIk?g3EnqU9k)H3m7aZW>gr$iQrSm#6+Y^+tGwVf zLwk~JO7^Gv+t(O$*_0oq{9E&O-;$$>?F)^!8ZB6|;!p9VRZJSXKc?E>m>kN$pS*(8 zSj|dC$?D-RV{KS%-0TL-+&dt3oc5Pw(rhndb zbw$3PPM^53lIgba!lOUkANaedma*rTKi-}-;YDLi!F!dvb9Q~zRDJEaB+PmF74di5 zS&vMgeD<#A?g`Q@d8=Q2-qHK^zwE5yz#HxtbzIh7N;rO8Jy+g?`P?jK{nXDg#wBsA zD>SBr_bf1uyE1c*bX4cHdmV4KZ^=&CJ=Lcw|IpPZi@$EMbbK2Xe0E2&<@AWmFYOoJ zMD1Q;_TDG|$J)8mntTmHU#`BwdA7s)e85}h*5seh7}LU=xfu-ivKZ$|dw!Mv6FS+T z<;3hQ>n61w+qfz61f<8ywgXcCM+=|2(*6(5bA}fDp=b8&adkp>lU9NTNek`f>t>N+C zsDh4VW@eJUTiwmhdFrPb+y1|IWYUQR$<+t=Civf-u}d-Jm%sG0_76pTDHC=YNU-t$ zPuzbg{{8(^0TQzrOP~EzIc-17KgfBe$6bDlPv-4ByJx(J`7X~dDb}xHSZ_N&W&ZQT z^P$i9^VQfLcA2dU%WCG>kiI$N`m{_{!H-)@4`mAn`#hag=B_z&k<7i%%JbCM9cx|n z%g%b)rLJyKtJbOoB}x-^eVi+ldF!Ramy1)ZzO3DT>(`6JsmGU8MgCs3oG18_Yj8-y zjXldwP2`$9>6@|CwEL=V$=CK6YcJ0&KNWRS_NK$dmtOr_8zN8LQ3&EKR%G4&{pRVH z$JE$GYrp@zB{jeItY)_Q>^T*mwdTFb{9X_7P3BCDEDJIX(hZD|MC1%qm>8K@1U?GzfCJ3k#T;7@3#^SZA5fvFhLbWcxzX+%>tUH-gNBdV-OgmBAp#klTQhjX9KsO_(V( z*ih6!7{uWc=5fhP&vZ^LDpByvOE#1=5C;i!3k#H&m+Pfure`Ln7M18F=jR$~8)$;0 zn1z+#I$XmPobyvs6@oL<^D^_&6`UOvG=e=GjWiA9#CZ+P42=v74Zt8uoY&CO(8$2l z&EU_e2!M`XyF)yAQv!)vTz7FBjDP<0o?mi54)3xS^ z{qtsbxKY01m96!ON6gYO`&MLJ&6aZC^i$D_(niS4JGUM&g` z*s{4jBHldV(*efSrBU2lG`FVCpTVh{cFW4GP~-WJ8J9IwAIZNGi;m-4>@IPq{6mgN zO;X_vl^Yeizn_2Oy)M%;`OS5uh`R!7!kFehP)Pf}=jg2K?K776?OtP`uIbcGtSfcct!Ci_l+? zn{E5|RhqBVvJVf`YcyQ0T-1BV{E>;7k%4h>6XQpNCdRkmh?G@kkuVTz5b1wW_aWCP zi-A@7c)|26s|o+JUtKYfWn&JNy#xJi?*Dx-PChj^U0$uDZ~q15Qe^{EUqMSy-5v*c-rk zMOKxC$AAl_o0-|58f2(EONl{|f%yW{1;%ZL86_nJR{HwMMLEVOc}L$h43tlx*#wkB zbkhy>l8bUMHJT8q(HmsB0*i}*lYu#;Oltd^!^~u$WuO6bA`_#S49G>rR{Hwrxmn*i zAlQJNjWxZIhmqN!4yJ{Xk)_C>z(57YH(+d&02yJWub-b>T!7*>0}r?=rZyX>s^mma zc~Oj_P#;!apoD_6qb?{Q^pcB8z?o217!=%01`NpAf*YJI7#Y&v{8pa8*Tr*IE@*?g zd5qiN<#+kDzqzsVYF?jzVZ!5-WpfhlcrKq_SuGUj%62+;*VH)M^pnfCnJ(XLdWm(0 zYlfgsae6{xRPm%1?g*|;DG!dzbvkQ$I0!y$7ZR$hzIQI3ouzrQ`mqyrdqR%hO1SY} zX|l?{ZF*JbjCbz+bc#_dVPdXDdsEe6HoYKEGv9Y*W&s~;j-EYtu18q-N4v(M_uacC z4OdoWbZwWhXKMTEu&bKuDS=V5CaohFdi*?pW z>8$zKvc}3($ZFEWUExoTocyf6!oz0!wY)pim39SICa!nZ=iNSgi>Ki_mk7Hh3#Tn_ z_gAhvoRg|DA=GZ+Ddn1@PA`vCCArS7y_Z~adS0^XkCs`p*1GzytCc??e7bb@$%hZS zesJ^5_;Skbg6pa(xup@4%}n-b>uDQCq-`-0m_PSJ(8BjG>@Jsma)`R~E6Y~edu`c< zo|t!LyP97atnj(_ky|Umv11)W=W6DQVoeH4Wv}BxEQFFCUMf(z{Z_uoUgz%gVoZ_uE==szM7^<_Lo(<`8gY2FZCG z25gLs|CtyW3_$fLyzpae!(RB+!!kc3BTKPCA(2IfCrp?Z}YMP{feRkjjwDkjjw9P{N?VP!4u|GD8M~0z(c%CPOYmCRiNAPGm@8$OMa) zfc*_}Bgih0i6FZ`c7Xg=#8AMH&rk&QFGxiOI3!ZRu25h|0_z6ZoCXz#_*D<7ErGSE z0cupj+9Dh64rem|*zeAGWrms*2h;oH6z#)kg)uXzH79B8#nWhPetWIi$tNeRc5ju| zt6KEvi?fsXy#0O)eIIVT{j%}ye8x{tIJLV>l2O7 z6eFXRp2V|EmwArgzue%Kg3K*e0vA>}tl%XKySsc_YNQdTPYdBf;S- z5}rM05?ZiRIc1UW?wUr`6vch#-#JM*Pv5=NoNc}Df3>B)iQaGA9CxIi+fg}>V;Xm3 zPnUK7@tHk~wen`<#w8w`w!Ld-qVD7!ulZP_gI(nORE@9{i9prNOXCV532k zz*;6oMuWx%`ql{8yGBU8xCM=e3?$(_K2Bys9;7}Ti-8Ohj~m=$K=k=U4fGKjSqzm} z6h2g%=A77i_(fs;AGVaDnzPIW=d8sX)-8+o+Y$Op@=uLH7?N>3h8_lP3tSqU7^1*w zFrOiWArs6}VDM+i1LxB)hD>l?DP>4x$YD@m@MB12C}AiEr|oQTUIL}^6693J$jZRd z#K_>7IoD$17RlGoXEJR`Sn==jBQ^%NpF1^jw2$YowP(~DKWnxO%|3s*%W(Q}Uj7Rq zzq?O+CigGD))O-KY+tNedEM{JtnXVQcC#IN5wTz8Qj=xp5}w=PGTjGdySFp6KcAi` zZ~H@llhsS<=~{PTmy>+^By{pJ=Llb8nU-L;Nd0>G#OvC7uEp%$;8)JQegfyGdmVEb zKVQu~rfM27=`rie2xE!sO>7)ib{B-V*`J7hFy%mH1pk@l1G=x8zQy11TcwsO=9V_| z&_~u)lUPsq=PzBnq_6U+@nswP6uVQC3tvjETh(g2VUyKt=T|FS?{#sP+&u4ju&8(b zGR4=@Ju6=}g}D84TG+&AW6;EB0S|CyW=6v%J`IB=J{5SZfjannq6STTf=rCehP(#c zkP;i*!8d4PC!Yel1+I=SE zcjuS)*Ed?dyjrp7;2{l#-nGd|vQb9QxAlcEiCA;piwRMyK5Dkn>(9lhUHdL>Up8BU z-^jqw!obAP+|bg<$kZ&#fSHL=Zb4()lE!9(#s))f3OL|3c3pJ#tWLbx(%9GEex7i6rgRRc-W3y^cUg$*^5H5H5u3@j92Dj`NF=z{v= z3W=p98Tmz-RjDZorNyZV`FS~&h86~9Aid1O`Y=Ya!W|UNdTeoHghLE)$^jhitH>OVf{NY{BkG0b*_396* z@2Idm+OqWR+x6{z=X#IlzPdDHtChT*<=n$xX07>nmS3&GvrSF;nX6ftSW2*X|#0xIOXRzde(}i^{*8U2*0g=hw;R`=)ke z9li5qqxY3_FE}U0Z*8eG?W$NKY1FTL(8y6bl5eHm#xp;!X}{lo(HgaESR1}+kmg&wL99VEYWDUqfDaomF^Y+U z8g8Iob&6hbWo~j3Xn0INxuDoU6{&qDDTP&8Q9+`C9!wb{Ba4!Of`J^2Z@}0l1Tx!7 zU%wb^bPC95aMG2PXVEv%HPBw5xj?;56-5!m{!&?LK_wb7UvWkQG*I(Ve z^fkkHnauuYTXMd%t^C?fZQ8FZ1=A-nVq+vSc>eu_2ly5SK3jVr$&Ub)E=MpMwz*{RqN9Kbt@Aa4VqZJ4VqYtVP)r) zr|Wl}VYgq%sLZ0|=!;Qy4p`X&8oo6*G%_*fex^wRBwQ2lOB3hn4Vb0%seoXVc%f3A|vrE0IqL6Fw^R8_3OM7)MW4~On zt|z??y-KV0E$5cL#Jp3cx)<_zPKrPPM8w|=}MJOX9OSVC#ffkH!z}O~- zuoOIqiDs*THC!zdvI7${6A3vmwTS5A)C{ROT`J7Da(?R>={zyHcx%H|m1YdpvM9wV z*7BAY-ezTl4U4+XTmNClqWDEKJ&r>|y{3phYr5SPlKWrdU;6n%`)9_SHy1?;e3A3|mwM*jmF&ks znxzb0+Dp%zp8aB_@Aoa@k&_$`Z?|uI_U%Bui;Y{1c+}%1)>kvtt}50(Y)G$5TC?3x zPjuGPIm+v!1z#1ebo|L%X|Zx4@A)koZ`sYNI<9oI9%`p9Nol!bbA|>>oZv)U&GC3G;UA-#++<; z@R+HAIg;s2`i2??Y6dC>N-PRTO3sxr)G}H6@h*LGuSVop!_P-ej5hzi1;3BoE`LAq z2dL`HNEcoedL&9pwe}PYp&g*JI1|^=@(~zerdj2wJc6<@l30vL)$O- zGIjpr!trkC%ueLmK+1&ng*Zl%<*+Xw1ES^yjYH83F zEB$-rge{Y@YeW8$d zjv*24Jg^#GDyS7|a=T84MT<7@Qdl7)%)47@Qf57%Uk~8C)4$ z8EToBm>3K);dU@FvKU4iL>ibNiSQe!F*C6)SfH>-u0e*u1`Pcfk{F5^@%Xd}P{T*2j!oq@Qo*7hyH>n#mF|K3@as)@3F*w>>7@QbP8BD;@ zX3Aj1V8~#?V8UR=;KX3UV9a0vj!Gj2HwH^E-rf3+b$#F4wFoZLBf?^YDmJoWLVqh?E zK+$JpV1T605UNk6h#{XLpP_^yh5^%r1x<3f22HH022Cuy3z(T0nV1CFc?6$*@U@wo z$L_b~W5MHX2E6c+jFFX2 z8%i38gM_(-18%s~Q(y5YIOvExi%2-b zvSVJ+TYuiOW%idZ&ahZ>_VBlq-MmWMC%kK0c{E}6)zW39oI89XB+qh~YbY6E#T=1^H>76}8f29fC=%&$c`vUhHZP(Cw7@8hx5ODTN@vLFR~EMhDooQYMJ z{J73uWzn>?I2W5e`_}(ug$8^eX?{k=|12!bOzaKdq$jJ&!ehY2#-Yu|$jZvj%xsVe zQY6okWRPH>w?JosR+~mfNlAf~zJ791jxkD7)XzxNO)l0oGB7ku)JrbP!BlU8U%eB^ zDg_p614{#QHqL}L55~5?In0a(S_T?02Qe{<$$;!Hw$j%}&kFj^0l@~1Z7`*bj4V|K z6$UCWz5!#K1W2ouzJ7jkaRG``3VBn^SnBS`#M4q?t>Kk=ln-u*`kDE|4|AfMh z=ML@)SvzahpD;Z=_|t3t68ZUN9LDR&x-xyG@v5EIiv3$2+?n23=>2I)*Wv)f z1zmpEau2q8X4GpIUHP>3L~`-Jx`>9)Ycf41I=(!slGSrfSMr z%+um$zpw0ms;g_X?Ece6`;%u?J+~EV9lkonBz+N=%!c^PWeyvUY~R#>VaAe`j*(WE z?@YO7bGyW1iPsrl)u!)WOM`_h-hKAWEu2`FylwTe_`^$De)uN^?)!1{&25WGkJ+Ab zOyoJD;TZb+bX2EkUEvGU{k}z8Z8^A5Rjxf&Du7!-=#1m; zJnle?9p0yzz-46PX@kZS;FKb(z`|v~VZg@55-O{}V89K^m;9g-kFgD0ugQWlDXRf9 zBjbOh5_6;7;Y{Wq``sC@%uti!V0xdNqJ0>p#7+9mr5IiBoF{mTGbAAU>!oRhALki_ zf=riZ@iXu-@LJ%pzztED6y@mU!V)5=;?^(7&IFaA`UOS#DW%CJ#rp7c2r5p%sSuR< zz$Gbaqk*}JiIG8}=V0X9{5jdW2fge{WnFz717!9#yt=tzQa78Huzj%DyfDkGuH5e~zxt#j)de_paZ6)n-4 z!`1diiBo!MiHU!`#-6EOt7W&%*bvLPq`a)|{qnxpmTwX&r!VF%JG^ktA%W6{|8tH0 zK0EJh)%5*b|HC4!*-6{u-%gdXjM1Nx>#?0N-dKP49o=G+P8KIFneNJ;i+_o~|Fuv` z;QoV62dBP{;bEO_ZE7dc;d?u0ze;ECiM==GS6f=CEVz3A;%6_Z>ED*+SIKXfuyXSn zM$3tp6St>)vh2LtsBBf!nzQc3V`K5Q8!tyg#i9Cu7 z`S<_TyZ5gq6(}V%K2}veF#im{=O)ut5r?e~-xQl7V9>;tWzfVL1SviRm>Fj=S^baL zn0@W)t7qaL($EXhBudLDMR4M0VHTEvmr>yQFEvHM(*@D2G%++VG6J_M4M622GS|Qz z)eX>QC6_P<%tS*~17%1-C<7Bx2+7P%EiOsSEl>zbEiTB z=au%74i{_5lTW`+oPSKja*fKX72Y}%JI};vd`a0Bu>Gsh=Hh8w>5KOz&R_TWuTVuP z-?C_tzpl!CZ7!j;5^bzKq3x9(Zr@Mw^)A2X7yoF*Hr+_3#E!%wiHw~)YTiA2ZlZ5k z-e@4d+l;aIz53(tvp)D3ru063{Y$caMcw%~Jv?U7RR^nfR2)CarspPbqW1+$!tFi9 zCBOV`{9EPlanrd1x8|3(92Q1e-4x{vpBZK_`SZ!dGZ#3{WWPyrnz)AP!22a1ItBa7 zAw^&lv#CK7vmv- z#?ENa#5jqBW?2(s3ao|2#AMLK7$(=m7{uVnkjGHTpukYdP|T3ZpumvNkj9|EP{NP_ z?&m2mI5VU&6fu-AWHO{NWHKZ(B!UM36c~~j@)`2LJ;6+d5{6Q+XfcBVLn1>mLo!1u zLjkytmeGLoNfzjSzMs zLlSsk2P6X0pU42Q3uGe5E|47{zZEeQFyu27LH!GIO$In5Qo*iJU`PUo8p!4}s5r#0 zdIsF^C}I``XINPOK$Jm9TX@E%ne1=n?l0OG&a0iybQY<$ON{bW+2(09*GsEXs@eOC zT<5`4wFb4I1R&2+W>8{avA}GBNt+R@WsK4EhhKe9Z3pLI>O|`V;MQ3VOEHX$ zEZGK`M7HD|VY&>M+Du{Y#n+NYcXA0@(a8+zc+OR=lQ#CY^3Pdl-=n@i^D)LZM0=tV9_ynE|&?xMt(UEH~E zge3NU4-Ii(o}`_9DDV)M$NCLd@*aE<;j)r`+;4koeO7Pvof|F&O>Bn@npjssYa6B` z7oT={W$=XcE@r8#^NmLfGCH@2LBkn_21bUk@e6TYBQpadLjyx_MHDqKV=RP*GLHUK zel|t@NQ20d2BUa~#l86j2cDW07Fv}qStT`TN@v^}<-*f`>9vmbs~&rAuiiKJ;0lZW zOnobrm*tT{$J1Dx5Amusbvj6X(s}jV=XnjQ)Q%OpuiFG5mB{`$miNdYk0`Gj1zf z;?xc~`08&~^K*g4LWN(iU4JN4b@f45)VWuT(HW`H2kj$*j8~c_`YD}mJY}|6=rr54 z^U}T&bvq~R6guyqc4L-V>t@ka?vq=x*>~@`y7`_egJ35^#z9S+S9ZGZ0#;v_F<`5( zSt_8MJ`q+&g&Q<62cylURJ_s#OzSnig=G?7O@!M6WNE;aZiEf?bZ< zju|U0H}08weAUaZ@7&UkZGIv2WApU6|4Sm8OlFn_ta0goG3i`wH^1Su<999#8q6pW zJN7i&wQTVe#JX&WnD{lU1+&I5BRot^7L zV_4Tt7C5HEn|)y3tBR+W%CGIXHETxwE}u!-bN4Rk*m!sSVV_IWXEPsL7ccF?Z)`65 z`1F7Mu*+ggqC?Z?E;@DFB!{QiYisqAZJS@3GF243VW>L&$J<}YY_~|u$^MCV`E5#j zPH}fUH)vuzYtY2H6brMIqt{}osQnev$8}T;lpx(1X;>=< zGNc3PGl5bcXh26!oY%n2(9jUlYXWzh43W47^ys<~s;yo$>CXIl>X6gar47Xn1()W9 zg~Y5pa>(=_yaoKOzZYVT- zecsA}$IW;0o9-$z4(8Q7CjTTnoBka?Zs^faBe#fu5?{c{W9_fa>~9zx{=e+|??q?x zi@5P*qql?Y_H}mGGSe08rPBDeV5L$ty|lY@6j^b-(lxRpHJ&&{Qh>%AvWgQijVs1 z-*hT{%9cpoc(8cw^^Z5s%W;*&IPJ)&+kUm2OFgWHKWT}*kx0VSzw9iFIAOI_l|d78 z8Afeo4JtcSSxgL!UzqXEDQBEN~X6qjd?S9aO8GG-zTxYS6^Eg^deZt1&RL zjMi)5Ue6Hgdts~ODq*qC$jFjwkWFMI=M2+jz|>|AtC5K6(0~dUSoPKjN@Mci84;@m z77NVUOkhUgtlYpATWX4@3*4L>0}Q=5sx@qS5fvKN&M0z)=K6Zk`Y)4CHyP>%b}wJ9 zIQMhz34XNF8Qd*%3$Q!6T|;HLh3vLy&GkX&gI*fCuMUf;zRJt(xcU8?Quz{#Pn%*A z7tNV^IN(XsPUVZctlEm!T2!nljTIL+DROU}5_a+RZnKv1Gb&3zvq*-neE#_P>ZG&3 zyLBfVI&f+0l)Z8O8(A;$*-EVxiC)%bn6zSr@srt>%a43LCtFcAMYZ^e*6QKNJj_D6gOf?&H{S_3HW?B zC$k|p8)AKqfigmd#ZZhz>Gv(jf(Gks2rCz(rMF}&H!cI?yR0@<9n3p>SbkyoM(L#3`qp#YGAN8jl<}W#0r1N}pd&y?r%1_Texh?z6 zq_A7>e5%W&q*Bf1Okb~Ab>#+~f{m-pCcc&6V5#ufd;D?06}A(e!s@r5@BDqAf&0dN zvyZcjZ$&;67XG-hVfLe_Lwz!8(lg4YE^3(lMs(w{ZHcN4=8k{4gqqGT^7DDQ7oBnjzDb3R0VKGm0~J%g)6>R9L6cW$$=Bndesmu+61%W6c=Jgwv2 z(zzvjvvP*Csbif*=l_OMM}4hxeY3Z?m-jm!*3aen|4&gso5`kzXXeJh`DuQ0ReR*C zKRii2T5GQR&%2x@$j6F7TEm82z0!EuZ(fr_53~NUET1Vp@zyyUq4f^DI{HIqT^L0Ol`e A_y7O^ diff --git a/ext/bin/tap-windows-ndis6/x86.old/zttap300.inf b/ext/bin/tap-windows-ndis6/x86.old/zttap300.inf deleted file mode 100644 index 453797b38..000000000 --- a/ext/bin/tap-windows-ndis6/x86.old/zttap300.inf +++ /dev/null @@ -1,143 +0,0 @@ -; -; ZeroTier One Virtual Network Port NDIS6 Driver -; -; Based on the OpenVPN tap-windows6 driver version 9.21.1 git -; commit 48f027cfca52b16b5fd23d82e6016ed8a91fc4d3. -; See: https://github.com/OpenVPN/tap-windows6 -; -; Modified by ZeroTier, Inc. - https://www.zerotier.com/ -; -; (1) Comment out 'tun' functionality and related features such as DHCP -; emulation, since we don't use any of that. Just want straight 'tap'. -; (2) Added custom IOCTL to enumerate L2 multicast memberships. -; (3) Increase maximum number of multicast memberships to 128. -; (4) Set default and max device MTU to 2800. -; (5) Rename/rebrand driver as ZeroTier network port driver. -; -; Original copyright below. Modifications released under GPLv2 as well. -; -; **************************************************************************** -; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. * -; * This program is free software; you can redistribute it and/or modify * -; * it under the terms of the GNU General Public License version 2 * -; * as published by the Free Software Foundation. * -; **************************************************************************** -; - -[Version] -Signature = "$Windows NT$" -CatalogFile = zttap300.cat -ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} -Provider = %Provider% -Class = Net -DriverVer=08/13/2015,6.2.9200.20557 - -[Strings] -DeviceDescription = "ZeroTier One Virtual Port" -Provider = "ZeroTier Networks LLC" ; We're ZeroTier, Inc. now but kernel mode certs are $300+ so fuqdat. - -; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! -[Manufacturer] -%Provider%=zttap300,NTamd64 - -[zttap300] -%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated -%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy - -[zttap300.NTamd64] -%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated -%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy - -;----------------- Characteristics ------------ -; NCF_PHYSICAL = 0x04 -; NCF_VIRTUAL = 0x01 -; NCF_SOFTWARE_ENUMERATED = 0x02 -; NCF_HIDDEN = 0x08 -; NCF_NO_SERVICE = 0x10 -; NCF_HAS_UI = 0x80 -;----------------- Characteristics ------------ -[zttap300.ndi] -CopyFiles = zttap300.driver, zttap300.files -AddReg = zttap300.reg -AddReg = zttap300.params.reg -Characteristics = 0x81 -*IfType = 0x6 ; IF_TYPE_ETHERNET_CSMACD -*MediaType = 0x0 ; NdisMedium802_3 -*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3 - -[zttap300.ndi.Services] -AddService = zttap300, 2, zttap300.service - -[zttap300.reg] -HKR, Ndi, Service, 0, "zttap300" -HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" ; yes, 'ndis5' is correct... yup, Windows. -HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" -HKR, , Manufacturer, 0, "%Provider%" -HKR, , ProductName, 0, "%DeviceDescription%" - -[zttap300.params.reg] -HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" -HKR, Ndi\params\MTU, Type, 0, "int" -HKR, Ndi\params\MTU, Default, 0, "2800" -HKR, Ndi\params\MTU, Optional, 0, "0" -HKR, Ndi\params\MTU, Min, 0, "100" -HKR, Ndi\params\MTU, Max, 0, "2800" -HKR, Ndi\params\MTU, Step, 0, "1" -HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status" -HKR, Ndi\params\MediaStatus, Type, 0, "enum" -HKR, Ndi\params\MediaStatus, Default, 0, "0" -HKR, Ndi\params\MediaStatus, Optional, 0, "0" -HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled" -HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected" -HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address" -HKR, Ndi\params\MAC, Type, 0, "edit" -HKR, Ndi\params\MAC, Optional, 0, "1" -HKR, Ndi\params\AllowNonAdmin, ParamDesc, 0, "Non-Admin Access" -HKR, Ndi\params\AllowNonAdmin, Type, 0, "enum" -HKR, Ndi\params\AllowNonAdmin, Default, 0, "0" -HKR, Ndi\params\AllowNonAdmin, Optional, 0, "0" -HKR, Ndi\params\AllowNonAdmin\enum, "0", 0, "Not Allowed" -HKR, Ndi\params\AllowNonAdmin\enum, "1", 0, "Allowed" - -;---------- Service Type ------------- -; SERVICE_KERNEL_DRIVER = 0x01 -; SERVICE_WIN32_OWN_PROCESS = 0x10 -;---------- Service Type ------------- - -;---------- Start Mode --------------- -; SERVICE_BOOT_START = 0x0 -; SERVICE_SYSTEM_START = 0x1 -; SERVICE_AUTO_START = 0x2 -; SERVICE_DEMAND_START = 0x3 -; SERVICE_DISABLED = 0x4 -;---------- Start Mode --------------- - -[zttap300.service] -DisplayName = %DeviceDescription% -ServiceType = 1 -StartType = 3 -ErrorControl = 1 -LoadOrderGroup = NDIS -ServiceBinary = %12%\zttap300.sys - -;----------------- Copy Flags ------------ -; COPYFLG_NOSKIP = 0x02 -; COPYFLG_NOVERSIONCHECK = 0x04 -;----------------- Copy Flags ------------ - -[SourceDisksNames] -1 = %DeviceDescription%, zttap300.sys - -[SourceDisksFiles] -zttap300.sys = 1 - -[DestinationDirs] -zttap300.files = 11 -zttap300.driver = 12 - -[zttap300.files] -; - -[zttap300.driver] -zttap300.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK - diff --git a/ext/bin/tap-windows-ndis6/x86.old/zttap300.sys b/ext/bin/tap-windows-ndis6/x86.old/zttap300.sys deleted file mode 100644 index 664398e934a7215d91a3ccee16ad0b542ae123ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27928 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 diff --git a/ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi b/ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi deleted file mode 100644 index 8a8ab2e29dbb4473224ee27943b131cbcc303207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810944 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�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

    ``U@z9}|O^Gxy0s-(*6 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
    9Cz~|8coLSJTek>1T4M#6R)=v_JWSTi>zM`l zZaQ}%|Kne-fBVGa|2$&;<8eJHc3*-+jAh$f;mMcX-183Q9^G=0`9TWD@{itXKVKa= zaVFt*v2YpRwyVLn7tUL1TAGy=uC`p8&$jW%{rfFP)-MhDYW(-mf4%hIp2zB+=ua=$ zW}A6)nNMGx__UtiuWueqdYSd0uj=}*CzrK$mPaW4D-rWws(0$#zdJ6%&2h#qnQw1Z zl)BF4*Dd^BS@*GDcaEAt*^#4jp8bxVkY*ikp5vL%*=Ox_EO*h4^CxzkSI9FvUfYtK zS<{<#Z0)*+@)nQiR-aiCKYNXSak<>zB6u;q;K=G9QM!wRn~d&h%+xt5t^3&a^k@0w z)}6^aenh1l`)u{}lw-}Ga*f2f1@D9etY0iNtS(#A$+9x8*k{@gC;mm^;f8B-W%pe7 ze`F!OnQQSD-&LEBb+11EB+YE`+y~u=mUchUMobBx%}qqn{_z7x-WwR(^BlO5-M`Ino0y|86L=-o+g-)5eKWG0;y_}M|Va*L0^T$uO`xWy4TgAs|tG0HE#(@pjruTKP zJIA5xxUy~=G=Hz$dC=N$;vMEAGCk>ECwaYJ zb|q~6!CU18zWM!^gN2LkbSH;TT()=GhnW*sZuqom#nesLIgZOsxUqCTZ`+5@ijQ)H z`oDa-@c6{#d1g;us-3$Wv&${-*3nqMA4eW;{L7YRTiB5IwIT~S@NSBuCXiCZ1%X_nw0$CT|e`uZQUE)`UC!crzgu~ zYPnavUw`6e{C}1 z^UNGp-&!-KsBE4_@E5#BfoA4XPz2)1zTbFIZ zKiR2q={usjIQ%}I|NKj_u74u)bVDK0W395BD_a#8H0cKGb0)DJ z?~{bzU(mhL^@*!6PJ2phO~Au1VV1k6%bC2~v~S~?X&L7kr^$G8AFGml_Wu5|cFUX7 zD%uV$F*xr2!}YP6kMZTRGwl?v)wS%bSytm+{PYV?=G{5RrmuhgGhg_8eT{9cuyLnX zX@13$nXS9e=&%@X3dr;h2@rFb{Y&jkM(`2$->%Qyp7B|AS+)vSmMfpgfAsoS?t3M|Vi`fGD}TE!);{tmAlZ*G}M6_)b! z_3k{OZ~Vzp=;vvxdH*d0`Qz1deCGRaSY2G*+8Wlpy?;xKzT2(}R=YjX=lm=u&0^R( zd&aGU~IO>0&>5@%m>S_0L|PD);%k;7g2;!>5Vg z0v*pWUEC3V=?9a^zpY{>&kEnT?YlQ)$;ISZ)|V_4@}AhaB-NKPD9ASZ$o)T|a;)IV z=6i;|a`$aqwMyhRUF-;b;r-B>S*?G2QIE2;z~ktBbz2p0&bi^2^J>kW+BuK+SrmWM zGx53lBPTyx&HVoCbL;&tUD<1Y;^fuBh+Orbn)$_CYr5~od;VAGdy#3d^HZL0^76TF zOg0-odaG1sb*}LJ+yk8UPs~yd+h4B z^p^Q29-0@P_?o+^-MY3Y{eor@pV0+R!JvED!uE@%thD-@d_IVxtR$)u`k58 zd%rs0@ax`ohremd>TKiJXL|Q;ylfZ{w^?<=GQPDAAD&zOXqEZ!$1Jn_qWk8ah~<)N zf;AgFyCu|uEBFG%3PiNsEw6QD$7hFq@(E$OEbsfa?-~EX8{+cYi;jc~6l%HG^e_Ii zHB_u7eANTi`}`tzrl~VYpKbcTP?Yt)BKNy5sRq-lRlfdb{aU|=^VN2vuk$~AJ-#;c zOseXkJ!cd3p0B@rMrOwj{gRN`apD!vmn!*xcbye8?L)+V3BAh|oFCsm`B5ojKYP9V z_2gXtl@B^r&UD>UNc}1^ss6h0)9H>sLzewHRdu0e z-um-v%+I#}-k8F0v|r!b>1Fj4?$1Yll(Shqy|%^gC)11C3rtnTGlOj7|4xzt;x&RbwvFqi2;LJ(D}H+1&2iF;kDa3FGnJ0Yzfi04 zSi9uweXGm^HG8fYv~up>-S_jqm07~G;)peRMsJztG;eu!iRai%n=hA{r{}xNoNc(m z*R^`3`@!3bZL+RC=I#pik`&%?q}}V)Y3{e}RyllU&+Xd1>0s;CJ$IB9EN6YRuS{Q~ z(x7(g6#rX?7ljSgZQ}@d2t!Ix{ zo9mr^t_WhPfjyh#9HX-lnu-EZH_DPSJ8afl|24+fY0=iGg*t|bWkP zq~dOL-{Xvldg)6JzY?zhcfzCF_U^ef2XUu|eKYq`T-r`?xVt#w>;=I9mH z$$Oq|$YU4GU2gH`WW#y={!hZ~c21A~sW2b$Xt|glKRp@z@48 z34=|V=RBVMd04A?xpb}nR@dGQrN2sS&Ckt9;f|c^)BXMXw}(>}xp!JL9oot_H%(xQ zDBn%Bjq4b^wX_XVza3#ceDUIx(q`9ItIaye61~zkJxWCuN95c~a>cB7*Uag*J}t^| z>`}(58;?CSzlm7gdbFJHlkN4FZd(<^jz_zF`nc9TpZ7%4?(IMF`i>T=->L3f;&;Dd zO8=Z+PaHO7O*;|n_H4P|^17}!GM}mssGsvcrt8p9Z*jD0QrwoqC&jld?Bsjb-;;eJ zncZT~57Es_nb~(OJ=y8e4mw+sJHc~y1fnZ~7{lIaoe9%Z&If28Rg*=2O?jfdhq-$y={ ziw=CA;5PZyk7?#-c=ya&7}fvdYV@+&H!6AO3sy?5F%W(8YT+-r{q~{qe)ndYXOzr+ z=ymPbn}t!iKs;BDM{e5Zoqy_m^1;vcy#7rr`b5I&JHG4aPsEgtuC-x==2crTm2@_3!)jnh-^ zTx^~1c*eVNw)s zrC(RPqGBtnaK-*7>?ck>SRAqL;9=RiK;`ApOhpME(uWp2+4FAOgrkc!p0&)ho0gfn z{jCRRx3D>dG@kp`#zjBefa3B!A-ZhveH_! zI{N+@N9mney-CArTDJFUol^}l*Ys~0)SG=dB;ar6B7`bcBU(u-X3Y5r#yPd|7g zc)N^C{M+Zw7Ec+)+P~GCU)Z(dd#Ag-#FbrBSNgN>m%Xw}y*(^Q-Ltk{Me?i2=0g9v zxzf{nW6$Xc@>Ti#X>ClK;5%RPyoPSF#j6XBC+E7W`qpofJzE+!r{;8#$#sK&AC%lL zy-N-1{C6r*?Qu%eNZ1i{>GKY=7*F+D zqbK|puYwo-zA~}*+LY%9y5MCcb;&-~HJ4%rBLuH!fw5PWZ|4&QZP{xczd9vRmie{7p+t-Le;jH!r>aNamL*zxMkW*FCvfGxh|%ulNu@L1w<|Q-wRVyH^&k zZTE`rZr^z;?+MpyyQWjKYXvqOJ+Ulo-;CV?_t>AL&!4gL?i;4dXYLv6huWJ@Q<s@*HgFathwNgTkTaQn7>AHVq ziDLdYW#4!`R==H6@HJhn@yhi3D*I!^>$&n7uJq1Y{IGuaoO|od7A3Cpim?scvg&bM zuT)>OhN1IB)6I)i1da0JwLDE`Y+vmi#CT7`)8}|m^2)hln@mg&7#%$t5>%6;`>}if zUbkkxwq8Z)G|Ts&XFM(YC;7bW{_@o~-+ld>@pHP)$!XJd&%E`2tF!yS$F;See>Ybg zZMm}i+xq{-lmD7Xo=r5nxiI`<%E~OBSoX!IH%{68#cS1i|FFw4hu17?IPu?jHP?Zy zm1#V-K5IozIeV^;?VO|*=jLf&JM(-a+mZV(m)*;Kad_gVb3%Jhs2>wisr1_8a_5s) zTDhFxjJr>FtkUp&^l$g~&`%684g!h*O1*#E9SKD8@H8D=l?bPSjHMe}v%eA|?L_u4G21IKNuENp$6yG;vjt?6Uzs^0qcg7qJ( z<{Q52j%Y8dG|@4-^4IC^+<$-5*B#+FxBtV>qf2aG&VLs8^X5jqkkhyJcp8>&eZFAv z&tRqPFK%r5EzPV*3aR2-FYuxX*xHTnB58hYnRdzW}=F6X{x?65BzrMoWrD`5`>e`&Sj+V9G z7$QH^s$E!l_SLnl-8^sPwjN#6?{aIMVimL7ZJs4pF5F)+gYPtetcINwraP` z_deF9$7}vFpWV8+G;U+_b0F9<@Sf)Yo{;V z_VRbbj6k-6nUew(+nz2H-Shu1)3;>*DX&%p2-@vAA+Hsma8Aed!$tiM>k7@wSTt|X zmo+jDVEYxn`wP?M>~-#u4}{k5cHy=TL3yu^SvDCvz0$?J^B4cD+j%lpCo%R@ z&{QAUyaxv^gvD4D+-&ilzVSKxmc)tgG;KQW=9=g|_LbE?^>O=Dx6jv(N*s^1S@8W+ z#yjs_{i*jit||1^O}e|ZGxE;n@0%6bc<-;gKkI&E)~pz<_IzgcL*E|Notn(?#z#FU zbXLJ9i5K2|jec3t>Dnx@HTyT2TulC!mwjsclI_yAHm1_&b$oMeteBBy8qwX#FhD#`&fs zvvXUtd1pV%N7bc|w(G00dn#CZ#2Fu6;rl?##L6QeC53H9&=;wtXN&A#ssCdrpCy(l zY3R~(-m&wC>?Ad&y2HEUKfmkGDXZEux37Aygj2Bo;X)0WklZte)Rt^fRbzVI*?cW! z>XzxRu0Q<#GN^Xh3!lAp8$-T-Iup0bf2rS$to3}WE;34gmRuRdm^Nic$t~Z>mGS`#U zG*B%*VEQXcj`i8Qf6^)OYv+?x;k+wwdAY+kg0*}BZZVFTxD=L5ohEARf&c(cqZ?)x-P+f>(sZt+|{ z*%ZU?9#-6YS1RX^%at9c&v_K*DSs54ub%h$Xm)tVhk44!((?B^{g0egu6mAfn}LJk z*Vbwcm*qc7%-c_>neCH`Fbw(N_fVaaHBjI|<9=DsD#eTEQ{(gxx4O;syjpA4YO;Tu zO_ZI>O^?UU**Dgka(4O0hv`Um`aTnV)M(x((cNR?ea~rYla`9R?aK?tv`otrgJ-I~ z>8QEoRl4nFbed<5x~Fl+v3l2ob=Rl;Pu;rI_cZI5jSr7#{w&L%z2ugfno#K4Sf1U9 z2j&K5O^uD_(`L=&y!ielNBU8bwcDKTooLS8k}_5OOU#DmGPb{ua)LGQn#^fAaOsJ= zYu%Rgj5Yh0Y>e_*>i>sVdsn-A;v2i|{bB#B`QKY--rv}}A(uCvtW?b(S$4GEcge~_ zLi0Y#YkX~*^hmhe)9ZQHMdm4fd6C+hPq(a5@~V+q@zlgsP}l$RgjEapoU{L*4cWQ1 z)-c*MB15vZruju(&jlU(ncR-AM2O$k+ndsU$uc?_O~ zZxZs2^wi{UXS>j3Rwi&NUFY1E6S_amHy>d=pV(irHI6gRYRNr`_FPr*PhZvq{+i_d zOS479h%YVqoMwpq*7`$vS^JMgci+2O_vY?K>o-@Q+5FqRSZ%(P7|&m+)pG>>Pq&`E zx8_KCPGRQZp6ge5XE#kreNuIK$NxPI7p5DZX5yH*qeyec4foR<#-QkNNYLHS%A|4G+A&Aw-;7U7jQ1Vv@mdCOgTyzr{NnRrr$<*f3LLW%ZY z5`W%0#v6OCsn_s*oq^JE>D=CcjkjG+s_XT%15&Y!;~YL&>DeHSK4?Or)=S*6r2+3$WW28+A0wP#PdY;Eow{7WS6 z<`red-&H<0cdZnU_x;kaL}^xdy@WMZ>Vb3q-ceORU zZqI*`DkQNke2&Vc?TvP){I<;e+WYqPr26Hb*PnZH#8^kq>gs2P8_#oiXMMW7{AQLY9FWxa2&`(+h9f6|r&-hili(ySf=8;2>mfu#lJL!AN`ComLKcCZ;wVd+} z6F50dO8zdHW_n5CQ)#BaPw`BFowIfxe{o-P+L_JwEzVjd>9T#1?CG>xdC)C5W(U*W zV=uXX9ys(q{?uZNj{;(iuV>r4EPK1fPI!OJDW*kxH^#h4>MPk>bFhY+-R|-9$Wyh8 zTKC6p6VbU8THnSPyK+WOg1&k9pGLcLD|0lO0}CTx7%eFmT5(1G+pZ0N<>aJxNnZVZ z`hL?#$@&HUMR#v>-_Djc%4)fE_NCoC?wyuQ!8J-|EG+Q&l3(q<~a-> zYaVroB?}wfGImhub;)A>w>HJ5boG}bu7Km05H z)W@^?CqIq2dTwnK=Z(Go@_lFgLcb{e3Dd07tJ4Amf^J9XA^`?I2SFOzpn|n=JZt0cM(9hFen!R$(lKdLSCg;&6HGS!C zHji^Fgvp7{GH>m*$jU`kTx&GcBd-YGkqDLQZ zZ|_J`Y3|-#XBM&4CfyL$$td+Z8uj4&?Zncj9cn5PPD}D%*qXPbyS3=rtW~qIQ`&TR z`QxCN#c{Xg_I62d_r2ZR+Ei1+U3PQ-wC`IRPW{`t=lkQoyr1gW-Z6jrm({XUNhv1L z-?yT~Xpb(T4Ej) zwklj}%I0UL6?N_N*RFj2D97e@(0RqWvSsu1w?5pd^!3f-=c}$1TOM-1{m#Sg`orqa z2R`?E-dbHJ$6hFV_UV_Leg87;_WFq^96TD+Qv3e2(jQN;hdkV886MsY7BqY_*K0Mm z_m8HP1!}@}NB5>`%?YuXmb0VgqW%0Ou8$V+E`H&x!*}RpR(>$ss=c9-E53a_<*;>q z@Qz#j)tcwcymxFcTy6Vm@psiPHtqMLG_RY>dq2J9x?bqQ>y~xTedeE>$=B}u_~%EK zpB2F;j`f?>g?JkrxwBnfv5Z@)Q>Y=f%-^x2KL07l^R{oF9?SiVkjr{_oUg9Lq~3MT zB)5i1FP_X6pK|2*4QKY7_v7-me$YCsZ)@;tI>6QzgtF?i$U^gX^F*q<{dtK`96oo)dPmgm$n>I zN>m7&QDC<9@4N3ui{vdf@$zVHx!~>jXVPSaXF<|UX|a3$FG%8yeby?n*XK;kq4t2q z?P5K((p5r9aW|t58zq0W3Yi+=mstDnLf_2`H77p#e3zNM-#a^E*M^s@S+gf!6iXEO z-k^|pGW+(0=PkBJCEFSwPc?t!eLgwJNOD@^*W=YM7OIMCcHQRi5x>6o_}ApzGuQOF zdhL1_I{gq${awW+A~5;sW7mZr|5U82k&#~Y;CPXw{c^+nZFWj2Ps`1Ip1U@~e)mPI z@bkGk7x;JHK68pMJ@akU+S)vy!tK09*(S~tTn^sY_G-cciN6x(Y|N(YYCmwT$LSXTM&(8WL2C-!9RTxNAxTuoR`?iS;hviv!(%X9;U z-rH+UT$y<_;9iEHyV!SW$BUmdOg<|s9bfZmf*6m5#W^RZR*7D_kCKLSRldDqy|VA; z#N?X~=bYGRQ@Z5XN$DDoWfvV}3h%#I>}GK6{n0t@svAn5l^o03ZQS^5Ex)PSqLTic zhgRqMbGEtZZCVk3K=1H5|Hsw$RR zDZb>mae?bL@0ujj(w%PJD>Ci~9M#CxWBlUv@|946e8^eJmUSkqvlyeFER*xD2|Ldt zmGbu9zkP+RUc0xSw`_a0X`Ript)4wIG`np5b7GxNpHFNgCk?ye{WVk!MJC@N<6V{ppKRr?lhDCC`gLwS1H~85(`L)k2-KaN=d1 ziPmqXiLE()SedB%wKe^s;j#j! zAfDZt{_@K!=e`x|o^18iGL7ZRrX91DPxOn5c?YTdN}adkonf%brgXh^8^R6F&3Mkz zV#B*6e}lCh$2;CRZsjaT#GK!?tX7?PcHN1)AuM-uRjfr^wy9P=iWZtzVjJsri1CES zl zp85mt<)3~3Zm;ol%7@SwS?5@vd(;T-J}>d#y|8)Z$x#1;5qBokSQXA%e$cXhJLk)` zyM<2*ljqq9?w|en%jXp1b(Urc)z+>zXD#QSy!LCzr@vNv?$1-dSJ9I7erwOF?f>6Q z;J&c?X1ne2JnOsbdpFE?3BFpQ@Fw+l&)i!j%PYk*%P(H}baQLwJntS(305P1eaR2& z+Y}Wp$8p`%%I(a#m13!!9(m8L{IdI|YYDg2p0SEXZJo@x@WVUZpLrTznR+i~|6j(x zTv}@CRX>F)zDDny9ebD_Ew7eWE;N&2*OBGe^}Y2#ZO}Y-6>%mPugIqy1&UWQt2WPG zbZ6rH4~elWcR79Y?|AyQxs;j_{fK>?$OXg3)MZx9ZR?xL+qHSO z-k;A`JoApg{6%-B&$sA#!FP@O_tT9t7X%&`JRIJxu&O&+bL%hH<7+}Ixep&^TDbjU z<+|841;zGr=2yr{{oVed=xXhYKyh1x4f{(N7X_8waFelmv~1su?RP%zx*qp9qiv73 zeZNu2$5zw67oQiT?47Y}%X`y`#1GvYzkicfJYnkeLHgtMb#<379+ca2;r#=@RaQsS zJtwoiOVxk&dilkkDWZ0;wetNT?tlf&HIeo`(*D!v(x%1|Uym)2VCq{Ivx`(4u3{!^o?IBwP16RbPjFG#58HT^5eFNxnFz%_eC zC_||8`Sp8lmqnMo$&2oqy_7pjvpOud<4{Xad}QYpPst_owsrNJBs6AyzwuAo^il7# zgC*`?GBuQ&pY^EKC1+`tIk2tSCoWrfJ>Q@__c!nFlZUciGDk>vJ>S1H^=NyfP)@m~ zT-m2)Z<{Y`51zQ`yZ5{u_puLaR+v2Kj+)mnd(oRMUEC%)r*}x)T{Guk!qeq`?-~8b~weY;;hnqCM7Fbla+$f0K7g2BT z`zkxK*LFjuuKKFB_mez|J3hBa9-q8^|LqF72}AR)=owe!53A%lvv2>-{qGsTk*=cG-$&Of31y9l`Pg+l{Nmf5h#JNHlKkR4 z8!L?MeK;d^LZ?Oi(X+W(v$2#zDth~*_5L49CF7&}92P!&bawKk2~+vMU+CK8a7XCy zN@bZf{p*sHJ|53^FH(8A>rVSB+y4b7^?b4Ste$NACOk|oK3%u2v)W@-MQNPV0Eg+?qh~M@i%WRKA}EeJB=|!I!GZ? zDtm(N#>X2pGh#E>IHn}?W_kI%lz%ZLUA&_@Q^{;m%)mTy(f=@j=nPXG*Gz&*e^uj%+!#^4e$asUO~K|2X-~y)AL4Zs%Te zTBFEQZWLd9rp9uS`%jPPsC#Dh_7k={G;RpKrz9OaRqku*Wc#Zw5w8wj>ztwVzI=mY zzOcnrOTmIw69w;e%#HF>wvPF4R@Zkrz_qIF-v4WBR#+Pw1<#x|bG~Rt^*ishXQ9T% z`S(vJXeP&!hAgdS>xPbpKeDzd&ue_=S{i7Yep`?H zY2|Scu08oAWE027PNlzT$;c( zwWDNjK67@`Pus|}_bdLNzuR22@0niO!FIM??HU4ym1f>`HoNpd&B(epcfra<*AJY$ zpy;6L6L?Q+LeQ;mOqxsY<`zA@FWzz8bJfZxHw>cW=kTSftn7Oj=20y-fq%D}v)vq% z8#}lKOg=b1Jib*%D4OTk+&=Rn>GNyNZ7T_0b+td+sT+-UTyfqxNIw}iTHZa94&eeR!x{BrC*|2M=Q?+s{=X36sEwmKP1{C)0><#%nz`Op8?-~Us$v)caL^D}cSi=UmD z`7(+(SS!yx{Eox&BgWsqoL?Zs+|2cH)~4rOiGOx}pXV2N{TSD6os8zaw*O)xP3j9u zCizYd_J~xguE=3pk-XKkOsYKIyY@|tUeu!94!1VPbC~MCm5(ias+yI(XimlTD=Qa1 zOTGVyk^Q*s$=$!z-mg2GC0A+?Ad>R4adtQJ;cjNR-2A+5(>A-RS9@dSxb}M+bi_{$ z4Q}vj*dzP#pOTtc&7sZqh1P45KV}5wKImH1_0g3>PExF3!-BV$4vMbq)(b!RisMAW zSNSp*t4XUbR3&b8n(#Se!s>0u3j8gtK9{{@~@3A7Yx$ zHQ7dWhc8e0sII#G$F}M9uf6ZeaA_&~?10&$mCFWuWC@-tx3(a7kS=paxCkfw?jzi zdcXten9YGr&q^jXxI9~+`%OCN!J8v2U*o=Hq$aLa?#aA%BguZT(6>)hUmi{Tv-*y9 z#Ln=Eztc1)8{9PB79prwJx_gi-j0nE(sMUX{8B3W|5w|~*ZH{{?_KHH%D`an=rHm6 z!LG?`a|GuuFR9-mc-M8$>#oVG=PCX@v*c0I**9wUZ)J2}T_mXe?pMpxw>u*@$zIzp zawTPVzirV{*^6&4hDoyL8eaJnvg6UEjv(wA=edU$jm#koN zbZOU-$nGQ8X585SY2)7gFM}Q_S59rdqQn&zt((m8`sJ&|uX#W`>)83rvw35;U;3K3 zYu(b9P)I2+5HS}rc}Tz|ds1TO9CFV_n%pBd~w zLAm-uFUN-ira>QBY&81#bH2Q;*u-!X>s<;j!wR#B|m>kRQ{Hmr?+$7Bk8DP5juv}b+W$k zpU=iS=JeHe{=RW_$8-keq#Sc3qJ3*QJJrNqldE1Qqd|uW*@dmn&Hxm|H~Ji5Wm;D zq3VQ=P2Gq)N%Q%#!T8^oXJK4B=f;$Fox816>-%|Q z`uP{nDt}&6^_!KTwEIK$y~vx}@5d!96w@yjy0BQ}p76Epj9kTLeXo8!buB#d{(@c&U%JRTFZ_4=Em`D2>GR?`S|yNZ5mhE&&D{My|Xo()jPJG zD>cR_nK3Y(=k=XCDhrIo)!Q?6DIQsQ|9$f8*}Vx>CnZlW7t?#TbTTUPf99t>&w6%hoVS{nE?U~x5xhh`-|PQ2<70o<2Q*w!{s%e-zQjv^tRgD z@}HdXuDh}^ensu8^)9P3KRo*S@ma(+g%3M9%irS{2;gaQo8J<_DOa^9;z%QpJ^Rah z>#rmh#>@8|tmE7$IEC*t&ywjy3hVx#@>s+yoOI3ZMX$rn*2B8H^qJSK-}fsk%(rB| z`~K1o(JJE4_FcO1VIk+nS@%|W-u6zY`8Vm+Q}$~eCaRlW|8I-pj#%i!xv91Bwd0Mb zi{0Oj_9XbyhdH-#+-pRVKpw^n$_>6XS-8&F9>$ zx<2WthVSL|mht)Lq+ep#+BxOPs^f06Oa zI);y-;@3Xx<(A&tWPYnXeQD>fD@+l!vu;gG6R*3o&?rM@w@SI_1A*5Dh(vFU5UKE~hLfA`McyJvy7;LG>MOU~QgSh_-2WOj$}hs_pt zlTJ?7TsbeKgirm{ubbLoiQA1CF1vA5?9zJ1aeuo+zxUH84|+Q_avv%cWxAW(Kg6V8 zwDYZY(D_%)UTZaZHT#+Dj`J-FK2qDV>%a+(*2-_8H?(uKcK&gbUF9s$F<;w$+&*m!9_kxluf#(G4eLFC@Y9a9RJL7)aK)B3&|I!XX&rr zB@!W9sW5pHw`Oy$#X=3yzRJ{#0c?qPZ?BpscWOJIf6Bz8VV5g{J<7PRE&Wq3kt3b) zg-vuu>HiB$%}gv?s?Bz))SP}7BXn-^>Ti?F_Bwm$7<`KEa1B=$d{%nmZ_SN0vxOq< zGsISgPI#w%va=wtLOfnfAtR~s(d}kGm-8Zav)(VbwEeSKkm{OG#-%3yMM~?g3&ewioUns#4LGfF~6>3%h{G)2A-?6EH6g& zdpPBax2x}V&AuzmH}(C;GSAHgU!K^uM7h}UwN1|8J^Vmes`Wgwt}#5 z#+ysObEkDJxp^@*B5X_1-<#q`XRJANS@^48j?GVtf8953o%ic-J@WQY%MGo<-yTji zmjBv>A9ZI&P8XQ|&HCu0tyYS4`v3OL6!^}4-}~paD@Q5>|D~xO%Rd~SpHw6B@7_#_ z{etz+RgbMdc>lQ2 zl_J(Ty)OIqX1B%HwW?|k+bzsDh?aEcH2s~FSIF0w5Ip!|kLf4a9(=4KD89h|H?5-ZVxVNPL-IPBM10J&$y`O$nrtjK?-^St>6k}FA zWU73BB>T$+R*}-}2TcPSPAz&{VBY+$?7&@#UAH;Q<#seL4PLd3sq)0pW1a_IUEG_H zX`w51=u^!lwHfDKYA*6hd<_m?wj;@X?V{6c#mE_=}L{G_V731?Ea33Vo!ch2-_zP_`ywOir%&%pQf6^2$9U#XbKd9SrPrl*0YRQ#Z|CAoz6(Z?AN-{-e99 zfm^n)TYkA!)b+n;f7af2jk{0i9Z{IKXxhB}=h#j=@4v#a-)mL!ga(V1JL8IuK7Y8; z=ld&-Y1yue|E0WpY&=0?N%=MprgxIcu|EC(w)MXER#H94Z%K5(qwFj=pxLh%9jR@3%%UgQl-Ha98dAf^=W9v+2F23wgUf;+Vapz8a z?Y>eysm6)c*YBL-yD1v?va@&TT-oXCr%3ND+i>CdG98Jd3zWCDOHXpuip_Wx_TeG8XmX_eR8nFd&uu1cKzMYQ}4PcBR4x5r`rd9!l* zLzqtK?@us(lbcs`xifb{dhSCd|2>}`*E>nhpR(PN^ZJL+S7YC-?=REZqx#p-d&-1= z{1Xy1p2ck0q#N{pwf?6E`_}CHznSOS3iE~Q&weTnxR!8r|MLooiak2w)4sM?*VS(M zB=clh;jSx--|9?0S+;81;a_Tr={6x!@7p(SRm_y!@cE$FyX*U$D|7^wZ|n5>5twJA z_;B9!+QaI+{Y=*ul&UK1EMg8949#nupSCOd_p8-UoK`KpciN-4C;id+2{SX8b3d0% zT-@JRQ2BNBlX9-yOnH^5)tb@2tb=w|pRpGEcv5t6hJIDRhI3)3*knbl*67Gw3|Bci zY3?14ZBzbMHeOX&8Z%SG+I^#MStjQ82xX1A}We7P-}P5FKv(#Vg_ZP$I1Yp%(*cdgpm2Q5n? z^x0XrXy(UPMIX7%W%2y>njH&Yw;4^{XdTh@VmgmcS-OJeqr2J*m^K$*cK-{sILV(rEmW=+xlC8=e6;QpyzQ6ksEKdFTBC0sk!ZzU+sbAD?KA# zfB)QgZ??vk=QH;xH(q(imG@@OY-_QVFITptv-cWA%@dLK@?(+qoSzxAe}B5yPA$zc z#_6h0+nJn|JS+Sj$;uq4e6N4{ZqIU+PkcJk$?IEZHTE?!iLaLX%G1taWb(mox=6Ka z`EO3Ate`jhT^<&1=6gOjw(4_r2A{O&(W+1P>W>Jn>`rF6%iLhB9<|erOJ?Fs*~H_) ztp|5a*(3CQlCaaN`Oe0SzosSM4t=Dx>}~Us8*9z_0>5AC7nm-X?|x-tbAZ&xd5$N% z)LHCe8!W$1y8JQx0drcNt>!nDb-Ha^CMnEId#pGu=Hg7<%YQ@W&i=D`>)|WYmmPky zcgYRMqOi+Np5Oi0%^JiOS2f*QA~7q`^@*^!ootQWkE_eGI5riDt&!IIWO~r2hyCU9 z=}j>Qm&Yq;Mif{l=6y7Z`uOPJwP#iNrn&Lc%ysw9p1)V!DS}(%w#3)G(3BpnVx3oa z7o0HNw?=9{|1aLnha`%83j1u!oCNIxj4!OX_qy!l+N6_3w5W3-BEt@C!xDCTXZL<)a!?;bzE4*Pr&Wj8stFNso zzD;dQ>tvDt>i_EI9@+Hq@7za!D=YL3I{dB(DLsADx5KuA#dhTp?s^X4408t;?L`}u z|O1a^b%@6?+%O9GmX3@{8oJcP}4rkGe2%>YOuqRkME=Xl^-o zK$&G<*TodUE$5V(5>>PBKaaX`!158t+?OSDOrDy4+Hjfs)Rm^H$+PErbZYn9(_WXr zyZcH~+@=lv@Amo_K51k=y!_r=V_s%2)5*;C`^EgS7}y^3Tw6NzmE$p{ZQIur&p-5- z`Pt+ddG9n<91af)JEm%KP2J^q-H8L6E>sxZZNW0 zeZf?k>oM1gy3`dc>u3K>ZrywR^rOgD-dzca=kFe#J7GF!zxh+k=^}N1&OQ0W$}-_& z_Bsdm?f-rV*xP%Y4qLlJMdvv8TFtO99@o2#wLyLpXI2W&eQ7FY+^Z9|fahe_ze$BR z1^j~NYLp(7DNxO>_CETyH>|AAj7NUX0p*(!l{4kJ?K>Ci8>KMr;fUdXv~BLJIvJ^; z5Vd`WC;ZU5cl}GQfiBY#bE~YUC#~eSCEZ!NFlT1i%aClFPS0D9bHlc!nEll9*LfV* z8;~?x{6+A=*jJ0=7tfQs)tqbhWuIALUYN1RHS2;;?-Ex3imX_$Ty~G~*L!moL*^^&X2;=PqxNB7TOxwziq&iQq6yf0j2?qqbI zUY7Y)Vpp5UqRfR~!=m??aQ}#Ud?|5RltWZlQ2IpusM?A-ov$y*6 zV>^SuH_577@02rW*9c42EZoYX!X-Z2hMObv%d^e{nN7TA^8EK&(hknwA*1kd$AWqL zW>mHH@+COGI#E$199pL{q4RUz*Wd4a$_#Fy*nD@8`tm0xP9L7 zT3(Je-{YNU_qiDPObeaR2YP`+z@l7&A1 zgI!`pXI#UXBF`4?FX5DY_EN}Y@ssNpEsp!owpeX#@8=Pt%Kz}>y+tXlZ7DZr@Jw4@ z`-kE9`kXf*n*C)C`||Tz%jE4cSRDJ-wr`YR%g)l{4mRm4h;m)Tac=RhM-K(P4n1+y z*t5~I`?=6PkB9wcK^qn|cJk?c{jS}drqfz_B=|y~gx9u-IWnjI{k7P2ddKbSlke~f zRn~revtg3(C8yWI*KTm9B-FJvHFiwUQ98tb?J2vUMM;auiyIR2=l|<@d9yoUmevF1 zMBDV#Qsae8dbe5(E^zjL734FWq_<{3P+p47R-*Vt+ZlYuvi}?(UymxAw}0eX>2~?DO&AyMFss&Mv2mUYeSo zX3XZ1z46O1Adox%1(Tdpo_+SEAlZ$_v>lwLUOf85 zkFG1b)k#|$$FuK?`u%NQ2^KgWvaY(3%%5Fao0#hD*mC>u*Fui@rkSker|!FM%Df?D z$P%-tY4T1Nr5|^c=4pmaovrN66a4Pq)DzkTp?ZQ53Y-_a%HKSiZPp#1o26%}dEvBv zRZ7V`yQ6nwO}FeiTf9?2ZD}gQ{y3!w&zcGTS-KmdD&slc+Lcv!E*G+S(wP$N;5IQ# zaMJhn%^|5$o^x7^RLmZqH;}S?#$a}RwaDRlY%kMIT@#(2uTnY?CiI?lQ;N5Z@H55i znHn#$t{o2vm=`udoU2QnEq+OZ-;GGGL)JC<^6y-a8chClz;Kn(o2IHScbhj~EBf@m zB+p7@My%o;=iRMWE$4k|?$kc3tn_-#jdkZr{iANIUtXNpa7E~q%<~TyWUjBRbN-sQ z?M}#F<0B8BzWk$6BL4e<{jbWuPOmp_`w>tSpc=KwFZbmB_|WK2?9#7ieY4NyJa+%_ zwcGEaXPva#ZL2eX^=GYVd%QQfA6cTkMeSDdj*sed73;rfJKdS?Cn_tT?=txq`^!*= zX?%fQ)jyK$UrN~CbM616o8Nfk!MZHJb(1omK0CSEd)=WEnWC&2cJpPl4qkt%c~B}Q z_3=*e?kk2;+%L{@do;8~K7OBd)@%FmYoByV@1<~m_*S>1X5;C-7k2D3zSQzD!A7Az z#{IqU)4IuOsaGAMwC$E0nDBMV#@U;#4WD>8Es-mBPz?WdGxz_+=2fCm>Nk?hx&0po zTsy$!EoogEs3OtDsdn?_3x?>jb2DQ6nk&y=#i^L@K&`DA+Pm8GVKHdgMf zVV-_jud47_-6y@;XLUU9()XK3b=>{my?fagPW`7-pBHK0ZG2cW_4qwO_b-!H-`iZ^ zk+bcv`llrwue&!HwV0UcuU0$GeL3w@e)g$TulCL>KCpGp_MHVrGX3w;r@ql#vHWJ- z3b#((E&FoQqu*^~vJ>@w@Q=gH(%?AzSM8NQ!#f;e`16C^6MJpvHS@l*(Jn}NFEr2j z_oL_gZ~T2@9uTo-LM!L}NUj>ML;lC#>d5bp(e~pH^HcM%>GYoAucnkEH>*eb6u0{0 zHlw!PuJH@^p5|HSWc^~};@!^!TCS(web?_MpTEOaVCK_?R{6+-{Za4wL@ENRb7f06 zhHbpLzn7=uQlQi7zmGe#Z7z$(@?Od1mHju>wz6DzLdpx}%Aa3e*0tG*f6Op$d-(ZK zf@bRT0>P&4S%ISKZeBdKZ1eg>hwk0pX309keeZV{wUwz+4as+;bS(|n9$G2WeLvus z#+nUpy7-gp52z*`KjrYK!sfX`GKcokDY-4xcSIfk+pLItzjW8HbBBaY8>KTGcHSu2 z`mOGa|5F>jr+a)AU%IgUxW=CBzwx%F=5_64iIs*-F{}6|3q~g@<%xVh|NZ*==MwL( zOTXJL^=|vh?}AHBKIwKZV7=?rzSK^UcY(rp-gPCBDc7HgrB5=AdD2j|(;_PW=y^lQ zAnDqTHK#XkEUKu#_j=Q!z@xqwe%-X4%EZ9DVjY9fCmY+KDbBwyZ`t;-)Vk_p>xmAeIuKw|$a=EJY$*kJXRH@lt!)@u{<}Zi{0;l6&jF={Ug|wF;xGA1B49`TjJBcap;;#p#u-3z<<{x4bQdvIy4xNO3MB|8&}r7k^5 zV(;nyYs#t+H~mnQ)Jd*sEzF-^EtvYe`%sbh9c4q4v!1$b{vR)YDEfSl=~MWv-H)=i z@idC=?~HToH#&5)Lj9}+OH#C9%na{?0S+trI%4~ex!g=%xHXHjd1>bi19oA)qm$CE zTYsF~TT-aI=`_D@RD1Us#a`BovlJpQ1w&|ZHXjfRkqKPvNkO(#s)v-?TFow$qD-%Pqh zx!=CLdSPXbBy;as*-4!i^O*v48oU%f8|?JImZ)J^S)03K$<_r5`}7{=cJENydq~xH zUuI4a)3+xHDT>_{vsZMiNekr2vg+Qr)LDS1sA-aws;~2zG#{z=^FxChDvzGdx^pS{ zyK}!~*J|%~jjVa=gl|g}FepyVIoEz${x(uS~3PGs#q1!o7RSm5X0O9Q@zhyZ<;Wz>wpQ*iGHJeua#4`wrTwef!RG z$LR6gg!7IcH}2jq-p(*pF#A$T-ZsCz=e-ZLHs{zgWLgVdbu5{=|HKiW@D#6Q%l(;S z?kX(yJyR0%<4?o!NBciiF5%oC7cpUG()059xBKs}e)mlAeMt6a-GEKHTc*x@DYsQY zIM%$?-EBt1o(IpA6I>Kof9z!4@my2j)BPvh`Z@pq&%OG)e&W`*$F=&V%!wB8JM{eK z=L_t2ra!%Wh5v12eX66$jI2w28Pm2L+#Ua5w{ut9#V%#9{s^)6_%N|c|B|ga?xAqcY+6g)fhO+TI#=I?b~c4-DTl2{ z4O`-I^@Qp71#6X_gnHSW{;Z_BE>QJdL8tf3nL_{FS(@zI&wcel_Q}{Le`5 z1^#=*zn?XWB*E2jzw=7bg?GgLwbzJ{cZjXrc`L7e~ zo{Da}ULC!*L~W*cYxUzCJ$?O%n^_Zo&wMoRk4tfJ*u#ld8|KwtU^Cq^mCrKy^yfYE zPW^kK^HC!tVftN#{~GtM{h0ps-ZVMWxy^SJPO@r8uUKYsOKtJ23kK&FoYm@Is5;GR z+B9jmk4cCB9&W2XS+M^=f&Kl4-YqdN7}?Bk_vomfx%+B&=J`XtdsOV!9y+?OC9~A5 z$;AnK-z3givM;=`G~$h;@mgCB z&Wr9>T9@5C+Vo_>(ak<4oy#}s&e3`jc<`y*ZX2bb2}X8@f8IIZ@ao6HAD7Gj82s^+ z$=Cc5f8_VXIG#F=rSUe6avIkY9_*5u>ZP7#VD!QIVW`g;Ruldy@;xHYZf76m`LKRX z|2Ku-@l&FE>Q*bWUrC!S9Wy6C-{W5Fj7R#u_x_%4S<`=Nk#KD0!q499i)SxSD!+GB zb+6Lqm~Z``t)_pOC$L6xW_c0k=~V~+GM7H^wCq@YT({=QgG(G@Vigr4&!2w`IKILv zUbB0J(}5Kpj%m8Pe;wMG(A~w@v*VIjqowuh4;3@6W+epmUXfBeutsWIKyu8f4jJaN zJ*EfTX2ng-5cLuKu}A$+!7_EO|BIs`Xsl`j!ejO8T&1q2H9lG>^=L`K? z8l{VQeMI{oOnRB@`0h?tz^8XjmfcOVW;Y`fXNT4aTS>FT;KJ)e8+B(+P^rt;)V&!z-`#Z4ovE$fho5@v-;fle zSZ923YL+!?hDWUHZl>p(_PmW0S!iz3vaI5Hb@0Nr0yDc93(0fGHa$PL`}!Jl_xBg0 zyN(}}@SoLj{R-0_zLUqZ%lP7s_qV=Yv~}g@m+F~pe|aRG?ay8OVw|M%_s#@P`}6jX z=a}+YHl>~x`Bj?pvG?%egX?sQKUiL2Do)>9%r7*{`;Iukf>ewf_Ny;DjIZjoE}9qo;@}F5Sf*3D`SE6}sefPaXqK32D@4BxHt5|f8M}B8%%&cP{e5}`;+$8@d zWQY2{X4|mU(OOobi(`Te_y00E#dq_0V6n)$9PaQkSFcN-?HWpVg?_YLaJf?aNwzA> zj4ioMSECI5PBqNWILWt7_|-(F#RYS>A3lDg@(b$|zLe>KGKO!y?EAe^{cz>Grw+`b z+q>?(z8Pfu{a1zWk`t|ot1f?fb<#DJi-CRS*-IuRo8BDDz3aFkt~);S-;=}q^41s2 zR`NDCEZkCTy5+IMELP=O%}V(bovEpYR#j@oWn%uT95%hmKCHlg)ZT^Hzv@A7CeIch zCl{}bzu|%BZokO=vhn>s_vWi6Jk`&dg>Fhu7vY*4_CEK?#bZ*DhoAVxy(rHPdAMrP zf?LlR7i?Q#^{ys@tz*~czEuKWcO|?m-^&-sxxI@eqHI&;B(`aD?Y_yZy4w}I^iCChi|Ipc^}I)-&lE697uH(w|K5NckvdJItJe$ovi8Xwym*t zM{A4g@2x$3Np3CYy=1#*248QTz4tfn?N`Hluan;_wsu{AzHMuq|C)Vr)ql@M-g~|6 z|F*}xRmaOWxbjP^e7XPJOWF82%fA0TbT#UJ;uNWmb#Hgd3EXJ**ndS;VS=0^$DALG z95rj589wB_HgZnz59i+_uPr9<<9je0hmSkQhI(nm35%Q;T$)<$*?PdR~gAz)zM9Ur|pw)q9KPtazz;PVLz6`t$vJc z53@}TmV9A3JT**N!fL;9lVa=Mn>U$x+SNG?VtO(XX2k#1XnOcLzt=`}v9!OT&>@-C zj66@ddlP<~-ESFv^5V@?iz<(Vt-E-$D`cJchIvc%O$w&fo``I4TqM!o!<;ISU=%J9 zdHP=?$7Q3rOV_;4ZOT+GdE#Joz{ELOlbgl+=9jq)uNMdQE=~E8pm}M%Z^GTGiyYT@ z%HEgT9@w?SqhYJcs;1B%^UFKus*B&Re3f>JNjq>;M)~hWs$7S_9+eW?YO?w2 zqW_<^eF>eK=Y2!9pIdfX{=>!_wK>V`c}~H%FD~tUvWq$K_NlCQ*As5PN`8LpqUDOp z``WUl8}=WVdEzyf`htm#VHq3aUYtJWByS}8i%E2q9+w;QlU3zPmbSn3H@#f;ht~J$zW^>9J02W~1;YpNzb=ZLE!AyqEiN7WX}qDLl;AKW@==o$yV4k)24{&C6A_ zKV<4}$*=V3zrr4E_j#jwTeMD{D;w7d73EBorh?R}4JvnCRlK|HZZ=PQQllSX*(t^$ z5o5HxCPkr>xvXZ>((9`ZM2Mb>pX07^{!p8b5O3zv=B6s=50+`pkA67FI0vj=`1XPH z)kSswu4_L!1qQqRzrLyVd*D%sB?O*1lW}N*PENLpduxI8X%WgqE@2yErKV+&| z_=~2cvn{(;eQ~R>+)9a;t9SG@ee1d#vDSz6@HKBao#J^K!hgSQNUWOqLuU7^J6v0p zA{!;z6JL5nc`bD6-YxozOLP}o#->M%ff`o)N%eEri*}vg`2C`e%H+4{OA;kJ7fYN! z7LstqTW6Q3SHH=I=V>1jL|TINPg`sBPrLBUbCsj!E5$(OdApMNUz$EB_Hp{${%M=( z)7XoX%*=h5s?m$xta+bWvfF+(hBO|03*eDW1^HIZ%19Q|5e;-<3JhcDt4r zY@QPS#`a0F^S{NL6xlZ{y!hrweFyK&*L&M7q^*uTYHi}3`>XdWn(UPB&+}cJ*<+`q%9EC^(#HOLW(VW5|7J{#O#WIMB5t*|Cn~KE;XXdc zZQ0v&!Qy?^YnvihDsTO7bJ(L+)PlV=<@@C;oGb=y;>DYz&YTY6IsEN!n0}gW_MB{m zAHNNv+S;$ywQ}uiE9mV0P_J^K|MC2V7p6w1xY$a)yniHczp(ml-m3eZj(>92bvhoI z;_ddP|A*hvI_=pK*PoS%{ywf>_-6TB;Tzl6Uf(ePQnB2vMOS-SCe&T?V9oRoKRT&um_{b<&z2 z6l|v$*c>g0%=&S7`;p`gr<&ceD)RdprPKmXA5wpE1xu}JKO5CNIX>O%-RyxPp3`V1ZR2j zJg#CsJR|RFz=r0hceAGm)HC+%&|&KSu`A*9{+c((N@jRz-)?fZUHU9?CHw6gpY==2 z9y4j^*V$SZ_dC|rG)@bDU+=r2&1^Eu3k~gV`_4!ApOrCQiT^uKf4##W@7J24`j@)g zKfXU&FL`voiP`eK?LWSI>|=QF<$m^IJzmv?&js4D_dPniuC?v1gz){d*MGjtHLhwX zTzc=k@0&Y0Yv<3d$$4@;hG&z&vTb-p3`@|!|iX1n9{ypICZx}3#p-b{2<;pQfk~Hj-PeM%`uqZc){FllxK!l&+j*G&J~*Dl`9%b3_{*~Cds?RKf#)|EZ9eij7az5hT5XA8(#s=ntLR78?5c z#>%9nQMUJ1MOe<-#Mo7=^tP^k`fcxrCx5+qyYxg}c!Gpn z&Igg0B;h9wjm7Wgc9iz?1l#<&mf67B5X;tCen3I}l48QnmfA2^fpfa{!Y}G28HJ9q zzW1AaZ<0ukXXwmpLN$GBA2waNbe`q2jP8u|F3%}RliwSCIxjZ2evyJ|?V@leJFa!t zv=2VNQ7~Dj^woW>|151k$|Wu@)_u_#Ki60PLEgeUNABedAHMaSJ=aY3aZ%a?7FyYgh3 z`t{1oYm}A<`2J;jam(v(zYp`T2-(Wpk!$0f@0H2__UArW9lp82+_}TamAU6)^u(0; zbB-wTIdDHd8TM0(`9Sd(u4@~ARgF3g6A2gm)z9Sx%}cl#PMLUq8wWWFZW*Q zHGRt%6fXP}82-jvn9lW6N^4j5C$%Z;Qn=3EWd5^-sn}wwW)`i{`kdlr`Ip9Rr~flxpsk`{i(@1W;=sVT1QwOQtv&IGuhRw z$YhJ_`L^>Pt4#jC}a`;G0%XLkdE!Y%WU7BL?E_w9i1rB5?2cxnrUN!+P8nU^;ln9)6bGmGmcmvw8To=u*$Z1SSk$7Qs|I*^NB+f9);%tuXJ=!MbHXmk4k5D9+V!*Dmcn-z6m! zr&ahrxqSA{|Jz^u+G1lI;Lw`#Ye|p&C#Q3MLEJaZM7e%W)o3yCn7I3_)RMPXy^^B- z{oPU*j!XP5?+jzMJN~OU(KA5&T>k#|AtJM0NkrdX>0kPO&O1eG)6$PC-@V+=?YFz^ zb^l4f7k@nktbIz)*Dc%>pnlS?{NLP&6^9M3p55=c;X-A!=}peH%T~`n;HY1JhJCLm zf2zdC?LJ0az7~&`imW~swawV?%Gom=#tmd}DUJzmXU$`1TlzCAhijo?v(70;&s;#E%c6P#+u z<)*zYyW^hTm%ejsuihSdexr0w<(7>{<4osEe~w-I{Pgjf`S+JTJ*{4Jz0EYx`NtwR zUTys%lg-y>S7|IgA*kcC>)?4-%|HKC_dPGETzZ8!O1Z$ScGJ-{Q+B;A4t;eo?ea`> zj-Vemy`?l09_)L?-|>IG(YikO_-X&Ed!;-Vv90IhEHOFn=X*`zqk%8uI<={4`(}BV z820!x22JeSzcy#`w6nWS|JgnN&wAv)deGEa+bsVZPuXzn4mYdMrPXee#mwB-OU-}m zsIZDhMKMC@_pb{=mXl+jo1I}YSeY&&(EeCt+b2HJ(=LgsRjezh3O_p@Vmpgm$0bn7icTd*%BalPB1?Ni|4jziaH_e<2Wi_}#Ul z%Iil`N<7}>#-;{}E0xX2{dHpPv&=`|g|ED;PIE5w{!*6kpyXQUnyt+9lOn>pXozR0koPqkZ{x*zs#@zJ;7<-WH_yyyJJs@i**8X?6>^QTXHZ5ep* zxZIWEN5wj;HvWn{-crze=H9~9ViRv}eqSrKdi(bnDf?yNn|hzs?-i=)>wRKad z68G!>^zRGGv$>dj{h|Dkx92zb&R_9+{`x;B)-``wVs|9FCg-(eX@~lSV~6+7zaUV4 ztvdUM!1_e*b-~~5;|jdpU1MEI6@2=-ES^8K++V zyw$nB`}U3V+##f*WbWcO5)=hM#tNfQ2$5*Cb2s|8g&BnWyViX8;y&wL$kKURlOq3IPII)qdfW7s=W9<} z>$Pr?i5D{$ubFVH&E)$8(PMGiE7Ui|E|z;Dd9_^W>z$tq3sdK$MM-j3Wx8|7m~nA@ z74BtnQn!lLEk8N=)gHO**5t4or~mAj`M`O9>ZQX^Pw3rQQ)jb~SFNkGc)^~@$2#k7 zx*T@;ZrZoDU3$0flHaq#E}m4q8+OsHWbQjP#u&?sI*cOPT5h)@t{Wac=P0zUG4@6b zw~6`kJI(nqKaL&!H}n057uKAdNxFOgCO2-KzrQWwck%b4RiAfH|17k}@yx#BNZwgy zU)Sdv=`Fc@LstHKgvWhjr-ZT-*~?l@%=4Q?4JNPKUT|Lf)hU6;55nwwJHFQ@q)5+` zzqQ^+B7X{B)-%WM|0_IK$8hdRZ}Q}PlYGCXA@Ecv_f+SfTEdE)4_R%^HP6b=P6(TI zy~EKZirubvbOWknkpqqiz~nQh#|x$BXgT#KWJNX4;!znwLKLF(rp3txL)srCEh z4DO|S)=dvO`Y$*mz~H~jjmn<{WdeS)%9WFXZkP`F1Apu-weK!sd(lwkIs~{QjT8cv0-8?O&}trp}4Z2vfCp zJ9A>Gp|ZGj+=Z1!i)H^`nK@BZ;t}I^*1v03oLTWeDE!yIw@VbV-%CpwfBKT*#{Q-C zbe#O}ANg)+PZD4Itvcfo{Oe!l427Fp%+IKFvn?&LDb3N0p584rtzq>PTdwktJ)45o z)p1=t!Mx+djPU)Nw&y*Qdg-v8nXOdtRnrHHSSJ?AJ?__8XI^nB|951G+ON}3ueh{5 z`MBWjj6FxEtkBtYN$_Vw(i!&kTV1+hN-_#$srV(Pn~O3 zLCE#T6*0^wmF~AaEh|*(&kg0M5 zcj20eqW2cQ4?bD6f9mY4x&oQsbJpF?n`fmI=5bMZRcg|U4RadSSv-zcIH_-;$noy& z_KeR45ihr~MD4m9y*KW(p?vj+9XAaOAG`2hJ`-)sve)+Wv}MBcf@@Q`z7)LrZClMz zP`xvI|00%SOp_y)gvD+acsI*e_Rn+oyH*u)Ue%IcI~q6MUejo3x3acz)?SJCcGoxO zf7p24_on%g@4`8CKkN8!{NYRtu8BGDZ1G%srrGtg6M{cYlr-ymY@1;GBa3l%czIUS z!Kyj(dF~&2EZ5w8UB#2O`rRHYOYQJ7)$oZ|r2?{lv&*v=EO1oadnfd-py>C2Z?b9I079u z#ry7*0b|X1yTl!x<;r*XIR~s~&87%o1754D;&Cd%NZNKQ5@%8?=pcr~D&~oDz zlQP}2g1I@r+h6_pZ}#XJe}-3;q+8|Gs~vM>kN2GTxPjg7P2-%Y&MZa0_T=6;v%=xb zpLO%1c@2zY3bNancbz@3C5OS+_Em4VV%Dva3pwcOydf0qPTYS(sMHSJxc*PE)&wnT0< z-Wz=)#_~AJnf*7`-kiCs`p})U%dc1}wf-}IZm{^>$W`n+@6}wrgnilD4+cGsZ27st zYVpr??(LSpgr+7gvubF|oSG+X*a6uSRy>XoOHy?s&o6r>)noW7l=GW<=`E9Ww~}+*KQ6t`&g8TATS2dI!^z8+ z<&tOJ+u?r8N>SzJPa8!8ewte?Dc{f% z-RtIT@7TXp^x0kgz4zk2Pf7PZwKh9u@*~|NZS$=>yn^C#OvR+HclAEHG~af? zRGCB1Z{#HH)0Enx&dvCDnH%HVAGy?jDxkA3z)dFYO`g*@M zJT~+5!<@%wc5-s*Ud<7e+uND8XJXUZ`q4FU+t}%J*OkseT;lpeCC_ouf|)k|9DH) zVTQ)b_umP;J*NW=hidnv4 z<}R*JOeEI2g-n$WG}S)cu-!5f8d-+z4NMndDzr< z%`8>xR*AoOx$5V}gP+}ns{*zeE_(iWm)wiY{Z0#>FP1v|bKP=5^L4ei(iX3CIdnL7 zu2z}bJ%&&-spa$4k4r3{U;e#QILRQj=ESF4@{%w5t&TA&xSQUwTzg2W^v*M7{Vvy! zY4`rus%>pO{JwvG_vV8atS7?x@Sgh?Y#qP) zq8i)rReCZEfA=Tr>utX~(Tl&lyK|wEll8^$zbYQPE!fYTDvtuS-!>m zk@*54`P+7rN<0?VUfPwKp|!#{{9@^glEQDkzmA#wRIJI;XXAUC8gB7ynw#@&*Nf^d z7jIu(wEW|u$u*bOEZxD?y6AEAA!+`LdG6vOo2KpQa&vBX;ast{e+Wof2NzDWR?9!PF$umAf#JbHRdX?HU>#OmpJLu58mR9 z%jX4K>aa~^v|D4x^-{!vsa=Lr_!7dp ze$J)yCCuA|Ss$gQ1elzf)Tv|7Bpca$L#X(he8p|S>XVZWvT=)vtajdIY-3b*eoC_O zll6z+shC@qH5*mDQsIa={NSwARJC;v?33*Z^mX(a?glB^O$mCodm7WiWQLL!RrZa# zIurk`t>T$|VJ4%*r`PX0Zr|NwxmtXJbVcfRGhwg0Yow>n+@XGHW=ZqRCy%Z?wET1? zt?lmKj@Td5xA-}{Ii@+`=H#NB3hr&ie`obhZoF{#mDO&0*M;91U&snv3EQTk#j$r!Z9|E;&B1_tl$L^zz9kRTv+Vi|kf&4r0sCa<-;_sAR6T*=&9Han*C zM~2?pLo30%RR=DuPj~k-CD(>7=s9|{FDRzOMfWKa@bAy@HmxuKDID*iZ!D<*T1{O}3tjKe`^Cz2U=Al3F#rr;)87ar;!e*xSN-rU$}>e)%nL{<-c;L+R}| zX=it>t!1_8Kf1d70`pS!GrZ^4Kbt+_S!QXY<{urIL@LT?pkJ9^>@JwKNb?`~=!w-8lMM>A3SLwfyFYQ~>>3s60Zq$8& zstxN|)|B2BI?AY_5o=nacaQba#(f(%SFE|7)A*%j*Rc&MA0G)fg~u)Yx8K$F(9}b3 zY#W*;s{Y})AGI>ya`A926uFdZ?MwOS*Pvy-{@!{O+JjWcz`n}pPl=sDe8n5pw) zd8Tn-WT5VC)A=h-o!Wfsf~Uck>2tTRF#NJjY1Cmp!KXg^{=wo7`GT~J`hD!5JOigU z2pT_;eR9X3s;icX)n>;P6{{@swkIkPFJf}HbQ(l0Gn1;}-+N_6nZ@x4edb4e+xH11 z&i?j59%LsaBB^CY7N-X@{s%_JD_nGUK|Gly1&e!12 zMd7_`?|d!pF1oI-dpdUivFW=z_TCZA3VrwMZC6qF+o?Y8Q)ey{o}HUyWM`{vtvDlW zD&Hl8iSn<0U*D{uYb0bDf0j@3p={X_F8xz0-fnW;byDbQZNQfk%isJ}E69|wK6_~< z*9o`e4Geero^CnoCo!vs|Cj71vky z)1P)aqu#drhS8sUM=pCf2Uu%;=JocSA3dq?@~>INUsJTMs!T3qcMku4_r_J(qMyb_ zPLCDbGf!LPJc>KB^!y#$fh--P?(`;>{TK9+`TYLGwjQQkEPs|V+H?Nce?p<4 zJZ<4?e@nM}tw}GBT=kjuwsCjH-)%qsSl;-t^VnO)$VsRD8)q+nz0~tr`v&pyGYdZ7 zUUQcJv-a|B*Pn*BwXMFC@+W%69iB`k-=I^qYi;B{C|{{~;dW=yQnTng4IeijKlrO; z$&}y0j_n^SPAq<$yrW%FyzQ@#v{?Hj!5;$yq^%P%P5|5_ej+pxuBoSH>|!C zXj<`UU2F{y-f`~Ce#eUic2k!G&A)v3vZ;0Hg{9eT^YV{mEB{fsEt6+E%S%1y>ffAu z^+NOKO)|f%`BUwb@!U^xH(fXB9^M)CSSJ3%+V@_eYcmCd#Wr{Ud$K-k>a3=q_#m|u zpA4gYn{AGIzI^&^ho^MvvHc;B1H)_k z)=OiJ*flN&kA0`A&I+2A@%m%HonNb`Dk?Nw_~0#Q}=w|aAtDUp zDKCCd`s>cwb>b5Dy%?{H-<%;nUH0&f-a~Jnnch~MF2-;?B_0T z2wFSkw{6Ap>tPySil-EmRsGc19{)lp{j#}sjP%1@Y?is(b52cb;?I>~3Ex{;e!28w zsH2$gC#kkc%1>sretocI>5f%u=2I{CiA1egxwSrMAO8-s=eC>TyZ&GJufE&qoXr2k zbMw>tV}<#4nZ?KZ8@gHU)p}#!NbN>g|6%<(t5{Gt25FoF;!L zi8~i}@_MA-ZSC1l*0k_E735->ary1E|Zu7eVNSG#bq)N%Vc7|7O2}_(fD?3^L^EXauKo@)y;1Q{Slp0>wiI3 z-orXD@mG@_XR~p{lKWP%|M*q@J4{wy`aaK5q@tdAPqt`9sf=7D^&1$(FXFN?woOV3S^-PfWt}M5wsp(#^y05(sp7^lUhAUi= zQSHEtbrVG1OwhaK^y_BDu4_@X+n1ZHcK>#pTdP)c)9GvCO3cCeXO~R-5qIMDDc@-| z)9SweI)BM|`N{MfavyuvyE<05y*WFdJt;f+Ma`40z^z`-kIb?7mHuPmx`WG(e__wA z2oi66CSh?lg7syQ<;mF9-(GDM`Cf8Cd|q(eiVoiytk=a7^ddemO8?wB@%?=EHBWBo z+DQC0eaTa#lexB0@EW(qypOXOk4Ei^*kBk{zH0mZ&U09Yw{8VQ3 zpK!+rPdn!S_1kXme#gj`G>^}PQ^&$=shrW9Z~M8_Z`ZqJn%_?C*O!s{t;O|}Q}5obopm%z?Xhgq*(b5t2KhJ3>w~7< zz3+ZM=V=|t~&2rWzb8p`_ z_n>#!gQd!Qu0-B&?LMfj6nvZGr5As)&T%#q`JS0`%+BdH-*dPwcG^H}RjGCI)^&FS z)_QNPYd`c=WTH3Y#KUpyE}uM>$BMsvqM_WdDe+ZMe~c>Ir8f@kjN5#)zFc-ZHS;Ck z+pO!!Z&rT2F^}y)%1Z5;k6MZz-vr-X+H;*ZQ+s{W(e`;1 zIOR)M#yX=%xelJTuAJ9$S47ObdaGfodYJohum4|VwC~IAQ>FGp3XY^^6tGmuX%dg!R1-G zH(g8m_o{|*i(eHx#lIn~ecK0@Q`^^0Rx0_B`+CE7-hiL!xr`D#{~mh98b|~mp6D09 zuPsgMiE!_XwWrm1Rw{7)dOXWMUOi3tP`+ZuKCNpFS4=kjcza^I$p7bo3qD=)zS1z~ zT43cHt6J{4+wvt>-1(dD_w>wSt>5Zm|7G1hbLvAqGdS7RqnJD!|6k~Jm}zhKU%0H% zMr!lZuNN$>+D~^}|FmJ%_GUoe`re>0r~e3y%|d9xa*6G2_WwkELbnla@^jPq{w!v`dDrVq;N*n01#73y-)$USQJ?cH1EBNxB*NW+~ zuI%2K<~wJLud!TjEdNMWsyI2a=ZaUn81vE~i@5To70g;QzZHh-r5Flmyr@WFRoh~m zI&Z>)xt3KYey@+o^4_y7xAS(P_nz%;cZ4Ehf6Lt#Vx9VL$Cob`vf@lx2PJt@EY&Er$sRv7f2?q9d;@cRY6 zcRy_kTr0;C6S{BC>Z?1yob0Nb*7-BW_-%S)IqT8A1+9+pzdbHoFWa9YlW5gr;3xTz zMS5Xdv+CuBIksUg7w^kfrP?TZmurV#NuP6Zo}m1O3@O_`XKQyShAd~y_`l}7EZc(4 zi}Uu_cT3ey^uKhU-TjWd?hOUyFJ>H4PQ6Y4ekU#Ym(A7h7i9mnE2+$)G|fHkgizGl z6+s`4F1=H-@Iu}5pv8`px>DRdbrijq7)@hnIvcrcrbg!}cJ=L{YOSU(Jic>!iy9~G z%W_lT<_U;wc-3w@jq{p|;hyW+E3FGYsrBC?wYX@(1RJw9;eVnVmNo+)!75k2kIaz8l za>)->dbxMJ%9?%f=kE3|2ctf-d?`Pg%5qugQZxUJ%bOqat#+}#6O|hNKgFN_+?Ld| z=%4dnv~}IQr`z_htvKu9={?VkELZdO%&^+_aMEUuTly{LdPP@R+Em!uELJvsS-a`s zhUAQorQyM=bSpaNK5AEY?ZS@epzTX@2-D2DVbM8wSO+G zPVbQGo)L4RszkQWrm%dKvt!Gz-{D_6Te`!fl&<9eJLZ4K&}IJfO8$TnZBdy|mdcKo z*Oau)Sr9Lxbu@x!^=!{gp(e-XRR}J+!>PGkq-kBVc-@79rm9-u)pjR^Id7>}PC0vj zlako!_gT{nHrZt?PT~7z-l`~XXZmmN+r}HWNmb7&xoDRH|6aHiB3Kq5$*fDYqf0HxYS((cAVu}@WCo!)rM_SCY!5{zYKOg z?{IoSWY6?j=?+C3=9XBUT6s^g>6P`)w;vyK`F&jywcyv!W8Ois-fJbUuKfA&a*^%T z>1z#U$j|0jUUezI>FZnON#Xk%RQ69%%Ts0*%6jCb8@$MK!5`U;N>A1G+irL_=>>0Z z_Ec!M4KvvO{Y1I7?V@K7)yhBaQeyfS5Vv&wliW3j)EG}&cC}q!St%W8HK*+Q!{s?M z@7c`Wcc)?g^ZKVhUWP7zw7mEu*MalV=e5NwR$thjwL7U{GS`bk6Zw|%tvJp--!>?aP`WrV{8{|9j<(Ap1bk?de^6~&t;hFRL$GTzl-Z#^Mr3fh8E8Gm*Se< zZ=EVBXOtvC(YaJ=dKOgGE^88 zJqp>s^j<7;;Hau$dzbc9W3HGYceRr5#;V>Uu6aet6W8&XZsFPT?CrB3e_HQco+R=z zv+;`TH#;sr^Ocp61=|eNId|wjWfyjx-Ywl4Y4gZgFoQYHZ7%<{D=w{4EGZK|rin_v z&^LU%XU+7P(|u=8=Y3wfKQHb>G)J+cd`Z{ms3Xr=ZI4c=-1}ST%xbA6mD;&+zZ*T` zXJ4s2_&vaEiHQ569b3(&iuM{zeXHMjP4AD`uCI&kF<~4ok7N6_$f5h4TZr4hgr)kG6y|q5z#){61RSgl(E+4F(#d=PA za>-YH$2V(Moro(?+MG7C>rJdu=cei3g_J&@esQ4O+W1Gg`OOVd&1?ON?q<$&cvgOD zqoj{twRwM9=Y*J~%h#8wZCJ2Xc+Wb)yuI<$7-X$adp&n~_@jU7m%P1G4BlURq@p_i zqw|C1KeK)WE)2?!OZ#}SdyW_X{E+HO*PSn(ILda~#VY+$7CL!ZU+W*oRF}rbb6ifU zw-$d|maXvLRm|f`;Pse!lQjfAOu|$GlXf^NTzv4;O~_Vf(u?)S+B8(Sa{CnmFNe-? zIX`cYOlL}X(gDTuUT01`uyg4R@GjXaqoJpu`6}wRiE-rjUX?t7R;{s$<)VYW?f-YEcSWI(=DsG!bN-Br^#e< zOxFB-AyAStdn4bqE#fZw%cjmgGjDm!j+H*|{pQU3Yjin!DRX6WU6p&hfzSK*i%Y85 znI)!nw0v#jySDJT^0M#A4m0O%x7T1j+%R!9m+NZXD4)cSl5>L$BCItw>fYZgE_GyE zP2Q)R2Ft`yVZJ#V;`+ZySy`{Y68CxGvHp#%yB!$jPGFC?9(a}^&nazI9Jt;7W>&lIHyi1dJKl=Pw zGbs4f%D~3H+jkUlg5RFF@9-`(zC4%1^iW{+a?=E^x8|M~W7hYtTrc+K*x?n|l|C9Y z-FK3|Tz~DNvpq-qYme^r?ca~o+1%Hy>)$7nrKMc#D_1D{oOlyw3v0to+^GCI<$AR}D|9_kp@A>!fyQ$H;g2}VR zU;KS+uV?V%_<7k!MITOAnch4qB6m0P@0E$Qv*sp*t)DzEH{3owy6b+k?tj01uiDn| zEeg)f7q~mYQ0R{D{4GLL%8>OGW_`lq>yKr6mZuC}% z_RBmXji&b+xgA*K=IFn=Y?@c3Bfs^>sZBYbC!E?eZ|T%yb+&)6xfFMl&6K~ZSoQxV z+rim0XRpt{n_LuB;(s!DlIpg$ko;v0KMr_B+_VXIdMG1Zw?X_I;~e7l z+)mSp8yLg>N-|6Se|zWNl~$1*-OTrW*s>3pUtg!y<}~AD(Vrh8+7bD?4^&l8IQ6_S zVQ=ULF@fDB*JkgJJSr1m_M>cv_@z0=KWjd4d#@CeFPPAvCGkJd=EE7wtE?Apy|e7P z_CE5s!tz^&9J8ir|6qtu{ucadO88&hRq^ceocD(ulvEAj=sWht^G)WmseU2x34SZ* z?zH4Pd0s!xyK0`@KNI#imtX&NHL_Pf@lX8qN$*nsRhB=}`30#};c6$Bd+2Jk8g(6U zz43KMZ|AmGt(SSNqD`GS3$C9DTh+7k#LL4|*ZDsyoM`-OkygFO6UAu6<(L`4~$AfyxLa#cc)Y&Y;$6}XuHFy zwlVP0^x!J55Czq|3mOk=U8NUw)RcHB94neCG5fr`qT3mH51x$KTm|>8xw%#OSS($B zd@q+R+jF-IkHh@>XEV)_Q)O_7BmOP3<$K=tq#bunPCwWi-8uI> zx8OtkD$KMyW>YZzYyHdv47p54OPFE=Z|{%DWIlGGVV=rzEB0reP1aJMZ+S1w+)>T5 zDmD9SX+eJ^_m_7YW1h)zkGs0`agT(L4{7RNhj_1gE^FzU8!m>$XYM1XVxqpZI z|CRiA@6N1c{qTmZLcg%0S}IVuqVdq~$maHc7p+Yy=6Un^84#+mvLh@86ej%-iv^T-N_en8S5BqngdzKHe8TbLaocNjK`nt2XZD zh80khS7vt~-TdV%E}S;|oT~nV*?dl^J6xa4 zPhN2FYU?X4~={4%d=b5_xh{RdWM&@9}?b$hhg=@-p_2 zTf%4Cf?w>E>D#d=Eo`an#Iq~v;!?%@7g`#-sQ31MIU6{~zR-E z&d|wt;UpgZB5ekCv^7x|1P>7lIrq!$H`syI4?ZSQc6F#MAGa3 z`DbBEPlryKx4QO>68F7-YwX1TUD?bgmb0xndDD)aS4Ea4mehTY1JDd$eb~DU3PrM7-nV5%tBTZ0nTM zmlwpu+<#^C=jGi+hmTh7pXYjie$oNgr_W`?#ottk{gt^;SaK-!uWQ(*HxnM|J2k)X z7SwNE?Yc+At}*qSmGg?2+Bq9D+p}zEhb28cy1?9W_C0O;jLR|}2bN83|1jf~%UVu{ zcjih({4$p(NY7fRF>9%?-qDrpN|vRw&mUO1z0fbTZ@aX`a=x#{uX6S`6>9xj$ulQv z?P9-a{^wV6)-jjn-CM^oL3>S9c(je`Ec?37b=%zK%|o>A+*{D4NoJtE`l|u9`_Nj@YWZ>8x|sT3heQG1q>Gd-qP=zv+Hdftzh< zc*2^4yPGmuy8An%9FHbXnZSROYv0%HN&fv22UqXN+CS-c^oxBb}TTKU<$CBxaCun+|D;A9;g24&kg@Djf49E|C4w|xf42#GJ3n1 z`+Amc^R(We>?QMN`rPD=XXC8b{ft=@Z5N+g(ut2-wi_QAA^i4 z%vT5}UfTO#aqmZd(?6eM`VLvH6|KMgwcm}!XNugh=kp$Y+Pe4fD()F`x`Tql*7R`; zJ$f_wSHsEO{*p`HOrKw*S-q||p|6%h<=4ZB^-6+n>$O~kdVj>JTwL_gN+|J7)^v|W z^|k;1D_opZI9=i5@#p&9i+X>H2!*a^neM{U85a6ixU)!pCrhV|f00n_#c%UHLslza ze4zeCCF|dkMi*JThbmDQ!vb#hF?asz`Q1L_+RXeC!?oN>Yt7_DGDD5eNnFkn$u#}F zz;4;qn-Z6sifWHcNssw5@s8e03Ku0B!t zx^IVO%1l)oo`_u`KHA-zj?LS&b^TWS>(2h2sjDWw z*o^%eBJQO*M^RkyHZ+?RMwIAbd6_Aj{U*H(GvYE#L=mlqGG@Mmx&Mm}(t7rq*O z=bibdgqwFi9a{J6f!Nip^1q~9j~8vf&bLBtnc%Fa_3y9$zQrFO!j#HwEtO#UcNXiZ zch2|!PPneIr%=kKXJOpdcyVXmlNZhy6a~iR2L7I?Is27ZE9d>@l13wO{waHZO5AUq zyqZ$s&1T9e6QsmzZ&&Z@d+5}QOR2$2N-FF2IPO}q z;q~$$gMy_l4?eu*cUf3;+Po>C(aOH;Ub9c(qG*BgfzXx?2`mkYeNG!Em$qJBY4|?(cKry_g{Kjy5CRn zeTRVR^*2|$C+!aj+_YdZW7to>22uGM23JqTH;eL>Tu!dDtqRzD%Y2S+88r|~jP~U6w zm>Y#o0tUyI#Xf0pJP<5()O^yU^+zR6pL}>s;X&rxkE$sTuRCe5Ha8SaQ*J&}DHpBr z{guwlBJXuhu3J+NCf09G2#amyKBMb7@9>LvM|PW3NN6{Et@Cna-n!qBJv%Qfvo&@1 z+bbWpRJR1o?UG*S!m(4u|EW3G-wy`vb@%&LJ(|gp^kAv}yj=y?ojKA0JGfJ>OKGAbc zcgP#{wJdLbM+HqX=YA$JLI0S5@!chxoH`YzIkJ4Tx-Fab>GkTEt?|ZJ0=63VJg&GE z(f2rX?waWu?t%Dz2f|EHa}e4O{) zjOghb?B-nvHaD8RQ~thg^-2G!i?TQPs+~^Del`NtQFj1^1IZR6oxVtI4f zNe;UwGE?Tg+`5J}q+gFY)AVtirQZ5`BL5$KbMnb}x%u?;Cu+KvH->6>m)_qJXu0$7 z-j!373wBrK2fb#Cx&6|4gNaf7;#r<=Q)XWAJF%qfT*~*{`M+W~Gt1+h#m(Zb3eF1U zvSJcx{%=2NW%ShZj7&3lEU&(|YZ0rx@U(>Hfr- zvgTXTSKg_}s=ZLkn77zHjyvV*$>XQuqYlJh zQn{40Q{`&eW@cSY&V27`Obv}{t21Q%q+uGbACh3?MW;z zvI`GhS9!Bv;Gdr5YB{^B?faXhyW7KGNxg0O9U_--a?0;R-X;AC#IA1^1QhI^<)yTsb!J#{3(f4W?eQ^*&s8eC5|7Kc;E-ZYG{}3|Cqsz3z|VWO*~s zPn}bO?N+z1TjQ}RSNvOfOR}lpGLPx|WKGN~7FgPRnB}rALd|nS+p-T1*)#5Fbd_5D zKEknl|JoFT)DnIP!3P`H{l4N;7$J~$<8Q>OT>s_4mqKfv2tE~*w%HW>X~L_ela8z_ z-qv|lLeJW4-PW%*e;n7KCPwfv+di4XWYZ@i2zJo_v1=~dn(o1NahsQXIsqU%cx+KX12&U3Ir6OR0zB^~~?-zi)fzT;yD`a#MzjZ+`IG9SdG} z{5H;C`Rj0ReDxl6wxk6j;9|af@b%D&ua|W8y3yoqcQS?948&E3Q`E zJ*CTBbBmqR&Izw%b4$NB%xB=3?5kK%bb6iDukTk<+TWMm)T@`9lOd-c9USa9W$w3`j<7sR(umG5pDmge(2x1 z4Vel1FT@5f)_KPf`z-Tfv%8tCTG6G`YC(R_kD2Yz;^tFJpWEiY{NZKJA0-0|(y7hyOt#FtXSHS&u|Es;F2PC%Vn zsa(4tGEL1>*X*(OOjTtyZ#DjX#ZtRYE3cA2G2ww_fF5ZzB}vewcT2B zuWb+C-|2Z*S82=Dp8)+c`J*$mKT+X5QJ@vTjlDoHE8GPaI~?3FCjvx8;BN z@@X2(D^>Q(3T!Q2J##zz^5dyImb+$rQhw^)Id$ozuNuoWl^?oEh&XT4ZF?;9-?*~g z`JJrH;)48X*L7UwN=lY3_`tMH&D-{KmW5|ziOUsv2KUm zT5lbtqY{sK&K*f~DY!Igk|0}*qhT(ePp3rXoKq=67u7NkimEuT|1VP+85Jtqn7a{2%IB6&LxJui7>BRg` zzk=HzzW={WdEQ4^9sLxMn%jB_NL_B`ubao@2s`X?8A(P{4=X~)CwJ%64Svtx1C9?wn3 zV~)N5SXRHP>JwA``7_GS&sTqr=lOhUr>j`@^$FVp^wy_;D(umTdVYQS_2hNUT$@%f zTS{A>P_h&A+~`q%?p|6%$_&%38$I;9OJ0d*9D26AkbA+8bnY#un4aV_yg9*`&~}ok zry%fnZGy8?jm)YWu~C8{iq_dBnL&~}r!6j;@4dUPk}pL+++|C{$=y3*{_so|&MK1W zujyftSh!*>-`>wJc*JflGc$ExySV-6$?RuJ`%E2kmw8)rT&a4o#ptV2&&t#ur*%Kq zEHm|au-x>E-!}Ee`@dFrdM?j+UB$r2>!!)3o0S*ee?4vbZ(W<8pax-)byvT}ScjoxB{A2aEdFvG2Pl%}7 z9h!3RzzdZ`tGAcRn$8?5czt&BpA9>d9^qmn)Jo@o#vh7Gu5B-?l5#0GI#7N zKl8QjRrl@JwTG9Q`U@D;-AFj7xPd2Q!fS&ZB?sy66YqRtxHENC*ltnl?k$RS$2pF= zsWQ*$x?ldpI6@<{fAS&QW6g&hL_B`y>oF@88#HsZaVXqnZDa2_yf@tU+q(K$$?qLK zf14|A;ahP>QYhH}N$_{iDErKnc3p}0Pd!;2I`LkFF0uFTf$s# zC2ihuXO|u8sYP4WA0DYXA-}_J%~{XV*>fXihHtx@zp&Yn<;a6A`P{CufvguzL zcZSagzJ`_dVJo!%&JcS(ac|g^EeF_V%bOLcY)oLyG0_Vz;Px?7c*9+|^U!Mc(^E@A zQv@`5lv)$_NMF;J(AJpqdyUu}hl(5BN9R^t?<{9}&vLK#Xqr-ncAG2riJLQKf6!mi z@J{H@4!OKGFP)MwAGyP&Jn!#**fnMIhg(v!j~*%K{#+>Dq{pD}PGFVD9Pv~6K|BdZ zjNF_a3eJx?**MYO`l{bcJSJrYo9FCbHw;) zgCM8IZ+)gOMW3G@ZQ(k`A;*w#A|c4mr23~u)cmkGr-Gba8b|Wj1>djV)|q)>?KiHx zDNi4)IvyA3{Il=L@8`#UF8HN8+g7wIswhK=J7mxMMJ?Qbu1lZ3@P#Ry`^aVUgv~s^f*TzdKjWL-mT$58;Ko}Mq-0j|wg$9Eq$$eu z`kFq>c=%N2e|7H5>5hvkU9vJ-H(v8SBYdj)#%6})A9Oc2Je!oqH`BcISJU?kOF6mI z`*e%;^4+?$^y9J~RWn;1x#;=lPYBMo*dtu?@uYW;{#Kt)E2q@VU*#ov@V}c{WyB@f zdCoWLH`mRKpWl33(C1{8(2uhGUiFy^Co`>o?(&|?KZ*U%W~FbN-`>h^XuL5?bfc@b zjVDiG)a?)96_*O+^!`lyakVBzT2grCbloSb!t(jA2m*s6=w}CP5r|t^tVBWNkbKHfV z+dGRNEm)`ZCh7O;XEJAbgO4Pb-~92#rz+HYBA+5_p>6f<-n_+Il>Uh2eb}8dz3tpz zu@6_b-PHNl&2Z+m)5Yq-q&c}ay z8t#j~xT~{~Nv!O^GS-;SGB2tm`tUoqf%+N>GWJiVeoZ-=Un>IC5! ziFN5yoch_tHzstk&+nOLSjkZPlKqF9d9d+z1Iy`x0#zL{lM}BMojmcu_j=;4B$I{n zQfB5gJrwJSITBSOC}TJyRWoL?p=CpgsV+v+aM z)|{GH&Y{^zo;zZldwJWWS^-9)0^J-Nmu1l-bN_6IYz&HD^Vli^|h>KabuvG+upyPQgUo1 zpBJTNuV1J?VcR6e5AzPOx*gtqeC6D-2Y$Yd7H1PYo0+aXEizra;aE@Iz3|DudEy;f z4v9Gbys9X?u;~@()ga#WnRkUvNMy<%Z4$R@rnh* z-08RcA8lUw_6EPTr_I)2`;M1A`@UqlzkIWPWyk5e&vrbCOSTA|$hCCJ>DoQF&SsyQ z=@nlX{#&AV_UYe`R#q2P{H@n2yb^xU1GL$-cQ0>+aOgD)yUELPZ!Pn^wM<|^#>A%3 z!nMmb=rZa$F@&$yoX8@^^~$UFVyU2UhkT&HT5p-nyLRu;-&OZOZ?(pcjd~ujtX&Ga z9UYfiwL)KAx+=YV-Pff~jkkWzEq>=?7j^Id=kJv|lXsTCd%pAey!XyqLR7Bs*+!Q? z$&|i2RZhA$xn%9ZtW{gC9ar;pV_VN_aUdg^{o?+K7oy6(l=eP|{ZQNV;IE!-Sx?5h zt%292wujCA`$bkhTyRhLQd3VIErq2gFCGgz#~$1gF{SU{)72?XS0)Hfo_t$pnQHY@ z>zGMj88oCH{4f1*mqp~~)K`|AR(syaF2CmE=y0Ts%jm|B(1!9*LDiN$rq?&;ZF^xI zGgD|%sEE799(DdV&#pz3s4T8jxo|*ZL0(zSI>#r!&X;z`%oqIa<|C#2QB+6v_>GLm zx;KBm`L@}PCLH-1}D+RGbOxl8MR^o3c;rUyv;Z_3)Z{AKsq zKi%Q~*41u&JSRRtw@kY3;jK5%zWks4?#fZ=vV9FR>MM5m^N9U07Vtlu@jQLQV}9mo zerxWlnOpboiaWmh-Q6XnwvXq;2J2p1n{fR^K=~o{%_VJC|97*f+?{w(%&v#2?_7fD zN2lJm%v&1RJH?$WlFsM(h|Ttr^xEsQRcW26MAf~m+g9cEP7$okW0H+@`W}5x#s6>D zi)~(2o!1ZEzoMI+dH$!i%isFue`+6iH~;HhYh^Df_mt~}aU zeCzoAANrTRNKe>xzd==P?U5ti92+0!@BX&iH+!XT_R7fLchA&cH%;{Rjo9R=eRIiF zl?dJ#*>7j^Ctmd^P_k-1D9Za^bz7o)+c~p6rpFsLxvS{N$m=G|^VF!Bqxj;OZvTR1 z`?H1Ej5=B(RIc>4Y3Ju#ES^-hz*y*2(`I3_l@cx`%TC@@ifuc)u{@zSxfU|8AA^c-_$Q z-<-)iy!k{=m*&2> zck5BqVc+m;8`Pf~XXS922Yb}*XS$bM_Wpyjnxj|v-Bhnxuh#WklUdVyt>hXT4`cJ} zwf}oQoGd7NoH#e9Ua42NO5ntW{E4|IS=Qatu3r-+`)Wo&d(WPQwKJD;Ud=1Ao_A{b zST}W{VO~3&rN(DRk<|FGUag1iii1LMSW)$zS8)T z$ezWX`>HMc+=n}NZ!KfXKdf@>`MnDwmFsipl0%b~sPV;Naf_J}w=;mnJVNI<|tlzVu`K zxyA*YlV>Tbgm_ln;*INnsDF$z&EZj82%|#!laJ}rUyJv>uVR+0+_K}|lg~AiYxhY# z+u8m1vg5Im3zKc6ZU^(XPA_4+lj+d@S4K+sRo{05wIdygloU*@zh+D^bs#X+ai_IgysuMOI2*jBl9l~bCC`%TY_?Q0?&RMXCU?>V4- zzkBL>W39T_Ja6?w2e-*yf1>oheieWAKEcvge;aQ6x>B_5L&G(u%**0ZQ$LpEe^Y(w zlo|1UZs5-w#T)0{KM}T`foHPwspCRHcArGuSyfiP;#>G>Vn}Jbffl==-O@Q99gFS5 zJNlDqK7y?@_#?bsAy{8B-_aT#;R9{oLYE_Jzg%$PXw$jhsfo|L%1x~Ke= zTV^|7(1|t9Zp+tMN*!I@TKi|ZvDQuFsHgH}|E@m>Nbj{(eShcVIqBO%g|buZC9748 z%Gd7sEZnv~dSi--jo@3BGk#0*>Ywb4epy-k#M0h2$0_WIrONk{FO+uizMLy8eK=(n zcMZ!YR{I4_j{`PrSheozr;y?;jxQYDrgkw!ez_R*izBKdPkZt47iLdn&GPPeH0@fT zn6!S?W=~h^ORHEHW$B+!s{GER_2P`1Ujpm?o4IeMl~3mE=!`s-?vc7W`oy;{|HOGb zTc<{zsr9q+tYZ5FhB*{Zy?OAk)h_O$eV7(__!n|&Jl%xhOGq2cX-km$8U>|qqJ=Y$-BZ{}u87e)abo^GEmkGViuch=mzluq|+_8BA6R&Ok#Va-Qcaqp^ex;8$vodG2a!c%;xM@qxvY)lP z))ac}O<3!}wB-I|gQYAl{2uH%baraTo-Q-Nw#`h_lT*LTJrG*9Oh=6G(Yz@~OnZ_Z zX_qB;Zc`AGDJT~E%r?=yreKeJ?;nQkn=kRU%;{S7YR$nlp^Dm30$ww9H)yH_nLG*& zSfp7YmG2v5xXFHRS2Azfhv1hNBiL2Mw@Gwl%LB0QhWgzhFRDD*xY zJSWO$vS&G?^%ST02{StO?&`BMd8Ff?UYOR{`8{LXiamY5S(QuzG*`#0$b0#u{b7li zy2-6+f(sj$`m#S;Abl>-GNm;&GxNy8i?(OjD-UZaC@fFCFpF1n4-*%sM7)~dX|756 zFLqbGK6>EtH%Xn|{)rkQikebKD;XAUl6;|~a8~Qa|GLRFd_|j*@1}o{S#adQ-o3kn z1@;!snfyJ(s7+#??Cs9!5}~~1b@F+-51ZJ^A9eHpoAKu;>&=boAGlXa`Yzl$*H0ke z$(6vbaYFXEz(%=gYX^ z&zrBNHA7*hi)M>mRmrKIj}x<-8Pj} z_Wp4|+Y z+59?&vsLv$tEY8di?()`f1Vt#_Iv%U1)nYQwc z(HhFx(%a6M`&-Ppb79k)8_R1sVi_lg{p;U)a`tW|>u+K5L4p-$XFZwqu7h*)p^K*L zie|GcDf$|??-N5}m{6kqtg~{zd7WO=RT!V&xcy!xm*14=#pTkkp8mOyxV*K#^4y!7Umu?043ZLAuqV$xz;RKB$h-NQOSL+D%{k=y z|GNdRdvSB0Sf0yzyT1AJlmwgq6+5$YN}Wjg+MA=l`-^$S8jfQ*@hhJAMx{HX+)B)x z#j*t*F~@Se*VpkJHZ^8x2_&HPl%5G#P;?~Uu+$he|YETmM0E@i;w4Td2A)) zG}U$Xfvbs=X2#Yutoa~yTQ}$sW0HGiMq7i<=}mh#uJ-#F zrExFQozeZ!bUIwA%PlmC>uL zg8cYKYaw?jQU6I<2YVJ2ihX-9HU9CZb!GYSGlF!@S4KtkO}A~jDm7i`r?J7+maw{i zrDA7_V?u0v1Oj7H?_NxL!ku-pQ__FY752Foo?P%cs*|r=EIR2R!(L^}j%7PV{zWy5 zhg~&Yz*JURutm$XBJ#17-jT4SSM9bn{r6ZM#^ca6|N5kLMF9R+;nf28|B*I%wQuZuYRM^T(o43kbx;5zn z?^c_?0Y)}4Q-!6Qbw6L-wPbEZnTo{^!LtssTc@b)zV}(-D7OnI=lj}!uZtdinxFN6 z`zIsctgphKZe<0=r(OH7-lFno&in=EmPlTRXwz}Z4vQ_`C%<#rUya=3zvr^^29NI| zGv~=GVwe9_)BKlMo0nauT;w)m1xwvoq1~S!)*j&7zM*&Nlb=&^cIO50eDbT@wzF`3 zNmjr#Mw2&`tcl_{O`Wug43uZ+=m(%Aeq_1-rA zVK0)$wjt4+yG^XI~X)dylCruE;|HF8UvrPRGz7Cg-Z*%hHF08+ z+ruFH!`;5`q}LqFkDMdre~evYVIc3VfIb7m#5FZHmdnL$shA*Zv`eM`z|FF{G=V*z zf;P`KO;oRz^7pdmF^t;w$ja$+89(pd>%PkvYiE@n__^j;r%B%C+@lxu4K^@I)avv^ ztU6cq>cxu14F=FIw`DoMx-59Vrsh$Ul;J;#-%08#4F&d81yr1zAi0{*!uazW31I$@BgiyZ3KeT`qG+Vp_p!%}1|7)moj+61e@}t=eX? zhq?T@mMOQ`g-buAs+jE}kL};vxo@kG~p^+Y*bip9WeD}#yH?`%} zE(bsDobiWsYgJj^)tmC1H&32OSCZ!2d}E>-)1%|TC6Z;#hZD=MESBMzX0zuA-|aix z!mmYjdgGIH6nGTWQ@8GT^MZNl9C^N*r{75mY6Pq9-k;1I^Gf_Lm%!0H;}DI-*;n6P z)}4@`DVN8BbU8nvW3{v>ILYcRX4hB9r%F zR;X5GfKT*NKIZ`AwL$w^?_a98GvT+Z*><`7>vm5?<#$htX3;5CUa^V2kw5HT$5yAL zHB*0GeWQKI`&UAloz?6a9pUli4b0!>FW-6eF#nfE-fOe8fB&rd{-m>oIYN7ZthwLY z(7>IFcIVjwcb;rt&Hwscu-7W5+Mv*+SfzD#>D@~o%6l-nX203`&VlW$wA3H*-QoEK z-6!HAm|oZNJAI#Pz@FZ1Vsr1XT|{gd_mtxub636&R6A+8X=~iRMfWN#tG3T|dcQ5T zt?K#R7k9te@fX*6{kpU<+*5w5`Jb7u{#aP}#We(O`@SQ3Rqve-Y|~b=&73q#PNZSx z0||}kyP}r`Ypy=n`lgFNak)gaWBHTzrl|`|`P-T|-TarZ&3xaojIB=Y>D=P_ik@*bnoVs+klkq#t{RgSm20xC;}@EqTrII>|kEF6z`ry!YXrcG5b1V)dl0yQB{9m{1+` zWml$y<~3{Am#aNG7`L4$p2OnP#4Whmed{?FCskc*Yu*)`EqQh@sRf@{Xz*y$VWv8r zV{MMU$CuymRV=xz_rB*zOS$A??Mc?zp6}jpTOQfsw)*PfBI`Tdz3#!YZPkvIWeAm- zRV{RE*na0s#{7bqp0(G{ac^gPRmASY*r+Sn`siy%OP@>e-hhwQ6LWV<=5x+&F#1q? z=zrI#^^CU66Spxx)hIamTS@OoWx@GFer&x4mb=T2eB)fs7=Gg>v$=9w@+s2~>}wNi z50r7SWY`v*VOsTW-92f6o9pk3Y-xO!#C(&@Omtt^rw<8?+niOMJ&*LAusylyOyMN+ z*3NBz#F`BvaxaO?++Lw4&lbKtr)Ki+?4XlA&sV12SL@q++Rq_MXO8pj#7F0X9dh&C zRV@#wW?Jm}xM(elN1+^doKV@SgCA3FtBY1gTuxr};M;*m8w}YEBqHhyOmrq?WZuvZ z__3mH#yv&m>IZ5JQ_4+NJDw~5rnZ=~?5@AY>sQY&?*GmiFOk$=wBFL>PQ%&j0Y&@^ z!dLJ6d*fR@&ne%&y`c-=J)O?PaQN}xx980q{>QPt>q^>7?*tefnHD-N=i$c{o>0y*l5wN>(M(T$5^~IM`=6@)VdR6f@?$3o|v1bA(kYK?t4=yIrL8@c%JfSq#fa^p0N=+AhaU!UM7*0nal^6l2WQO%Lu2&cEU(@x zu_`pw%eBKM{%iub_`|K6XH;$Byc5Rfb?-#LvgAv;CX8RV?#M~obD~ivHj6JJ;KiP8 z4x5>L^B- za5zA-Z2hcNuU3CsV7qMb&ZDIpEO-Lcwz@jMl{R;4{9b-Ami>vwBfrl&yt!=>?z7L? z#?15Ect)2u_`>{qA6nAcB;we5Ja z#IDHcsWQierDpPtUpV5*l4sT2x^~l8RDa*b4Y%)KOMiMIByEA+hFezjlH1x-Z+NSVWlYQmswW zzplQha;~PruWHYPQfrx-nB>O4OKtMp=4GXEP1z?IyIZMjhjXo+cXv+n_&tCN<6~ zd;IyM>7moi7ySQk(&f9l@%lxc9~D16(ocWVx%q9y=VR`_n`eFy*!VXuYU|~z``={u zNG3Sl+kK}{#MR(H$}73j6B||6*2ccdIxeeUC}nMQ^YH$b+pq6Fc^W%0=U`X1?A+VZ zGk5ca*;tk5ro4Og;*MH=N{f!mGrN6z?HpWXO{Jvbcv5Grf5M9nxM_9voDD((r|wmy zuMWA=Quj2XEY9rQtKP~D^Nmx(t?&FQ^_eN8URrl1sPE|OZ|R!zkJT?p)s{a}pAxLS z-C6q+=ch~I-FJ3ygqGfAusE2rC@Sx$c}kmOxS-YlZx(h*uh%&LaSdL;nfdbF@tAEv zr?YmH#qM39SZwMVvwHEmt%BDd2VQUMcx3&;pRxXs;)!H% zky&-`aR6(;mTAscH&5JE%97f=fXk6f@ulFW_8a{IJ$Bxu4e!=&ko^=Y7%pwqzc5+G zX$E`i!5aIH1my{v7(H&J^cT@wZ|JywqhZ|Rl{rtJ&k0J)EBoiv zc$wct(0=Y(k;kbQ*56&ZU&>=c{_mFb%{QClSiUc5kZJyY;T5+8Q(E53B&UC8&#@;Y zi|=2Vd_?x<8m3!;?>;EC-`e~~Ooq2yOJmusgN6+);bB}sbvtglY+AcW=-!zRGyPVk z-#mUQ_00?Es$$)nr!@YRYOW7Cub zu}tAx_0@m+#KM<1)@)q6t6o`my{Y;(L%I0}jy==ya4Ec@F7oV1-SI%)i&uKg4jyAK zGqwJ(%Wi|9<*Bze{}{MmD28TapFbaXr|R zFY~YH=ISWx?}wd2u9oWTzq#;{eR1Kdm^Vup@3$5x$s7CrGnldO(-w`VhwpH5l?uq% zo|b$Su`OIP?ei8f>C6=K!zV;GKQn8UtTqy3K5lU1qx1J1XSs&j`shy&Z_irXqtLWK ze#iB5V$MRb|If>$eNdTeV^vYb^HI}x`Nfo1M#e|&T2j|$GUs&86E5BT@L0;r-wpBW zULO~AOfNhC%4*v#y=}YR-M(6SD(j5jmsqRV*|EEBduZR8m2>#7#Hq}THIr+d^8MZz zetP(3g6|CL8p%H#^UWfp4BndGDy}+lt66$O{{91i*;)wU4qbEPU=ztK zpQ>2xzxws|gsc4P-0ifdZhqw~)qCQvUGJUpnZYOdx$07n{)kI^Vm6!0#QoXBoQrIK zbJlJ%us88jcbQkA9rBUE-TU5Jm$Hx}+5he>(ovANsm|T8b573Lc~Abl-umx#oV(wt zgax)&miNldx^U?KzBSu7+*{Pcp>X)k#W_p*k95av-mpGvhxWW@yRTQ6%n&uG_;KZ& zq}%Cd6JM|KV2UuE*~9K!yV7BQN6Nd~?M%1d$E)$5x+wRS%f@a&dJoV^fmD#VRtFyP|#{aOGaH#K@us-W!#?8~+)|(yLSU7XF*7W|~f0tC2 zyY|+){7z0kZTiW3R$CKi`qNE*$35GB)w}*v6w{k>>X7cWSbooYnSph^H40oSci+{> zzs@RAdiNv~4|nwo)!IbkHC|I~N=-lA%S)XSbNzTDulx0Xlg)N9@gJSYWY8*EdgQ{T zE)Oy7)jRnd9*b)>N$9<{_v)#bB+4-{?(e@Oxt;7DOd{g{l7!RGEzQ~SWa%AQyI$`3 zd7)~Hx3-@>d-TuWH#h&KnAI%{mGmsyWcTIRX;}{md4_jeHm$vWjJ5Wof^+8q=jRiY zuUzufQ2X=D;?%5NC+{s=$geLtzhCCNX-BDC^X%on@_)V3-F!(lR8-6HH;>4x%8D~0 zXWvxM-*8Ckch{MHrq?TP1;1#!rrsd9Lcrdn?s)F@$`GS9HM)~Hr&s@N4^BxioqTeg zp2a$?lw}vHlhF zmB-DfW4U?Bne7gX$?@>%(-yn_yTsMS_2I3($Al`y z+keA-*C&ZhX5Zu?-7!PHx`{8R^>%-d!;NbB-*vmvBN$Elw}; zy~DR4Ah?n7KDS9C>+KR=qt>I97i4mHr0yl0k*cWq;%mY-{nU<^i`7)CE-Cy7TI%w` z$>7a;t0g@r`{%02|E!ylp857GM?smnboF+{%nb48n>TMx%&=E~I9u|f#u`5@v#Dyw zjz=~=Zc*%OQQS2Df%E+7+kE4vWNZCg6!KhKG2?jqu{|3WN_@>ZQomJIlDFDQD^-(w z>w24?r*v3exSaepgN=hl^|ce^-}poc;Ocj+-YB6zaK5lX}qO zH}`+`Cyj_%>+gR(FLvCP>(u1+hDLh~eDgz^Hy;XL>8RrC(@>*j)}ds+^Yg~~yIxi) z!l{|tY_@V|JMgcSUQwbwC25tsu-DnkOl_)UT$pQ-JuOvR zt80t+rSIn&pQ<*V{QPR}%t^LZrv>`;FYcIre0qnT53?F`oOOuqha<!$J)LE>*Og1Wz9`9LWFNw3uoyciIAS?_3Y(DtIa%T;#6C`zo;Cm=}*m`6>T?B z;`{NxhNxO8YAPm%m&ZDJ6b*YpDFmn1)kRj&@JFs;MX3B~)PjPhnF7H{X-zCnHwR zaqliRVP}~0%-xyYKW9p8sz&3y1sivLlU-5HoVCxSW~r3T{P?7$ab@51&aVD)cl(JO zn}u8tiHBUhx%6UH$Bpu@9nnWCX6hOQ9FUf`tLA<4hNppN%PNbfT8`>m-iNJcIW%7W zUt990H1$s3`bqDPTJvmlTU8@4Ve*@--HUI&v3NO8a)p}d3CCE|>+kNcif`28i%$%& z>DwDxntNK`VQ-B6ss~PQCrWGge!BBbY_X_m@#RBj)6#u!Z}L09av*zkkfcIwdBU3M zv43n7bFDYq%-Tiu0sO$OV=qK^{hoZh?tJ&<^_j>90~$_}#_%_Cb2b5D!x+W(P* zpG!7kTG8q=5-MqTd`$wi-Kt&v4I(!&|K@p~rJvB7Byua|ihI_rRWaKh7#P`QelGVF zIN~sKcJAF0wr1tvH6QN#9WAaFQ273b;eeajt)EPfK5u*+E-;@}__x8_$tTy{b$;NN zH$C=uJ44oyuk+qy*&feM32WaoEs^W&l_J%Bp_QjItuM#0Uygb2D!+v}w=z^I$%oA< z<;8N5_HvWCw&kX4e#eB~dRx4?{MES?|6YYR$_J`%T>p^Wp!r9I$o=T}$M5+s{0^(R z!`jc0_G8b~IP=Gk)hc-OEj3!4f3rTZ*mU8Eks`O{*$N#3iji@2bx*n&O>ea>B?xyW)p$@Y;70eA_dm0viHm zKFE$>yKTgqYooDlle21bgN}`Oq4$h~Egq7uCR~u=J^OW+r{5)aCgCZO8{7B&^n9w$ z+%J}0)7-Pv@I&DnCZ9Z2(PG2o<+m%Hq*^~MYdCq>&O&(-Q&so|p1_lj)0SR1{ZF7i z^XT+?lg&92S#LC4C%j}Vkd@-(DBC;x-n7TJh5xMepVu{8hIdw)OS+F!uGpmK28Rx% zZ2e_btRw!^uy()Dk(qJkw>L9vKieYZc8&Y|zndHWetDg(^>W$s^WqbhXUhCL!6El> zJ^L=Mr0^BTUodU5UAo!)%*N6wom{tg-p}N@zRExQ%JDjH|FCb}*DFu_dA6XPoBb{0 zmK&}|t{$HAajW9JpS7EvrtVmBewm*6%G143SEnv=Tinzj zGuyA$HF&=g%qdhcVHP>6`KiD*@mi)>7>5b>NB(@4UAcU4J1cqr+Hx*G$Jl z)pnd$6L-u>uv(^LoM7@UFZ5N(=8yLm@_3XlV{eep+8Hvlhfk38)`wqC@t)IV3lx+b zgy&`dmk?RIpk%``-Jr|o6Lso44Cn)-XM z7fEOoZhoq-tg%&*Pqs<$_k$|Arbi6E+xXYs;>tbN&tR~`>d|f0>#{v;+LtvhO^z~Q z{=2hDGUE0Bn*E8A|++y>e ze<@hoW^2;VOUqaOv8}qz=bwMpx#h;gw&T;EKeYMot|fSTOXlyDH|MlFzileptJ-Q3 z@l*Mc%WVam5>RU zdp!I{n?`2+LcWsXPmiaRv@W7i`07PU^i=wVQ1%e2(v)Np;zV zva*6FZx)!IYl{hz;AYU>%KY}wl-~@i4$VD&XzjI*)B6^CsK|PKNGzJ|mbU4Am~TRj zdY#oygEGlq1-cvMZzmo;ub#jEW$C*t#!~w~OW&n$^fzGsBxA{%yID){6OphFya2wZ%Q+~-_+XH zJ1p4pauW9$rQK|@#!G^ZpDe%Vf28@-KA}z9U-x<3sdko z9+M%k`fl9+DMri}svN#Ze$`*`Y1^S2g^%X#zGEX{X&s`?(fNs=D|t7^yMKt@JaogkLQ_?(vSuD5Tf~`n6>`dEiw=dD zxjrvD|M6f`0uST%sOUvcl0;PYJGyLi%{BZMBUf0u;KHmK6~fUp-yUeKUXcqqvYydKN2QT$dC$JlB57{D(o4`1WU9?mzdz zW{296q=-q}Ph;;em$?7p*d(PDx3tfjeH|ZPK%w5uxbnqv1~RYwxbMCF6Ljh-+kpax z4SRGd7mH^w1U6)w9CLGB!{fH>%;S&w8NM^~@~(TDJBSN9-ch=EYTE>1qq_LSV7KIo zz&HN!o4bzK`EA^2ANEMEG|Ns$(@|C+^kTM4{FjFE^Yaqga+=b7LN6UmVAJ`*5%ToG zqN#J4N` zzLx8`7ANO#u(_I3x%=kXe>Q4@U5WEIoH=&wPmJ)}i?1sFen0B|yLhu>aBEJ2sO^;c zC+QYNzHu+~J%wAAwHJIifB3=E37+eWt!F9s#{NzDC6W2&jr(<#Kb=|!-etF{QQ4OmnJTDR4Y8bLq_V6UE*aqRwA@ zW0MofJSSpm$g9n3Zgz&9;k?t8R@FCm+A+zD{59uRP4Wp6dzNl~N}lpovgXEWmN4CQ+eFnFpI#}A zloMko0ZC1LZqihc0!naTy#C^4l@BC~q0_&K2?5 z$(u~({-iP!Z~)D`@5w#s%jJ%nFXB<{1);rWP7lD z?qUB|Gpxchr^yNz)Ll?Jn6RA9-zqd8{N{Vg81kvzDo~4easLh< zxhqD8Ufg>jHu;T9|8nQc3MODjCkxic|) zJ%fv>qq+FS+(o||`af0NSe`z4`|F81-`=10d~m7%$s5mEF3HpSHXoK`W1MR_`OS;q zj)Zot^Ea+BE?JW2W3RnNYMQ3R58->3v8j&Dcg}skd6-XD`25r-EUhdWSFW;@E^&Ob z>_zh4jBx+J;|xzCZh9%cTqSv;_pe&-Z_^2f&u_bYa?-~wdm?mM{pKrNpZYU{VQ#vuBWYthNd%8mM+GO3Ic z_x@;=J1gqZXY;LKr$T~{&Yix{`w1`jcBso4 z-$!Sk4_zhZE7>RJUzOgs=f+*OymflLJ)gO!R&HedvMpqTNuA>~HMPoDmmX&PxW#C( zW$uhKv+poTu9EdMG1u)s9UXJ+Ntbq8*qoW-)@v(|oxXgwF2X`Pe38M|wNGB}P}Bd$ z`St$XI}fUzrRPi*zkNVhyLG0(p6s#@Y!90CywjTAo$9vjx^D7PqI=cX)QFzc?az-g zJ=d7sm%9DgQG@q}-;a4uiS;GV)=T9g2*>%76Z~g1?>XbUmyFW>p4vzXh zF>!&C8aM3nH(PjU%YG^5l9!6LobzpSNLlGZv6y+eMRD1ax}Gd``^lL6%AGG_-?ra@ zz8Yq04WD*>Ut+G?T7T!C`qr;nQLFkV1RPYZJhj)Tp*L;Mfw$aB>-?0Q>wc~EYx|?; zU-)_B8IPZT_$$3sn>tK_K2O)2H8<#=eI?g|1$7pJ!V&RxMwOqQ+iZIp6w_s=t2t?! zASdhbS%<$*WT|rqp7MmpvvZB-+)o)-LLR>N`x;Tf^L|NTc&C^SxFDc6QG!F%ks{dahD z#eVX6CE*EE4i`Dj>NI^+?J9rpxqb3=`&GNw2fUiAYZ26Su{k+CzV}i2sqCK{UuM3L z7s{>a-*vl*cf;{Gb>VKQH}BGaks|LdgW^S9dU6L}@}=hSk4CdP)f7ISOl=bh=VZTpcSedusmh^p0jHpA%ST~24G ze2rAl*n4C8#skOC#Vk4Ro0oFZSVdlTaew9a3vSOhtMcAibAl;8cTa>snZo{u-DZpI zci!HgX#9)QS93{^0`Fvx{7lZ|L+o+M9UrXj*xb6g>CP@&-@}u{#f}_1lD&KT;{MI% zw{Fx<+qC!l+|a+}dCNF7|C~)VO%FBM(J7ShSx|ZIfzyAp-!txU&VG{i==#ai#w!)R z`MWflL_YfP!{w^(4T0JJc5cf}{nL8g{+CR^T;rzve`lCdGecu{ZZYvvKiwM=K9h|> z|DV#$1I2!gM!~m(Meg`s(2A_Pp!Z;Y;?ke2rzHBX&#&y0o4@U|oHtiQzU0rR_U*zB zY~5wOBG04dZGSFMqG_Z(O=e})y9M8VFZi}Q_P4Khd5e0H(#hmw;Tn}|uHA_AIeNL| zZbU-*^_tc_KdQ>6Kj(RVl#$t0tMSB2uA9v>b=SQUGV;~rl{##C_o~EmiT7u(Wtnfd z6*SL(vGc5=(9n&KrY`NiB_|`naO{R(Zf^`&8ub;RG^^nj!#J{Pn<2!z|m%;@O< z_5HcQk*gIk$T{B{t(PLUQx?rQ z(Aa$QQ>WaniSB%%nmRncmR^WCt#{>cd)bEHwjVz%G-2lYb6mMKfL-6uX7RCO%atRJ z-hOcUFmhu9Nqy^4cXg#E*#N`TKeQ{{lDs4e~x_mv2gLR$xXu zERI-qUzk-9sp-3#VfCA`%X2;z`Uy{Z^)d6T-qOs(%**=mGFEF38ti+^b!X*`m>ssu z`j!gF?Z4bV+tY_3Bwx38HOD{sX-omJItRMjiX(PTJNElugw%Tjo$Vh#ioIN}!>D?B z!TTH5i`Ko_A2!?Ral|a9x(i=S{Svj@sy3M{V33fz=)tVNU}ZUHSVeVL&VgCWqY^$C zRn_zx9*9vH1GfU<{4LJ-wi3TdtYVOd+UsQt=u&IU5#$GQnEi|MP_zhzkKdL ztI3gz9~HN8q?;Z&_U+TO;|KnW^St_^6=yQdeA^7Gzw^0QT;|?jQ)XLg#b#}5v7mfc z#Op8D_gpso==b&P$B$|52mULwfBkWhH^iiCyGeVM%<*cO&Zpl$$+;)=cR#W{cd^RG zx~)n^@O@y})Z|6Hx@WvrIvjW67dmSEc-GGSD_gBof4|qc#QEdXs5RVuOmw> zwSIct{OK;-lyi6CtdjDld6p@UHuV&RJoHr%jgyqzJ^{;Sv z^6`{G^4`+wDo?SCUiErP`XT-Yp5*_RSZ4mfPk2Y){)XKB@#*vbg}EfQ1|E2jyi<76 z-fA;3&F{?GkJk&Zu0H->%Xec_3b$lf%44IZowo(UHon`Y^t5UYL#MT?Qv4|!=VR3m zrnsfXw(R;)WVFDgX=-ZZN0G3qXpLO+I9t~@MGM5IWNWMpt!L4@y2>hB>C=MQPi3y$ z()wCCyU4>;G1MjIX;gQ#?i{gS+d4LW{+QPkCM38|sBZ0R)1#G22b$i@YU(Q5xy&Z% zQpAQ+B8$tt=2>o?8)R8&^DoClv4VsjpR{jvP@`opzZ8*EPg@L8UFG3Z>S z(=U!$JL1-R7y0qz9PN7l_~Lecj(n~hn==lU^PW5x2skl+El^t411O=`< zO?wtv>h`puz$4-QJojUl3mwf2a^%=3wo25&7Vv@iax`S+)yTt4@}9;a)v;=8J%y&hu;IPSwQ81lUY;U3S7}b5%>&iU`|B_6?VeEq+Z; zWC;)n$~d>rMtpkp@#8UCX}#(bxm4=PoO=saxIZu~e8+lkigwwq8%_37Ebhj$xw*|W zR?U*UT%(xtLuS=^@e|Ig&wBAhU8=b9Y4_Uan_8|YWgV2#5t|aY??uT)*%PYloaxmU zuBBY(ntniR^TmedsZWc#YjRekCKX(3FzT7@@{Rww*(A%1r4tJOemxibz3#2dj_a8> zXSvPWcd%)Rm*nN;*85}bJ+;}Gb469%?q`0uWF^H_r)L0yB@JA@XI@y;g*luD?FaRC{tc`(*C=_1Dh65t(=N$Wa0ImY+#EERq>tBBj(GFn>u@ z-0gNNJ??VXL+zDSdnJB{T}Ztd#H#U9dpi?#b+WMLyyE$0oz5p!SAENnf{iatReG5YZNDyTaM}Haj>0{C zzt^iLcVDjcO(|#8U3g>fo8mLmSLxnLoA}c$;Q^y?;*l$&?v9JL-CZfwain!=WL4&} zNqarjj%%tt*(xLYP_pO7&e#h@lcycqZKiqS2jj!8EjPU0scHAN34gzS1~)P%=q8lsBXDdYi?f}e^XDEE|Y8J&dk_7&xbMIcg@R> zJZE#dH{E@d`n7)jhUvPNlNol|G5`KFV*q3z3}C!xOuXP@73eu1p>`;#dz;<7tpHPtHJ4hKDYsGoKC zx9j%yrc=9)US@o#>daHyY>|0*+udi%ybQ&#+sR(_-uvG1Y%tAmH) ze{eFh$qDQ;-?0DYgQR=2CrPJaFJNe&nI7 zCR}2&_~D;bsx!X4dCal&W_Q3mt$DioPMlAadV^o&m)fk9JD>XWTYu}?6}>KoW$(4V ze9(++z1A7_ZTT6OOXvDqqFZj{&QN-hQm{)b<4(TnL`~P<{7bIv_3g0yc;{nEt@9f9 z>M1-kopv&Bd={`hBw$HZ$eg<$81MbN`uvxMm9q1bVCH{4C0X*^oh`Ku9zQJp&7Ek| zw?N=G`>#{^s}&ZW+@qm8PnzST##*)u@;2}Cv+}Mmefv9iPUH`d3ZD+$rI|q$33cWf z+McU-<#MV1+1>Yw?El;V%yD{cYeCnZ`=>5DYpINHtOZS zW%%*h)ai$A7nriV+*xku%^6nf*dgn@S4q`auqjOLgoRZwOWEi5)8_>qo+34YYhAba znx#xxS{C=>&6tmUp77%GCj&c%R-2_w|DKgqd|p&qq*wLu<`3&qZdE(yeaF|y9g&#o zSj@fD{`7)1YzK6oBwfni9v1j}#gwqM%xn2pZrZc91Ot~b-EbW&)yrbj#qDwwDRAZivrgKz0P-w^|lN*^;N0bLm;ZjfG*k-n`;x%cYWUSZ1!*h$s|gWDJ{iDB0_>*W>qD zZ@=ff{ho7=LulR(sW~6c+_1hO&3yRe6rQASfkr*6T6awmXb#{^-aM6O-A>n|voy<| zEAAH1nEySYD%escPtVHlZ(8UlbA7wckBpbDAGn_?y!aXag;Vd29@iFBS@I^ze1Gti zHw}#QpMNY?e#f=^ar*XuqS~i+{xGav9Aq7soE?H)7!b?&2g{oi7osVhWw@>ZX z*mX1a@=4#51{+=*rrhh*ylAs*UCS~SZ)Ladmze&}-1A0MqT0Fmf~(=G+hC?58c<& z6TQJ->CE(3^&|I-4MC>A9Df*DOwygL#Bm|I&q^?UgKY5S7LKWzDmOA>ralOjh^scy zJNv1yW^Plh+gAfyH?eP$Kb;Hj>pTy+)xP+Z%c@cfr~CSKg2yE#|Em0rb*>M;e4p(H zcZugT>D5U~UAcq8E_(mGA923S*E`?+;;#Ll!yHrgpIKILENaIlSLcdLj-DmHC+37C^Payy;ilfT(=L0eb;>FOk(2SOt;(b1elqNfE)CNV zWbvNy=j94U^;+j+z06ixe%4Z^eO?t2fxJHd9zNvEw$k{j*l3!?y(o><*Y;wX+K|dp@mY;_0xBz6ts>Pev6peEfLge|43o z*P-=g{5)Nut%90gP3knNeM>7{`>ygyI|YAIsP1SKYH{E@xwFb$MaO(w7jsjQVSu#y zYTiXtnk!iz#?D&7^SO0)Z{D{nXKy_?{js*~M3UtUhKt9q`ib<%c6$q)`J6OWW}@u* zhYJkD5S>Pfp^kK7B$~~XT6koZW>r@_PO^-Eu$9IEKgzr0B4)-&st-6^SCGSL3 zl>dl+PvNS*#L_dhW~qX2`Y|n=+=D(mYo;xsL&=)jU13(w{@S>gH^j1?#r&iM`yJ$$Na;wIuHS z3&gZGeeClJIsT`K|25+tx5#^CrHd?o-LPfR`utMZaJD{=-g5DHR>TeIGny;!)(kC#t*jg!sxW4DCaBxeOmJA1btPcHFcYI-`SXeZC~=PT~Lc&SrV z%(!Z1?EVPm#W8QT1*g=XeB|w@Q1q_DH|p}@kX+xN6Z~JS%{R+jmNWBS#gZ4U%{y;g zQW2DLdsI5-%UY}M0CAJ|g|h56%?nx+N@J#U3v^n2GppNG!}9Rnsz=uno|!z~m#Qv0 zStiGn>DP+S7upUkdoWLQTIRnMvIo+9_q=10xDvbTb+Td3v%*^^#kTXe)y``y3p#rw zfZgc8q06;fl3of{vq=rn~UVf!w{05G|f9AJdsC?!#_i^^TzcFo}gW0CAZ=u5b`Igu;E%D7On{uzBHivEN zW{DTCV*2;z@NB7J-K!|CYbH1U z)adsFr*+yKGxylp?*Dpt2Jcb5^tefi_Y-7F_X_HLpIRTKeP!3o{IXdaDlYJTn{nD? z=@ZAtQ`+T>_Way@(9`P7Lqn&_b;1n4VO}?Hk-1S@8Mabf(uy!J7mG7aqPh z<%wKxb@OGNXxHP*zn*J8IRCnJHt(gUjo!}}C+zq#*J;P`51CI){$y7#f57z5`nT+r zpNTV0l(-wG_DGt@i8E!Fls!N5>%&Xe?_xXtvTt9o^?cOam`mr+EpYJWY~avOWXfXR zQN2gT==8dGThdNnd-Unoi9=uHPG5^HI8tr8a_i|&X8+z?uJa3ubucQEo?hE=h@pq0 zlW(hS-R;{-t+q{$7T^31f0$*x^i5U94!cQ`D-)k2ow11hz4`5q_sbj$C7#@Li}YTa zc<1HO9bV_IRX;nW{N#6!b-(oGK23Y}Jxb|zX>)CSHksE*ZLxbMre5uOGA7oxIPLKA zOV>C2`j}xSabV%8)Ja{3b;F+DOqFjbpEbwyS!(_Bh=nI3=57r-`E;YThTFQul^!c3 zbxRs-HWWT~d+)aO#WE!>yP|pKza~soZ{mM%sA-uMn5p=yp#8hV+~w2$Zm77ht5~Z< z`M~Q_?K&NPX;JUuBl9aOE(%B#n^|6#TXeOGk;R%^W_iEUp?kOmFKyp zrtk`-GoLnFEDXQYv0YwP{pzA;PChA1*wPQ>y=i-1`0DVgF2Q8AeLJR2e!28t*LKYw zlfdT(Fa8tSSAPD``~9D+G}??-vg<}yziMx|)P4R_nx1d&vJ>z9vfNfrKDzBHCsSSg z@-j8kjeMM$JKnbOJY)KQXi3<$j|ZQqm1MC$ou~Mn>6M=si_PE0*3VDQI{vjc% zWZJ@enY?LNtnadAF551aDOTt4WZut?se0dC#3c=Gv_@T7%=rCzq0brkN)M4*MaeFcjPFV2hMJ!KAg6g@mEomQ3 z|Mphv_V4pM7`k?e;)<8t@v0vdM24DPtInHhzkA6!slC^=n2(B-oL>9sKXXmmc8C40 zpo5I&*7DW_KfPJ*H)&hu>`7a;1T1J(T96RK|G!n*(0-#}cBZmk+?;)a=N%VJD|{96_R0Ef>WojBCkm|G zuKZKzWl@}_o#amG8J{m1pI-B#TU>9+4!fPNY#v`?SS7k`^Q*#DriJXTT%}*P$Yn$* zR{whH9MsEesG;VX*Y33Gd`O_;qS${y@2X#|Tt3Z4^ycH9k^{5NKJNHEw|DaC_}709 zXuV(i_RZEPo4<;ar<=Zacx-U#km!2v<(Us0)r+fSZ`+pX?{E6{|74EW?k0is(gm|h z|90*;vu8rDt$V!d92@>`dk*lX2gRK@`Oo^}0`0eIU2}FB76v`e6kw9-5#QOl`Kit+ z&s7S?l7hRN46I@<|6;pyF|2a`q>FJDhgA|d4C-Rf*B#6`w9US^zOKD~-VuBM2lMYg znD4&l!oCS7UnCXS<{X-EYSV&yC+xOx7yM1t&Cd95{=M{ShxW}ITRwb|F`diLsmdrB z>29;smCM~&Nx>qP`QC(^`k?_K&mT>=@b=~T#imv&orPtuvvhm5<(rysy`hvcb%PZb zgDI29^}dd~8}i>w%v8H!B75}6f?G~A8z0!&wDleQ@_1Eil=9uO_=dZyCeG-a)_vk{ zL3e?lXO8@%Gij_%`iHb*XlbJ<6(x1wD zjXz7h_L`y`u=w?XKeO&kIQcOlog=p9O}LBQ2Ay?Z*&_ZH&v7Z)(!x=k*ZrYc=&9lL zhDrNh2T1B43KmL8Tfx8f?_`sl*KS4vGI>17$ubHHELR%p&7bzF?auoHS2lx9JxVi^Y6J~ydOB!(yE`mDsXEF)tKzuJ+bWe6Q0n=&)H@tSG%{I z4K{jdJmKv|!4RS2Kkjj@4(CjI{cMWX%paEfuN?Q0c$eK9a+!VdqKF04H7|HQ)PAUL zu)=cH4Svy8N%s#I+~0dTEk`;`w>J5{YyRn7bsv=?Wmc^#EA@CJkYw<7!2y>oTLk0m z)~$TQ6tR5$mE}(^Y=7-txZ1YoVpmmAp6dM7>Fj);CpFk~oL(bl)V(z4lE9NaCpX>| z+r_~4uHeU`=|6i*Eo$yP{Zanv^q*r^GIIZo_HX1nJTttn^5`9p_Q;bh_7ks%EIIQx zuB`9ezn+EHOr~$zzELx>XxZbPdxO;C*1l|fmK9jSmS3EzRj@2OCFob&Z8OOi+XMv- zADoQ2GB0>dS+UXz*4x{HxKGr5^s0S(-ym{kOU1&YeeG7aj1uRHZCNZMyLfG`;JP_y z)RH5XiR_h)Ul#Q{uV&AT23KvR?d-ludRIPvXSA7Q-v98ya*c{zf^oNIYn5+gozK#w z*745$ZlrtS>&-vkXF56uIBjzMQ7n15VyBl`f#HnMchTmLuC0ICD8j@N9~zl%d_iJ6 zhw*aFCvTQJUlD)f)=^bc^w6YCRqPH!`@GHtwUu93g_?TPk6!;YA*nn`!|+z}=Vh8x zIdWFGHYu_M$mV8s7u+;S4e}CfeY4(<@5^4-74weWlRx6O;9|hW)yJ2v`zqOBr#$84 z(Wn@Xg#D%`GIeF-AMY)e+Pk|{Dp5?m{6c1lflaScwZJ@{RUMoY+L}K7oZ!5$O^nyl zH2uxYeM|m5d-OZ^a?*0kD3kJyM=r?3ZPPKy$*|bYVLw}}`f>y7d-sPQD>cv8+v$Fr z^UntErxOtiIs;p+3(s^@2czM8L{hx*O~cu{yUi!x7tOX z_es9r^?Gt>CdU6_gf@Y(8RcuC4s^;Qe%a~cN zE!vq8^SOHK#Ot)vcf_bP`UM%?@`?}h$}mt*VTv+Q0VscDpRO@a=WQ3-{(ZKf5izncosOV|M*^ z)cTCt@jM%e<(CguoH;YE?b6QVJ>o)rv!B|16Hqz&&%L{7shDBiROgd26RW#FES$+y z{%(gQ_dE5|pAJ>6T(&(f?%kSrp8Nm!?sq->tWtC9;b-R`TMnu>`)k+K#pus|rFvd- zQgO|x@Z$WW8?tZShre!Cj+n%jKGjaQy61VM*taVCNp{MM9hY)%ENBdV6KvQY@A=`E z_RLd97Yk%wT&h;A)iplZS!_d(<#h3|LDr;**CJgvlGtl66Epvyz+R^8^MC|qQp+Ey;3T7&37?` z=n0iBzpZ;{*BXggFOysj+8tq=&$-*^mXylZ?1`Sc*WNgv{e^M2skYg)JLmJB-TJX$ zD`)9jk-2+UIGz75t6c9K_C`MAHFHl|^VIfJVcpMO{M72LDNhxYVY$*RE`2bDLpP1fDB z;hON=>B>`c6^Z7*k*9cBZk&4;Iqk!S+e&+;E!A1x`p-u4InTl+1udK|?N46v2dEre zyKC7BiFmtNOP@%2r~8XlKiDi-oqo6DY_mga>Ix&TgIdlhA3yp1e^{ZgOK#!`{YO1N zR(zAFcK4KN448H!sX21P(S0utXR|H*#iVop-%_qnk;#HARqq^b*?2fV*wp`UQrc{j*=T=XN%E zuzAbdIvbxAZjVk4zH+O#Lh7B{ z?PH~%M1D#MneSg5a+*oz`1ju3S5|uN{Bvk&oa2`8@bJ*3-aC(-?k)_qR4%`9M!Kj# z-dgZuhQ_6rCHuEMRJDlB{Au?n=(<9w!OUM~M{2yc?u~6YTXo~uzvsa-dU|5{BR0

    k$rXCR5E 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:)Xma);K5G#-7Z9Toz3JEhQx3UGOWV@3elM#PxL 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 z z4H^$Y7DoS6f^WUm>LILv?O;r0e(7y|Pz=?XbtAjdCqICvqMPinsjIsCnm%z^bI(A^0OAN25qmA9bqL3SrB zUO?iowfZ2h!rYH;K1@Bj`N;K!KNfd_%tsbSjxS_!SUVrxURXO2-CpE)MD`c5dywl> zcz|BCCg$+aUGG^$xQ7U?g*p%@0KqN6vR)NaCQh%2AM%6X7`@{#-nE8jrk$o*X8_EG_odRTe}sYf;kmQFz8g-GgQ`3pVV zVEF|-+>qT_ZYqHoqT9oYZ;;7S5pfLJl`%cTPewAC}HR>L(+KBdf<&Pl41=K~j&L-jMS( zvVW%{sYiAvayg8g4w214PKU_l401aPIbM+4lhcswMRw10Byr?)H3LZ;xxY3ONgOu5 z0Sbp%NaD!;LJl|N^oATS$mwJ*k~zrkMD`afzkuwWheQ2*BynW-Bl`8Gi7_8}KLxV+$on#o&0j~N`Rj40-+&~J9KXIu;>huftR58iAPkE4 zjY#zia=dRsG6&gT$nF7|0mAsqf$i}JsY5mgdEGcj4unDGY{TK6?MUtcsRdz>dR*?` zfutVU-knI|ATvN1pE_rwww)Z3sdy&flV(dk3*CB^9vN*E6i8$;iY8B8LNVI3u^y&LNo(vlkSe=W&Q%KoSS# zRS*W18yAt%EpmB&2}wP2eRLT~9ApLvgUrEI4qw5c{wfZ8ui;P+I+8~Q7LXuI85kHq z_C_Ox8!S9o85v+lwt!W_+TkE^=+O~iaacM5i9@&egT-O81Bml)0NaC0%wNWC3QjDdkc0!bX!2M0;R z)^dZ?JA(wE7#8LraaX7qh=Q$o28p|a1fUpp)(1%36DkIxU}q?S#JxcRPz*cU0VM7V z6$4SQJ`_mYA0z<9ur(ea@j$2;h=R?fg2aPC0#FPadjW}uL&ZQ;1vHO?#3MlhPz>us zfyASsVjv3E<^hSvf&`!#c3u-mJRT|rqP`%Rp9m6wVjk!@KOptVP%#h%JFf{Oo(d9x zV%WJ%An|ml7>I(Mrvwtu1PMTK4U+lUP%#iS2T42^Bml(+ki_$$Vj$`Pl6WCV0E$_l z=l_80EryDLC>12}Qjh=?yC8{|L&ZQ8?A#%cIh7y*C~iSgUkw!lQA?1-Ye51~d<03n z9x4W+o*;=svj|9-fdyLlg6su}!^%VzG;vs-*F_R<0-FFK0+7T(=GZ{XodPuR4ybq~ zk~qj5ST!;SNgQMjY!A;;Byo^>SQ&Q&NgSjewl?c5k~l~`tiE}JBo0#l2AVFvB8h|4 z!}6F2v;u~O&kblgus{=^01e*=H1Q8m@d7k)1E_ry(8RAm#Wx^{H$#FLOv26u0=cIZ zECL}uAgOPM2!TlfXeA0#-w76h5C%x%-4G!#8Gs}X3ZE}fb0d+&LE)1GR?Warfg}!6 zF9NNcVdnyY>;;KOK*e{UsTY7YRAJ}*z|`M>ivK`U9|NuAWuWKMz|{YMirb)x*FevA za77XaxxWbN{tP5>kULL68w(w1;%}f0I@tLIaheYLEaF3qaEm$o#cXF%YGJB)%Rb z0L2bS;v1o2Aj%U-9OQmjm}Ve}Zw4uZ;tnM7txz!#1v_U3|<=I|l|Neh?}Kq6(1AISdkj zV%T{vAoWL~VjyY-lKSHy0Vsx@_X1LX5-J9wVCT1h#7~0+pcr-@3rPGdR18GH&P4%< zp9cv*u?IANgTyaF#XuD7oD-1vWsm?AHz29M3KauUu=7kn>aT+Ypm+z8`kPQO5CuDj z1f>2pNC1leAgR9#6$4QU(DDYP{ysfv<>IIVcKac;t5FNbCAT7ki_>OiNnrp2f6SL zl6V@D`aekG8A#$H&<-Xje`O(w>mZ5eAc?ymiRU4Sryz;L&WZ=Qrv^#92ub}EByrf7 z8%X^YB=IsN^;eL@VQ0>R)PF$|uR>DKBMFj)#8(ZHxC)YZ9g?^Ql6V7>cmk4m6OwoX zl6VV}_yQ#HHYD)_NaCJv~U`(~#6JK@y*VBz^=*d=`@U6D09DNaBBx#OEQ2%SeN4hs4(cByk5M zaZrEo1GK(OKoY-O#9?EzAeTHq62Fb4o&h?54hsLfNa6}e z;`fon9gxHyB8ev;i9bdX&qNXjl|QgHPz#dyQzZ3Eki?%Oi621{e~Bdi1WEigk~j-= zFdgKtw@BhLNaF92#7&UIKO%|yAc=$G3qBvAS6rD}l9-1bfm+^o#>%~XqmFEVOF~E4B ztKlu-w~?6SCFZ8OmZ6#J9gK8IS85^X)~Jd_hT(r?+K6dVEo8acNG85As!=M)5xR$=UG*`8k=%m99pvu2^ggE-^H~ zZWIpHXjc0LmzaZZ;W9KdG)hV=&P#n=oK(_HKuJ=V34xq|!5|pt_eje<&D5)a&oXSx|4Bh zL8%y!LlJaiC0db1Y-tHeo+jvyKu`Jz}+; zNYJ3TFee_OgCxbKX{ja28LpXV#Vu~rO>*T;9x#FA8F19YA7P=Vr-qSVA( zP#*OQj>ojX6)gnOf`urluC zG%rpqD$7hxg@-{gsJKLL%b*n(!6g>3Ca7m-aEVDlVrG%2cV+;jF2_>bxPqDm@xiG% zsmUdV#U-A>rtz-9B_=tk#h~tEa3Wa1)evzHd1h`wj%ToCyibxLj*b~kTmWfFqZC5H zB^J4*IVG97i3Of`e2D5Bc#s4e#k;zKT0ZE#Y-$*bS$77Pm?ovBXXbfQXuL7V)vhkE zW-`Q3SJxmc&16#hw}wXXjyXB`$?+MPDXB%+yikyXyLXJcxgQcAVh|r<81L#D;2mrl z?;mV|-iibbUBE{MlJiURN(fwmjOjQ~dl_Xw0JnQ^ckr<%2XaR(OtE+DKp75s zy5wQxebgZlvJ6fPcJ&X&XlFN*4lxEPHyeKs- zwJ0?&In^^H-qi#&(&-8*37}R%YAARc%_2E5CkND$_Qc*=1ZCAA@W=;DKUzD3paCWs z`H(SIm;tD13spZ_Yl=kM(RIVE#*?-|m(?dHmUwyvcqeDNl9!-e3ec+s_}~oKv#?et zqCUYn>=ImJ3hpa;LgEQiCqx>@hz(7e1h^U{*qRE7pgf6a#N_3tq0$TKL|7}6qh4GK1h_eYO*KMGqN;I@((r2UVjeh4lxPR&c9a?=K6B=&|4<;^~5 zvk5W%5?qp(8srTc6ofUO;mvL$(+Os)h9ct%Fgvl7xUQf8qkj`zVrUj0To4a#Z>6Sy z2Z#tXy9^EDedCK#b5awFF=wafG0=uBYm+^zL{-B~ipvuVT!Vr^BbLw#1zvfgx1PwV zOo^yXov^g4(S~2iu^RtG3%J1u8u~={HK<95G{fggga@#-JJCFVXnEpy7N}`NRI`-i zJYX8{8=shx5?_>>7N4A7P>G(gf=et?GK)(RK}{Xdd=01(WC|NUgiYjx#Jd`rrevl; z+eGo;_E4~KJT+Q{hDPze@yYpl#U(|h$t9j3H@KFC#0Oi%2bUNbK!-cv#anzyVme|H z8Qd&@H^M+eJ|(H?MTt2ucW1hy&;Q^b>M%4cO3h12Edp7W3v~*({Tq;s*~>t)97SuU zt7{odqbYhi2Wv!e7`)k(>rw#HhTf{DpgjO7HlV594-};EDkD3!GCny!w;-_y+`51c zqJSEUh?)j@qT4txwLCr%)aM3`Ef0kz3TVDEwFp%F2LzWOHNYSZD${uMaYh=AM}eFH z9!>#eK4??~m%xVKJcICzcln3JgL*TDnEjGq6IjOto*$5ka3b1aM3it?hCXQ1HU^ba zkoH=9YGG+&4rCk;M-##{-jy~@MsOPr%K#fJ$53;O649nZ=~ZD#rtmR9Jjuk>GTt}7 zEHS5`1iW|xn#Mq7Ims0UsL_;?T3k|;53Vbaj3TXfj#BWzQzr6C4I&aCdf5r;5SAwv zc%m5N7hGbQng?3x5ucgn8BtsmTw)d$6soYeT7 z%xrMq-Zi+y$S|`w9z1>zuZA*{a#B5m%|V09h88f{#Ny)2bg(^ODOXq1vc#OyRM#@- z06|c&d3>-3+8QU4Ml{UhedD1mGi<{e!5EE4>Nk*xh!hv}3XLA_ayD}H$GSiUt;I$C z5P`LoL9Isgyh>`8KuNd(Ze_t{;4wDnP##iVL-Q4}?MP$8c;9$vUVx6;rWNJq#+PJd z7RQ%omSliNKZ6b8!2>kNnI^BKxX3TqB;L?8K0YI{I6k#Ftpw7?3NeT;!$|4@pe{Si zxk&3p%)vPStJK5DW30Zw`iJ@gYsD%ZdqK;2aEJ;nzFRBDLw?HKp*4C#v zyh#dE4_a^mTDk&t1*q2&A5T$JHn_ydtSB)rB|kSlF*!N4xESF`lvXE_f2q|ZLMbdk z!ymM$axCJ5su$ej zNGZxM0Q(#q80ced;HDuoWr5bZ(!?F0Iy)EME~JOgjf~@c<3Y&YePe$15}`6b1+c}%Gn5)uh2TkNF_3;<(HG0o|l>upPQPSRGLQQfT&r#FKCrF zsE39Y*CdZSVjUPK-4yVWbZ9UlwV%mp;1JQMb3|*@AzIpGSxB=sxijuIxie_70Y;nL zIX>7I&2OMYNsX3UaH3}!Xbu_NdS|WmDTnXl1Z^VKgQ2pqg37!Q;ix|jg z4USeBXrTgV&I}}t9?S9gS4+8qs&(+vC(wwAKiw(;l;DA90&ofeS4wEbw>OPq38nH( zh7KxW3r5(85-ifFP@jOh@`))a;Nck5*ai>gS|ZP7rKIMhmZTP8bPkQ;UBN{R{<#BJ zXCu!t&`fr4B51J!TG)ct#DO|oNK zf|@_32%8}LvO?lrgMyv06!91;Y2YBtzyMV)^sw1D9kLAvnr7iG1aOKWqQVFDolz4e zRg;Ock!!F~JY>fYYM%f!!~mT|fbOiLLA)deyMk7nK?8?YwT=;}?gRCw{PI&$VHqGF zOP((=G=q9MAHL5L;%oF0ov4PftE)M*0pJN5L2@k%3bu#`kFlV~D3z@>G)PH>dL-2q zY-zB0d@fp%1L{4J&QPBEL_?QM#$1n(69Y9>bww^RLyS$eq)bav!#eB*JFe_Rl#Rqzau!HA%n>7Z1((pJ00ob$IK~HH9doBk zFrbw+5VzzaV~4!;$qMQ4>hA9AS50j^LSU+GR%6126mz(hJauTjBMeJWGVH>fM`?T!defY(iY3W z6KyO7bxh#%oZv1Qte`K$RxO&wyP}o!$RUlHq=-t`1d4h?P{8CSR>XsLW@7{lQbg0n zdPMn~8{myt3IjT5As$xRjlnadI*bAk6m1Q*1oCgsOxq~;W) z7J2$)8n~jbne$090Pj)qM_yM5>JOQKdb=o^4WT_-(6%g4RRh_q4QoswCoys}Gbo*7 z?|@UiF^)(upe8YTa~QO86(ngCX)kH?YNQIFwo>=jWBB78Pga=fSof5zqnJ(*e@~K1zpx zdXvPW^wQkayb{R4JGfMX@&l+mAYmmp_CO%I#YbE_ia`%@q7Wz&gXs~8(9J2PRb`o} z<)F|4A7})&9umC>8PH)kXz>d2J=Seo80P_@8Vy=hhkSxiJjixz8zn*7u-OZ78%EMY zcRYpyJZ9lYn;1soP>084tZ5j-T&$|_n2IH(W0;9W4K@?W%MA$I$kPvU39N#EEJwx& z0xTV1Tq?mcmEaN))l4kWh0|1QYH^v17PL6cL|2Dt9(A)h7Kc#T0$Te3yaXX7v$!B1 z`<5A^TKB{iw-Bok3r$hd4|RhLJhBBEriIRYfR>ISolOU=U0`XKx^_c)=b-7yl++xI zz6>qw0LqyK|O`ucR_EtgSJ7VuiY`k-)aZV@qwlwKvRtHK^g3geH=XngbAPt z0&x7J*Kz3XM5&{(NP@~WbThzy_bn|+tpLwG64*3`Vgt!qvDxodhO$~2#R5z@kO`T2 znI-XwMMa5~(4-0X5~P*s60TR2nx+>YpI%WBUyxci;8>bd)c>K2zICTBxUO3jE*D@x2wWzb76$}ff8q|HDPFb!g0fF2=^Vh-$%A?Wo3 z46~RR7|fU%7@*gXz-e6iVfU*+ujK&i2i-$TtbW-2TFCmXNU$GvUmLRfLHDE)Yd`EB zS!DZdNw6OlJIMO&NYD?v?-hD{HaPs)nTQX6*nMNj{^uY;{|snqK-SMmg8n5~^mCD* ze*+f%+$89S-S>{{ejXC^!|s1a)*nJb{K3v4hh8rLj=umB^uz8zK(?Qk1oy-4EI`)J zM}mIX`MSvZ`AN_ZyAuF8{U?#&f7qG-$l;elf_~VU`^fGuAVELujC^GMg(T>QooSEk z{$djJ!_J6D4!;r-^ux}8M|QtC3Ho7Yvm@&lAR+!?XQ?CW7bHPH?Cf)7{X!(@hn-c9 ztY4S}{jjsek@eS-5Pq<;z>)RWlc0YI^z3M4{S74O-+)DbBMJKVVA0=1g8ma&^ox)X z{#UT*7bQXe11$PGNO1ofEc&}h&=0$}5;_0&kf5IdbVxV@0|T=DUJ~?!>UvNWimbnn z1pT1Aj;_C-1pTo4Ig!(^7zy#G0`)(#{>dcRZ-7PrR1);tV9`H~1pOXZ^iL;2e+U-+ zpgTH=ZNDa9(La*}`*X197bhY9DzNCEM}qw=SoAL>LH`6S`WKU+A9l|xa{60Jg8mg) z>|aKL{w-MagYp!y@qYk|en}GI?+h0GQY7fVfknSG3HqO4(SMPI@cV#8zYGcX|G}a^ zodo+ip!fA6ryp4o>=(hJUycO*3Rv`qlHh(FEc)e1upf3WF|z-|NwD7qi~R~D*bnM! zf$A@0`xQyh54+D5S$`S{?$5yDekBs@2etLl-LFi7eo$KxU4I=3?gzD1K>Cr}4{u1& zKLzT4Wc{Ezo!Ihg4i^0&Gl|u|1dD!E62fl{7X9-{@c$O5e&qDCj|BY(u;@Qbg8nmD z^dBKXKkR;QWcRC)5Pnav*so54{tsC6YmlJ-4;KBJByQwBOR(tw zO@jR!u;>Tn38*l^^uGtH5ZV1KEX0q$pMdH|4nJ!W^k0DLN4B4v1pRlg=;t9p{|hYo zL1iLTm|*yQfht6Hzb*;!&j7u@9y$EPZ67el-&G&w=VkcE2GB`F8~t z{Td|LzXgkaBNFUC0M(Biep)2he*%kseG>Fvz@lH51pPO#=+`4b{{t-gjY$Z<7g+Q= zl3@P_Ec%^D(EkIfA36Owlc1l44b*!^9lv)WK|c>vKeGL9BPJq0t|aJJz@p!T zg!t3IqThoA`wgJ_k^S#Uf_@t;`n^cd?*Y}19Db%G_&)%uAKCq&J`J(ue+*PV^7;=m z66`O4>PL2eDhd9tfa*tfe;^6^Td?RiC&B#_u;>pZ!Tvc|^oNn4e+5)Oa`=Ulpnn5Y zKXUki`lQ6h{~oA*WcwpYu>S~DKeGK6B!vG3Ec#TGg{jntIe*x8x?EeH3^nZZr zNA|xZ3I6|sMZXmZ`Z?Gk!01dD!a66{yNqCb-a`*ooDk;6ZW1pOvZ{mA|Y z&8ZTb{vDwDk?qeR!F~@c`twQ99{|;l?0(Rg4zcc!!J@yA1p70v=r1Bce+g7Sa`+XK zpuYx-{!$Y3w_wpcTZ%2au6;S=i?gx$O5u1Lt zV9{?+g8c`u=&vUs{LVo2BZprD3Hq-<^&|V=fduzIz@p!g1pRNI`jOq=N`m{pK=mWL zzl{X_u!TFw`rAp+&jWQhvi=Sd^h;pT-${ag6{vnF1zx{8odo?lP>sm$?;%0I1ynzj z0^8q5f_?|6Mr8Z@Nzm_uMZXgX=`RARA4-AU?@WUJ1gJ(R1=c@>1ovk^H6r_eDhc{a zu;`ygg8l}mekcWY|9lekcR)2FyMHbT`ln#gKaT|c3$W;KCPDuiEczWtn7`P8MgMXV z>_37<|4I_{U%;Y&EeZPXV9}pMg8mm+^e-Sm{}-r!CeKL;nI z{SP$;Z2uM#^b0`sBip}~1pP8l{mAxjCqcgoR6mOSB&1&hsD5PocaUJe1ynz>{n;eg z?*i42Z2vA2?Dv7{N49?z3Hl?T`jPG5O@jUesD5Po50c>j9H@R|`}dMye+g7Svi<8x z(BA;nk8J;b67+XK^&^jexsXtQ&cUMJl?448u;_OqLH`jf`rS#;e*>x?Is6xs5Pnav z=m*WI6WjmzfJOgO672tjMgM6M^mA}Q%1>nfpCLiN2vk3E`a4I0ei?TBPNQ!015hip!$*Rze0lk5U74+`!AEAKLM&A z+5T%J=+A)aN47r#OZlt7z`y|7DgqrYgd|!928I%-ehXLu29<%OA1IeWngOz=1h(H6 zCf<<=GL?bhg%m^twEy-U(tZ#Lh%kd1)PCr4H>fBB!x}j_6NLdW6(OVpH4|O`2B`i7 zgiUaOih|>Mw!ogfP(ccjEB>0;vCC?g#n* z8y5es!D0UnsQu{ig>L^v9QqFssUPGfP)wmkAHxZ#ej$(~#Oq)Z-95~V(ENjDz#UM= zVqjo^#XndxG^}835d9A-1{zxe@nLueH2gfE0-*5wjV1gvaM;hI2+^nkq2MHX_$f0& z^DmnF8CoG8hq)hQ|6eTj`{J<6Va zSo(w64;oX&X8#V6T1Bc zSnLPw$w$vWpfyF<><=K)e%P8Ubo)E7*bk~p(CznQfy5uW|0|&O6RN+fap>Oy)t>_L z93&{gBq*%F3@8Dc(?WOu0;v08;-L5w#S(v@F)5H0=;=>F6=DIXeF$MeNRV0x3qt|ty2Ywq1*oh zi~Ukq><6tg1i2JF{!5_t6N>+SR!EtKZofbm$W#V+Jq3zC87%gngZdvm{x(4E2l)-^ zbua}n70d(^B5c^hZwpjEto;C1jHUi{$D#iTRR0v1MktN$9w#>J{?~x|e*#n=$p4@- zHPG{4H4ghLKphhX1_naqUl|VjcR=k&PJc>R!v72o`wu|vCsh6&$6@~kEcUBlvHu?q z`(Hrqhn-^t4MzC7Ul{)<4*Op~?T5ubDE!s1*ssWrJ^k3ILu>%`?;tD)i5~wl?AYU9 zq8pM@k?jYymC@rLv`z!05Oc-?kAI4$-1*rXm{J#%}|0}TAuZP9|b{yE_UjXWHC|TEcVaBVZQ~`V%RxgFb9Cb8pa0EQ*qe80%|{U`ZK~}|6UySw?OSD)P4uevw_@% z9{)F>_9Lf16D;;W!eRdssQrZE|1J*ye}LK#8-D@ie={uh^K)X4|0huU3ANw3II+in z0Q3MHx5DE8Y#jEVfZ7j> zKbW29_D{p1{{fNuLF4?`%D*2(>i>zuegQ3riwU`3jSGAHYe4lwlL5pqEcsuN3w!(* z^n!ea+Wv9C68=p%><@t2PbmM@;;_F1YCm%Rcfw--X&m+!5NZE09QN;k+7AnVQ2ukl zV!s48_VAwowci9D@(>1k`V;2H9{v}w*zbnL{%RcdAA#CWDE!NC*#82H{h+ZX^!$GU zhy72W_7n2|VI1}|^kJqyFD(Ao=D{BR655dPCe;2>We*)1MC(`x|iB?*g@- zQ2wjNVZR5|e&qD$hsFMzIPA}X+E2*;S8&*$0JR_4|DZGF(Bt2Q7kl{6Akuz&UhLsN z0gL@XSp2^Mhy6#O_7m#=uEt^i0W9{1V6p!X4*Op~?I#rf-*MRg0gL@%SnT)U!yf(u z(1?dpkj#Lk{CDQV9{vjbko<=n{}EX1p9QraZTO7A24*qD7@YQRgz87{KiKF(v=A!4 z*5Gh|0Mz}+`6n8S`;GarhhGel_UrLu55Ej7_Qztee=ZLDYlyUe1`hihu-G4u#r`ii z?4LuV{qJ$uKLd;XiCFCS7Qi0TL#enRz^zYxSt=>1oTiJ0M^kH!AAIP6!@hd7+j_~{B9_8UO$ zN3K5#vDnWcj6M8gp!UPkFT^zvzrxrcnpqekhVK6aEcO>;vELJi{Y!|n-vx*L6QK4Z zr~gtc_D{rN{~M_Ng!=D2IP6~mwI8|vUXI0nCK2r6p8}1z7EmA~Vf6mXUmW&ZOoF68 zDIe+J2J5EI@03=!<{{{w12>>O%P`B#m_{(U&?-vU~g!oa{lDExQg zu%BTH#Q#ulfahOpvDnWjiaq>wj6l9+U_e_wgfV`cgG0XqR6n8eV+{`dDNy~e^b2tf zB&=a<5d9X1{u-!$LiTHkVfX(6sD48B=i<=61FHWA$dO1GBmIa${DfY97(n9>c8)bD z{eYH~px0lQaM-`W7-A`*_RCou_RjzTuq|1b{w1*SprFD(6m z><0}=qT4Snfj#^kp!P#4NMgX!{}PhG9{w6o`;q+*>Jp;c--yHh5~#&4aGN0v^z>hY z!~O!O{mA|YHEGc8KZ(Qs9Z>rTt=~9;!~PDa{mA7fs7Ob*Uqcdm_OJWcI z9Z>s`{SPV<(Cwds!+su9NO%*nzaNMF7qHk55<<8C6%P9~p!UPU58@h#Utw$zZ7YR6 z{34+G3FRLPDTtZq<>w2KW6{d5nOMq?UL5vUKp+ z(mW`fU>H6BT*qO*1k`@y_Sal2_UlMv4}S}Dh>fse6bKIz)-X1RR+ol|p@;tpsQt+4 zcRm*T7vr!$g-HA7;jsSz7W)@svHt@O`zJu{CscmD#$o>rsQs|?11i54W3k^(27CBl zf!a@~{k0#5{ufaF4WLLu!szK|mkjp!^;{FFX?0*2Ye-6k}B#dtVZ5;M%fC?L=^(UbCUya3n zQ#tJ6S7QmWlu-ZIKn}bA3!wHRr@ysW>~F?l{|>1ApgC8FOCTh=|LbtrzW{1K>>dh` z|JP%&|053jKUhKRBb0uO<*|n!i#0?)q4{q;dFpNYf% z4Or~og2n#jIP7nM+7C^}kifvw{#%5@{u5C9k<-sMEcV~PVgDYe{ey3#bJL7)P6$Y&!~jm{WFNvpM*pI8mRs)@RSc> zpqF2(*?ye`uwX0R6pzyY&hMsd$ge_h1l|4(Yz{l5fiKcV*jTO9UlfI2%!`^P}#$7L+`=c{A4{{_^3 zSo;;^R}e;z|15Rv{*S<7|5YsZpTJ?i0W{)a`440_2&3Cyu7TbC9#H*+^8a!i`ZJ*V z38kOEIP}**^%ENZP1nTk{smC|gzN{c^TU>Yw?Oq13O_F`?Dn4_QvU@U`kz4cLx-V2 zQ3uB8@poDad;00Xl78-CNk8G**xfJT2(}Kse*waS*ac&Q=u_JiihK`PPfj~`I`35EYp9PXEa7W{+V4*OqVvHv|5`)}j0 zzXfVPq4e)-fIa+XK=l)9KY18n4?hXeU>ySk19JQ66BhSt8e+F!!4;DJL3>spEC`97 z|5OaI+kXRUKkOb+Q2P0T#r}RA_ItQN?1KgagoCC1+l9ma9ZNyE3bB6*WdAoT_RASz z_kR!6epvd0IRM@Nl1AA5&j1>1L~B2R#*)z6|4VS#zXxhREdSxMU)UJC`>#Ot6Dq&> zjIq1l0P23^{m;L#gx?e#_FK3^Tui9`-i||m4pcv(_TwfT?!N(bKP>)0@&6Bt`;APn zhu;>c{e;R-T@&o#$FUre{$TM3vLAFOEqeTe=J`M>(aZk}Q2Pn>|2E^WUjb@Avj0JQ zEYa=vG{x?J9%#T5D!-QE(60d1PpJG~V2VBb0-)|k4nI~V%<~UK%&@!P1!_N`_B+2B zcKb81*w2o|{z@G7r$Ft8He(@~0ZaK+g2Vm>sQt+C$BD&$9&_yeUjnrsO5wDh-5k6B zH$d%24u5Ve_P61%{|(e)LgC+t!~PRk?B~T||6d&T^LRqMOep=@Szr%81*m>P`>!l5 zu!r9RsQY2-pFsH^bSE@={#$~>{vN3Pgu+kC61)4?K=l*y|4bbE4?y)3YClb}#P0uy z6`)cL(fE{S1eG6R3We{Seb2VFhD@=!Z@aG4%A)0Chj|{4?nO zCv^A6J7ahM8mRq*%8%28ZvQkK_AB^7dz>L(QbYOdJ*?*r9O zsQy)Sg}4bl{Rn^-JE7HoptJ5U{Ex%_5~%%z)~`&&VZR2{epvbem4Bf7JJ9VHb;Iue zHBkErg?~E^{YRks35`ECxnU2#2&ns!^B?H^X>|90$6>#ZKPYuDFa$s-IEkKrKH;!` z2h@J#@B^Jcjc$L1J0$#=(Kg^NfZC59e=z+p2Nk<_?V|2!P_S3vD2l>TPou>S`Z`-8C9{{n~o z8=&^1mmlcq?=cShBi2FEA9DLM1dIJ1o{;nh8k>aWDG+@EYCkj^fP}yp-ToC&{pk5u zA`q+`WBwLh|6)(<>30DZ_lIL~|8c1O=V(A@~2s;rP?hp0Go_;=Haeo>X_cufBM|Zykk@l~F>PL5f0FnBa<8Z&l2F&s^6N~#lLhVO) ze+JZk^!YdR^ke1&Nk8cGPjjI9VdV!b0@2%FhCbNCzX6N;bFjES0f+r(p!TEJ|LFEd zT9xewcn-{%^%${|~7B$n{?V7W=p1uwNw@Vk05{Z^U80 z!$wH@fw>>#{~|2*Kf+^#0opsQobagZy8H#eO3k_Ai0j57Q6wD+r^fKV2O5zku40?EeZZ_D{xP{}rhH zg#6!!!+rzMW)B9$`TrpQS7EXL3l97LKtB!)TzW2V->qAH`vR!)8eSgN(cQlRs-IB*gEJ7j`wO7%hn1h8^xuQU{eDpU(cOOl zYCrTC7o6_zgX%|j{|BgkLhkRx;r<0!+~1GI{p+Fjqr0CW4B})$_Fo8OU;y~VjY~k0Chid{s-N40n-N)e+YFydiY5Yupeg89hm)S<7Y3h*gpkJ z`0)lo(jP3Hz|2*E+7CU(2__7_D+UqeK0nN29*!k^jCm3+b}RN*g)ICAhjTj zu0J&|IX@*cFTGeVxuQZZU*A9h0U&G$X=Y*qmN2(8G&BOU61eJJecYHB8R6D5GHi#( zFUT$!?)V8~!RE6a7~V0w1*-*B(;zp2vO6fsKhIK9mi*j|L=H$iTo*#K6D+ie?ZW6wRejHDwG84CPQZsQpk0WmhpUFjO-zFw{W# zwG0dlbqov)^-w-&uRO>sP?R@8#hRgXE0k_yU|?v6vb&&kHj%v#C7z_1D`wwi%~ z0d}9)S_TG&bx`s33=9k#pzMtd3=Er~?9B`e450m$Aak}t#kN7|?NE9L0|UcOD0>$J z1H*18dk+Hx!(J$R9|Hr!ekdEX-Wp`yK`8$a0|UchDEkNl1H(}$`xpZQ!*MA41Oo%Z zNhtdi0|UcpC>wNk7s#x$3=9nCpkn8t^aTb62H4$Wm!M*o85kI@K-pKJ^ff4bodI%} z&`kyghFegv+YAg0cNiEL?lLei+=GhUXJBA>z`(%pkb!~W5mf9c0|Ub|1_p-z&I}hH zurvI8$jtEbA-luR2h0vX6&M)085kTa|2s2GJir`(?LRZe#lO`IEB`VxO#B?oxblHK z!_SA(3_l-G7Lha^K<2>03!E1087v=iGwgiC z&am@=y@TaLZik)r3=G*XK>h;p*&+O728Iv?h6d2|g9rmdLl7*j{H@*tPA3n<8Gb$# zX88GtpW)|YZib%^`4RpF>1AMOm{h{RAOaQ_cla6i|Nry{-x(|)d_Q0*&%jXF4YH5l z;U_3;vltje9)Q>!h;Tl{z!0L$&~WJyzr#;(TyZ=63H zK?H8bcL&Q&P%}V!9nj2Q4V5EgzB-cmdLaLPcd(SVVJbYx!Vm)XI}gI|$}lldctHKh z2h#ta!4mGS-wu{NSnPIWMDqWC2g_zGYC!%^M)UvwfB&b$+`-1cAc7wD-~aue{hB9DX{f)oWHaq0(E zhaBb)7#TvE@cq2&7I1>PC=%8KLffC=8JkMUsPu z1qZ`KP~4!W-3bKZ2Al_>Wf3fI+9SnFImqou@q(N;O<{Qf8usu1LCQ$vum|}S6jltN z^a{1-5nBFbU|;|>NhYR(>;i>1QrLxq#6W4A9}zZJvDm|aocI1aSf0V6<^fu`!|Zhj z*#WYbgJB}Rbc`*m%#gxL2V@S8u+jmgQ#nL>UV_Daq=c0e$S#nZk-~}xBnApASQ+=< z!LkdBJ-EVw6{H_zCQ3N$#VFH3;l|9sFcF;Yg&lrA5O?_52u^2*p=AJZdP-3AVAdUk z!u!JC|I;7f32)@`&;v_2kP_beKz4z`1}VHZfW*+kTMvsppzua6TR`E*z`!tZB}hNW zOqB2@E*!Fv(p?|O930`02&zw@c7Vz)P&)-z{%Zx915%6R$8wMuvLAmtSbqHr$>*T5 zDFH3ty@SdjmjNLEBbQ4s|7U{C2HD5KFwq?3&fk!F8XhkKhZ>fx83;jf4UNTLl7eyq;B*>as#&bKl}%hcERx}&=BN=q#j%RZ-=Uf*NBmC*B)dwUwbbX+BhPAI1c^E>NL=f$@M@ae-p!UJi(`_U< za9BgzPmElUcC4c)#O{ko>Of|I%!iqA3P}#xjEC$DAs~MJTok()XW*lT? z2zeyh5Cn6_dL(t|VXy*8j*$i8enxqS`xhd~q3fH4BnRrhJOYIswEr?0N$vn6BwS(s z?m?0RmA|mO2zEax9dJO(ENta6GZ|?%1S!qF`i;9@_97w8KK%WEI=Flkcldb~WafVc z%Ot6WphjqWGZ@*AptQr^5TpogKl>obHA2H1+(-EDVCjk^w~(13TQq=_U)O!zPUO?sIz0V({uKw*WW%xEJa z{2M{$fYJ(5nNbW9`_EvxNDz^SKmLZ4sh~0gp4MuZ3Oix_G!BM|88CZ6bt_U?g)RLh zgX{p+YZ*+1ps)n>0~tYS{=b9eH6*(hGBJdJ`tkBPP<67(Guo%q`C>z9zpIW!|F;CnA-~=ZfXLRk#dl9 zupG%=kek46FJUT71f@awhMq;!4d7w&Q;5*A0GaDt{UV%iTUKxTr% z4=IiB0*QgzHWCd%jL@>i0v4tW422Jv8A6=65oL`blH5Z^h7c!ExxfR7b1ft}P+A6+ z3t%(TU5+d=*Xg#olqz}8o( z`$c-0v;ryaQbBg$7~`8qX52-B%mld`Dek;MV!s(I!DWU-L(qfo4wff>A<8FEI6V?a z#Ooob95LZ!3o;vI9|yz4LYSM8$}?ipn+}p0525*04kY%U!SWHT{QB--IS1-4P?^fW z%n*X?=BY?>ptcHJ?!SX&ACeqAP4O^*wxx(*E3Y^}c7yx`DnCfbH@|-VpAK&Sfy%7! z4wePT_OhV5Hxo(j0TYtke+SDXBspyD@9RGyaR>8b7?OIp{{$E&@-i@B?SEbP`F}dL z^nB_ka(dne8RL*=*!e)-0W>`{3q z7((QA7z-OjA+!#NufbTDAj}XVufbTjMxP->UWKucfe%9KfcP?ug$`T{A@VYeg=_Q} zLgYCZ3qf%vFTz*|8j~$xWDsd&0MC7Z$Nxa?2F>w2W@cRVfZZA7_bIS`!vh`2oWn#$ z1`)8IMHoJ=1l5g)874L{G+cuD8#LeXm6>rBPIH+>Ry|}E1<$R(%uYa?&j97Q1)7lX zWMXKT1T|~QgLY1ko4{^;U=5r5Vweb;(}Bb@!^8*n3_k@xWdmrA$C=^h180YykNQ1V zGO##+^uqlE3I~uJgMh=%7?7XT9ey$-K+FQq57|TJln(y=AEL#`Ao7sNa02<|0YgKO zJ0pWgB9VF;lo&!77#o7DK<)sgCk=*=;I`FahKWjym|?5Ph$GI33|j|zNZ3NnnF30y z59ApwAILje%3ok8^ps-=0ka=46uyuJ<&%aWVMYd#g~a+th9N|Ou_1_!1U-$63?amt z4+>-C`7cmL?$ge6VlG#^X2JrIM05h(pZ^?}phgJdSqeCiZ=7KV=x z#OF)F(lDt12a<#318|s1Gg>~7cC?f~z)+Ye!Vm&xKVc~35P`UL9|MDkBd#!Q_e4pr z2|^G(8yOfx7UGJ3v^>io$PnVd*buaYfkEUTk$OO3+rZcm1RC3b<~wkH!&f$d^dvAg z1a&bmh(Oa6VLdz$|I{)NpHD#cEMRO1DqtYK+)ChN2syym5Cm$+J~+%UF$qh$z?o06 zqzeUhM7n_LoARKY0~A+aKR+-=Dwnj8*yapB`9Wz@8#J%#uo6_3J?i&Z`2anh!Szx@ z5O_Qeq}G99;sb4lpAWSiem*dVlt~Z&{tppnU=Wd4V7@8_rA45$5R?X$fgpK4D4z#P zb3thiC=Hsk0;ywx@{AU?{R_+qAsFQ97$K=Td{xxsY<*uS83@nA6%>KyrENFD)| z$)GwHM1$5Rz~;I^bNC=J(7J`k>8SN`10zES$c>UHinRg+73G({GT5L znu||l1EpKYd>P373=9sFK=uDaCWN>mIE^v<1f@5S`$06QUIqD?5xQmoH2(mT1JNKk zl8ra=Adv)grq$ShV+tt!=2uv3VSFV3t=MH5G?7R1d$UUTW3Uz(Gmke6SgkepvosZd-}l$n=q zrI1vbmX=ziP?DdoP@J2XlcT2qUCfP8UtE%3lnT`lUzV9#ZUt7Jlb@Hakd|KrH3GJV z)ibXwF()%cA*r$?RiQYwurxI_EPM+@I zTb5iyo#UPT7#KjbR{)gu430N4FaU4g0Ev4CF)+A08Cn<^8!)&#K@OMk^7n8A9kc5j z>f;*k=@;S}$yxd}vvfEH{rFfdq{nSrZ_&Xk-e$9na9n6s*wD$P^q7hDN4f0}PE!!M6t)8kvIK3GzS4V9#Lx zcnb?tOVGMc5Z~M16THn2M1$6k`Z$Jof{r~f1l!8M5FF?e?-=at2|bF8Asj5rz@QF| z(9pc1)a3m1yv(Z96a`omS}CZ5%m!gB;R8xw3{dS1p?Srn1qJyy4|UTIDaIOT#<7RXWt28M#diV7>M%)FA+qP)Z$ zD=V1O;=yJ!F#N5?%%kA4NgPsNgT^%+&e*n_UtN<7PTMezdL17@yuoF~{F)%pnd?*eX7XY;#Kw^vx5IMv+0lE61aR;^U zkubzu1__6q5A+#!J`hH=7t}`tmC+A{9dgjc!I(MC5&M8Dl;SnuTa<^JU#|#tu3~HM}*Dfb8F?7o_Fj&ImK;ZyVixJ=EsPPTz!-M)s;P{5R2@$_AH$v9= zVvpzJuy_{gU_?ap0Y=E>bI9=rD&HS)L*f`5uKb|<4QV4j82xwh4$nBu`1?7J{W32Ex2UMm0|Iess!NR~0@PqLRGs7PymIKTT zJJeEvs__jc*4xW!0`V+qxb=)ADj#fTliS!@G~6YW9i{%c*5rcmf|xJVPJ?b z=wW1-!w6B#6;N@8k>L)MCwPU0We+RE6Bd>=tPCxzpjH?I!~fZ;j8X*w3=BsYSvr^) zAAr=3igZ6tcGGOL+SXu$M2S90y8B$k+;}E((1S5Zg`i9+%D?xGn z5IO$k8Nh2pL2Wxw`T_OxLFMZMbB3J{%pG=u%5U&mKXAE;)TV^W!`g|kb}4wwgq?Zi zBYvippfL@QS>SPnW=NW=XJU8_nqvjYJ>-VW!GP=l_31(VX;4`T>iZ&(E5Q5-D$hXf zMEDJ}K0_`KVQp@Zn?5shtb*q$aK31`1lr#LavunT$|!i7fLVAI#C}-&3^PxH_Dq2C z9jHtrm@m0O`*t9G><6GRC9wStKS5Q_;KBPPZ*X_`@ z+aqyk7{S_G(vbN#@VXahxdx7JFq^R(l;#vbd!n=%em-Uv(E_&xq3u_Y+d$(t;4}<1 zALK8PINbmGkn#}S|B!awF>qN3PQ&&LmY_X5u=ESg^U(YY%Il!mxW?G4{7YrJ9F#kMi zW|;VJF~dYq`493RIE-Ln2&2^*!27NqfYK*a46F{^MrZ5>wd)@;GlIyijoihC&^fxDG?10}oVOhoLYBrbdIIP=OmNuE9{a2Bt=Z zp^$+KDz3s%_y(p%fuZmL2UJ{vp-=}VF2hiG05o?2aH07GE{Xb%*~907(x9hf)|L!kp`y*EglhoLYBW)}xTp#o^07$nZY zP`CzW7Xw4#0#N@IB+de1gZ5s5;t(`8?gSqHg^aU<_QSx$ZIHx4>%w5-pnV`PwlR_# z$T%{@99<-FEhM%&5?cj{t%$^yLt;xKu_ZukA>;BOw}9Ji`rz>c#9YZ^2GqHd z$B?=crXECt(=aq&fbtAT3{)3A)<-S>QRYgZ=77pO9Qg_~R|4&iB9&Xvu>fr4*8h42 zaQ^}{*8CO}SIiFJeX5{x3pDnCT&E+-C&+jTxLgOdON1GIeg=)VL)T_JViwT?wM9Vr z7?k%Qc^S1X2G!}{_AGP^;&C$r==N!Fxd5t*9>Utm;4+>8KBo_=1Hk=N=(rnb{2$qk zptcBT%pDS*kZ=c&n?ub3mwU<%Kjm#0KCT3<>tkk|2wE!wiUZJi2gtq1Y*_salY`OV zItp$kw7!DYFQBprV!y-BN6@x5tZo6VCE^67Cs5lQsvcw~sD1*`urLF$A$2cWosYIZ z80H?3eo$Wxqz{}n!0kPTDGf{v-JrfQBo1KpI3)hy?J3Z_g)pd}>hKfnFX(&)BMZYt zP&)@*!-^0X)A#_mG3uF~P-<`=`pFJ;jiDD^U9bkxwCG1K@lLYC}Nt+JL4R z^l=JtNc#^~H$PBk*!f^GG~Yt!qrv5(IBL0w+AfBbEfD`Ar)!k-1ZxvR(>J(}1d4ai zI1^~@5SnK|`5&f_nDGu+{53E(T!P0BEY3h<>I@D$VdAj<>QJNoOh7Xvh8D^Bd1a|Z z#hLke@%d$`MMb4~&`a-dcnGS`3`t*VQBi&oeq9Uxn{l{P7D%*BWvcV}lS1&z?8(!7#V1w%tUV?6_1!%{HUu+GRx z&%i{_P!lS_z`y`IlZmk^h=HX-j!~LNo&j{u81$$f2JrNsBcFg59|HsE{53G2fq~%- z$YMu6hq)Z{*embd1s&T2mWLiy47qE?kJ^?qV zIQZZk*gP_lxCCfmA9iM&BcFf^%>Phv@MxkVpTb<0dCWdg`$6FoKtR3#Di1nm2j>4U zB>kWRJwWaUpLGZ|-vcTS@*nglO>i7BIPwWNL;V4|PaUKW>Mj8vsC!{|PJ-OV05#7Q z$voIV9XP(B{sgl@=bcmq_<&OdJLtq325C^*0J#esh71f0DU6Wwo){eY7BJ2gnJ4Tt zS!jwNQ|P_Bm#=^l1jtU%Ilmxxf$#o++V2jvA0!Vt2M{C=VxzkcB(?xLzzDVzs^1N& zALN!bAk7R63^@q56wKwD$LlniX9_n{ILs;FyQ^+M)q>Incw7-`o-foqQ1}W!2Pnbm z+>sBS?lqv|pmTm0py@6dNuLK)9_mj4cRtA41RrR8gYLV9+S$P3IM-pGz0+j7DYoEv zY=PML^91<=Ygf zJm}0Zn7q?uw%~hrFN2B+1|0?l23VRn!45A|E-=oOnkVTzSz?O#R59kajQ8$dMU*Q$ zpk{*XM-Ky#A8tV9!DSh=Tmz~702K$h3#JcNo`A#z*g+`|dRHzqZ97e7@q@V)WQGY; z4Y;m>hF=kqe?y@1;3Z1X^yM^}EehF;3aA=rIRmaoyr5=)!nXw}j=;&)kuPB`&pd9Y z$y`%7^C86=$e#zG=78A9^}!9OIOyy*kUvBC7#Kk1;Tn;u(}E)<^c`sCrt1-MY3xv+%AyYJD_HP*vS4^02K${-R8)r z;0G;NcRhaB`8{sg(d1{$wOapnMOV>(S{gU1=j-W^c=xYFhgs5~g_L1BWNHbMG-K;?1i zm*9qk3oiW@PEH0xA!33n*OXGRM_MZ3YZx{rNgQ+)2}m5=zeN&@^p<-qR&`GbTVi5OWii1=!Gk{Km1+fqqq8?Kmq=K0NTq}W?a12q8DGpM=%m6x7 z7Q{keh9ZgfDrRN?okoi)1~CUy9HfdFd}=L-g^HOOK&RNEib2f56bGqd zW&oXb3t}NKL_MZBNCh(k=tNu)3xOf!B&ImT9N6d%LOrMr%mh!h3=E(;93=Yzyap%$ z&Ik2>LE<3H%+La&P_QZ^Xw6Un0}rUr!@$4*?hAwNJc5dY?h6BH0QZGK=l(*)VSP<- z9~h(noG(Bp{6aZU3gUiDaga1K1L!1R5DS4J>M_MZDwrA2Z(?8oFOp!uA`ZHGiV;a1 zIpr}kfKD9-nTWs;dojg9DwsjX%Yqn47@{6@YB7=^l*!BhI>i{ufl?6lnBpL5W(Lqn z#~>C0L)2r6gZkbef5H3%8;O)F$XrfhY$y`n8DKmAQl2c)PuHbBE(=U zW(LrS%P<~EDPH-lIR3{j6M4pPC)06N_n#6n<* zdQ5SU3T6iIcp8Wa#}M_H;vfag44_k@K`aD@sK*ossbFRRohA)pAuvQerZ`9iGXv<< zX%Gv6A?h*3K`NLTKqpg!SO^SJk0}mP!3;jZ8pJ|ihjBtLSTq`OmUD3W(Lqn?;sWeL)2r6gH$jxfKG!4u@D%d9#b5o zf|&tyVmye2z!3GA;vf~w4B!z^5EG6e>M_MZ3YZx{r_X~}2n%m6x}9>hXm zhUNgg8hHhM5^aC-TF15E`N$Q#_jq(mpIvgs20J z4?$RI7pV60d(>|h=srq^_b!y70e8v+W|l<1cs=`6bGqb2Hzq8 zVj(a@J?M4;gcyv)%mBJ+0LFvR5cQbiAX#ScjRYVT0z=e;ZYn^CfmoosQb6tVHA)~J zWLy`*0)^XS7!yuI!XHx{q=1>>DTqSB5cQbiAVtjZSyvDbf+6Z(g6F*;A_$V1;U$6t zWqknm2b7^a1Z4r9!vc@4Ap}8pfPlq8GYTle3^Tyu;E_-iiS1x<=mqgeGB?2DpdGMC zf>0(i1N1@}C?7^K!zPnq0#KS6)L4eHktt@3-4761W(MS5K12*eGBZF2??D_S%*+5C z=tdF)F_{^llK>zN5@u$A4zePNftbt;&;er*2MII728ofxKul%^ZV-imnHhL6#6SYf z47?x;12cnfeZmlCV1|w=pvy4BS1q8*Ff)K|@Ie&=@tC2#GY}gYGcyPybKz`etf>=} zUqGWhaAj}?GlLkMjm%(X5J%?1*~|>!QExaO#$aZUgfUTQW(M?|VBLu^}*k<1L>qXCda zAWUWk@KFH}4id@C02-x45`Z$98Nf5YP#%I}W&j^8fDnMPm>IxF4M2GaikSg?^Z-Ht z%3_9(mO=%f6f=0KFqDHtF*8^p@eoXA25STdiN(wSo)ttAfiRgFY#|IZl9|B{O$5Sa zX0V4a&`4&;>LxT%Q2F49AqEm)W&oWm0b-$IW(LR^5~!jeb6}%is4~n9*jLvvGq|BD zgz}gf+@UN~ikSg6`iw3PJKX_Y+zV9z%424LoSgyX!YO9ROe&lYV=yyd*0UfvW(HjK zEc%W23=ChH85lrEu7UJ{FnIorfq_Ak1tgA`ZvwARV_;ygWJjr$u$(gmERL9Og0<(@fyEK?N-*&gU~$C!5v+!L02W8g z6T#+5euKpk^Fc6iF*cC<5%WGUm)V2G5%W8+5E_u`@6zG9lW%uojgQJN9^qW(WBTF@6Xe zH$4azM~qv-(gQySc5_m3h|lK$nUCm?!1Bcb4h9BAq<%3xUT~Q628Z|;9O9gu*xjj% zBOD|+LGDD%@4)5@Kmb%7x9POvy) zJQfx{JGrpC{}@<3VmuZ$BEZ9qUA-hX$X>*FGOWiQ1Qtik`@r&78(17Mj{|ehI&KDr zg-G)AD`hrJp+*xi$WLp%$IcqTn-D8PEyatE(IbM*x zi2g4ud|vZ{(lab{5&4vz54*jfwJ=Hyh= zAj1wyHPAJX3=9mQm1-dMD$tA$D_14?A?hR0#N(mjJy3D*T1N&3hNVz(*cu=38b<~O zhSyN>0$7&{-0x*zFcg58UjXeof!8#G?!<(Ot3VfUgV!>G?qP(AFM)Q2z-t&m^S6Q! zb3~vK2y?$TRNMnid=gZ=1}Y9-tH{8>a1$zS0qydD*C>M4PYXfJ=YV!$VENZs2z$JQ zL)EK5)x%2gQmFU@s5odnASfpG2!YZAVm=O*AHRad5%XWL@XpT@ zn-eMyG6ylw0&90wgT*n++k-gF;gG;?ewYNve8fBpY@Bc(4)s64>JjrPun{6JN$lo# z;t)S339=V4&jRz;H?TNjJ_RQ3D+N-Im@k8sZ|PE?@(nS*4QuB#NMU!+bR6bv1dAi) z*I?$H#$nE7uzJKi4lJF!NMpBmvNXt@h;d_BI$R?S@)u%W%m$Qb85kJegT)c^II#3% zF9TAKn6H85-^E~Y#5@r!J)f1q?w(gT#PwvctIx+Fz6FQ)R~+Kba@fu9!XZ8fhxh{= z;_q;X|C0lS8)DuHmTsNpLE?z{DOh@I1&br*pE= z=y@n%_irp%Jz^dQ=C4YyIAZ<GNp9wZKC zp%Q;^h%+f;cfYYR_V5qFp*{<&9<%?_4Hn022d=6fNAM-=3@Q~2Dk%){QGRCe z@dd>tIhLsvsmY}!nfZA}WrjY+#i@m^xMd3xi*U1`7$2XKnwD6aQxcz(pPU_Eke`#8TnV-cyc^TUB0n=FJ}*Bn6)a|G6z}fi@8swc zAMY1$Xpx>;5}#CAlIj}Zotz7DJgU5rNl8XgetCRaeo;IuETH=)1H6-i4dZjMXfiZR zN-Zf*P0fqX%u9C7$jZWEu5n&!MM->dY9Ykv(&YH8f}G53h&ytF4db!sF+|Z*oRwLO zt|JPv!P5eELZ@YFUNYotPS@ZPLv!TgKEcPTdL{>#7#b#LBo@V&6eVVs6niGSy1H5v zmnM}|7Niz4#79xt#CQXczrgWg39=$SFEKaOGszVcH717f@x>*HC7H?bnR%HdnTa`> zRf(X)6`z=w5}%R^IhYi*r`8}dlK~!!#idE{p7HVM4mC7RfPh%Zh~%*#tH^7Qcw zHi$Pgfkz_v#8Ov7S67qd#GD*(^n;@^xWqgjl&}m94ULe)3tLbHCxXJu&?w$9CnrBS zJ|i%;^$a$ScLg~m$UE2=oC3fhWr)0A7iK<024lxCsx+33$fyd? zb`HZNF;j(6PKj%fcXF^1*jbqJ=E?cF1&KxA^c!pxpUaS&nwy+k00{~7BxaVAnwMUZ z0rDwG0U|f!Q&?P5l#`kVQjcl73F!1&*MMYjCI;DDP{|M<6__W-T0Po}~hz%AwnI)-3i8;ka21v&c$HPQ( zGL4GMK<>|F04Lhy?D*u2?D+K3#3FD3NqlZ|HpDb0Eip3(-SoFOGN1ElJBsOfL=wMNDu>ei1I2|ib zVv(6&9G{d}oN7{>T9O7TUeMfQ0CA9UMruV6l5((}AU)-oV5V_yW}auRYmj$He6SG+ zfkjO~hi`ilABwInA;~!@C20lmV4bdD^PoXUY`F)~3C_Hb%w-IXd1%oX;GOIWDp~X6 zlS4(xF1v7> z4AviF2riF;P2>H8EkN-Jsb8=iaNum{8sv@JI4l(nr1S)p{A6fzF$8A?-0p!Y2=TSb>GcP4RD7CmWHx(XvhFFq_p&=;kg3?G@YLP1> zg@DQ;aPsmb!>g|N5;v)p71$NXL5Jo860#hIM@^7Y2>Hf>G6Xz}nSrtxlDQyBaBeX) zPtGlfPcKSMEJ-bjPc1A>%<;_4adk}sr&~}2fs>arG?|c|ft(F7Yh$pH(1hjZO?*(n zswYTek$8QOx&h=F+*PDeY9Y8{MrtoW>I_hI;bfXzQDJE4=@%T22s!jN5V-M$oGvYp z+dai4MX8CoxJwXd2nUzs6oblZ^u{E(0)d#94>Kwx-Zj`X9#R|o1?T4!yFyxCAXb1I za%B;05DzLJz=mTfL0qwz4vv4QsZaFt_-W+F62!;4BZX;2K1 zojjmsLkeL;8YHT5Zh+A^2RolcQ;eu$iZNA8F`Q^gbus+eL)6;lkU zlk5yJyO!jnUPJ06UqkAoUqiwP7*y@Rhe}*C84A+jy!ev*c+gk_sGLL%3#4%hP_F>3 zv_O(2zU~BBLP8a72Dx9x6;ef$pfR%oQhSl01>RQ%bsplQ{D}9Ip+S6bJglb;c4}}* zY9Y4D*)<8fsnF`t6wy?J7pI`Hgyh5$Pp<%PP+d#pXc4I5!{0+OiwC!xTwPrXLcrDr zml&F5LT)UIhn-wTQLTo}KxoAi0&0|C*ak`*s439U95fP$GGye6b;JmZRwLxmK~JzQ z)cVcU4K((Uo9pW88W3U-4_1NR3Imx-LK-qjNi0c(v=Wfo8RU&v89~hfjb^#PI3=X^ zEYOC*$ZmL>W#$#97L~Yyf(+btGXZtWJcE#%AVm7p)zu%Axy*`EK}N(ErKY78fo{g~ z42gF&0S!O8!n(DjhoQ5ftA8-Io(cATJhUb53L3dYAF8wfb!Bo=i;K~FFeJx;vk{g~ z3(2M!8pr#B#?ljW;;EO)oDE$AlHuc;q=&bm5%Tp^o}j@P*RqiKV2k+R5+j4O{G#&2 zqLg^>pj}CRQG7{aIw(hxZV$9S1F3>gy11kkj7IUUuCBQ*1)!lV^4wxplnNS4fK)J~ zdj+YCKr8GFi&FDaQj0*rl?x3@kSl`%l7r2`MKnJ3*ee!Lm4V**b9F6)8Ec6!7Iioq zQr?7w!2%rRXi7-sXqc0qo|z1pc7c^oUOsR^F!K!J z<0*1gaEXywQDR<7er|kXa&l^MF~WJ!OpY`-Vjdr#SsV|#yDq*UA3O`@>7DHAniK$T zc|d#z9`1`rN>i|r2$Bm*OHh#n9)fZW0=LG;_{EU97-(TamTA86#i=Fn(1{|@EK71lVti6+ zdS+gHa$-qx26-i_p#dnkGm8uIi&H^`LOjUSqEv8_fR6m8=A|HPfaY9KDGVLa1=j+2 z$J2t*3x2R6@bbnGrSQdC;vkiqW{7eV$%NFr(p=b#Ep`)7YA#TAgiPF_JB6@8AY0+X zv9K8r%-L2$!X_CSm*mHng6f@|%FMiUoQ^UD<=gb4#2lCpGhNYrgQb&bh(#NU+l}Lc zyg~ZlRSlNOQBWxgt%$J5xOL47IM3DD3pnd7721vge% zsJ$3+(2fjFX^5lXHe(yS1IIeXs2^M-XqGg&q9QRVv&_&4G-H|>pPZ9eTnw%o;z4td zpl}HZhB^UD$e_q$_y8;m>W3MnMkgT!I` zBS7mqk;P%_b)^{@7{XwOXE89qPZkqqWB~6zJpnQVbY3u&7DW?>?Mwif6OLp~4OBh4 zIP4@NnE9Y{k3dRcCj`OFhl#^h?xLGB1Eh(8fdM2Qfn@Ijs5s1g*cRg@P;r>~Fmc#< z$RKl&-M1Brv;25Kw=>}+L_codTQCr||- z@n|G*Sa^WMW01sIplpykK}+6Y>*irJ$eqaIuyv{+bCCUO12qRE9t&lIoC328W+1BoAissXtZS^Nl89Hc%G$_A;2oeK_9k1T!xss?1Q3zQ8~58ICb5=VB=8>kwP zxEquWQV-kO4iZm766b)fEd+_XBZ+rFx2l8O35rM9IqN-8agaNa#bI06(bcm+_h+E1 z-vSkfsaJs7y#p!^Qx6m8fG&tcSI+|#M^|qF6^E(UfSM0G3m2vyCZ2<)-TKDbUrkK=*H?7+=;|Lp#nIJ&fr_K62kkooCzk?qxi9`OQFk8H0AR2*b4=uBaV?->{@pyD8V zk;NUL;^^u@`@2AT(bfB)sfXO z9?*DqfQrNHg^9aB#X;sE`zr!T9NFF$Byr?)z6B}{vlmt`?|_QK?1hQ%fr_Ksdj?4y z+1?jWak%+Vf4zZO8Bq6EK*eG9!o+K!;^_8HKoUo`cMXy_vb{Ty#I2CZjT=bf z$nnboJ&FnDPT2l!9;i6XoiK3$s5rVi6_CV{-Dv|AhnWv+UpYXEsSn9A-XD9JFr}RDPnH{{gBVB#vx85A;YanE9}Fod8rEWhD0s(bYeJio?{y z`t>iM;xP3vaSrH4Wstv+-M;`y9C^HG15_MjKByj?01dY-P;rp?$l`mT;xP3ypz04m z#bN4U;zyw3Aoo-wl|NUI#A}em?;wdIkN-S?ii6s3wMgopK*d4rH)Qb_P;rp@IwbXP zpyD9)$l_n1;vjb-k4OE1ii6BSZui2Dngf}GEUp4QM*(CGvinVt#F59ZY>>o}$Eh5U z#F5*v8A#%=GdDo_zXK|c?#>>lIJ!G`K*d4vco->s_CUo!@rW#b0V>Kpb1oSezCgu6<{*pzfQp0Eha#Et2PzIyk1P&5>JMZutjz@q z9}egdfFSWeBy)J6;vn;3W0)ZI0#I>~`N-lTP;roYWP2r`;vn_N;xbTiP`n_g2L-4& zC|;1oRiNS^cOFG@rv_9UWX>@paUG~Q$Q)#G1E@I29DOA97Ep1J`;kxiw1J9)+>a~{ z+8+)I50E*>k<9Udst1{a96kY1agaI4;vrCRka}eEBcS3S^~mBeP;rodk;5keDh~25 zvUmzq9OO>qa4SI)M~?RzByr??*8mj<*^8X7TcF|~dy&QGK*d4!BIi@&`5;B4aD$!a z22zhKeg_oD(D@f-B=xZKC_w5#cT_-?F~H6f0Ew$1sfV512NH+X2_QW%^`P(vJkop~Ed;_n0Dy z!@>=u9=RP3Q;!}FF!!T}11x+%<{-yA>^u#SICA}tJa1@+^MD}tAdACJ;sB|4 zMp6%(Uj?a07KfeK1+o{peuv%53leulGUpG-6ATO(=^QrCi5@R1P`w~?ko^lwOX%V- zH-N;E+XJxsT0!E-@hpjV!NiHpy3GhM8r%&W|6tXxh9zo{7#@ImS!}23Yycx-SWOG`P z#9`-Lfz-DliNo>*NW2|M9Oh2+e21$Yg>N2*zJrM)mnX>i4pwe} z+=(3iuzC$7-iYLWRG$jAR)PuyQ zBZL>7moVUT**S>m7|hUIaPdSr1} zT!7T4BAGu0$_A-N7Khz~2~wX1RRb~~wk{E*9$9<^R1HXdI+P7kzXr+%sYe#y0u=|T zhpmkSsfV>MKAlA9s#LG7KgP*Kg4836KY^+NsfV2n4l*CsP64S$7KgP{KpNK40tz=+zW@}Tp!kJdaRsZtK;e%p4!dyyT>$Sy5;>h*;5+rft`fe$bIIJH5GJhG8IILa+i7!VIhxPZ-!wq)-2zt1| z*0F=kft9_WaD(+PK;kQr%ol;OLE@{RY>;{xC>tcc8p;NV!`f6JapZIY8;b^s<4Px< zNai57|6yYYAoG#q9a%kcKf)Tx9At4{Bymd88?N>htj+?tlb-FXwMhO#PKSfJeFY1D zPvOP}cG!^%%kydb+1c{~Ss z+!7X^pz#Of@lTlhLE^AB8z?+sWMKQc^?Y0 z`LH!d=;rSx(R}3k8rgj0dLP;Su(3Umy|~;Dk^^B-xPkWOz|2Jsx4lU2gvo={BZnu* z3=js1<1%L-4s-S+iG$1lVSMJm+TI{_$nHU2cL920H_qXBb zuOW-W!Wop#Pa>HEGan?5oZgVjE9Cwfvb~#e*o!QVY%gqY6v+R`_9EvaV(i_8!(L=@ zWP4$K9CUk;(?2eIL3%(K6knhw;Tq`tH%JVGLE^AAwje&t99BjKl-omLu&g2bU)h`{2oeUTt>=vEuBIBa|dBo4WQ7A(vFn|}d`L$`*2C1B$TAaUpx4X`+@ zy#x}6Ze;+A!}bG$#Gy<3!Q!y?4@exkBpfUbn;!v*Lznb|#bI*|AaUr@OR#teH0^=J zp-Z~J;;{ZTNF2J<1uPCLOF`nuw^zdA6eNy(OC_wo2@;3Z9Uy~PK#|A5zyK0QzWq@h zNgTF^5u_eAt_)I-e9NOFl6vIZ9AW(?ka}2LgUo^TUqIr>w>B<8G6z<-g4DzMBOvw2 zw=kYXQV*+hLFzvsi6h^(_!CJS`Bp^{==vj&`LMZukU2U?;>for`XGrzjRYxYNI?^a zwI_0s#67_(Aw&m~ILI7We|rI%IIO>V08Kmux>)7`k~s41hCh(RLFU8mnUa9&1Nj#u z4!dW{0!#yd!{VV#6_SDs|Yl4*gaDfXyUMYre>gt!|s{dfhG>SXX*x;IP5;DA4uZJw@6Ar z_nCs+4=d|HDZ&6rJPafN#U4oFu(4~9R0fiG6i5JyVf$D?=7ZuFc8}FmB=w+l2rDD@ zAc=$2!|s8)gCrgcH5){IK@yJ#2|%$3v=9f`i@3Fsfx!Yv9C14%149Iocq-Hk5LJUD zo(>X#;yFm-nNTqhwG>GlpbV2sQ=2AiC=pczVfdrt~2T2?@hXRty zK@vyYn#RCTiX;xQ7dDNpa}Xf)50JzWx2Z8Out4|! zg8T)W3kIoIK@y(?5`bbCBym_910D_+NIl}#B?g8XB=sQo!`pj$#g(}wiAfB4#U(`$Is?WkO3g{sD@m;=VbBAehR2|n zR9wse7SMwpPX;>E6n0ikvMbU}8G3NN*p)mp5PLUJ1-Efhu(aF5Wu|u0?jb+iT$9{bBH{U75i-gFblzl7ZGU^*k;!<1{4QD z4*>!lQl6QY4omi+;}}6lrI((Z488Rtz9cazCl!}mz#V~Ap#P$H6e(?CaudM7hr zbtvhkfQoWZB1Aeh5bfMbq$?FrV;HvHy`p@*oc!d(9E3Ybjg(x3RuWtUK6xAD0!Z}? z3UU&3!|Prw_3i;eF_@$p1$s|cZZ5Wx z4W6>GAE8X)RY<6gM$1b0Z<9gQN_yO29Lo$#D8VK8FD8Mh1D)hbWTlOML_Dh7QN0a1 zqK@__zGHC#%2~MJ6YK~o0-aWfMG-vB7*gjHc36l9m(cv!ahO$*h6CIqSWg2-@j1ok z{Gymf&XKdEpT&)8B{&(Pw0FSAsuEvspq{ac#c+6Vq8_&jYNsL&r8dXfz`~)Gc*h|f z-)f292ILHg^&D3U&z^=SF{G9Yz9W)h>LCXuV;t*D<}uJnrqcK@Xe=~bu`aZLgPDpYATZ3tq6UwN z=z)b{9GU`1zl!{`ej(9;lDKi4(o39598D5zw`1aL<6wzh@G;ZaT!0q3IL$;?hj1t8 zUgh}2qN2n~^h^To!Rg_<$y6^nKQ}iuuY^G_FTW&J&)qLnx40xRIU8zHYDRooQDSZ? zgC6*1W#~XGg_Msd0|WAWH_SNLya;sIpW!tF0|RLPIdqzh0Y>A}58L+vTkinU586Kj z(+8t*>4(jAA?pXN6@=-7(YW-(=0%Y8gZ9b5^ucIc`eExok@bW2>%jEEXk7YX^CQUm zLFeJX^ucIc`eAb;$l(t4(i>AnOP1mxt+t(YW-( z_H!WX2koDS>4VX@^uzYQAcr4l-#knojK-xOwjU2!KWME5OdpKKr60Bq7g;}Oe?Ckf zjK-xOwhtFsKj^$_m_8VdOFwMg33B*>*5twT!Dw9iVf$T>^@G;#!SumsT>4@AUy$7o z+6N5N2cvQ6hwWEHwjZ=_4yF%AvUoIU^FiMuyxDG?gyj$k%hUtURxb(yJ=pp+bv>q9z4@TqC4_k|atRHlK zCQKiU#-$(RR#07l9DkrSNicmd8kc^MT9AHZ|AWpWf$4+Mxb(x;mLb~@IwuFF4@TqC z58Km&tRJ+m38oK5}(VrVmEr(hu9afb4$I{#BSh7>!FmY;8QU z{ihii;O!1V`eAD^k@bVlA%W?G(YWk~?e{{~4>~sirVmEr(huAJg{&WRo(fDKjK-xO zwjT^xKj?f6m_8VdOFwLX7_xrQT?jCJFdCPB*nTnO_ygUC0MiGfap{NcD?`=~+9wXv z2cvQ6hpjh6c0cGmIG8>djY~glKRt9=7r6a;mW1>J+i!+!Kj{24n7uF>m;JDPX~_Nu z?MsL0gVDJ3!`4qC>j&+7hUtURxb(yJzahIHv@Z#!4@TqC58DritRJ+`8Kw_LN;M`d~CJ{jhy_$ofJ1;$Zq0g6IKWN_(OdpKKr5|=)0&@6+_V>W_!Dw9iVe5dA^@H~N!1TdrT>4@A z6p_OZw4Vp24@TqC58Ee-tRJ-h2Br^2!Fm?3_wu`$79;VESM*F8vl*><8^bg6V_Nxb(X~^&{I4+Ft|H z2cvQ6hpk&j_CIK!5={81T6YNdv#&%hS9j(zXYluIs8F=I+#8f4ceyz+7bd?W)13cf$;{Y{u5~X zZD9Jqia_UNK>Y+8?}Ld8EQGKepy&L9`rn{EfUxug+mEKkzyLmi2x=Wf69WT71xNzU zLoh&YMerCHKzmF;X5!Kh@*lE#kXmFuXm1I~Og3nF1(So>58ICk6G!(y=$uGw`d2{R z58LO1OMf^l{Lt(VfG)0uje~;1FO-3S0p@;K`1L}=58eG!)FC#a#|ygqL2I8uVzBle zL>B|Y45Z{=WjXA2tpPGZ$nRj18he`=&r*==Pt0+7I(5$o@zy z{(lJdKU(lHXh1ji`lBTbnEOF?gYY}3e)RCG&<4peFu=ke!b9{QVf>dk;_m^}{V@F? z_k+?3%zl`^_!%MTAKm@~Q2Sx$1;FeBg%ykqqPZ9$ZbA<~4d?(QZ0$M7{x~e*2RhRM zTl^V-G8O{^1M*%ckbUU(gYH1XrauR&A3gt}>ulGb2s5DnT#1`1Pj|G$9R57Q6wKWMKvy8m5q*gpkoKQtSI ztO8?@U0?>30ND!?1JO_+Fy#T=gn%6WSy=oJx_1Lx{O^I<53B#dhC=f?j18g-ak&2i zR6n8gGYN-&4(KLH*nU=!T_6ndD~N{SUM5JKp!+`oi~sYm`2P_O`&FR!!@>_{AG-a@ z%-GY94OBn!*-juc(DlnPV|RZA)cr7jfzl6X-xGTJiGteCgjNA8&S$nenRno1Bd+= zu-IRQCH`$#u*csYsQrY>Z*vyx@%I9Y{h&EbbpOx8VZRKt;emWM6(|nS!+$0Y`x&4I z6T-$JK;d77#s7bx_M@kt4p768fdO`%9LQ=gMo&N4tk}bE0aQPs`ZJ9cd-yFl1hx)# zjT?CU5wxEUJ^YqJ?MHY29jN{2;f3!0*HHcF>Hh&#KQtO3j=@s?$+2Pgzkm@$3v3=3 z!h`q~#s<-nY!ES6J_m_`@D8Z|k=rkgSmMu@4bmoNM$7*zp!TDuUs(8o>;PfV{#8(z zplN4->4z3WAf;f89-i}X_&)=>Ih|1X{~m|_1yKE#;-Q55z&j0nh`dKx5t@VUYcx zz6QGeZczKt)87nJkS+%J`LPfl#4Z>cL^tBle+H_bQ2D(dhyD*x{h&4r$Q~F*5C2^- z|Dz?K3r8V3klX*DH5KUoXXSu|Kf3=TpobNJ`V0`0ASAl|pbjBO3_bry9D}GwwjZ=V z72SS!9QJR4+7C-75YsTjzXONjfa+X`%@7jZ{$d>VKR6Cik6ivv$726W9R9C? z+E1wdc!Ir1GS$}`6=hQ{kL)Wf5J(SY6b@6@_RlO|0i){ z_x~5@;VFdTKb9MN_zQq0>lqN^FQD`f8d5|rzuIxwuVM{xKcW6(6At?$p!UPu53+wT z7XPooVZRU5{wHYl0($r_$6Acv({|EHYAJ}<#FbmP`PvXVy|B6cx9mw_1S}gV-!C}7(G~%EX#4s%F z_x(8RKLE8Kx%^#^#s2>|>~Dcu45e_|{|krxH?Y{h5sUqaeAvVP2-IRi<4v;(d}mzf`mW1{{^52tP=A7KOFWyz+ykB zOMz~`ArAX3h_qiv2z&TDT*nN5P?H+n{umtgCqV6o#S_Fd%<+eC9QH4O+K*iRoWhd+ zJE8WYkDpaQ?MEMfg}EQ*o^4S5=4>R{6)P8jLZ-Ckl zoqmTo7c^V|XM-3#!r0T_1*m?QJs`Cp46`4^24Qw#?D21K10;*ueg`$FVESR^nnLYI zcmE3_?T>@%M-P7nSBU*Edmuc_^b?80{S{c;e;G^qX@T00?tTfV{m5r~g4_V}KZp&& zONAkBLU+FbR6n|UbpC6o{pkIFn0{FM8Dtj-qqjew;qd2Ntpexa1|ASq#tzq z6QJ%#FTc?37ZAaoemHJ|T+0BzcNA29gM`rSx5r_B2h@H-{ z!~Pvm`w96!4Tt>=Q2Sx-2l@Xl7W=2;u>S$newcnpXhOmo#s<-oaM-^AYCm%Mc^`}Y z`*GMW;07|Cfq{_!cj2)A2h@I;`$7H(t@S{U|K}nM415d>uxl3}mNGCfSU~NEsfS6x z_%Qkr%zl^xD6Me|!hof7ko}Lb`2Ppg|LFPGfq?xG(-{~(!|X>JCvd=G|5GgXtB6AK zA1s_;=6XQwhfc%7gu!dAKpfDR8Hm<}>IboraT!!UvKWXB(+6UMuoF~2n)4Ydp!#P( z&+`MR1z}jYgV-Q!D+)=I=9sElWhzP3`dX;J%+9o0?ETLXzwdF{RYqtaKUI50LZ;Cy&ziO z*g^pr7$9*VYzS#)Vgi=2G&6x}NZ_h>^>JeY9e@oo2<*1)@c4xafhhx|MhqmJ9T?OY zRKaRNc?aYs&^|AaUqEaj1_lPuS=AsmsQnM}0*EaJwu6BIbS^cB4~hfOS=1mlsGR|t zYX`AG*8Q#CyYeqH!^8*t3_l-oGyG&=V3@$b;P8`?!QtmaafY9a3=N_rp;S~p%ZK(U;vxzW|&Bxzo7QZGwggQ%>Y`42M!P9 z@O>cfuv4Cep>QD+L&!sEhn)}p&kwR^V8~Wv0*4V;J;;9#nHg3={J=2r1vA5{2h5Bh zK4|I|w2c5X?E;P`h#GR@U_Uqx9{!&nq`=S+bn*ZH>3^#ag2Nk>K>s^4TztUJ@bdw? z!%qelkogXl@+%k$7cww}z{OY?CNeWHh`{*&of#&A;uoYJTmA=$qhsW>07{dfI02N|hWPa%Gb9~??1uRVrUvX!28W+8adf|s!iOC6VQ7?E zRFq$ok(if~lUf9A9zcw7cXqZ?&x_)_3{3P4HK7s= zh`Z?+tAZFx(VDCaO6{%%QBDInK++G}%MEr1)O;@_c~HLu zWIrzV!S*79&nJeO9|zSB@;7XZ5j@uB$S2^=#{dow*xWfdTpalXT%h3ryB8XKcMjCN zOsILF@j}?%RZ!S5IPwY1Wtzw63Y7=B6Bh=Ry(|nL|6`M9W`G{tizdko-(iI+!OQ?X z7#&rZff?M|LKOtn7m!vMsyK+p%z%7L0!V~`0aTwbU=as}6C;v1tgiqXN(YI<>TZxf zK_-FD2?vRT>Mjr;CJs7}8YB)f4_O>Ee+3c;g)y=?XsHrN92|dWV|>gEFw;RgAQ<9b zOmUDbGXq2x#D-yr2!w=*!Dwc1N`dhpG(;sRWkL8b5+aT(9znG;OeKVdsK*os$ufg$ zaS#iEA?iW3J3MudXLGwEx_rcur7KeMjvVg(|GhQ@VLHYl1049(>H4k41iFN_<{^UMkpJuo&X-WX~j5kg$ni ze0*_9Vo7FlJm@H^%*33`szi{B;}i2z;!{$KONvU9!F+?vOon)OAAcuDpZNIV(xiCL z`1mMnO;u+j*C4;(cteBa{JgwWux5}=5T)?5?@ZDYOHz%D5o+R*L*3bw7&9!A6LWGv z=6Isp=L#|)*eD(p8CXxxhdG^C_YmbLeC{!F4T8D{91+CYYe-Bu;15e9!=lvm%;J*N zB9tI@4FCliS|=ku%Fi3seR%w2l98XA>RJX0W3V3N7$?zEuzn)L#K^cbk0c*~4M%Yt zX(oU&NOE?3az=K1dTC-2s2~UlgCuA4P8v8fLDi-uX67Km1|^`K@kJ}Dncy?&V5t>V z%FqB25XjMhVwH;_ZYj_)cJWauIRRz4aEHPp0Z+t(oDWINA+WOyQS5YOh>uUMNQ^Hi zElQ0q%PcA>O$3ERNSL3Y0Z67IF)6dm(9k?SJ~=0`xH!I~vLH1+GcPS4R8E8h;|SWQ z5YHq`XBt|hq~<2(rRStVjLA#PO?5I&uBb3HbPe!MW{8hZDbA0F^rAt!Nk3~E5`th4 zC6=UCWP-MZfNK(1eFr+H3)JTU3o=0Zk{~u{EfcahtUUv|gAg>X2h$I$e?fN-Ba6e< za)9m{gf5Q+8Os1$V+az5E*k`k!}e~Wy9c%=0^L2xcNjZ@O@I)ffg}(M-JP&|YtY>Z zTeARi4|Ez3q@4jYe+*)P#F57@pi3K$l|cG zk3jAW1Sy1KP(K001et>zFR-(YK;|He!@5c!bCBZ;*8T^HLzj7jjD`2}K;qEluV8Ul zOB5syT^0%!hxHIZ;<(f!-zf+m|6pWb0NvpPHUxAx7?c5;3h;umktvY4H`2HrvN^Ca z0bM<)*^AyU2Hn+!+zW+n5n%v{BaiaH_I!iHL30W)vtb1tNE|f3027Cm4}Rz055zQ3j|z4;@Bp0k zJBNw5vwlHSrl5KTR))i9T>4>a3}9!Kfb?r3jl&Ys4=Znw^@G|mFnur@m;JDI4zhkw zJrC0dqjBkno%IVVS3&OABEkKzauHcSs6K$%3!`z_4{LWJyC2l63 z`UR#BM&r^CE5DK552{yS`d~C@gcMX|qmK~6&iVz7*MZ7i7>4PC@j>&;ATf~NU}7Np z0<;lm+ zybPMB(Cwc9wI4Qq39=tFii>W)Ada&(TA<-a$bKFiXKft7Vn3*Dhi*TpJ&(=*u(Ot6 z{W+L_(ftoPzYd%JD^T~t!WozTcToSMuT}a0)sG(kF!#gEdx^vUAF%izQ23#*)zp9nG;-Sz zWG75Nhz-ISOpsYlXmEjqz}Nw*A6-3+52KS|?g#5a5CKpJLMaAN`UTB0!SunzOQ7Kg z^C!#%52*cw)_T=K^~3bR=rX8&7#~K1!V1O)(Xg{h(90j#-Q2LfG9a}e40At-4Z`rV zNUH4(M)cP3_MmnQh+W6Pz);V?zyO+e z0-gB)5(C`<-ORwi0J_(p6>10QJcD*98`OsBgt9^RHg`kWpgs4nGtxl&-}|BBpfw|) zg-sx{LH96&Xwd#{5DjY2fc9F0*q}R?LHnLTY|wZWXb&=oJ&S>X0kj_�Irr=0eS# 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

    (4NQ9lufdQ5SM`pG!d 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

    wlPIvA+sxKYILgbb?}=@c4fz4*NGi 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

    TPsLF@&+b7I%^&E8`>Q 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

    W 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

    A1E zPJ%`-E}Sj|i<`swFvcpdICzy7ObAT>1&iB)*~o+ixS+H{76P*;gT?K^Y-Hj)SR7Vc zBV+=>N#6+}0A(Eji(@YHRsgT7aEGcwP@Q0L&`Jn|7>M-=EbawjqTmd0*78LW1929E z#r;4`6wC?Ea=|EKAdUlA95jmu;vsM@SUeRW0A+Q7#nYfXREn7)09@Ljih_y=tilY; z4B)~BT{#0YY|$;63^M~blc9-%%m*iSEaKoqibWip=&*=`6AKn`aO7hV2S+j%ad4zz z5eG*O7IAQ(ViAWn0?}lcVT%$l#9_0rs1nQ!nB^)+1v3L?xe5`-ELS1onB^)&9J5@7 zh>L+J49v`cS>A#aF++9*fS4$lnE|uB1u0-=K)=xwBnnCoXcu)rgc+D2D>|V(1jWpN zSw4egnHez4XNWjv`3w=qET19biXaLDGczb*h=Bx{8I(a324;rOj-yI3GhmkUAQj9E zY9I;&Gc#b8{~$%okX0@qCJJU|z%2hk3YZx%%YTSCX88{h$1MLL;<_LT12Z##PE^AX zW?*JOzexz9h8ePR0m4BdnHda`cnBsl17`gKl4WKv22mK8nE|xQ2Sb>FnZXoO5Zqq_ zt(w4;VrIaszd)*(!8<%aEL6-4K7IgI48&t*umVvSn3=&ELkuLq%m7{~24bRMW(Lgq z5u|{b0keLDh-21|5OK`<5hCsgqA)Ns17^JmQpC*Q45BbFGsX>e5GBkEnDs13hMB<) zL}6fN2F&^wq=*@^suRRS!ORSvD0~=)nE|t22FWoqc!MYm%*+5@;e|yUvmOU2VrIas z$06eWAPNIBGk|wYU=a_*5CaJ?GX#Ms49v`c*-ii{0v(MFqR}xkLnyisn9s}*2By&o zW`=NdAuykr0lcyu%tj`d8K4(XBMXA_7xZFV3~}g%qZs1g6_IG7p!x!OK_Hq8GXvU% zM^JfY*oA6PK8#{!fZY%Y6M@jo42cj18p+I%geC&vGBYGY7-%FjWETpWD9HVo?KF@g zW(HjCv~-X(24-de@1DRSo{1p_5@2S?0#O*48SAVe$erNTxLDNZVu*nRm>Kdw6b5Ey z$j1-^2{1E&ch`ZKD43a{5QPupFoRdA!FULonV}fLL1HmOb~Pf2K$y%7r4R-Z`GA*! zK?!MHBCO>70TxHBGX(FG1nslrL+rIgGKN8%4`dEvogu78Di0P%tS5w(ybfS-#Cj^& z%B@Ts<`;m~Bi0$hdSYFC3=E1$T_Vh!_c+Y?4pxs?*9Ys_ zTJnR!0kMt(RudP2#WB@y0gEHn`@vdf*Kvsd0*fQo`@!r@69CzZDSinoj#%#pGhbd1 zq#jc|2P}?Q?*~h%4T9L?eG*tbV!a=%XL|@Nj#wW8vzK28yEzI%AopO}Ya+zJpvZ(6 zkAn4l0&tj93pNL_&IHy|wZ@@-Ggv)hogqxUvM|U!i1jBh@dU6qruqwDaabybuES{SzvL*`aqcYCK2r6b_%Q>u?`UCP61Jny_n)*U~$AcKv+7j z#UZ`~ERI+Q2E-k?!ejY52SnmgG0X)MY{ueBcSnmf5XE||@zYy#CVB+>* zam4yPn0N{f@lLQfV*MU0f33nHei|%}Sic8LSG*D+_h5?qgT)c+_h9a+!6Cj9ERI;e z2XoIQ9OA#h;)wNouyR91667AlIz5;Z85o4Hi044XVd`M@S`$

    uo2!OsQNch^)P>Q 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

    TEi|^fAhDRi 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

    Oua7nT6%mbS6AZw8kyM_m(KVq_d2To9j} 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≧KBfL_vyoPSlY*smpt-TyP7_7h6~ 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 A`2YX_ literal 0 HcmV?d00001 diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx.a b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx.a new file mode 120000 index 000000000..d9fcdab85 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx.a @@ -0,0 +1 @@ +libpqxx-7.7.a \ No newline at end of file diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/accessing-results.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/accessing-results.md new file mode 100644 index 000000000..920fb6f3b --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/accessing-results.md @@ -0,0 +1,157 @@ +Accessing results and result rows {#accessing-results} +--------------------------------- + +When you execute a query using one of the transaction `exec` functions, you +normally get a `result` object back. A `result` is a container of `row`s. + +(There are exceptions. The `exec1` functions expect exactly one row of data, +so they return just a `row`, not a full `result`.) + +Result objects are an all-or-nothing affair. The `exec` function waits until +it's received all the result data, and then gives it to you in the form of the +`result`. _(There is a faster, easier way of executing simple queries, so see +"streaming rows" below as well.)_ + +For example, your code might do: + +```cxx + pqxx::result r = tx.exec("SELECT * FROM mytable"); +``` + +Now, how do you access the data inside `r`? + +Result sets act as standard C++ containers of rows. Rows act as standard +C++ containers of fields. So the easiest way to go through them is: + +```cxx + for (auto const &row: r) + { + for (auto const &field: row) std::cout << field.c_str() << '\t'; + std::cout << '\n'; + } +``` + +But results and rows also support other kinds of access. Array-style +indexing, for instance, such as `r[rownum]`: + +```cxx + std::size_t const num_rows = std::size(r); + for (std::size_t rownum=0u; rownum < num_rows; ++rownum) + { + pqxx::row const row = r[rownum]; + std::size_t const num_cols = std::size(row); + for (std::size_t colnum=0u; colnum < num_cols; ++colnum) + { + pqxx::field const field = row[colnum]; + std::cout << field.c_str() << '\t'; + } + + std::cout << '\n'; + } +``` + +Every row in the result has the same number of columns, so you don't need to +look up the number of fields again for each one: + +```cxx + std::size_t const num_rows = std::size(r); + std::size_t const num_cols = r.columns(); + for (std::size_t rownum=0u; rownum < num_rows; ++rownum) + { + pqxx::row const row = r[rownum]; + for (std::size_t colnum=0u; colnum < num_cols; ++colnum) + { + pqxx::field const field = row[colnum]; + std::cout << field.c_str() << '\t'; + } + + std::cout << '\n'; + } +``` + +You can even address a field by indexing the `row` using the field's _name:_ + +```cxx + std::cout << row["salary"] << '\n'; +``` + +But try not to do that if speed matters, because looking up the column by name +takes time. At least you'd want to look up the column index before your loop +and then use numerical indexes inside the loop. + +For C++23 or better, there's also a two-dimensional array access operator: + +```cxx + for (std::size_t rownum=0u; rownum < num_rows; ++rownum) + { + for (std::size_t colnum=0u; colnum < num_cols; ++colnum) + std::cout result[rownum, colnum].c_str() << '\t'; + std::cout << '\n'; + } +``` + +And of course you can use classic "begin/end" loops: + +```cxx + for (auto row = std::begin(r); row != std::end(r); row++) + { + for (auto field = std::begin(row); field != std::end(row); field++) + std::cout << field->c_str() << '\t'; + std::cout << '\n'; + } +``` + +Result sets are immutable, so all iterators on results and rows are actually +`const_iterator`s. There are also `const_reverse_iterator` types, which +iterate backwards from `rbegin()` to `rend()` exclusive. + +All these iterator types provide one extra bit of convenience that you won't +normally find in C++ iterators: referential transparency. You don't need to +dereference them to get to the row or field they refer to. That is, instead +of `row->end()` you can also choose to say `row.end()`. Similarly, you +may prefer `field.c_str()` over `field->c_str()`. + +This becomes really helpful with the array-indexing operator. With regular +C++ iterators you would need ugly expressions like `(*row)[0]` or +`row->operator[](0)`. With the iterator types defined by the result and +row classes you can simply say `row[0]`. + + +Streaming rows +-------------- + +There's another way to go through the rows coming out of a query. It's +usually easier and faster, but there are drawbacks. + +**One,** you start getting rows before all the data has come in from the +database. That speeds things up, but what happens if you lose your network +connection while transferring the data? Your application may already have +processed some of the data before finding out that the rest isn't coming. If +that is a problem for your application, streaming may not be the right choice. + +**Two,** streaming only works for some types of query. The `stream()` function +wraps your query in a PostgreSQL `COPY` command, and `COPY` only supports a few +commands: `SELECT`, `VALUES`, `or an `INSERT`, `UPDATE`, or `DELETE` with a +`RETURNING` clause. See the `COPY` documentation here: +https://www.postgresql.org/docs/current/sql-copy.html + +**Three,** when you convert a field to a "view" type (such as +`std::string_view` or `std::basic_string_view`), the view points to +underlying data which only stays valid until you iterate to the next row or +exit the loop. So if you want to use that data for longer than a single +iteration of the streaming loop, you'll have to store it somewhere yourself. + +Now for the good news. Streaming does make it very easy to query data and loop +over it: + +```cxx + for (auto [id, name, x, y] : + tx.stream( + "SELECT id, name, x, y FROM point")) + process(id + 1, "point-" + name, x * 10.0, y * 10.0); +``` + +The conversion to C++ types (here `int`, `std::string_view`, and two `float`s) +is built into the function. You never even see `row` objects, `field` objects, +iterators, or conversion methods. You just put in your query and you receive +your data. diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/binary-data.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/binary-data.md new file mode 100644 index 000000000..20da8dc0c --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/binary-data.md @@ -0,0 +1,56 @@ +Binary data {#binary} +=========== + +The database has two ways of storing binary data: `BYTEA` is like a string, but +containing bytes rather than text characters. And _large objects_ are more +like a separate table containing binary objects. + +Generally you'll want to use `BYTEA` for reasonably-sized values, and large +objects for very large values. + +That's the database side. On the C++ side, in libpqxx, all binary data must be +either `std::basic_string` or `std::basic_string_view`; +or if you're building in C++20 or better, anything that's a block of +contiguous `std::byte` in memory. + +So for example, if you want to write a large object, you'd create a +`pqxx::blob` object. And you might use that to write data in the form of +`std::basic_string_view`. + +Your particular binary data may look different though. You may have it in a +`std::string`, or a `std::vector`, or a pointer to `char` +accompanied by a size (which could be signed or unsigned, and of any of a few +different widths). Sometimes that's your choice, or sometimes some other +library will dictate what form it takes. + +So long as it's _basically_ still a block of bytes though, you can use +`pqxx::binary_cast` to construct a `std::basic_string_view` from it. + +There are two forms of `binary_cast`. One takes a single argument that must +support `std::data()` and `std::size()`: + + std::string hi{"Hello binary world"}; + my_blob.write(pqxx::binary_cast(hi); + +The other takes a pointer and a size: + + char const greeting[] = "Hello binary world"; + char const *hi = greeting; + my_blob.write(pqxx::binary_cast(hi, sizeof(greeting))); + + +Caveats +------- + +There are some restrictions on `binary_cast` that you must be aware of. + +First, your data must of a type that gives us _bytes._ So: `char`, +`unsigned char`, `signed char`, `int8_t`, `uint8_t`, or of course `std::byte`. +You can't feed in a vector of `double`, or anything like that. + +Second, the data must be laid out as a contiguous block in memory. If there's +no `std::data()` implementation for your type, it's not suitable. + +Third, `binary_cast` only constructs something like a `std::string_view`. It +does not make a copy of your actual data. So, make sure that your data remains +alive and in the same place while you're using it. diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/datatypes.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/datatypes.md new file mode 100644 index 000000000..bc14c8b90 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/datatypes.md @@ -0,0 +1,373 @@ +Supporting additional data types {#datatypes} +================================ + +Communication with the database mostly happens in a text format. When you +include an integer value in a query, you use `to_string` to convert it to that +text format. When you get a query result field "as a float," it converts from +the text format to a floating-point type. These conversions are everywhere in +libpqxx. + +The conversion sydstem supports many built-in types, but it is also extensible. +You can "teach" libpqxx (in the scope of your own application) to convert +additional types of values to and from PostgreSQL's string format. + +This is massively useful, but it's not for the faint of heart. You'll need to +specialise some templates. And, **the API for doing this can change with any +major libpqxx release.** + + +Converting types +---------------- + +In your application, a conversion is driven entirely by a C++ type you specify. +The value's SQL type has nothing to do with it, nor is there anything in the +string that would identify its type. + +So, if you've SELECTed a 64-bit integer from the database, and you try to +convert it to a C++ "short," one of two things will happen: either the number +is small enough to fit in your `short` (and it just works), or else it throws a +conversion exception. + +Or, your database table might have a text column, but a given field may contain +a string that _looks_ just like a number. You can convert that value to an +integer type just fine. Or to a floating-point type. All that matters to the +conversion is the actual value, and the type. + +In some cases the templates for these conversions can tell the type from the +arguments you pass them: + + auto x = to_string(99); + +In other cases you may need to instantiate template explicitly: + + auto y = from_string("99"); + + +Supporting a new type +--------------------- + +Let's say you have some other SQL type which you want to be able to store in, +or retrieve from, the database. What would it take to support that? + +Sometimes you do not need _complete_ support. You might need a conversion _to_ +a string but not _from_ a string, for example. The conversion is defined at +compile time, so don't be too afraid to be incomplete. If you leave out one of +these steps, it's not going to crash at run time or mess up your data. The +worst that can happen is that your code won't build. + +So what do you need for a complete conversion? + +First off, of course, you need a C++ type. It may be your own, but it +doesn't have to be. It could be a type from a third-party library, or even one +from the standard library that libpqxx does not yet support. + +You also specialise the `pqxx::type_name` variable to specify the type's name. +This is important for all code which mentions your type in human-readable text, +such as error messages. + +Then, does your type have a built-in null value? You specialise the +`pqxx::nullness` template to specify the details. + +Finally, you specialise the `pqxx::string_traits` template. This is where you +define the actual conversions. + +Let's go through these steps one by one. + + +Your type +--------- + +You'll need a type for which the conversions are not yet defined, because the +C++ type is what determines the right conversion. One type, one set of +conversions. + +The type doesn't have to be one that you create. The conversion logic was +designed such that you can build it around any type. So you can just as +easily build a conversion for a type that's defined somewhere else. There's +no need to include any special methods or other members inside it. That's also +how libpqxx can support converting built-in types like `int`. + +By the way, if the type is an enum, you don't need to do any of this. Just +invoke the preprocessor macro `PQXX_DECLARE_ENUM_CONVERSION`, from the global +namespace near the top of your translation unit, and pass the type as an +argument. + +The library also provides specialisations for `std::optional`, +`std::shared_ptr`, and `std::unique_ptr`. If you have conversions for +`T`, you'll also have conversions for those. + + +Specialise `type_name` +---------------------- + +When errors happen during conversion, libpqxx will compose error messages for +the user. Sometimes these will include the name of the type that's being +converted. + +To tell libpqxx the name of each type, there's a template variable called +`pqxx::type_name`. For any given type `T`, it should have a specialisation +that provides that `T`'s human-readable name: + + namespace pqxx + { + template<> std::string const type_name{"T"}; + } + +(Yes, this means that you need to define something inside the pqxx namespace. +Future versions of libpqxx may move this into a separate namespace.) + +Define this early on in your translation unit, before any code that might cause +libpqxx to need the name. That way, the libpqxx code which needs to know the +type's name can see your definition. + + +Specialise `nullness` +--------------------- + +A struct template `pqxx::nullness` defines whether your type has a natural +"null value" built in. If so, it also provides member functions for producing +and recognising null values. + +The simplest scenario is also the most common: most types don't have a null +value built in. In that case, derive your nullness traits from +`pqxx::no_null`: + + namespace pqxx + { + template<> struct nullness : pqxx::no_null {}; + } + +(Here again you're defining this in the pqxx namespace.) + +If your type does have a natural null value, the definition gets a little more +complex: + + namespace pqxx + { + template<> struct nullness + { + static constexpr bool has_null{true}; + static constexpr bool always_null{false}; + + static bool is_null(T const &value) + { + // Return whether "value" is null. + return ...; + } + + [[nodiscard]] static T null() + { + // Return a null value. + return ...; + } + }; + } + +You may be wondering why there's a function to produce a null value, but also a +function to check whether a value is null. Why not just compare the value to +the result of `null()`? Because two null values may not be equal. `T` may +have several different null values. Or it may override the comparison +operator, similar to SQL where NULL is not equal to NULL. + +As a third case, your type may be one that _always_ represents a null value. +This is the case for `std::nullptr_t` and `std::nullopt_t`. In that case, you +set `nullness::always_null` to `true` (as well as `has_null` of course), +and you won't need to define any actual conversions. + + +Specialise `string_traits` +------------------------- + +This part is more work. (You can skip it for types that are _always_ null, +but those will be rare.) Specialise the `pqxx::string_traits` template: + + namespace pqxx + { + template<> struct string_traits + { + static T from_string(std::string_view text); + static zview to_buf(char *begin, char *end, T const &value); + static char *into_buf(char *begin, char *end, T const &value); + static std::size_t size_buffer(T const &value) noexcept; + }; + } + +You'll also need to write those member functions, or as many of them as needed +to get your code to build. + + +### `from_string` + +We start off simple: `from_string` parses a string as a value of `T`, and +returns that value. + +The string may not be zero-terminated; it's just the `string_view` from +beginning to end (exclusive). In your tests, cover cases where the string +does not end in a zero byte. + +It's perfectly possible that the string isn't actually a `T` value. Mistakes +happen. In that case, throw a `pqxx::conversion_error`. + +(Of course it's also possible that you run into some other error, so it's fine +to throw different exceptions as well. But when it's definitely "this is not +the right format for a `T`," throw `conversion_error`.) + + +### `to_buf` + +In this function, you convert a value of `T` into a string that the postgres +server will understand. + +The caller will provide you with a buffer where you can write the string, if +you need it: from `begin` to `end` exclusive. It's a half-open interval, so +don't access `*end`. + +If the buffer is insufficient for you to do the conversion, throw a +`pqxx::conversion_overrun`. It doesn't have to be exact: you can be a little +pessimistic and demand a bit more space than you need. Just be sure to throw +the exception if there's any risk of overrunning the buffer. + +You don't _have_ to use the buffer for this function though. For example, +`pqxx::string_traits::to_buf` returns a compile-time constant string and +ignores the buffer. + +Even if you do use the buffer, your string does not _have_ to start at the +beginning of the buffer. For example, the integer conversions start by writing +the _least_ significant digit to the _end_ of the buffer, and then writes the +more significant digits before it. It was just more convenient. + +Return a `pqxx::zview`. This is basically a `std::string_view`, but with one +difference: a `zview` guarantees that there will be a valid zero byte right +after the `string_view`. The zero byte is not counted as part of its size, but +it will be there. + +Expressed in code, this rule must hold: + + void invariant(zview z) + { + assert(z[std::size(z)] == 0); + } + +Make sure you write your trailing zero _before_ the `end`. If the trailing +zero doesn't fit in the buffer, then there's just not enough room to perform +the conversion. + +Beware of locales when converting. If you use standard library features like +`sprintf`, they may obey whatever locale is currently set on the system. That +means that a simple integer like 1000000 may come out as "1000000" on your +system, but as "1,000,000" on mine, or as "1.000.000" for somebody else, and on +an Indian system it may be "1,00,000". Values coming from or going to the +database should be in non-localised formats. You can use libpqxx functions for +those conversions: `pqxx::from_string`, `pqxx::to_string`, `pqxx::to_buf`. + + +### `into_buf` + +This is a stricter version of `to_buf`. All the same requirements apply, but +in addition you must write your string into the buffer provided, starting +_exactly_ at `begin`. + +That's why this function returns just a simple pointer: the address right +behind the trailing zero. If the caller wants to use the string, they can +find it at `begin`. If they want to write a different value into the rest of +the buffer, they can start at the location you returned. + + +### `size_buffer` + +Here you estimate how much buffer space you need for converting a `T` to a +string. Be precise if you can, but pessimistic if you must. It's usually +better to waste a few unnecessary bytes than to spend a lot of time computing +the exact buffer space you need. And failing the conversion because you +under-budgeted the buffer is worst of all. + +Include the trailing zero in the buffer size. If your `to_buf` takes more +space than just what's needed to store the result, include that too. + +Make `size_buffer` a `constexpr` function if you can. It can allow the caller +to allocate the buffer on the stack, with a size known at compile time. + + +Optional: Specialise `is_unquoted_safe` +--------------------------------------- + +When converting arrays or composite values to strings, libpqxx may need to +quote values and escape any special characters. This takes time. + +Some types though, such as integral or floating-point types, can never have +any special characters such as quotes, commas, or backslashes in their string +representations. In such cases, there's no need to quote or escape such values +in arrays or composite types. + +If your type is like that, you can tell libpqxx about this by defining: + + namespace pqxx + { + template<> inline constexpr bool is_unquoted_safe{true}; + } + +The code that converts this type of field to strings in an array or a composite +type can then use a simpler, more efficient variant of the code. It's always +safe to leave this out; it's _just_ an optimisation for when you're completely +sure that it's safe. + +Do not do this if a string representation of your type may contain a comma; +semicolon; parenthesis; brace; quote; backslash; newline; or any other +character that might need escaping. + + +Optional: Specialise `param_format` +----------------------------------- + +This one you don't generally need to worry about. Read on if you're writing a +type which represents raw binary data, or if you're writing a template where +_some specialisations_ may contain raw binary data. + +When you call parameterised statements, or prepared statements with parameters, +libpqxx needs to your parameters on to libpq, the underlying C-level PostgreSQL +client library. + +There are two formats for doing that: _text_ and _binary._ In the first, we +represent all values as strings, and the server then converts them into its own +internal binary representation. That's what the string conversions are all +about, and it's what we do for almost all types of parameters. + +But we do it differently when the parameter is a contiguous series of raw bytes +and the corresponding SQL type is `BYTEA`. There is a text format for those, +but we bypass it for efficiency. The server can use the binary data in the +exact same form, without any conversion or extra processing. The binary data +is also twice as compact during transport. + +(People sometimes ask why we can't just treat all types as binary. However the +general case isn't so clear-cut. The binary formats are not documented, there +are no guarantees that they will be platform-independent or that they will +remain stable, and there's no really solid way to detect when we might get the +format wrong. But also, the conversions aren't necessarily as straightforward +and efficient as they sound. So, for the general case, libpqxx sticks with the +text formats. Raw binary data alone stands out as a clear win.) + +Long story short, the machinery for passing parameters needs to know: is this +parameter a binary string, or not? In the normal case it can assume "no," and +that's what it does. The text format is always a safe choice; we just try to +use the binary format where it's faster. + +The `param_format` function template is what makes the decision. We specialise +it for types which may be binary strings, and use the default for all other +types. + +"Types which _may_ be binary"? You might think we know whether a type is a +binary type or not. But there are some complications with generic types. + +Templates like `std::shared_ptr`, `std::optional`, and so on act like +"wrappers" for another type. A `std::optional` is binary if `T` is binary. +Otherwise, it's not. If you're building support for a template of this nature, +you'll probably want to implement `param_format` for it. + +The decision to use binary format is made based on a given object, not +necessarily based on the type in general. Look at `std::variant`. If you have +a `std::variant` type which can hold an `int` or a binary string, is that a +binary parameter? We can't decide without knowing the individual object. + +Containers are another hard case. Should we pass `std::vector` in binary? +Even when `T` is a binary type, we don't currently have any way to pass an +array in binary format, so we always pass it as text. diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/escaping.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/escaping.md new file mode 100644 index 000000000..2ad9fe3db --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/escaping.md @@ -0,0 +1,74 @@ +String escaping {#escaping} +=============== + +Writing queries as strings is easy. But sometimes you need a variable in +there: `"SELECT id FROM user WHERE name = '" + name + "'"`. + +This is dangerous. See the bug? If `name` can contain quotes, you may have +an SQL injection vulnerability there, where users can enter nasty stuff like +"`.'; DROP TABLE user`". Or if you're lucky, it's just a nasty bug that you +discover when `name` happens to be "d'Arcy". + +So, you'll need to _escape_ the `name` before you insert it. This is where +quotes and other problematic characters are marked as "this is just a character +in the string, not the end of the string." There are +[several functions](@ref escaping-functions) in libpqxx to do this for you. + + +SQL injection +------------- + +To understand what SQL injection vulnerabilities are and why they should be +prevented, imagine you use the following SQL statement somewhere in your +program: + + TX.exec( + "SELECT number,amount " + "FROM accounts " + "WHERE allowed_to_see('" + userid + "','" + password + "')"); + +This shows a logged-in user important information on all accounts he is +authorized to view. The userid and password strings are variables entered +by the user himself. + +Now, if the user is actually an attacker who knows (or can guess) the +general shape of this SQL statement, imagine he enters the following +password: + + x') OR ('x' = 'x + +Does that make sense to you? Probably not. But if this is inserted into +the SQL string by the C++ code above, the query becomes: + + SELECT number,amount + FROM accounts + WHERE allowed_to_see('user','x') OR ('x' = 'x') + +Is this what you wanted to happen? Probably not! The neat `allowed_to_see()` +clause is completely circumvented by the "`OR ('x' = 'x')`" clause, which is +always `true`. Therefore, the attacker will get to see all accounts in the +database! + + +Using the esc functions +----------------------- + +Here's how you can fix the problem in the example above: + + TX.exec( + "SELECT number,amount " + "FROM accounts " + "WHERE allowed_to_see('" + TX.esc(userid) + "', " + "'" + TX.esc(password) + "')"); + +Now, the quotes embedded in the attacker's string will be neatly escaped so +they can't "break out" of the quoted SQL string they were meant to go into: + + SELECT number,amount + FROM accounts + WHERE allowed_to_see('user', 'x'') OR (''x'' = ''x') + +If you look carefully, you'll see that thanks to the added escape characters +(a single-quote is escaped in SQL by doubling it) all we get is a very +strange-looking password string--but not a change in the SQL statement. + diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/getting-started.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/getting-started.md new file mode 100644 index 000000000..1b87b881f --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/getting-started.md @@ -0,0 +1,142 @@ +Getting started {#getting-started} +=============== + +The most basic three types in libpqxx are the _connection_, the _transaction_, +and the _result_. + +They fit together as follows: +* You connect to the database by creating a `pqxx::connection` object (see + @ref connections). + +* You create a transaction object (see @ref transactions) operating on that + connection. You'll usually want the `pqxx::work` variety. + + Once you're done you call the transaction's `commit` function to make its + work final. If you don't call this, the work will be rolled back when the + transaction object is destroyed. + +* Until then, use the transaction's `exec`, `query_value`, and `stream` + functions (and variants) to execute SQL statements. You pass the statements + themselves in as simple strings. (See @ref streams for more about data + streaming). + +* Most of the `exec` functions return a `pqxx::result` object, which acts + as a standard container of rows: `pqxx::row`. + + Each row in a result, in turn, acts as a container of fields: `pqxx::field`. + See @ref accessing-results for more about results, rows, and fields. + +* Each field's data is stored internally as a text string, in a format defined + by PostgreSQL. You can convert field or row values using their `as()` and + `to()` member functions. + +* After you've closed the transaction, the connection is free to run a next + transaction. + +Here's a very basic example. It connects to the default database (you'll +need to have one set up), queries it for a very simple result, converts it to +an `int`, and prints it out. It also contains some basic error handling. + + #include + #include + + int main() + { + try + { + // Connect to the database. In practice we may have to pass some + // arguments to say where the database server is, and so on. + // The constructor parses options exactly like libpq's + // PQconnectdb/PQconnect, see: + // https://www.postgresql.org/docs/10/static/libpq-connect.html + pqxx::connection c; + + // Start a transaction. In libpqxx, you always work in one. + pqxx::work w(c); + + // work::exec1() executes a query returning a single row of data. + // We'll just ask the database to return the number 1 to us. + pqxx::row r = w.exec1("SELECT 1"); + + // Commit your transaction. If an exception occurred before this + // point, execution will have left the block, and the transaction will + // have been destroyed along the way. In that case, the failed + // transaction would implicitly abort instead of getting to this point. + w.commit(); + + // Look at the first and only field in the row, parse it as an integer, + // and print it. + // + // "r[0]" returns the first field, which has an "as<...>()" member + // function template to convert its contents from their string format + // to a type of your choice. + std::cout << r[0].as() << std::endl; + } + catch (std::exception const &e) + { + std::cerr << e.what() << std::endl; + return 1; + } + } + +This prints the number 1. Notice that you can keep the result object around +after you've closed the transaction or even the connection. There are +situations where you can't do it, but generally it's fine. If you're +interested: you can install your own callbacks for receiving error messages +from the database, and in that case you'll have to keep the connection object +alive. But otherwise, it's nice to be able to "fire and forget" your +connection and deal with the data. + +You can also convert an entire row to a series of C++-side types in one go, +using the @c as member function on the row: + + pqxx::connection c; + pqxx::work w(c); + pqxx::row r = w.exec1("SELECT 1, 2, 'Hello'"); + auto [one, two, hello] = r.as(); + std::cout << (one + two) << ' ' << std::strlen(hello) << std::endl; + +Here's a slightly more complicated example. It takes an argument from the +command line and retrieves a string with that value. The interesting part is +that it uses the escaping-and-quoting function `quote` to embed this +string value in SQL safely. It also reads the result field's value as a +plain C-style string using its `c_str` function. + + #include + #include + #include + + int main(int argc, char *argv[]) + { + try + { + if (!argv[1]) throw std::runtime_error("Give me a string!"); + + pqxx::connection c; + pqxx::work w(c); + + // work::exec() returns a full result set, which can consist of any + // number of rows. + pqxx::result r = w.exec("SELECT " + w.quote(argv[1])); + + // End our transaction here. We can still use the result afterwards. + w.commit(); + + // Print the first field of the first row. Read it as a C string, + // just like std::string::c_str() does. + std::cout << r[0][0].c_str() << std::endl; + } + catch (std::exception const &e) + { + std::cerr << e.what() << std::endl; + return 1; + } + } + +You can find more about converting field values to native types, or +converting values to strings for use with libpqxx, under +@ref stringconversion. More about getting to the rows and fields of a +result is under @ref accessing-results. + +If you want to handle exceptions thrown by libpqxx in more detail, for +example to print the SQL contents of a query that failed, see @ref exception. diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/mainpage.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/mainpage.md new file mode 100644 index 000000000..5d4b8f9b2 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/mainpage.md @@ -0,0 +1,28 @@ +libpqxx {#mainpage} +======= + +@version 7.7.3 +@author Jeroen T. Vermeulen +@see http://pqxx.org +@see https://github.com/jtv/libpqxx + +Welcome to libpqxx, the C++ API to the PostgreSQL database management system. + +Compiling this package requires PostgreSQL to be installed -- including the +C headers for client development. The library builds on top of PostgreSQL's +standard C API, libpq. The libpq headers are not needed to compile client +programs, however. + +For a quick introduction to installing and using libpqxx, see the README.md +file. The latest information can be found at http://pqxx.org/ + + +Some links that should help you find your bearings: +* @ref getting-started +* @ref thread-safety +* @ref connections +* @ref transactions +* @ref escaping +* @ref performance +* @ref transactor +* @ref datatypes diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/parameters.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/parameters.md new file mode 100644 index 000000000..7ac792025 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/parameters.md @@ -0,0 +1,90 @@ +Statement parameters {#parameters} +==================== + +When you execute a prepared statement (see @ref prepared), or a parameterised +statement (using functions like `pqxx::connection::exec_params`), you may write +special _placeholders_ in the query text. They look like `$1`, `$2`, and so +on. + +If you execute the query and pass parameter values, the call will respectively +substitute the first where it finds `$1`, the second where it finds `$2`, et +cetera. + +Doing this saves you work. If you don't use statement parameters, you'll need +to quote and escape your values (see `connection::quote()` and friends) as you +insert them into your query as literal values. + +Or if you forget to do that, you leave yourself open to horrible +[SQL injection attacks](https://xkcd.com/327/). Trust me, I was born in a town +whose name started with an apostrophe! + +Statement parameters save you this work. With these parameters you can pass +your values as-is, and they will go across the wire to the database in a safe +format. + +In some cases it may even be faster! When a parameter represents binary data +(as in the SQL `BYTEA` type), libpqxx will send it directly as binary, which is +a bit more efficient. If you insert the binary data directly in your query +text, your CPU will have some extra work to do, converting the data into a text +format, escaping it, and adding quotes. + + +Dynamic parameter lists +----------------------- + +In rare cases you may just not know how many parameters you'll pass into your +statement when you call it. + +For these situations, have a look at `params`. It lets you compose your +parameters list on the fly, even add whole ranges of parameters at a time. + +You can pass a `params` into your statement as a normal parameter. It will +fill in all the parameter values it contains into that position of the +statement's overall parameter list. + +So if you call your statement passing a regular parameter `a`, a +`params` containing just a parameter `b`, and another regular parameter `c`, +then your call will pass parameters `a`, `b`, and `c`. Or if the params object +is empty, it will pass just `a` and `c`. If the params object contains `x` and +`y`, your call will pass `a, x, y, c`. + +You can mix static and dynamic parameters freely. Don't go overboard though: +complexity is where bugs happen! + + +Generating placeholders +----------------------- + +If your code gets particularly complex, it may sometimes happen that it becomes +hard to track which parameter value belongs with which placeholder. Did you +intend to pass this numeric value as `$7`, or as `$8`? The answer may depend +on an `if` that happened earlier in a different function. + +(Generally if things get that complex, it's a good idea to look for simpler +solutions. But especially when performance matters, sometimes you can't avoid +complexity like that.) + +There's a little helper class called `placeholders`. You can use it as a +counter which produces those placeholder strings, `$1`, `$2`, `$3`, et cetera. +When you start generating a complex statement, you can create both a `params` +and a `placeholders`: + + pqxx::params values; + pqxx::placeholders name; + +Let's say you've got some complex code to generate the conditions for an SQL +"WHERE" clause. You'll generally want to do these things close together in +your, so that you don't accidentally update one part and forget another: + + if (extra_clause) + { + // Extend the query text, using the current placeholder. + query += " AND x = " + name.get(); + // Add the parameter value. + values.append(my_x); + // Move on to the next placeholder value. + name.next(); + } + +Depending on the starting value of `name`, this might add to `query` a fragment +like "` AND x = $3`" or "` AND x = $5`". diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/performance.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/performance.md new file mode 100644 index 000000000..6c403684f --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/performance.md @@ -0,0 +1,24 @@ +Performance features {#performance} +==================== + +If your program's database interaction is not as efficient as it needs to be, +the first place to look is usually the SQL you're executing. But libpqxx +has a few specialized features to help you squeeze more performance out +of how you issue commands and retrieve data: + +* @ref streams. Use these as a faster way to transfer data between your + code and the database. +* `std::string_view` and `pqxx::zview`. In places where traditional C++ worked + with `std::string`, see whether `std::string_view` or `pqxx::zview` will + do. Of course that means that you'll have to look at the data's lifetime + more carefully, but it'll save the computer a lot of copying. +* @ref prepared. These can be executed many times without the server + parsing and planning them anew each time. They also save you having to + escape string parameters. +* `pqxx::pipeline` lets you send queries to the database in batches, and + continue other processing while they are executing. +* `pqxx::connecting` lets you start setting up a database connection, but + without blocking the thread. + +As always of course, don't risk the quality of your code for optimizations +that you don't need! diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/prepared-statement.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/prepared-statement.md new file mode 100644 index 000000000..5193866a6 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/prepared-statement.md @@ -0,0 +1,125 @@ +Prepared statements {#prepared} +=================== + +Prepared statements are SQL queries that you define once and then invoke +as many times as you like, typically with varying parameters. It's basically +a function that you can define ad hoc. + +If you have an SQL statement that you're going to execute many times in +quick succession, it may be more efficient to prepare it once and reuse it. +This saves the database backend the effort of parsing complex SQL and +figuring out an efficient execution plan. Another nice side effect is that +you don't need to worry about escaping parameters. Some corporate coding +standards require all SQL parameters to be passed in this way, to reduce the +risk of programmer mistakes leaving room for SQL injections. + + +Preparing a statement +--------------------- + +You create a prepared statement by preparing it on the connection (using the +`pqxx::connection::prepare` functions), passing an identifier and its SQL text. + +The identifier is the name by which the prepared statement will be known; it +should consist of ASCII letters, digits, and underscores only, and start with +an ASCII letter. The name is case-sensitive. + +```cxx + void prepare_my_statement(pqxx::connection &c) + { + c.prepare( + "my_statement", + "SELECT * FROM Employee WHERE name = 'Xavier'"); + } +``` + +Once you've done this, you'll be able to call `my_statement` from any +transaction you execute on the same connection. For this, use the +`pqxx::transaction_base::exec_prepared` functions. + +```cxx + pqxx::result execute_my_statement(pqxx::transaction_base &t) + { + return t.exec_prepared("my_statement"); + } +``` + + +Parameters +---------- + +Did I mention that prepared statements can have parameters? The query text +can contain `$1`, `$2` etc. as placeholders for parameter values that you +will provide when you invoke the prepared satement. + +See @ref parameters for more about this. And here's a simple example of +preparing a statement and invoking it with parameters: + +```cxx + void prepare_find(pqxx::connection &c) + { + // Prepare a statement called "find" that looks for employees with a + // given name (parameter 1) whose salary exceeds a given number + // (parameter 2). + c.prepare( + "find", + "SELECT * FROM Employee WHERE name = $1 AND salary > $2"); + } +``` + +This example looks up the prepared statement "find," passes `name` and +`min_salary` as parameters, and invokes the statement with those values: + +```cxx + pqxx::result execute_find( + pqxx::transaction_base &t, std::string name, int min_salary) + { + return t.exec_prepared("find", name, min_salary); + } +``` + + +A special prepared statement +---------------------------- + +There is one special case: the _nameless_ prepared statement. You may prepare +a statement without a name, i.e. whose name is an empty string. The unnamed +statement can be redefined at any time, without un-preparing it first. + + +Performance note +---------------- + +Don't assume that using prepared statements will speed up your application. +There are cases where prepared statements are actually slower than plain SQL. + +The reason is that the backend can often produce a better execution plan when +it knows the statement's actual parameter values. + +For example, say you've got a web application and you're querying for users +with status "inactive" who have email addresses in a given domain name X. If +X is a very popular provider, the best way for the database engine to plan the +query may be to list the inactive users first and then filter for the email +addresses you're looking for. But in other cases, it may be much faster to +find matching email addresses first and then see which of their owners are +"inactive." A prepared statement must be planned to fit either case, but a +direct query will be optimised based on table statistics, partial indexes, etc. + + +Zero bytes +---------- + +@warning Beware of "nul" bytes! + +Any string you pass as a parameter will end at the _first char with value +zero._ If you pass a string that contains a zero byte, the last byte in the +value will be the one just before the zero. + +So, if you need a zero byte in a string, consider that it's really a _binary +string,_ which is not the same thing as a text string. SQL represents binary +data as the `BYTEA` type, or in binary large objects ("blobs"). + +In libpqxx, you represent binary data as a range of `std::byte`. They must be +contiguous in memory, so that libpqxx can pass pointers to the underlying C +library. So you might use `std::basic_string`, or +`std::basic_string_view`, or `std::vector`. diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/streams.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/streams.md new file mode 100644 index 000000000..3df4d6126 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/streams.md @@ -0,0 +1,107 @@ +Streams {#streams} +======= + +Most of the time it's fine to retrieve data from the database using `SELECT` +queries, and store data using `INSERT`. But for those cases where efficiency +matters, there are two classes to help you do this better: `stream_from` and +`stream_to`. They're less flexible than SQL queries, and there's the risk of +losing your connection while you're in mid-stream, but you get some speed and +memory efficiencies in return. + +Both stream classes do data conversion for you: `stream_from` receives values +from the database in PostgreSQL's text format, and converts them to the C++ +types you specify. Likewise, `stream_to` converts C++ values you provide to +PostgreSQL's text format for transfer. (On its end, the database of course +converts values to and from their SQL types.) + + +Null values +----------- + +So how do you deal with nulls? It depends on the C++ type you're using. Some +types may have a built-in null value. For instance, if you have a +`char const *` value and you convert it to an SQL string, then converting a +`nullptr` will produce a NULL SQL value. + +But what do you do about C++ types which don't have a built-in null value, such +as `int`? The trick is to wrap it in `std::optional`. The difference between +`int` and `std::optional` is that the former always has an `int` value, +and the latter doesn't have to. + +Actually it's not just `std::optional`. You can do the same thing with +`std::unique_ptr` or `std::shared_ptr`. A smart pointer is less efficient than +`std::optional` in most situations because they allocate their value on the +heap, but sometimes that's what you want in order to save moving or copying +large values around. + +This part is not generic though. It won't work with just any smart-pointer +type, just the ones which are explicitly supported: `shared_ptr` and +`unique_ptr`. If you really need to, you can build support for additional +wrappers and smart pointers by copying the implementation patterns from the +existing smart-pointer support. + + +stream\_from +------------ + +Use `stream_from` to read data directly from the database. It's faster than +the transaction's `exec` functions if the result contains enough rows. But +also, you won't need to keep your full result set in memory. That can really +matter with larger data sets. + +And, you can start processing your data right after the first row of data comes +in from the server. With `exec()` you need to wait to receive all data, and +then you begin processing. With `stream_from` you can be processing data on +the client side while the server is still sending you the rest. + +You don't actually need to create a `stream_from` object yourself, though you +can. Two shorthand functions, @ref pqxx::transaction_base::stream +and @ref pqxx::transaction_base::for_each, can create the streams for you with +a minimum of overhead. + +Not all kinds of queries will work in a stream. Internally the streams make +use of PostgreSQL's `COPY` command, so see the PostgreSQL documentation for +`COPY` for the exact limitations. Basic `SELECT` and `UPDATE ... RETURNING` +queries should just work. + +As you read a row, the stream converts its fields to a tuple type containing +the value types you ask for: + + auto stream pqxx::stream_from::query( + tx, "SELECT name, points FROM score"); + std::tuple row; + while (stream >> row) + process(row); + stream.complete(); + +As the stream reads each row, it converts that row's data into your tuple, +goes through your loop body, and then promptly forgets that row's data. This +means you can easily process more data than will fit in memory. + + +stream\_to +---------- + +Use `stream_to` to write data directly to a database table. This saves you +having to perform an `INSERT` for every row, and so it can be significantly +faster if you want to insert more than just one or two rows at a time. + +As with `stream_from`, you can specify the table and the columns, and not much +else. You insert tuple-like objects of your choice: + + pqxx::stream_to stream{ + tx, + "score", + std::vector{"name", "points"}}; + for (auto const &entry: scores) + stream << entry; + stream.complete(); + +Each row is processed as you provide it, and not retained in memory after that. + +The call to `complete()` is more important here than it is for `stream_from`. +It's a lot like a "commit" or "abort" at the end of a transaction. If you omit +it, it will be done automatically during the stream's destructor. But since +destructors can't throw exceptions, any failures at that stage won't be visible +in your code. So, always call `complete()` on a `stream_to` to close it off +properly! diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/thread-safety.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/thread-safety.md new file mode 100644 index 000000000..07c7f9984 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/share/doc/libpqxx/thread-safety.md @@ -0,0 +1,29 @@ +Thread safety {#thread-safety} +============= + +This library does not contain any locking code to protect objects against +simultaneous modification in multi-threaded programs. Therefore it is up +to you, the user of the library, to ensure that your threaded client +programs perform no conflicting operations concurrently. + +Most of the time this isn't hard. Result sets are immutable, so you can +share them between threads without problem. The main rule is: + +@li Treat a connection, together with any and all objects related to it, as +a "world" of its own. You should generally make sure that the same "world" +is never accessed by another thread while you're doing anything non-const +in there. + +That means: don't issue a query on a transaction while you're also opening +a subtransaction, don't access a cursor while you may also be committing, +and so on. + +In particular, cursors are tricky. It's easy to perform a non-const +operation without noticing. So, if you're going to share cursors or +cursor-related objects between threads, lock very conservatively! + +Use `pqxx::describe_thread_safety` to find out at runtime what level of +thread safety is implemented in your build and version of libpqxx. It +returns a `pqxx::thread_safety_model` describing what you can and cannot rely +on. A command-line utility `tools/pqxxthreadsafety` prints out the same +information. diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/pkgconfig/libpqxx.pc b/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/pkgconfig/libpqxx.pc deleted file mode 100644 index 6933e0859..000000000 --- a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/pkgconfig/libpqxx.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/home/grant/dev/ZeroTierOne/ext/libpqxx-7.7.3/install/ubuntu22.04 -exec_prefix=${prefix} -libdir=${prefix}/lib -includedir=${prefix}/include - -Name: libpqxx -Description: C++ client API for the PostgreSQL database management system. -Version: 7.7.3 -Libs: -L${prefix}/lib -lpqxx -Cflags: -I${prefix}/include diff --git a/ext/miniupnpc/minisoap.c b/ext/miniupnpc/minisoap.c index 5b8c0784c..11f4635ad 100644 --- a/ext/miniupnpc/minisoap.c +++ b/ext/miniupnpc/minisoap.c @@ -21,12 +21,14 @@ #include "minisoap.h" #ifdef _WIN32 +#undef OS_STRING #define OS_STRING "Win32" #define MINIUPNPC_VERSION_STRING "2.0" #define UPNP_VERSION_STRING "UPnP/1.1" #endif #ifdef __ANDROID__ +#undef OS_STRING #define OS_STRING "Android" #define MINIUPNPC_VERSION_STRING "2.0" #define UPNP_VERSION_STRING "UPnP/1.1" diff --git a/ext/miniupnpc/miniwget.c b/ext/miniupnpc/miniwget.c index e23f11e37..0c461734f 100644 --- a/ext/miniupnpc/miniwget.c +++ b/ext/miniupnpc/miniwget.c @@ -49,12 +49,14 @@ #endif /* MIN */ #ifdef _WIN32 +#undef OS_STRING #define OS_STRING "Win32" #define MINIUPNPC_VERSION_STRING "2.0" #define UPNP_VERSION_STRING "UPnP/1.1" #endif #ifdef __ANDROID__ +#undef OS_STRING #define OS_STRING "Android" #define MINIUPNPC_VERSION_STRING "2.0" #define UPNP_VERSION_STRING "UPnP/1.1" diff --git a/ext/prometheus-cpp-lite-1.0/.gitignore b/ext/prometheus-cpp-lite-1.0/.gitignore new file mode 100644 index 000000000..c18a70b25 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/.gitignore @@ -0,0 +1,3 @@ +.vs +bin/ +out/ \ No newline at end of file diff --git a/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/CMakeLists.txt b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/CMakeLists.txt new file mode 100644 index 000000000..177cdb974 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/CMakeLists.txt @@ -0,0 +1,36 @@ +# Copyright 2021... by Maxim Gusev +# +# https://github.com/John-Jasper-Doe/http-client-lite +# +# Distributed under the MIT License. +# (See accompanying file LICENSE or copy at https://mit-license.org/) + +cmake_minimum_required(VERSION 3.3 FATAL_ERROR) +project(http-client-lite) + +## Set output binary +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + +## Set property +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +add_compile_options(-Wall -Werror -Wextra -Wpedantic -g -O0) + + +option(HTTP_CLIENT_LITE_OPT_BUILD_EXAMPLES "Build examples" OFF ) + +if(HTTP_CLIENT_LITE_OPT_BUILD_EXAMPLES) + add_subdirectory(examples) +endif() + +# Interface library: +add_library(${PROJECT_NAME} INTERFACE) +target_sources(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include/jdl/httpclientlite.h) +add_custom_target(${PROJECT_NAME}.hdr SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/include/jdl/httpclientlite.h) +target_include_directories( + ${PROJECT_NAME} + INTERFACE + "$" + "$") diff --git a/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/LICENSE b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/LICENSE new file mode 100644 index 000000000..c2dd18535 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2016 Christian C. Sachs +Copyright (c) 2021 Maxim Gusev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/README.md b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/README.md new file mode 100644 index 000000000..96b1d1504 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/README.md @@ -0,0 +1,30 @@ +# HTTP Client lite: C++ Cross-platform library only from single-file header-only + +This is a lite, C++ cross-platform header-only client library for http request based +on [csachs/picohttpclient](https://github.com/csachs/picohttpclient) project. + +A Lightweight HTTP 1.1 client where to quickly do very simple HTTP requests, +without adding larger dependencies to a project. + + +## License + +http client lite is distributed under the [MIT License](https://github.com/john-jasper-doe/http-client-lite/blob/master/LICENSE). + + +## Example usage + +To see how this can be used see the examples folders. + + +**Example:** +```C++ +#include +... +using namespace jdl; +... +HTTPResponse response = HTTPClient::request(HTTPClient::GET, URI("http://example.com")); +cout << response.body << endl; +... +``` + diff --git a/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/CMakeLists.txt b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/CMakeLists.txt new file mode 100644 index 000000000..2f983f892 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.3 FATAL_ERROR) +project(http-client-lite-examples) + +add_executable(${PROJECT_NAME}_simple_request simple_request.cpp) +target_link_libraries(${PROJECT_NAME}_simple_request PRIVATE http_client_lite) diff --git a/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/simple_request.cpp b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/simple_request.cpp new file mode 100644 index 000000000..c0a5e6739 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/examples/simple_request.cpp @@ -0,0 +1,43 @@ +/* + * example for httpclientlite.hxx + */ + +#include +#include +#include + +#include + + +using namespace jdl; + + +int main(int argc, char *argv[]) { + if (argc == 1) { + std::cout << "Use " << argv[0] << " http://example.org" << std::endl; + return EXIT_SUCCESS; + } + + HTTPResponse response = HTTPClient::request(HTTPClient::POST, URI(argv[1])); + + if (!response.success) { + std::cout << "Request failed!" << std::endl; + return EXIT_FAILURE; + } + + std::cout << "Request success" << endl; + + std::cout << "Server protocol: " << response.protocol << std::endl; + std::cout << "Response code: " << response.response << std::endl; + std::cout << "Response string: " << response.responseString << std::endl; + + std::cout << "Headers:" << std::endl; + + for (stringMap::iterator it = response.header.begin(); it != response.header.end(); ++it) { + std::cout << "\t" << it->first << "=" << it->second << std::endl; + } + + std::cout << response.body << std::endl; + + return EXIT_SUCCESS; +} diff --git a/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/include/jdl/httpclientlite.h b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/include/jdl/httpclientlite.h new file mode 100644 index 000000000..4432308a4 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/3rdpatry/http-client-lite/include/jdl/httpclientlite.h @@ -0,0 +1,327 @@ +/* + * httpclientlite.hpp + * =========================================================================================== + * + * The MIT License + * + * Copyright (c) 2016 Christian C. Sachs + * Copyright (c) 2021 Maxim G. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + +#pragma once + +#if defined (__linux__) +# define PLATFORM_LINUX +#elif defined (_WIN32) || defined (_WIN64) +# define PLATFORM_WINDOWS +#else +/* TODO: + * - Added Apple OS */ + +/* warning: Unknown OS */ +#endif + + +#include +#include +#include +#include +#include +#include + +#include + +#if defined (PLATFORM_WINDOWS) +# include +# include + + typedef SOCKET socktype_t; + typedef int socklen_t; + +# pragma comment(lib, "ws2_32.lib") + +#elif defined (PLATFORM_LINUX) +# include +# include +# include + +# define INVALID_SOCKET -1 +# define closesocket(__sock) close(__sock) + +typedef int socktype_t; + +#endif /* PLATFORM_WINDOWS or PLATFORM_LINUX */ + + + +const std::string content_type = "Content-Type: text/plain; version=0.0.4; charset=utf-8"; + + + + +namespace jdl { + + void init_socket() { +#if defined (PLATFORM_WINDOWS) + WSADATA wsa_data; + WSAStartup(MAKEWORD(2, 2), &wsa_data); +#endif /* PLATFORM_WINDOWS */ + } + + void deinit_socket() { +#if defined (PLATFORM_WINDOWS) + WSACleanup(); +#endif /* PLATFORM_WINDOWS */ + } + + + class tokenizer { + public: + inline tokenizer(std::string &str) : str(str), position(0){} + + inline std::string next(std::string search, bool returnTail = false) { + size_t hit = str.find(search, position); + if (hit == std::string::npos) { + if (returnTail) { + return tail(); + } else { + return ""; + } + } + + size_t oldPosition = position; + position = hit + search.length(); + + return str.substr(oldPosition, hit - oldPosition); + } + + inline std::string tail() { + size_t oldPosition = position; + position = str.length(); + return str.substr(oldPosition); + } + + private: + std::string str; + std::size_t position; + }; + + typedef std::map stringMap; + + struct URI { + inline void parseParameters() { + tokenizer qt(querystring); + do { + std::string key = qt.next("="); + if (key == "") + break; + parameters[key] = qt.next("&", true); + } while (true); + } + + inline URI(std::string input, bool shouldParseParameters = false) { + tokenizer t = tokenizer(input); + protocol = t.next("://"); + std::string hostPortString = t.next("/"); + + tokenizer hostPort(hostPortString); + + host = hostPort.next(hostPortString[0] == '[' ? "]:" : ":", true); + + if (host[0] == '[') + host = host.substr(1, host.size() - 1); + + port = hostPort.tail(); + if (port.empty()) + port = "80"; + + address = t.next("?", true); + querystring = t.next("#", true); + + hash = t.tail(); + + if (shouldParseParameters) { + parseParameters(); + } + } + + std::string protocol, host, port, address, querystring, hash; + stringMap parameters; + }; + + struct HTTPResponse { + bool success; + std::string protocol; + std::string response; + std::string responseString; + + stringMap header; + + std::string body; + + inline HTTPResponse() : success(true){} + inline static HTTPResponse fail() { + HTTPResponse result; + result.success = false; + return result; + } + }; + + struct HTTPClient { + typedef enum { + m_options = 0, + m_get, + m_head, + m_post, + m_put, + m_delete, + m_trace, + m_connect + } HTTPMethod; + + inline static const char *method2string(HTTPMethod method) { + const char *methods[] = {"OPTIONS", "GET", "HEAD", "POST", "PUT", + "DELETE", "TRACE", "CONNECT", nullptr}; + return methods[method]; + } + + inline static socktype_t connectToURI(const URI& uri) { + struct addrinfo hints, *result, *rp; + + memset(&hints, 0, sizeof(addrinfo)); + + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + + int getaddrinfo_result = + getaddrinfo(uri.host.c_str(), uri.port.c_str(), &hints, &result); + + if (getaddrinfo_result != 0) + return -1; + + socktype_t fd = INVALID_SOCKET; + + for (rp = result; rp != nullptr; rp = rp->ai_next) { + + fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + + if (fd == INVALID_SOCKET) { + continue; + } + + int connect_result = connect(fd, rp->ai_addr, static_cast(rp->ai_addrlen)); + + if (connect_result == -1) { + // successfully created a socket, but connection failed. close it! + closesocket(fd); + fd = INVALID_SOCKET; + continue; + } + + break; + } + + freeaddrinfo(result); + + return fd; + } + + inline static std::string bufferedRead(socktype_t fd) { + size_t initial_factor = 4, buffer_increment_size = 8192, buffer_size = 0, + bytes_read = 0; + std::string buffer; + + buffer.resize(initial_factor * buffer_increment_size); + + // do { + bytes_read = recv(fd, ((char*)buffer.c_str()) + buffer_size, + static_cast(buffer.size() - buffer_size), 0); + + buffer_size += bytes_read; + + // if (bytes_read > 0 && + // (buffer.size() - buffer_size) < buffer_increment_size) { + // buffer.resize(buffer.size() + buffer_increment_size); + // } + // } while (bytes_read > 0); + + buffer.resize(buffer_size); + return buffer; + } + + #define HTTP_NEWLINE "\r\n" + #define HTTP_SPACE " " + #define HTTP_HEADER_SEPARATOR ": " + + inline static HTTPResponse request(HTTPMethod method, const URI& uri, const std::string& body = "") { + + socktype_t fd = connectToURI(uri); + if (fd < 0) + return HTTPResponse::fail(); + + // string request = string(method2string(method)) + string(" /") + + // uri.address + ((uri.querystring == "") ? "" : "?") + + // uri.querystring + " HTTP/1.1" HTTP_NEWLINE "Host: " + + // uri.host + HTTP_NEWLINE + // "Accept: */*" HTTP_NEWLINE + // "Connection: close" HTTP_NEWLINE HTTP_NEWLINE; + + std::string request = std::string(method2string(method)) + std::string(" /") + + uri.address + ((uri.querystring == "") ? "" : "?") + uri.querystring + " HTTP/1.1" + HTTP_NEWLINE + + "Host: " + uri.host + ":" + uri.port + HTTP_NEWLINE + + "Accept: */*" + HTTP_NEWLINE + + content_type + HTTP_NEWLINE + + "Content-Length: " + std::to_string(body.size()) + HTTP_NEWLINE + HTTP_NEWLINE + + body; + + /*int bytes_written = */send(fd, request.c_str(), static_cast(request.size()), 0); + + std::string buffer = bufferedRead(fd); + + closesocket(fd); + + HTTPResponse result; + + tokenizer bt(buffer); + + result.protocol = bt.next(HTTP_SPACE); + result.response = bt.next(HTTP_SPACE); + result.responseString = bt.next(HTTP_NEWLINE); + + std::string header = bt.next(HTTP_NEWLINE HTTP_NEWLINE); + + result.body = bt.tail(); + + tokenizer ht(header); + + do { + std::string key = ht.next(HTTP_HEADER_SEPARATOR); + if (key == "") + break; + result.header[key] = ht.next(HTTP_NEWLINE, true); + } while (true); + + return result; + } + }; + +} /* jdl:: */ diff --git a/ext/prometheus-cpp-lite-1.0/CMakeLists.txt b/ext/prometheus-cpp-lite-1.0/CMakeLists.txt new file mode 100644 index 000000000..390e9091a --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/CMakeLists.txt @@ -0,0 +1,34 @@ +project(prometheus-cpp-lite) +cmake_minimum_required(VERSION 3.2) + +option(PROMETHEUS_BUILD_EXAMPLES "Build with examples" OFF) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) + +if(WIN32) + + # it prevent create Debug/ and Release folders in Visual Studio + foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) + string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin ) + endforeach() + + set (INSTALL_PATH_BIN "${PROJECT_SOURCE_DIR}/installed/bin/") + +else() # not WIN32 + + set (INSTALL_PATH_BIN "bin/") + +endif() + +add_subdirectory("./core") + +add_subdirectory("./simpleapi") + +add_subdirectory("./3rdpatry/http-client-lite") + +if(PROMETHEUS_BUILD_EXAMPLES) + add_subdirectory("./examples") +endif() + + diff --git a/ext/prometheus-cpp-lite-1.0/LICENSE b/ext/prometheus-cpp-lite-1.0/LICENSE new file mode 100644 index 000000000..266f827c8 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 biaks (ianiskr@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ext/prometheus-cpp-lite-1.0/README.md b/ext/prometheus-cpp-lite-1.0/README.md new file mode 100644 index 000000000..5aeae60d4 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/README.md @@ -0,0 +1,201 @@ +# C++ Header-only Prometheus client library + +It is a tool for quickly adding metrics (and profiling) functionality to C++ projects. + +## Advantages: + +1. Written in pure C++, +2. Header-only, +2. Cross-platform, +3. Compiles with C ++ 11, C ++ 14, C ++ 17 standards, +4. Has no third-party dependencies, +5. Several APIs for use in your projects, +6. Saving metrics to a file (and then works with node_exporter) or sending via http (uses built-in header-only http-client-lite library), +7. Possiblity to use different types for storing metrics data (default is uint32_t, but you can use double or uint64_t types if you want), +8. Five types of metrics are supported: counter, gauge, summary, histogram and benchmark, +10. Has detailed examples of use (see examples folder) + +## How it differs from the [jupp0r/prometheus-cpp](https://github.com/jupp0r/prometheus-cpp) project: +1. I need a simple header only wariant library without dependencies to write metrics to a .prom file, +2. I need the fastest possible work using integer values of counters (original project use only floating pointer values), +3. The origianl project have problems on compilers that do not know how to do LTO optimization, +4. I did not like the python style of the original project and the large amount of extra code in it and I wanted to make it lighter and more c++ classic. + +## How to use it: +The library has two API: +1. Complex API for those who want to control everything, +2. Simple API for those who want to quickly add metrics to their C ++ (and it is actually just a wrapper around the complex API). + + +### Let's start with a simple API because it's simple: + +To add it to your C++ project add these lines to your CMakeLists.txt file: +``` +add_subdirectory("prometheus-cpp-lite/core") +add_subdirectory("prometheus-cpp-lite/3rdpatry/http-client-lite") +add_subdirectory("prometheus-cpp-lite/simpleapi") +target_link_libraries(your_target prometheus-cpp-simpleapi) +``` + +The simplest way to create a metric would be like this: +``` c++ +prometheus::simpleapi::METRIC_metric_t metric1 { "metric1", "first simple metric without any tag" }; +prometheus::simpleapi::METRIC_metric_t metric2 { "metric2", "second simple metric without any tag" }; +``` +where ```METRIC``` can be ```counter```, ```gauge```, ```summary```, ```histogram``` or ```benchmark```. + +If you want to access an existing metric again elsewhere in the code, you can do this: +``` c++ +prometheus::simpleapi::METRIC_metric_t metric2_yet_another_link { "metric2", "" }; +``` +this works because when adding a metric, it checks whether there is already a metric with the same name and, if there is one, a link to it is returned. + +You can create a family of metrics (metrics with tags) as follows: +``` c++ +prometheus::simpleapi::METRIC_family_t family { "metric_family", "metric family" }; +prometheus::simpleapi::METRIC_metric_t metric1 { family.Add({{"name", "metric1"}}) }; +prometheus::simpleapi::METRIC_metric_t metric2 { family.Add({{"name", "metric2"}}) }; +``` +where METRIC can be ```counter```, ```gauge```, ```summary```, ```histogram``` or ```benchmark```. + +Next, you can do the following things with metrics: +``` c++ +metric++; // for increment it (only for counter and gauge metrics) +metric += value; // for add value to metric (only for gauge metric) +metric -= value; // for sub value from metric (only for gauge metric) +metric = value; // save current value (only gauge metrics) +metric.start(); // start calculate time (only for benchmark metric) +metric.stop(); // stop calculate time (only for benchmark metric) +``` + +You can change the settings of save (or send) metrics data as follows: +``` c++ +prometheus::simpleapi::saver.set_delay(period_in_seconds); // change the period of saving (or sending) metrics data in seconds (5 seconds by default) +prometheus::simpleapi::saver.set_out_file(filename); // change the name of the output file (metrics.prom by default) +prometheus::simpleapi::saver.set_server_url(url); // change the name of prometheus server (unset by default) +``` + +### Simple API complex example 1 (examples/simpleapi_example.cpp): + +``` c++ +#include + +void main() { + + using namespace prometheus::simpleapi; + + counter_family_t family { "simple_family", "simple family example" }; + counter_metric_t metric1 { family.Add({{"name", "counter1"}}) }; + counter_metric_t metric2 { family.Add({{"name", "counter2"}}) }; + + counter_metric_t metric3 { "simple_counter_1", "simple counter 1 without labels example" }; + counter_metric_t metric4 { "simple_counter_2", "simple counter 2 without labels example" }; + + for (;; ) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + const int random_value = std::rand(); + if (random_value & 1) metric1++; + if (random_value & 2) metric2++; + if (random_value & 4) metric3++; + if (random_value & 8) metric4++; + } + +} +``` + +Output in "metrics.prom" file (by default) will be: + +``` +# HELP simple_family simple family example +# TYPE simple_family counter +simple_family{name="counter1"} 10 +simple_family{name="counter2"} 9 +# HELP simple_counter_1 simple counter 1 without labels example +# TYPE simple_counter_1 counter +simple_counter_1 6 +# HELP simple_counter_2 simple counter 2 without labels example +# TYPE simple_counter_2 counter +simple_counter_2 8 +``` + +### Simple API complex example 2 (examples/simpleapi_use_in_class_example.cpp): + +``` c++ +#include + +using namespace prometheus::simpleapi; + +class MyClass { + + counter_family_t metric_family { "simple_family", "simple family example" }; + counter_metric_t metric1 { metric_family.Add({{"name", "counter1"}}) }; + counter_metric_t metric2 { metric_family.Add({{"name", "counter2"}}) }; + + counter_metric_t metric3 { "simple_counter_1", "simple counter 1 without labels example" }; + counter_metric_t metric4 { "simple_counter_2", "simple counter 2 without labels example" }; + + benchmark_family_t benchmark_family { "simple_benchmark_family", "simple benchmark family example" }; + benchmark_metric_t benchmark1 { benchmark_family.Add({{"benchmark", "1"}}) }; + benchmark_metric_t benchmark2 { benchmark_family.Add({{"benchmark", "2"}}) }; + +public: + + MyClass() = default; + + void member_to_do_something() { + + benchmark1.start(); + const int random_value = std::rand(); + benchmark1.stop(); + + benchmark2.start(); + if (random_value & 1) metric1++; + if (random_value & 2) metric2++; + if (random_value & 4) metric3++; + if (random_value & 8) metric4++; + benchmark2.stop(); + + } + +}; + +void main() { + + MyClass myClass; + benchmark_metric_t benchmark { "simple_benchmark", "simple benchmark example" }; + + for (;; ) { + + benchmark.start(); + std::this_thread::sleep_for(std::chrono::seconds(1)); + benchmark.stop(); + + myClass.member_to_do_something(); + + } + +} +``` + +Output in "metrics.prom" file (by default) will be: + +``` +# HELP simple_family simple family example +# TYPE simple_family counter +simple_family{name="counter1"} 3 +simple_family{name="counter2"} 2 +# HELP simple_counter_1 simple counter 1 without labels example +# TYPE simple_counter_1 counter +simple_counter_1 3 +# HELP simple_counter_2 simple counter 2 without labels example +# TYPE simple_counter_2 counter +simple_counter_2 3 +# HELP simple_benchmark_family simple benchmark family example +# TYPE simple_benchmark_family counter +simple_benchmark_family{benchmark="1"} 0.0001088 +simple_benchmark_family{benchmark="2"} 1.48e-05 +# HELP simple_benchmark simple benchmark example +# TYPE simple_benchmark counter +simple_benchmark 6.0503248 +``` + diff --git a/ext/prometheus-cpp-lite-1.0/core/CMakeLists.txt b/ext/prometheus-cpp-lite-1.0/core/CMakeLists.txt new file mode 100644 index 000000000..70c932218 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/CMakeLists.txt @@ -0,0 +1,20 @@ +project(prometheus-cpp-lite-core) +cmake_minimum_required(VERSION 3.2) + +file(GLOB_RECURSE PROMETHEUS_CPP_LITE_HEADERS *.h) + +# it is header only target + +add_library (${PROJECT_NAME} INTERFACE) +target_sources (${PROJECT_NAME} INTERFACE ${PROMETHEUS_CPP_LITE_HEADERS}) +target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include) +add_custom_target (${PROJECT_NAME}-ide SOURCES ${PROMETHEUS_CPP_LITE_HEADERS}) +target_link_libraries (${PROJECT_NAME} INTERFACE http-client-lite) + +set (${PROJECT_NAME}_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/include PARENT_SCOPE) + +# it need for save_to_file_t +if(NOT WIN32) + find_package(Threads) + target_link_libraries(${PROJECT_NAME} INTERFACE ${CMAKE_THREAD_LIBS_INIT}) +endif() diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/atomic_floating.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/atomic_floating.h new file mode 100644 index 000000000..9cc7ff0fe --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/atomic_floating.h @@ -0,0 +1,40 @@ +#pragma once + +#include +#include + +namespace prometheus { + + template + inline std::atomic& atomic_add_for_floating_types(std::atomic& value, + const FloatingType& add) { + FloatingType desired; + FloatingType expected = value.load(std::memory_order_relaxed); + do { + desired = expected + add; + } while (!value.compare_exchange_weak(expected, desired)); + return value; + } + + + template ::value, int>::type> + inline std::atomic& operator++(std::atomic& value) { + return atomic_add_for_floating_types(value, 1.0); + } + + template ::value, int>::type> + inline std::atomic& operator+=(std::atomic& value, const FloatingType& val) { + return atomic_add_for_floating_types(value, val); + } + + template ::value, int>::type> + inline std::atomic& operator--(std::atomic& value) { + return atomic_add_for_floating_types(value, -1.0); + } + + template ::value, int>::type> + inline std::atomic& operator-=(std::atomic& value, const FloatingType& val) { + return atomic_add_for_floating_types(value, -val); + } + +} diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/benchmark.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/benchmark.h new file mode 100644 index 000000000..166801ba8 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/benchmark.h @@ -0,0 +1,72 @@ +#pragma once + +#include "prometheus/metric.h" +#include "prometheus/family.h" + +#include + +namespace prometheus { + + class Benchmark : public Metric { + + #ifndef NDEBUG + bool already_started = false; + #endif + + std::chrono::time_point start_; + std::chrono::time_point::duration elapsed = std::chrono::time_point::duration::zero(); // elapsed time + + public: + + using Value = double; + using Family = CustomFamily; + + static const Metric::Type static_type = Metric::Type::Counter; + + Benchmark() : Metric(Metric::Type::Counter) {} + + void start() { + + #ifndef NDEBUG + if (already_started) + throw std::runtime_error("try to start already started counter"); + else + already_started = true; + #endif + + start_ = std::chrono::high_resolution_clock::now(); + + } + + void stop() { + + #ifndef NDEBUG + if (already_started == false) + throw std::runtime_error("try to stop already stoped counter"); + #endif + + std::chrono::time_point stop; + stop = std::chrono::high_resolution_clock::now(); + elapsed += stop - start_; + + #ifndef NDEBUG + already_started = false; + #endif + + } + + double Get() const { + return std::chrono::duration_cast>(elapsed).count(); + } + + virtual ClientMetric Collect() const { + ClientMetric metric; + metric.counter.value = Get(); + return metric; + } + + }; + + + +} // namespace prometheus diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/builder.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/builder.h new file mode 100644 index 000000000..74f22b97d --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/builder.h @@ -0,0 +1,35 @@ +#pragma once + +#include +#include +#include "registry.h" + +namespace prometheus { + + template + class Builder { + + Family::Labels labels_; + std::string name_; + std::string help_; + + public: + Builder& Labels(const std::map& labels) { + labels_ = labels; + return *this; + } + Builder& Name(const std::string& name) { + name_ = name; + return *this; + } + Builder& Help(const std::string& help) { + help_ = help; + return *this; + } + CustomFamily& Register(Registry& registry) { + return registry.Add>(name_, help_, labels_); + } + + }; + +} \ No newline at end of file diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/ckms_quantiles.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/ckms_quantiles.h new file mode 100644 index 000000000..267d442ae --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/ckms_quantiles.h @@ -0,0 +1,194 @@ +#pragma once + +#include +#include +#include +#include + +namespace prometheus { + + namespace detail { + + class CKMSQuantiles { + + public: + + struct Quantile { + + double quantile; + double error; + double u; + double v; + + Quantile(double quantile, double error) + : quantile(quantile), + error(error), + u(2.0 * error / (1.0 - quantile)), + v(2.0 * error / quantile) {} + + }; + + private: + + struct Item { + + double value; + int g; + int delta; + + Item(double value, int lower_delta, int delta) + : value(value), g(lower_delta), delta(delta) {} + + }; + + public: + + explicit CKMSQuantiles(const std::vector& quantiles) + : quantiles_(quantiles), count_(0), buffer_{}, buffer_count_(0) {} + + void insert(double value) { + buffer_[buffer_count_] = value; + ++buffer_count_; + + if (buffer_count_ == buffer_.size()) { + insertBatch(); + compress(); + } + } + + double get(double q) { + insertBatch(); + compress(); + + if (sample_.empty()) { + return std::numeric_limits::quiet_NaN(); + } + + int rankMin = 0; + const auto desired = static_cast(q * static_cast(count_)); + const auto bound = desired + (allowableError(desired) / 2); + + auto it = sample_.begin(); + decltype(it) prev; + auto cur = it++; + + while (it != sample_.end()) { + prev = cur; + cur = it++; + + rankMin += prev->g; + + if (rankMin + cur->g + cur->delta > bound) { + return prev->value; + } + } + + return sample_.back().value; + } + + void reset() { + count_ = 0; + sample_.clear(); + buffer_count_ = 0; + } + + private: + + double allowableError(int rank) { + auto size = sample_.size(); + double minError = static_cast(size + 1); + + for (const auto& q : quantiles_.get()) { + double error; + if (static_cast(rank) <= q.quantile * static_cast(size)) { + error = q.u * static_cast(size - rank); + } + else { + error = q.v * rank; + } + if (error < minError) { + minError = error; + } + } + + return minError; + } + + bool insertBatch() { + if (buffer_count_ == 0) { + return false; + } + + std::sort(buffer_.begin(), buffer_.begin() + buffer_count_); + + std::size_t start = 0; + if (sample_.empty()) { + sample_.emplace_back(buffer_[0], 1, 0); + ++start; + ++count_; + } + + std::size_t idx = 0; + std::size_t item = idx++; + + for (std::size_t i = start; i < buffer_count_; ++i) { + double v = buffer_[i]; + while (idx < sample_.size() && sample_[item].value < v) { + item = idx++; + } + + if (sample_[item].value > v) { + --idx; + } + + int delta; + if (idx - 1 == 0 || idx + 1 == sample_.size()) { + delta = 0; + } + else { + delta = static_cast(std::floor(allowableError(static_cast(idx + 1)))) + 1; + } + + sample_.emplace(sample_.begin() + idx, v, 1, delta); + count_++; + item = idx++; + } + + buffer_count_ = 0; + return true; + } + + void compress() { + if (sample_.size() < 2) { + return; + } + + std::size_t idx = 0; + std::size_t prev; + std::size_t next = idx++; + + while (idx < sample_.size()) { + prev = next; + next = idx++; + + if (sample_[prev].g + sample_[next].g + sample_[next].delta <= + allowableError(static_cast(idx - 1))) { + sample_[next].g += sample_[prev].g; + sample_.erase(sample_.begin() + prev); + } + } + } + + private: + + const std::reference_wrapper> quantiles_; + + std::size_t count_; + std::vector sample_; + std::array buffer_; + std::size_t buffer_count_; + }; + + } // namespace detail + +} // namespace prometheus diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/client_metric.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/client_metric.h new file mode 100644 index 000000000..39acff782 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/client_metric.h @@ -0,0 +1,94 @@ +#pragma once + +#include +#include +#include +#include + +namespace prometheus { + + // ñòðóêòóðà, â êîòîðóþ êîïèðóþòñÿ çíà÷åíèÿ ìåòðèê ïåðåä èõ ñåðèàëèçàöèåé + struct ClientMetric { + + // Label + + struct Label { + + std::string name; + std::string value; + + Label(const std::string name_, const std::string value_) : name(name_), value(value_) {} + + bool operator<(const Label& rhs) const { + return std::tie(name, value) < std::tie(rhs.name, rhs.value); + } + + bool operator==(const Label& rhs) const { + return std::tie(name, value) == std::tie(rhs.name, rhs.value); + } + + }; + + std::vector; + + static const Metric::Type static_type = Metric::Type::Summary; + + using Quantiles = std::vector; + + const Quantiles quantiles_; + mutable std::mutex mutex_; + std::uint64_t count_; + double sum_; + detail::TimeWindowQuantiles quantile_values_; + + public: + + /// \brief Create a summary metric. + /// + /// \param quantiles A list of 'targeted' Phi-quantiles. A targeted + /// Phi-quantile is specified in the form of a Phi-quantile and tolerated + /// error. For example a Quantile{0.5, 0.1} means that the median (= 50th + /// percentile) should be returned with 10 percent error or a Quantile{0.2, + /// 0.05} means the 20th percentile with 5 percent tolerated error. Note that + /// percentiles and quantiles are the same concept, except percentiles are + /// expressed as percentages. The Phi-quantile must be in the interval [0, 1]. + /// Note that a lower tolerated error for a Phi-quantile results in higher + /// usage of resources (memory and cpu) to calculate the summary. + /// + /// The Phi-quantiles are calculated over a sliding window of time. The + /// sliding window of time is configured by max_age and age_buckets. + /// + /// \param max_age Set the duration of the time window, i.e., how long + /// observations are kept before they are discarded. The default value is 60 + /// seconds. + /// + /// \param age_buckets Set the number of buckets of the time window. It + /// determines the number of buckets used to exclude observations that are + /// older than max_age from the summary, e.g., if max_age is 60 seconds and + /// age_buckets is 5, buckets will be switched every 12 seconds. The value is + /// a trade-off between resources (memory and cpu for maintaining the bucket) + /// and how smooth the time window is moved. With only one age bucket it + /// effectively results in a complete reset of the summary each time max_age + /// has passed. The default value is 5. + Summary(const Quantiles& quantiles, std::chrono::milliseconds max_age = std::chrono::seconds{ 60 }, int age_buckets = 5) + : Metric(static_type), quantiles_{ quantiles }, count_{ 0 }, sum_{ 0 }, quantile_values_(quantiles_, max_age, age_buckets) {} + + /// \brief Observe the given amount. + void Observe(const double value) { + std::lock_guard lock(mutex_); + + count_ += 1; + sum_ += value; + quantile_values_.insert(value); + + } + + /// \brief Get the current value of the summary. + /// + /// Collect is called by the Registry when collecting metrics. + virtual ClientMetric Collect() const { + auto metric = ClientMetric{}; + + std::lock_guard lock(mutex_); + + metric.summary.quantile.reserve(quantiles_.size()); + for (const auto& quantile : quantiles_) { + auto metricQuantile = ClientMetric::Quantile{}; + metricQuantile.quantile = quantile.quantile; + metricQuantile.value = quantile_values_.get(quantile.quantile); + metric.summary.quantile.push_back(std::move(metricQuantile)); + } + metric.summary.sample_count = count_; + metric.summary.sample_sum = sum_; + + return metric; + } + }; + + + /// \brief Return a builder to configure and register a Summary metric. + /// + /// @copydetails Family<>::Family() + /// + /// Example usage: + /// + /// \code + /// auto registry = std::make_shared(); + /// auto& summary_family = prometheus::BuildSummary() + /// .Name("some_name") + /// .Help("Additional description.") + /// .Labels({{"key", "value"}}) + /// .Register(*registry); + /// + /// ... + /// \endcode + /// + /// \return An object of unspecified type T, i.e., an implementation detail + /// except that it has the following members: + /// + /// - Name(const std::string&) to set the metric name, + /// - Help(const std::string&) to set an additional description. + /// - Label(const std::map&) to assign a set of + /// key-value pairs (= labels) to the metric. + /// + /// To finish the configuration of the Summary metric register it with + /// Register(Registry&). + using BuildSummary = Builder; + + +} // namespace prometheus diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/text_serializer.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/text_serializer.h new file mode 100644 index 000000000..019729b62 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/text_serializer.h @@ -0,0 +1,211 @@ +#pragma once + +#include +#include +#include +#include +#include + +#include "prometheus/metric_family.h" + +#if __cpp_lib_to_chars >= 201611L + #include +#endif + +namespace prometheus { + +class TextSerializer { + + // Write a double as a string, with proper formatting for infinity and NaN + static void WriteValue (std::ostream& out, double value) { + if (std::isnan(value)) + out << "Nan"; + else if (std::isinf(value)) + out << (value < 0 ? "-Inf" : "+Inf"); + + else { + + std::array buffer; + +#if __cpp_lib_to_chars >= 201611L + auto [ptr, ec] = std::to_chars(buffer.data(), buffer.data() + buffer.size(), value); + if (ec != std::errc()) { + throw std::runtime_error("Could not convert double to string: " + + std::make_error_code(ec).message()); + } + out.write(buffer.data(), ptr - buffer.data()); +#else + int wouldHaveWritten = std::snprintf(buffer.data(), buffer.size(), "%.*g", std::numeric_limits::max_digits10 - 1, value); + if (wouldHaveWritten <= 0 || static_cast(wouldHaveWritten) >= buffer.size()) { + throw std::runtime_error("Could not convert double to string"); + } + out.write(buffer.data(), wouldHaveWritten); +#endif + + } + } + + static void WriteValue(std::ostream& out, const std::string& value) { + for (auto c : value) { + switch (c) { + case '\n': out << '\\' << 'n'; break; + case '\\': out << '\\' << c; break; + case '"': out << '\\' << c; break; + default: out << c; break; + } + } + } + + // Write a line header: metric name and labels + template + static void WriteHead( + std::ostream& out, + const MetricFamily& family, + const ClientMetric& metric, + const std::string& suffix = "", + const std::string& extraLabelName = "", + const T& extraLabelValue = T()) { + + out << family.name << suffix; + + if (!metric.label.empty() || !extraLabelName.empty()) { + + out << "{"; + const char* prefix = ""; + + for (auto& lp : metric.label) { + out << prefix << lp.name << "=\""; + WriteValue(out, lp.value); + out << "\""; + prefix = ","; + } + if (!extraLabelName.empty()) { + out << prefix << extraLabelName << "=\""; + WriteValue(out, extraLabelValue); + out << "\""; + } + out << "}"; + } + out << " "; + } + + // Write a line trailer: timestamp + static void WriteTail(std::ostream& out, const ClientMetric& metric) { + if (metric.timestamp_ms != 0) { + out << " " << metric.timestamp_ms; + } + out << "\n"; + } + + static void SerializeCounter(std::ostream& out, const MetricFamily& family, const ClientMetric& metric) { + WriteHead(out, family, metric); + WriteValue(out, metric.counter.value); + WriteTail(out, metric); + } + + static void SerializeGauge(std::ostream& out, const MetricFamily& family, const ClientMetric& metric) { + WriteHead(out, family, metric); + WriteValue(out, metric.gauge.value); + WriteTail(out, metric); + } + + static void SerializeSummary(std::ostream& out, const MetricFamily& family, const ClientMetric& metric) { + auto& sum = metric.summary; + WriteHead(out, family, metric, "_count"); + out << sum.sample_count; + WriteTail(out, metric); + + WriteHead(out, family, metric, "_sum"); + WriteValue(out, sum.sample_sum); + WriteTail(out, metric); + + for (auto& q : sum.quantile) { + WriteHead(out, family, metric, "", "quantile", q.quantile); + WriteValue(out, q.value); + WriteTail(out, metric); + } + } + + static void SerializeUntyped(std::ostream& out, const MetricFamily& family, const ClientMetric& metric) { + WriteHead(out, family, metric); + WriteValue(out, metric.untyped.value); + WriteTail(out, metric); + } + + static void SerializeHistogram(std::ostream& out, const MetricFamily& family, const ClientMetric& metric) { + auto& hist = metric.histogram; + WriteHead(out, family, metric, "_count"); + out << hist.sample_count; + WriteTail(out, metric); + + WriteHead(out, family, metric, "_sum"); + WriteValue(out, hist.sample_sum); + WriteTail(out, metric); + + double last = -std::numeric_limits::infinity(); + for (auto& b : hist.bucket) { + WriteHead(out, family, metric, "_bucket", "le", b.upper_bound); + last = b.upper_bound; + out << b.cumulative_count; + WriteTail(out, metric); + } + + if (last != std::numeric_limits::infinity()) { + WriteHead(out, family, metric, "_bucket", "le", "+Inf"); + out << hist.sample_count; + WriteTail(out, metric); + } + } + + static void SerializeFamily(std::ostream& out, const MetricFamily& family) { + if (!family.help.empty()) { + out << "# HELP " << family.name << " " << family.help << "\n"; + } + switch (family.type) { + case Metric::Type::Counter: + out << "# TYPE " << family.name << " counter\n"; + for (auto& metric : family.metric) { + SerializeCounter(out, family, metric); + } + break; + case Metric::Type::Gauge: + out << "# TYPE " << family.name << " gauge\n"; + for (auto& metric : family.metric) { + SerializeGauge(out, family, metric); + } + break; + case Metric::Type::Summary: + out << "# TYPE " << family.name << " summary\n"; + for (auto& metric : family.metric) { + SerializeSummary(out, family, metric); + } + break; + case Metric::Type::Untyped: + out << "# TYPE " << family.name << " untyped\n"; + for (auto& metric : family.metric) { + SerializeUntyped(out, family, metric); + } + break; + case Metric::Type::Histogram: + out << "# TYPE " << family.name << " histogram\n"; + for (auto& metric : family.metric) { + SerializeHistogram(out, family, metric); + } + break; + } + } + + public: + + static void Serialize (std::ostream& out, const std::vector& metrics) { + std::locale saved_locale = out.getloc(); + out.imbue(std::locale::classic()); + for (auto& family : metrics) { + SerializeFamily(out, family); + } + out.imbue(saved_locale); + } + +}; + +} // namespace prometheus diff --git a/ext/prometheus-cpp-lite-1.0/core/include/prometheus/time_window_quantiles.h b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/time_window_quantiles.h new file mode 100644 index 000000000..9eb6df322 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/core/include/prometheus/time_window_quantiles.h @@ -0,0 +1,62 @@ +#pragma once + +#include +#include +#include + +#include "prometheus/detail/ckms_quantiles.h" + +namespace prometheus { + namespace detail { + + class TimeWindowQuantiles { + + using Clock = std::chrono::steady_clock; + + public: + TimeWindowQuantiles(const std::vector& quantiles, + const Clock::duration max_age, const int age_buckets) + : quantiles_(quantiles), + ckms_quantiles_(age_buckets, CKMSQuantiles(quantiles_)), + current_bucket_(0), + last_rotation_(Clock::now()), + rotation_interval_(max_age / age_buckets) {} + + double get(double q) const { + CKMSQuantiles& current_bucket = rotate(); + return current_bucket.get(q); + } + + void insert(double value) { + rotate(); + for (auto& bucket : ckms_quantiles_) { + bucket.insert(value); + } + } + + private: + CKMSQuantiles& rotate() const { + auto delta = Clock::now() - last_rotation_; + while (delta > rotation_interval_) { + ckms_quantiles_[current_bucket_].reset(); + + if (++current_bucket_ >= ckms_quantiles_.size()) { + current_bucket_ = 0; + } + + delta -= rotation_interval_; + last_rotation_ += rotation_interval_; + } + return ckms_quantiles_[current_bucket_]; + } + + const std::vector& quantiles_; + mutable std::vector ckms_quantiles_; + mutable std::size_t current_bucket_; + + mutable Clock::time_point last_rotation_; + const Clock::duration rotation_interval_; + }; + + } // namespace detail +} // namespace prometheus diff --git a/ext/prometheus-cpp-lite-1.0/examples/CMakeLists.txt b/ext/prometheus-cpp-lite-1.0/examples/CMakeLists.txt new file mode 100644 index 000000000..84ac1a74d --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/CMakeLists.txt @@ -0,0 +1,31 @@ + +add_executable (original_example "original_example.cpp" ) +target_link_libraries(original_example prometheus-cpp-lite-core) + +add_executable (modern_example "modern_example.cpp" ) +target_link_libraries(modern_example prometheus-cpp-lite-core) + +add_executable (use_counters_in_class_example "use_counters_in_class_example.cpp" ) +target_link_libraries(use_counters_in_class_example prometheus-cpp-lite-core) + +add_executable (use_gauge_in_class_example "use_gauge_in_class_example.cpp" ) +target_link_libraries(use_gauge_in_class_example prometheus-cpp-lite-core) + +add_executable (use_benchmark_in_class_example "use_benchmark_in_class_example.cpp" ) +target_link_libraries(use_benchmark_in_class_example prometheus-cpp-lite-core) + +add_executable (save_to_file_example "save_to_file_example.cpp" ) +target_link_libraries(save_to_file_example prometheus-cpp-lite-core) + +add_executable (push_to_server_example "push_to_server_example.cpp" ) +target_link_libraries(push_to_server_example prometheus-cpp-lite-core) + +add_executable (gateway_example "gateway_example.cpp" ) +target_link_libraries(gateway_example prometheus-cpp-lite-core) + + +add_executable (simpleapi_example "simpleapi_example.cpp") +target_link_libraries(simpleapi_example prometheus-cpp-simpleapi) + +add_executable (simpleapi_use_in_class_example "simpleapi_use_in_class_example.cpp") +target_link_libraries(simpleapi_use_in_class_example prometheus-cpp-simpleapi) diff --git a/ext/prometheus-cpp-lite-1.0/examples/gateway_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/gateway_example.cpp new file mode 100644 index 000000000..cc231da05 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/gateway_example.cpp @@ -0,0 +1,64 @@ +#include +#include +#include +#include +#include + +#include "prometheus/client_metric.h" +#include "prometheus/counter.h" +#include "prometheus/family.h" +#include "prometheus/gateway.h" +#include "prometheus/registry.h" + +#ifdef _WIN32 +#include +#else +#include +#endif + +static std::string GetHostName() { + char hostname[1024]; + + if (::gethostname(hostname, sizeof(hostname))) { + return {}; + } + return hostname; +} + +int main() { + using namespace prometheus; + + // create a push gateway + const auto labels = Gateway::GetInstanceLabel(GetHostName()); + + Gateway gateway{"127.0.0.1", "9091", "sample_client", labels}; + + // create a metrics registry with component=main labels applied to all its + // metrics + auto registry = std::make_shared(); + + // add a new counter family to the registry (families combine values with the + // same name, but distinct label dimensions) + auto& counter_family = BuildCounter() + .Name("time_running_seconds_total") + .Help("How many seconds is this server running?") + .Labels({{"label", "value"}}) + .Register(*registry); + + // add a counter to the metric family + auto& second_counter = counter_family.Add( + {{"another_label", "value"}, {"yet_another_label", "value"}}); + + // ask the pusher to push the metrics to the pushgateway + gateway.RegisterCollectable(registry); + + for (;;) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + // increment the counter by one (second) + second_counter.Increment(); + + // push metrics + auto returnCode = gateway.Push(); + std::cout << "returnCode is " << returnCode << std::endl; + } +} diff --git a/ext/prometheus-cpp-lite-1.0/examples/modern_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/modern_example.cpp new file mode 100644 index 000000000..dcec559ef --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/modern_example.cpp @@ -0,0 +1,65 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int main() { + + using namespace prometheus; + + // for clarity, we deduce the required types + using IntegerCounter = Counter; + using FloatingCounter = Counter; + + using IntegerCounterFamily = CustomFamily; + using FloatingCounterFamily = CustomFamily; + + // create a metrics registry + // @note it's the users responsibility to keep the object alive + Registry registry; + + // add a new counter family to the registry (families combine values with the + // same name, but distinct label dimensions) + // + // @note please follow the metric-naming best-practices: + // https://prometheus.io/docs/practices/naming/ + FloatingCounterFamily& packet_counter{ FloatingCounter::Family::Build(registry, "observed_packets_total", "Number of observed packets") }; + + // add and remember dimensional data, incrementing those is very cheap + FloatingCounter& tcp_rx_counter{ packet_counter.Add({ {"protocol", "tcp"}, {"direction", "rx"} }) }; + FloatingCounter& tcp_tx_counter{ packet_counter.Add({ {"protocol", "tcp"}, {"direction", "tx"} }) }; + FloatingCounter& udp_rx_counter{ packet_counter.Add({ {"protocol", "udp"}, {"direction", "rx"} }) }; + FloatingCounter& udp_tx_counter{ packet_counter.Add({ {"protocol", "udp"}, {"direction", "tx"} }) }; + + // add a counter whose dimensional data is not known at compile time + // nevertheless dimensional values should only occur in low cardinality: + // https://prometheus.io/docs/practices/naming/#labels + IntegerCounterFamily& http_requests_counter = IntegerCounter::Family::Build(registry, "http_requests_total", "Number of HTTP requests"); + + for (;; ) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + const int random_value = std::rand(); + + if (random_value & 1) tcp_rx_counter++; + if (random_value & 2) ++tcp_tx_counter; + if (random_value & 4) udp_rx_counter += 0.5; + if (random_value & 8) udp_tx_counter += 0.7; + + const std::array methods = { "GET", "PUT", "POST", "HEAD" }; + const std::string& method = methods.at(static_cast(random_value) % methods.size()); + + // dynamically calling Family.Add() works but is slow and should be avoided + http_requests_counter.Add({ {"method", method} }) += 10; + + TextSerializer text_serializer; + text_serializer.Serialize(std::cout, registry.Collect()); + + } +} diff --git a/ext/prometheus-cpp-lite-1.0/examples/original_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/original_example.cpp new file mode 100644 index 000000000..09b2569d7 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/original_example.cpp @@ -0,0 +1,67 @@ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int main() { + + using namespace prometheus; + + // create a metrics registry + // @note it's the users responsibility to keep the object alive + auto registry = std::make_shared(); + + // add a new counter family to the registry (families combine values with the + // same name, but distinct label dimensions) + // + // @note please follow the metric-naming best-practices: + // https://prometheus.io/docs/practices/naming/ + auto& packet_counter = BuildCounter() + .Name("observed_packets_total") + .Help("Number of observed packets") + .Register(*registry); + + // add and remember dimensional data, incrementing those is very cheap + auto& tcp_rx_counter = packet_counter.Add({ {"protocol", "tcp"}, {"direction", "rx"} }); + auto& tcp_tx_counter = packet_counter.Add({ {"protocol", "tcp"}, {"direction", "tx"} }); + auto& udp_rx_counter = packet_counter.Add({ {"protocol", "udp"}, {"direction", "rx"} }); + auto& udp_tx_counter = packet_counter.Add({ {"protocol", "udp"}, {"direction", "tx"} }); + + // add a counter whose dimensional data is not known at compile time + // nevertheless dimensional values should only occur in low cardinality: + // https://prometheus.io/docs/practices/naming/#labels + auto& http_requests_counter = BuildCounter() + .Name("http_requests_total") + .Help("Number of HTTP requests") + .Register(*registry); + + // ask the exposer to scrape the registry on incoming HTTP requests + //exposer.RegisterCollectable(registry); + + for ( ;; ) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + const auto random_value = std::rand(); + + if (random_value & 1) tcp_rx_counter.Increment(); + if (random_value & 2) tcp_tx_counter.Increment(); + if (random_value & 4) udp_rx_counter.Increment(10); + if (random_value & 8) udp_tx_counter.Increment(10); + + const std::array methods = { "GET", "PUT", "POST", "HEAD" }; + auto method = methods.at(static_cast(random_value) % methods.size()); + // dynamically calling Family.Add() works but is slow and should be avoided + http_requests_counter.Add({ {"method", method} }).Increment(); + + TextSerializer text_serializer; + text_serializer.Serialize(std::cout, registry->Collect()); + + } +} diff --git a/ext/prometheus-cpp-lite-1.0/examples/push_to_server_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/push_to_server_example.cpp new file mode 100644 index 000000000..eda0b0025 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/push_to_server_example.cpp @@ -0,0 +1,44 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int main() { + + using namespace prometheus; + + // for clarity, we deduce the required types + using Metric = Counter; + + using Family = Metric::Family; + + // create a metrics registry + // @note it's the users responsibility to keep the object alive + std::shared_ptr registry_ptr = std::make_shared(); + + PushToServer pusher(registry_ptr, std::chrono::seconds(5), + std::string("http://127.0.0.1:9091/metrics/job/samples/instance/test") ); + + // add a new counter family to the registry (families combine values with the + // same name, but distinct label dimensions) + // + // @note please follow the metric-naming best-practices: + // https://prometheus.io/docs/practices/naming/ + Family& family { Family::Build(*registry_ptr, "our_metric", "some metric") }; + + // add and remember dimensional data, incrementing those is very cheap + Metric& metric { family.Add({}) }; + + for (;; ) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + const int random_value = std::rand(); + metric += random_value % 10; + } +} diff --git a/ext/prometheus-cpp-lite-1.0/examples/save_to_file_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/save_to_file_example.cpp new file mode 100644 index 000000000..119b4998a --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/save_to_file_example.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int main() { + + using namespace prometheus; + + // for clarity, we deduce the required types + using Metric = Counter; + + using Family = Metric::Family; + + // create a metrics registry + // @note it's the users responsibility to keep the object alive + std::shared_ptr registry_ptr = std::make_shared(); + + SaveToFile saver( registry_ptr, std::chrono::seconds(5), "./metrics.prom" ); + + // add a new counter family to the registry (families combine values with the + // same name, but distinct label dimensions) + // + // @note please follow the metric-naming best-practices: + // https://prometheus.io/docs/practices/naming/ + Family& family { Family::Build(*registry_ptr, "our_metric", "some metric") }; + + // add and remember dimensional data, incrementing those is very cheap + Metric& metric { family.Add({}) }; + + for (;; ) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + const int random_value = std::rand(); + metric += random_value % 10; + } +} diff --git a/ext/prometheus-cpp-lite-1.0/examples/simpleapi_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/simpleapi_example.cpp new file mode 100644 index 000000000..811140789 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/simpleapi_example.cpp @@ -0,0 +1,26 @@ + +#include + +int main() { + + using namespace prometheus::simpleapi; + + counter_family_t family { "simple_family", "simple family example" }; + counter_metric_t metric1 { family.Add({{"name", "counter1"}}) }; + counter_metric_t metric2 { family.Add({{"name", "counter2"}}) }; + + counter_metric_t metric3 { "simple_counter_1", "simple counter 1 without labels example" }; + counter_metric_t metric4 { "simple_counter_2", "simple counter 2 without labels example" }; + + for (;; ) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + const int random_value = std::rand(); + if (random_value & 1) metric1++; + if (random_value & 2) metric2++; + if (random_value & 4) metric3++; + if (random_value & 8) metric4++; + } + + //return 0; + +} \ No newline at end of file diff --git a/ext/prometheus-cpp-lite-1.0/examples/simpleapi_use_in_class_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/simpleapi_use_in_class_example.cpp new file mode 100644 index 000000000..d97eeeeae --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/simpleapi_use_in_class_example.cpp @@ -0,0 +1,57 @@ + +#include + +// use prometheus namespace +using namespace prometheus::simpleapi; + +class MyClass { + + counter_family_t metric_family { "simple_family", "simple family example" }; + counter_metric_t metric1 { metric_family.Add({{"name", "counter1"}}) }; + counter_metric_t metric2 { metric_family.Add({{"name", "counter2"}}) }; + + counter_metric_t metric3 { "simple_counter_1", "simple counter 1 without labels example" }; + counter_metric_t metric4 { "simple_counter_2", "simple counter 2 without labels example" }; + + benchmark_family_t benchmark_family { "simple_benchmark_family", "simple benchmark family example" }; + benchmark_metric_t benchmark1 { benchmark_family.Add({{"benchmark", "1"}}) }; + benchmark_metric_t benchmark2 { benchmark_family.Add({{"benchmark", "2"}}) }; + +public: + + MyClass() = default; + + void member_to_do_something() { + + benchmark1.start(); + const int random_value = std::rand(); + benchmark1.stop(); + + benchmark2.start(); + if (random_value & 1) metric1++; + if (random_value & 2) metric2++; + if (random_value & 4) metric3++; + if (random_value & 8) metric4++; + benchmark2.stop(); + + } + +}; + +int main() { + + MyClass myClass; + benchmark_metric_t benchmark { "simple_benchmark", "simple benchmark example" }; + + for (;; ) { + + benchmark.start(); + std::this_thread::sleep_for(std::chrono::seconds(1)); + benchmark.stop(); + + myClass.member_to_do_something(); + + } + +} + diff --git a/ext/prometheus-cpp-lite-1.0/examples/use_benchmark_in_class_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/use_benchmark_in_class_example.cpp new file mode 100644 index 000000000..ae44017cf --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/use_benchmark_in_class_example.cpp @@ -0,0 +1,59 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +// use prometheus namespace +using namespace prometheus; + +// create global registry for use it from our classes +static Registry globalRegistry; + +class MyClass { + + Benchmark::Family& benchmarkFamily { Benchmark::Family::Build(globalRegistry, + "benchmark_family", "family for check benchmark functionality") }; + + Benchmark& benchmark1 { benchmarkFamily.Add({{"number", "1"}}) }; + Benchmark& benchmark2 { benchmarkFamily.Add({{"number", "2"}}) }; + +public: + + MyClass() = default; + + void member_to_do_something() { + + benchmark1.start(); + benchmark2.start(); + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + benchmark1.stop(); + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + benchmark2.stop(); + + } + +}; + +int main() { + + MyClass myClass; + + for (;; ) { + + std::this_thread::sleep_for(std::chrono::seconds(1)); + + myClass.member_to_do_something(); + + TextSerializer text_serializer; + text_serializer.Serialize(std::cout, globalRegistry.Collect()); + + } +} + diff --git a/ext/prometheus-cpp-lite-1.0/examples/use_counters_in_class_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/use_counters_in_class_example.cpp new file mode 100644 index 000000000..fbe8b6198 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/use_counters_in_class_example.cpp @@ -0,0 +1,79 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +// use prometheus namespace +using namespace prometheus; + +// for clarity, we deduce the required types +using IntegerCounter = Counter; +using FloatingCounter = Counter; + +using IntegerCounterFamily = CustomFamily; +using FloatingCounterFamily = CustomFamily; + +// create global registry for use it from our classes +static Registry globalRegistry; + +class MyClass { + + IntegerCounterFamily& counterFamily1 { IntegerCounter::Family::Build(globalRegistry, + "counter_family_1", "counter for check integer functionality", + {{"type","integer"}} ) }; + + IntegerCounter& counter11{ counterFamily1.Add({{"number", "1"}}) }; + IntegerCounter& counter12{ counterFamily1.Add({{"number", "2"}}) }; + IntegerCounter& counter13{ counterFamily1.Add({{"number", "3"}}) }; + + + FloatingCounterFamily& counterFamily2 { FloatingCounter::Family::Build(globalRegistry, + "counter_family_2", "counter for check floating functionality", + {{"type","float"}} ) }; + + FloatingCounter& counter21{ counterFamily2.Add({{"number", "1"}}) }; + FloatingCounter& counter22{ counterFamily2.Add({{"number", "2"}}) }; + FloatingCounter& counter23{ counterFamily2.Add({{"number", "3"}}) }; + +public: + + MyClass() = default; + + void member_to_do_something() { + + const int random_value = std::rand(); + + if (random_value & 1) counter11++; + if (random_value & 2) counter12++; + if (random_value & 4) counter13++; + if (random_value & 8) counter21++; + if (random_value & 16) counter22++; + if (random_value & 32) counter23++; + + } + +}; + +int main() { + + MyClass myClass; + + for (;; ) { + + std::this_thread::sleep_for(std::chrono::seconds(1)); + + myClass.member_to_do_something(); + + TextSerializer text_serializer; + text_serializer.Serialize(std::cout, globalRegistry.Collect()); + + } +} + diff --git a/ext/prometheus-cpp-lite-1.0/examples/use_gauge_in_class_example.cpp b/ext/prometheus-cpp-lite-1.0/examples/use_gauge_in_class_example.cpp new file mode 100644 index 000000000..c66da8a67 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/examples/use_gauge_in_class_example.cpp @@ -0,0 +1,79 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +// use prometheus namespace +using namespace prometheus; + +// for clarity, we deduce the required types +using IntegerGauge = Gauge; +using FloatingGauge = Gauge; + +using IntegerGaugeFamily = CustomFamily; +using FloatingGaugeFamily = CustomFamily; + +// create global registry for use it from our classes +static Registry globalRegistry; + +class MyClass { + + IntegerGaugeFamily& gaugeFamily1 { IntegerGauge::Family::Build(globalRegistry, + "gauge_family_1", "gauge for check integer functionality", + {{"type","integer"}} ) }; + + IntegerGauge& gauge11{ gaugeFamily1.Add({{"number", "1"}}) }; + IntegerGauge& gauge12{ gaugeFamily1.Add({{"number", "2"}}) }; + IntegerGauge& gauge13{ gaugeFamily1.Add({{"number", "3"}}) }; + + + FloatingGaugeFamily& gaugeFamily2 { FloatingGauge::Family::Build(globalRegistry, + "gauge_family_2", "gauge for check floating functionality", + {{"type","float"}} ) }; + + FloatingGauge& gauge21{ gaugeFamily2.Add({{"number", "1"}}) }; + FloatingGauge& gauge22{ gaugeFamily2.Add({{"number", "2"}}) }; + FloatingGauge& gauge23{ gaugeFamily2.Add({{"number", "3"}}) }; + +public: + + MyClass() = default; + + void member_to_do_something() { + + const int random_value = std::rand(); + + if (random_value & 1 ) gauge11++; else gauge11--; + if (random_value & (1 << 1)) gauge12++; else gauge12--; + if (random_value & (1 << 2)) gauge13++; else gauge13--; + if (random_value & (1 << 3)) gauge21++; else gauge21--; + if (random_value & (1 << 4)) gauge22++; else gauge22--; + if (random_value & (1 << 5)) gauge23++; else gauge23--; + + } + +}; + +int main() { + + MyClass myClass; + + for (;; ) { + + std::this_thread::sleep_for(std::chrono::seconds(1)); + + myClass.member_to_do_something(); + + TextSerializer text_serializer; + text_serializer.Serialize(std::cout, globalRegistry.Collect()); + + } +} + diff --git a/ext/prometheus-cpp-lite-1.0/simpleapi/CMakeLists.txt b/ext/prometheus-cpp-lite-1.0/simpleapi/CMakeLists.txt new file mode 100644 index 000000000..19dc9e1f3 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/simpleapi/CMakeLists.txt @@ -0,0 +1,7 @@ +project(prometheus-cpp-simpleapi) +cmake_minimum_required(VERSION 3.2) + +add_library (${PROJECT_NAME} STATIC "./src/simpleapi.cpp" ) +target_sources (${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include/prometheus/simpleapi.h") +target_include_directories(${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_link_libraries (${PROJECT_NAME} PUBLIC prometheus-cpp-lite-core) diff --git a/ext/prometheus-cpp-lite-1.0/simpleapi/include/prometheus/simpleapi.h b/ext/prometheus-cpp-lite-1.0/simpleapi/include/prometheus/simpleapi.h new file mode 100644 index 000000000..bf2ec4832 --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/simpleapi/include/prometheus/simpleapi.h @@ -0,0 +1,157 @@ + +#pragma once + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +namespace prometheus { + namespace simpleapi { + + extern Registry& registry; + extern SaveToFile saver; + + + template + class family_wrapper_t { + + typename CustomWrapper::Family* family_{ nullptr }; + + public: + + // make new family: family_t family {"family_name", "Family description"} + family_wrapper_t(const std::string& name, const std::string& description) + : family_(&CustomWrapper::Family::Build(registry, name, description)) {} + + // make new metric into existing family: metric_t metric {family.Add({{"tag_name", "tag_value"}})} + CustomWrapper Add(const typename CustomWrapper::Family::Labels& labels) { + return CustomWrapper(family_, family_->Add(labels)); + } + + }; + + + class counter_metric_t { + + public: + + using Metric = Counter; + using Family = Metric::Family; + + private: + + Family* family_ { nullptr }; + Metric* metric_ { nullptr }; + + friend family_wrapper_t; + counter_metric_t(typename Metric::Family* family, Metric& metric) + : family_(family), metric_(&metric) {} + + public: + + // fake empty metric + counter_metric_t() = default; + + // make new counter as simple metric without tags and with hidden family included: metric_t metric {"counter_name", "Counter description"} + counter_metric_t(const std::string& name, const std::string& description) + : family_(&Metric::Family::Build(registry, name, description)), metric_(&family_->Add({})) {} + + void operator++ () { metric_->Increment(); } + void operator++ (int) { metric_->Increment(); } + void operator+= (typename Metric::Value val) { metric_->Increment(val); } + + uint64_t value() const { return metric_->Get(); } + + }; + + using counter_family_t = family_wrapper_t; + + + class gauge_metric_t { + + public: + + using Metric = Gauge; + using Family = Metric::Family; + + private: + + Family* family_ { nullptr }; + Metric* metric_ { nullptr }; + + friend family_wrapper_t; + gauge_metric_t(typename Metric::Family* family, Metric& metric) + : family_(family), metric_(&metric) {} + + public: + + // fake empty metric + gauge_metric_t() = default; + + // make new gauge as simple metric without tags and with hidden family included: metric {"counter_name", "Counter description"} + gauge_metric_t(const std::string& name, const std::string& description) + : family_(&Metric::Family::Build(registry, name, description)), metric_(&family_->Add({})) {} + + void operator++ () { metric_->Increment(); } + void operator++ (int) { metric_->Increment(); } + void operator+= (typename Metric::Value val) { metric_->Increment(val); } + + void operator-- () { metric_->Decrement(); } + void operator-- (int) { metric_->Decrement(); } + void operator-= (typename Metric::Value val) { metric_->Decrement(val); } + void operator= (typename Metric::Value val) { metric_->Set(val); } + + int64_t value() const { return metric_->Get(); } + + }; + + using gauge_family_t = family_wrapper_t; + + + class benchmark_metric_t { + + public: + + using Metric = Benchmark; + using Family = Metric::Family; + + private: + + Family* family_ { nullptr }; + Metric* metric_ { nullptr }; + + friend family_wrapper_t; + benchmark_metric_t(typename Metric::Family* family, Metric& metric) + : family_(family), metric_(&metric) {} + + public: + + // fake empty metric + benchmark_metric_t() = default; + + // make new benchmark as simple metric without tags and with hidden family included: metric {"counter_name", "Counter description"} + benchmark_metric_t(const std::string& name, const std::string& description) + : family_(&Metric::Family::Build(registry, name, description)), metric_(&family_->Add({})) {} + + void start() { metric_->start(); } + void stop() { metric_->stop(); } + + double value() const { return metric_->Get(); } + + }; + + using benchmark_family_t = family_wrapper_t; + + } +} diff --git a/ext/prometheus-cpp-lite-1.0/simpleapi/src/simpleapi.cpp b/ext/prometheus-cpp-lite-1.0/simpleapi/src/simpleapi.cpp new file mode 100644 index 000000000..3ab9d292c --- /dev/null +++ b/ext/prometheus-cpp-lite-1.0/simpleapi/src/simpleapi.cpp @@ -0,0 +1,13 @@ +#include "prometheus/simpleapi.h" + +#include + +namespace prometheus { + namespace simpleapi { + + std::shared_ptr registry_ptr = std::make_shared(); + Registry& registry = *registry_ptr; + SaveToFile saver(registry_ptr, std::chrono::seconds(5), std::string("./metrics.prom")); + + } +} diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/cmd_formatter.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/cmd_formatter.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/cmd_formatter.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/cmd_formatter.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/command.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/command.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/command.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/command.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/command_args.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/command_args.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/command_args.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/command_args.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/command_options.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/command_options.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/command_options.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/command_options.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/connection.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/connection.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/connection.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/connection.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/connection_pool.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/connection_pool.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/connection_pool.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/connection_pool.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/cxx_utils.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/cxx_utils.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/cxx_utils.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/cxx_utils.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/errors.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/errors.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/errors.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/errors.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/pipeline.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/pipeline.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/pipeline.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/pipeline.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/queued_redis.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/queued_redis.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/queued_redis.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/queued_redis.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/queued_redis.hpp b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/queued_redis.hpp similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/queued_redis.hpp rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/queued_redis.hpp diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis++.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis++.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis++.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis++.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis.hpp b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis.hpp similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis.hpp rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis.hpp diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis_cluster.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis_cluster.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis_cluster.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis_cluster.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis_cluster.hpp b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis_cluster.hpp similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/redis_cluster.hpp rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/redis_cluster.hpp diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/reply.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/reply.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/reply.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/reply.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/sentinel.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/sentinel.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/sentinel.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/sentinel.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/shards.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/shards.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/shards.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/shards.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/shards_pool.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/shards_pool.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/shards_pool.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/shards_pool.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/subscriber.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/subscriber.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/subscriber.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/subscriber.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/tls.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/tls.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/tls.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/tls.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/transaction.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/transaction.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/transaction.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/transaction.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/utils.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/utils.h similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/redis++/utils.h rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/include/sw/redis++/utils.h diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/lib/libredis++.a b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/lib/libredis++.a similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/lib/libredis++.a rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/lib/libredis++.a diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/lib/pkgconfig/redis++.pc b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/lib/pkgconfig/redis++.pc similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/lib/pkgconfig/redis++.pc rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/lib/pkgconfig/redis++.pc diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-config-version.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-config-version.cmake similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-config-version.cmake rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-config-version.cmake diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-config.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-config.cmake similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-config.cmake rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-config.cmake diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-targets-release.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-targets-release.cmake similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-targets-release.cmake rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-targets-release.cmake diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-targets.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-targets.cmake similarity index 100% rename from ext/redis-plus-plus-1.3.3/install/ubuntu22.04/share/cmake/redis++/redis++-targets.cmake rename to ext/redis-plus-plus-1.3.3/install/ubuntu22.04/amd64/share/cmake/redis++/redis++-targets.cmake diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cmd_formatter.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cmd_formatter.h new file mode 100644 index 000000000..85efdf347 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cmd_formatter.h @@ -0,0 +1,775 @@ +/************************************************************************** + Copyright (c) 2021 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_CMD_FORMATTER_H +#define SEWENEW_REDISPLUSPLUS_CMD_FORMATTER_H + +#include +#include "command_options.h" +#include "command_args.h" +#include "command.h" +#include "errors.h" + +namespace sw { + +namespace redis { + +class FormattedCommand { +public: + FormattedCommand(char *data, int len) : _data(data), _size(len) { + if (data == nullptr || len < 0) { + throw Error("failed to format command"); + } + } + + FormattedCommand(const FormattedCommand &) = delete; + FormattedCommand& operator=(const FormattedCommand &) = delete; + + FormattedCommand(FormattedCommand &&that) noexcept { + _move(std::move(that)); + } + + FormattedCommand& operator=(FormattedCommand &&that) noexcept { + if (this != &that) { + _move(std::move(that)); + } + + return *this; + } + + ~FormattedCommand() noexcept { + if (_data != nullptr) { + redisFreeCommand(_data); + } + } + + const char* data() const noexcept { + return _data; + } + + int size() const noexcept { + return _size; + } + +private: + void _move(FormattedCommand &&that) noexcept { + _data = that._data; + _size = that._size; + that._data = nullptr; + that._size = 0; + } + + char *_data = nullptr; + int _size = 0; +}; + +namespace fmt { + +template +FormattedCommand format_cmd(const char *format, Args &&...args) { + char *data = nullptr; + auto len = redisFormatCommand(&data, format, std::forward(args)...); + + return FormattedCommand(data, len); +} + +inline FormattedCommand format_cmd(int argc, const char **argv, const std::size_t *argv_len) { + char *data = nullptr; + auto len = redisFormatCommandArgv(&data, argc, argv, argv_len); + + return FormattedCommand(data, len); +} + +inline FormattedCommand format_cmd(CmdArgs &args) { + char *data = nullptr; + auto len = redisFormatCommandArgv(&data, args.size(), args.argv(), args.argv_len()); + + return FormattedCommand(data, len); +} + +struct SetResultParser { + bool operator()(redisReply &reply) const { + sw::redis::reply::rewrite_set_reply(reply); + return sw::redis::reply::parse(reply); + } +}; + +// CONNECTION commands. + +inline FormattedCommand echo(const StringView &msg) { + return format_cmd("ECHO %b", msg.data(), msg.size()); +} + +inline FormattedCommand ping() { + return format_cmd("PING"); +} + +inline FormattedCommand ping(const StringView &msg) { + return format_cmd("PING %b", msg.data(), msg.size()); +} + +inline FormattedCommand del(const StringView &key) { + return format_cmd("DEL %b", key.data(), key.size()); +} + +template +FormattedCommand del_range(Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "DEL" << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand exists(const StringView &key) { + return format_cmd("EXISTS %b", key.data(), key.size()); +} + +template +FormattedCommand exists_range(Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "EXISTS" << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand expire(const StringView &key, const std::chrono::seconds &timeout) { + return format_cmd("EXPIRE %b %lld", key.data(), key.size(), timeout.count()); +} + +inline FormattedCommand expireat(const StringView &key, + const std::chrono::time_point &tp) { + return format_cmd("EXPIREAT %b %lld", key.data(), key.size(), tp.time_since_epoch().count()); +} + +inline FormattedCommand pexpire(const StringView &key, + const std::chrono::milliseconds &timeout) { + return format_cmd("PEXPIRE %b %lld", key.data(), key.size(), timeout.count()); +} + +inline FormattedCommand pexpireat(const StringView &key, + const std::chrono::time_point &tp) { + return format_cmd("PEXPIREAT %b %lld", key.data(), key.size(), tp.time_since_epoch().count()); +} + +inline FormattedCommand pttl(const StringView &key) { + return format_cmd("PTTL %b", key.data(), key.size()); +} + +inline FormattedCommand rename(const StringView &key, const StringView &newkey) { + return format_cmd("RENAME %b %b", key.data(), key.size(), newkey.data(), newkey.size()); +} + +inline FormattedCommand renamenx(const StringView &key, const StringView &newkey) { + return format_cmd("RENAMENX %b %b", key.data(), key.size(), newkey.data(), newkey.size()); +} + +inline FormattedCommand ttl(const StringView &key) { + return format_cmd("TTL %b", key.data(), key.size()); +} + +inline FormattedCommand unlink(const StringView &key) { + return format_cmd("UNLINK %b", key.data(), key.size()); +} + +template +FormattedCommand unlink_range(Input first, Input last) { + CmdArgs args; + args << "UNLINK" << std::make_pair(first, last); + + return format_cmd(args); +} + +// STRING commands. + +inline FormattedCommand get(const StringView &key) { + return format_cmd("GET %b", key.data(), key.size()); +} + +inline FormattedCommand incr(const StringView &key) { + return format_cmd("INCR %b", key.data(), key.size()); +} + +inline FormattedCommand incrby(const StringView &key, long long increment) { + return format_cmd("INCRBY %b %lld", key.data(), key.size(), increment); +} + +inline FormattedCommand incrbyfloat(const StringView &key, double increment) { + return format_cmd("INCRBYFLOAT %b %f", key.data(), key.size(), increment); +} + +template +FormattedCommand mget(Input first, Input last) { + CmdArgs args; + args << "MGET" << std::make_pair(first, last); + + return format_cmd(args); +} + +template +FormattedCommand mset(Input first, Input last) { + CmdArgs args; + args << "MSET" << std::make_pair(first, last); + + return format_cmd(args); +} + +template +FormattedCommand msetnx(Input first, Input last) { + CmdArgs args; + args << "MSETNX" << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand set(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl, + UpdateType type) { + CmdArgs args; + args << "SET" << key << val; + + if (ttl > std::chrono::milliseconds(0)) { + args << "PX" << ttl.count(); + } + + cmd::detail::set_update_type(args, type); + + return format_cmd(args); +} + +inline FormattedCommand strlen(const StringView &key) { + return format_cmd("STRLEN %b", key.data(), key.size()); +} + +inline FormattedCommand blpop(const StringView &key, const std::chrono::seconds &timeout) { + return format_cmd("BLPOP %b %lld", key.data(), key.size(), timeout.count()); +} + +template +FormattedCommand blpop_range(Input first, Input last, const std::chrono::seconds &timeout) { + assert(first != last); + + CmdArgs args; + args << "BLPOP" << std::make_pair(first, last) << timeout.count(); + + return format_cmd(args); +} + +inline FormattedCommand brpop(const StringView &key, const std::chrono::seconds &timeout) { + return format_cmd("BRPOP %b %lld", key.data(), key.size(), timeout.count()); +} + + +template +FormattedCommand brpop_range(Input first, Input last, const std::chrono::seconds &timeout) { + assert(first != last); + + CmdArgs args; + args << "BRPOP" << std::make_pair(first, last) << timeout.count(); + + return format_cmd(args); +} + +inline FormattedCommand brpoplpush(const StringView &source, + const StringView &destination, + const std::chrono::seconds &timeout) { + return format_cmd("BRPOPLPUSH %b %b %lld", + source.data(), source.size(), + destination.data(), destination.size(), + timeout.count()); +} + +inline FormattedCommand llen(const StringView &key) { + return format_cmd("LLEN %b", key.data(), key.size()); +} + +inline FormattedCommand lpop(const StringView &key) { + return format_cmd("LPOP %b", key.data(), key.size()); +} + +inline FormattedCommand lpush(const StringView &key, const StringView &val) { + return format_cmd("LPUSH %b %b", key.data(), key.size(), val.data(), val.size()); +} + +template +FormattedCommand lpush_range(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "LPUSH" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand lrange(const StringView &key, long long start, long long stop) { + return format_cmd("LRANGE %b %lld %lld", key.data(), key.size(), start, stop); +} + +inline FormattedCommand lrem(const StringView &key, long long count, const StringView &val) { + return format_cmd("LREM %b %lld %b", key.data(), key.size(), count, val.data(), val.size()); +} + +inline FormattedCommand ltrim(const StringView &key, long long start, long long stop) { + return format_cmd("LTRIM %b %lld %lld", key.data(), key.size(), start, stop); +} + +inline FormattedCommand rpop(const StringView &key) { + return format_cmd("RPOP %b", key.data(), key.size()); +} + +inline FormattedCommand rpoplpush(const StringView &source, const StringView &destination) { + return format_cmd("RPOPLPUSH %b %b", + source.data(), source.size(), + destination.data(), destination.size()); +} + +inline FormattedCommand rpush(const StringView &key, const StringView &val) { + return format_cmd("RPUSH %b %b", key.data(), key.size(), val.data(), val.size()); +} + +template +FormattedCommand rpush_range(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "RPUSH" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +// HASH commands. + +inline FormattedCommand hdel(const StringView &key, const StringView &field) { + return format_cmd("HDEL %b %b", key.data(), key.size(), field.data(), field.size()); +} + +template +FormattedCommand hdel_range(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "HDEL" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand hexists(const StringView &key, const StringView &field) { + return format_cmd("HEXISTS %b %b", key.data(), key.size(), field.data(), field.size()); +} + +inline FormattedCommand hget(const StringView &key, const StringView &field) { + return format_cmd("HGET %b %b", key.data(), key.size(), field.data(), field.size()); +} + +inline FormattedCommand hgetall(const StringView &key) { + return format_cmd("HGETALL %b", key.data(), key.size()); +} + +inline FormattedCommand hincrby(const StringView &key, + const StringView &field, + long long increment) { + return format_cmd("HINCRBY %b %b %lld", + key.data(), key.size(), + field.data(), field.size(), + increment); +} + +inline FormattedCommand hincrbyfloat(const StringView &key, + const StringView &field, + double increment) { + return format_cmd("HINCRBYFLOAT %b %b %f", + key.data(), key.size(), + field.data(), field.size(), + increment); +} + +inline FormattedCommand hkeys(const StringView &key) { + return format_cmd("HKEYS %b", key.data(), key.size()); +} + +inline FormattedCommand hlen(const StringView &key) { + return format_cmd("HLEN %b", key.data(), key.size()); +} + +template +FormattedCommand hmget(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "HMGET" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +template +FormattedCommand hmset(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "HMSET" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand hset(const StringView &key, + const StringView &field, + const StringView &val) { + return format_cmd("HSET %b %b %b", + key.data(), key.size(), + field.data(), field.size(), + val.data(), val.size()); +} + +template +auto hset_range(const StringView &key, + Input first, + Input last) + -> typename std::enable_if::value, + FormattedCommand>::type { + assert(first != last); + + CmdArgs args; + args << "HSET" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand hvals(const StringView &key) { + return format_cmd("HVALS %b", key.data(), key.size()); +} + +// SET commands. + +inline FormattedCommand sadd(const StringView &key, const StringView &member) { + return format_cmd("SADD %b %b", key.data(), key.size(), member.data(), member.size()); +} + +template +FormattedCommand sadd_range(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "SADD" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +inline FormattedCommand scard(const StringView &key) { + return format_cmd("SCARD %b", key.data(), key.size()); +} + +inline FormattedCommand sismember(const StringView &key, const StringView &member) { + return format_cmd("SISMEMBER %b %b", key.data(), key.size(), member.data(), member.size()); +} + +inline FormattedCommand smembers(const StringView &key) { + return format_cmd("SMEMBERS %b", key.data(), key.size()); +} + +inline FormattedCommand spop(const StringView &key) { + return format_cmd("SPOP %b", key.data(), key.size()); +} + +inline FormattedCommand spop(const StringView &key, long long count) { + return format_cmd("SPOP %b %lld", key.data(), key.size(), count); +} + +inline FormattedCommand srem(const StringView &key, const StringView &member) { + return format_cmd("SREM %b %b", key.data(), key.size(), member.data(), member.size()); +} + +template +FormattedCommand srem_range(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "SREM" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +// SORTED SET commands. + +inline FormattedCommand bzpopmax(const StringView &key, const std::chrono::seconds &timeout) { + return format_cmd("BZPOPMAX %b %lld", key.data(), key.size(), timeout.count()); +} + +template +FormattedCommand bzpopmax_range(Input first, + Input last, + const std::chrono::seconds &timeout) { + assert(first != last); + + CmdArgs args; + args << "BZPOPMAX" << std::make_pair(first, last) << timeout.count(); + + return format_cmd(args); +} + +inline FormattedCommand bzpopmin(const StringView &key, const std::chrono::seconds &timeout) { + return format_cmd("BZPOPMIN %b %lld", key.data(), key.size(), timeout.count()); +} + +template +FormattedCommand bzpopmin_range(Input first, Input last, const std::chrono::seconds &timeout) { + assert(first != last); + + CmdArgs args; + args << "BZPOPMIN" << std::make_pair(first, last) << timeout.count(); + + return format_cmd(args); +} + +inline FormattedCommand zadd(const StringView &key, + const StringView &member, + double score, + UpdateType type, + bool changed) { + CmdArgs args; + args << "ZADD" << key; + + cmd::detail::set_update_type(args, type); + + if (changed) { + args << "CH"; + } + + args << score << member; + + return format_cmd(args); +} + +template +FormattedCommand zadd_range(const StringView &key, + Input first, + Input last, + UpdateType type, + bool changed) { + CmdArgs args; + args << "ZADD" << key; + + cmd::detail::set_update_type(args, type); + + if (changed) { + args << "CH"; + } + + while (first != last) { + // Swap the pair to pair. + args << first->second << first->first; + ++first; + } + + return format_cmd(args); +} + +inline FormattedCommand zcard(const StringView &key) { + return format_cmd("ZCARD %b", key.data(), key.size()); +} + +template +FormattedCommand zcount(const StringView &key, const Interval &interval) { + return format_cmd("ZCOUNT %b %s %s", + key.data(), key.size(), + interval.min().c_str(), + interval.max().c_str()); +} + +inline FormattedCommand zincrby(const StringView &key, + double increment, + const StringView &member) { + return format_cmd("ZINCRBY %b %f %b", + key.data(), key.size(), + increment, + member.data(), member.size()); +} + +template +FormattedCommand zlexcount(const StringView &key, + const Interval &interval) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + return format_cmd("ZLEXCOUNT %b %b %b", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size()); +} + +inline FormattedCommand zpopmax(const StringView &key) { + return format_cmd("ZPOPMAX %b", key.data(), key.size()); +} + +inline FormattedCommand zpopmax(const StringView &key, long long count) { + return format_cmd("ZPOPMAX %b %lld", key.data(), key.size(), count); +} + +inline FormattedCommand zpopmin(const StringView &key) { + return format_cmd("ZPOPMIN %b", key.data(), key.size()); +} + +inline FormattedCommand zpopmin_count(const StringView &key, long long count) { + return format_cmd("ZPOPMIN %b %lld", key.data(), key.size(), count); +} + +inline FormattedCommand zrange(const StringView &key, long long start, long long stop) { + return format_cmd("ZRANGE %b %lld %lld", key.data(), key.size(), start, stop); +} + +template +FormattedCommand zrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + return format_cmd("ZRANGEBYLEX %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size(), + opts.offset, + opts.count); +} + +template +FormattedCommand zrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + return format_cmd("ZRANGEBYSCORE %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size(), + opts.offset, + opts.count); +} + +inline FormattedCommand zrank(const StringView &key, const StringView &member) { + return format_cmd("ZRANK %b %b", key.data(), key.size(), member.data(), member.size()); +} + +inline FormattedCommand zrem(const StringView &key, const StringView &member) { + return format_cmd("ZREM %b %b", key.data(), key.size(), member.data(), member.size()); +} + +template +FormattedCommand zrem_range(const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "ZREM" << key << std::make_pair(first, last); + + return format_cmd(args); +} + +template +FormattedCommand zremrangebylex(const StringView &key, const Interval &interval) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + return format_cmd("ZREMRANGEBYLEX %b %b %b", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size()); +} + +inline FormattedCommand zremrangebyrank(const StringView &key, long long start, long long stop) { + return format_cmd("ZREMRANGEBYRANK %b %lld %lld", key.data(), key.size(), start, stop); +} + +template +FormattedCommand zremrangebyscore(const StringView &key, + const Interval &interval) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + return format_cmd("ZREMRANGEBYSCORE %b %b %b", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size()); +} + +template +FormattedCommand zrevrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + return format_cmd("ZREVRANGEBYLEX %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + max.data(), max.size(), + min.data(), min.size(), + opts.offset, + opts.count); +} + +inline FormattedCommand zrevrank(const StringView &key, const StringView &member) { + return format_cmd("ZREVRANK %b %b", key.data(), key.size(), member.data(), member.size()); +} + +inline FormattedCommand zscore(const StringView &key, const StringView &member) { + return format_cmd("ZSCORE %b %b", key.data(), key.size(), member.data(), member.size()); +} + +// SCRIPTING commands. +template +FormattedCommand eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + CmdArgs args; + auto keys_num = std::distance(keys_first, keys_last); + + args << "EVAL" << script << keys_num + << std::make_pair(keys_first, keys_last) + << std::make_pair(args_first, args_last); + + return format_cmd(args); +} + +template +FormattedCommand evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + CmdArgs args; + auto keys_num = std::distance(keys_first, keys_last); + + args << "EVALSHA" << script << keys_num + << std::make_pair(keys_first, keys_last) + << std::make_pair(args_first, args_last); + + return format_cmd(args); +} + +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_CMD_FORMATTER_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command.h new file mode 100644 index 000000000..81857dd9b --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command.h @@ -0,0 +1,2271 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_COMMAND_H +#define SEWENEW_REDISPLUSPLUS_COMMAND_H + +#include +#include +#include +#include +#include "connection.h" +#include "command_options.h" +#include "command_args.h" +#include "utils.h" + +namespace sw { + +namespace redis { + +namespace cmd { + +// CONNECTION command. +inline void auth(Connection &connection, const StringView &password) { + connection.send("AUTH %b", password.data(), password.size()); +} + +inline void auth(Connection &connection, const StringView &user, const StringView &password) { + connection.send("AUTH %b %b", + user.data(), user.size(), + password.data(), password.size()); +} + +inline void echo(Connection &connection, const StringView &msg) { + connection.send("ECHO %b", msg.data(), msg.size()); +} + +inline void ping(Connection &connection) { + connection.send("PING"); +} + +inline void quit(Connection &connection) { + connection.send("QUIT"); +} + +inline void ping(Connection &connection, const StringView &msg) { + // If *msg* is empty, Redis returns am empty reply of REDIS_REPLY_STRING type. + connection.send("PING %b", msg.data(), msg.size()); +} + +inline void select(Connection &connection, long long idx) { + connection.send("SELECT %lld", idx); +} + +inline void swapdb(Connection &connection, long long idx1, long long idx2) { + connection.send("SWAPDB %lld %lld", idx1, idx2); +} + +// SERVER commands. + +inline void bgrewriteaof(Connection &connection) { + connection.send("BGREWRITEAOF"); +} + +inline void bgsave(Connection &connection) { + connection.send("BGSAVE"); +} + +inline void dbsize(Connection &connection) { + connection.send("DBSIZE"); +} + +inline void flushall(Connection &connection, bool async) { + if (async) { + connection.send("FLUSHALL ASYNC"); + } else { + connection.send("FLUSHALL"); + } +} + +inline void flushdb(Connection &connection, bool async) { + if (async) { + connection.send("FLUSHDB ASYNC"); + } else { + connection.send("FLUSHDB"); + } +} + +inline void info(Connection &connection) { + connection.send("INFO"); +} + +inline void info(Connection &connection, const StringView §ion) { + connection.send("INFO %b", section.data(), section.size()); +} + +inline void lastsave(Connection &connection) { + connection.send("LASTSAVE"); +} + +inline void save(Connection &connection) { + connection.send("SAVE"); +} + +// KEY commands. + +inline void del(Connection &connection, const StringView &key) { + connection.send("DEL %b", key.data(), key.size()); +} + +template +inline void del_range(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "DEL" << std::make_pair(first, last); + + connection.send(args); +} + +inline void dump(Connection &connection, const StringView &key) { + connection.send("DUMP %b", key.data(), key.size()); +} + +inline void exists(Connection &connection, const StringView &key) { + connection.send("EXISTS %b", key.data(), key.size()); +} + +template +inline void exists_range(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "EXISTS" << std::make_pair(first, last); + + connection.send(args); +} + +inline void expire(Connection &connection, + const StringView &key, + long long timeout) { + connection.send("EXPIRE %b %lld", + key.data(), key.size(), + timeout); +} + +inline void expireat(Connection &connection, + const StringView &key, + long long timestamp) { + connection.send("EXPIREAT %b %lld", + key.data(), key.size(), + timestamp); +} + +inline void keys(Connection &connection, const StringView &pattern) { + connection.send("KEYS %b", pattern.data(), pattern.size()); +} + +inline void move(Connection &connection, const StringView &key, long long db) { + connection.send("MOVE %b %lld", + key.data(), key.size(), + db); +} + +inline void persist(Connection &connection, const StringView &key) { + connection.send("PERSIST %b", key.data(), key.size()); +} + +inline void pexpire(Connection &connection, + const StringView &key, + long long timeout) { + connection.send("PEXPIRE %b %lld", + key.data(), key.size(), + timeout); +} + +inline void pexpireat(Connection &connection, + const StringView &key, + long long timestamp) { + connection.send("PEXPIREAT %b %lld", + key.data(), key.size(), + timestamp); +} + +inline void pttl(Connection &connection, const StringView &key) { + connection.send("PTTL %b", key.data(), key.size()); +} + +inline void randomkey(Connection &connection) { + connection.send("RANDOMKEY"); +} + +inline void rename(Connection &connection, + const StringView &key, + const StringView &newkey) { + connection.send("RENAME %b %b", + key.data(), key.size(), + newkey.data(), newkey.size()); +} + +inline void renamenx(Connection &connection, + const StringView &key, + const StringView &newkey) { + connection.send("RENAMENX %b %b", + key.data(), key.size(), + newkey.data(), newkey.size()); +} + +void restore(Connection &connection, + const StringView &key, + const StringView &val, + long long ttl, + bool replace); + +inline void scan(Connection &connection, + long long cursor, + const StringView &pattern, + long long count) { + connection.send("SCAN %lld MATCH %b COUNT %lld", + cursor, + pattern.data(), pattern.size(), + count); +} + +inline void touch(Connection &connection, const StringView &key) { + connection.send("TOUCH %b", key.data(), key.size()); +} + +template +inline void touch_range(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "TOUCH" << std::make_pair(first, last); + + connection.send(args); +} + +inline void ttl(Connection &connection, const StringView &key) { + connection.send("TTL %b", key.data(), key.size()); +} + +inline void type(Connection &connection, const StringView &key) { + connection.send("TYPE %b", key.data(), key.size()); +} + +inline void unlink(Connection &connection, const StringView &key) { + connection.send("UNLINK %b", key.data(), key.size()); +} + +template +inline void unlink_range(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "UNLINK" << std::make_pair(first, last); + + connection.send(args); +} + +inline void wait(Connection &connection, long long numslave, long long timeout) { + connection.send("WAIT %lld %lld", numslave, timeout); +} + +// STRING commands. + +inline void append(Connection &connection, const StringView &key, const StringView &str) { + connection.send("APPEND %b %b", + key.data(), key.size(), + str.data(), str.size()); +} + +inline void bitcount(Connection &connection, + const StringView &key, + long long start, + long long end) { + connection.send("BITCOUNT %b %lld %lld", + key.data(), key.size(), + start, end); +} + +void bitop(Connection &connection, + BitOp op, + const StringView &destination, + const StringView &key); + +template +void bitop_range(Connection &connection, + BitOp op, + const StringView &destination, + Input first, + Input last); + +inline void bitpos(Connection &connection, + const StringView &key, + long long bit, + long long start, + long long end) { + connection.send("BITPOS %b %lld %lld %lld", + key.data(), key.size(), + bit, + start, + end); +} + +inline void decr(Connection &connection, const StringView &key) { + connection.send("DECR %b", key.data(), key.size()); +} + +inline void decrby(Connection &connection, const StringView &key, long long decrement) { + connection.send("DECRBY %b %lld", + key.data(), key.size(), + decrement); +} + +inline void get(Connection &connection, const StringView &key) { + connection.send("GET %b", + key.data(), key.size()); +} + +inline void getbit(Connection &connection, const StringView &key, long long offset) { + connection.send("GETBIT %b %lld", + key.data(), key.size(), + offset); +} + +inline void getrange(Connection &connection, + const StringView &key, + long long start, + long long end) { + connection.send("GETRANGE %b %lld %lld", + key.data(), key.size(), + start, + end); +} + +inline void getset(Connection &connection, + const StringView &key, + const StringView &val) { + connection.send("GETSET %b %b", + key.data(), key.size(), + val.data(), val.size()); +} + +inline void incr(Connection &connection, const StringView &key) { + connection.send("INCR %b", key.data(), key.size()); +} + +inline void incrby(Connection &connection, const StringView &key, long long increment) { + connection.send("INCRBY %b %lld", + key.data(), key.size(), + increment); +} + +inline void incrbyfloat(Connection &connection, const StringView &key, double increment) { + connection.send("INCRBYFLOAT %b %f", + key.data(), key.size(), + increment); +} + +template +inline void mget(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "MGET" << std::make_pair(first, last); + + connection.send(args); +} + +template +inline void mset(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "MSET" << std::make_pair(first, last); + + connection.send(args); +} + +template +inline void msetnx(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "MSETNX" << std::make_pair(first, last); + + connection.send(args); +} + +inline void psetex(Connection &connection, + const StringView &key, + long long ttl, + const StringView &val) { + connection.send("PSETEX %b %lld %b", + key.data(), key.size(), + ttl, + val.data(), val.size()); +} + +void set(Connection &connection, + const StringView &key, + const StringView &val, + long long ttl, + UpdateType type); + +inline void setex(Connection &connection, + const StringView &key, + long long ttl, + const StringView &val) { + connection.send("SETEX %b %lld %b", + key.data(), key.size(), + ttl, + val.data(), val.size()); +} + +inline void setnx(Connection &connection, + const StringView &key, + const StringView &val) { + connection.send("SETNX %b %b", + key.data(), key.size(), + val.data(), val.size()); +} + +inline void setrange(Connection &connection, + const StringView &key, + long long offset, + const StringView &val) { + connection.send("SETRANGE %b %lld %b", + key.data(), key.size(), + offset, + val.data(), val.size()); +} + +inline void strlen(Connection &connection, const StringView &key) { + connection.send("STRLEN %b", key.data(), key.size()); +} + +// LIST commands. + +inline void blpop(Connection &connection, const StringView &key, long long timeout) { + connection.send("BLPOP %b %lld", + key.data(), key.size(), + timeout); +} + +template +inline void blpop_range(Connection &connection, + Input first, + Input last, + long long timeout) { + assert(first != last); + + CmdArgs args; + args << "BLPOP" << std::make_pair(first, last) << timeout; + + connection.send(args); +} + +inline void brpop(Connection &connection, const StringView &key, long long timeout) { + connection.send("BRPOP %b %lld", + key.data(), key.size(), + timeout); +} + +template +inline void brpop_range(Connection &connection, + Input first, + Input last, + long long timeout) { + assert(first != last); + + CmdArgs args; + args << "BRPOP" << std::make_pair(first, last) << timeout; + + connection.send(args); +} + +inline void brpoplpush(Connection &connection, + const StringView &source, + const StringView &destination, + long long timeout) { + connection.send("BRPOPLPUSH %b %b %lld", + source.data(), source.size(), + destination.data(), destination.size(), + timeout); +} + +inline void lindex(Connection &connection, const StringView &key, long long index) { + connection.send("LINDEX %b %lld", + key.data(), key.size(), + index); +} + +void linsert(Connection &connection, + const StringView &key, + InsertPosition position, + const StringView &pivot, + const StringView &val); + +inline void llen(Connection &connection, + const StringView &key) { + connection.send("LLEN %b", key.data(), key.size()); +} + +inline void lpop(Connection &connection, const StringView &key) { + connection.send("LPOP %b", + key.data(), key.size()); +} + +inline void lpush(Connection &connection, const StringView &key, const StringView &val) { + connection.send("LPUSH %b %b", + key.data(), key.size(), + val.data(), val.size()); +} + +template +inline void lpush_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "LPUSH" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void lpushx(Connection &connection, const StringView &key, const StringView &val) { + connection.send("LPUSHX %b %b", + key.data(), key.size(), + val.data(), val.size()); +} + +inline void lrange(Connection &connection, + const StringView &key, + long long start, + long long stop) { + connection.send("LRANGE %b %lld %lld", + key.data(), key.size(), + start, + stop); +} + +inline void lrem(Connection &connection, + const StringView &key, + long long count, + const StringView &val) { + connection.send("LREM %b %lld %b", + key.data(), key.size(), + count, + val.data(), val.size()); +} + +inline void lset(Connection &connection, + const StringView &key, + long long index, + const StringView &val) { + connection.send("LSET %b %lld %b", + key.data(), key.size(), + index, + val.data(), val.size()); +} + +inline void ltrim(Connection &connection, + const StringView &key, + long long start, + long long stop) { + connection.send("LTRIM %b %lld %lld", + key.data(), key.size(), + start, + stop); +} + +inline void rpop(Connection &connection, const StringView &key) { + connection.send("RPOP %b", key.data(), key.size()); +} + +inline void rpoplpush(Connection &connection, + const StringView &source, + const StringView &destination) { + connection.send("RPOPLPUSH %b %b", + source.data(), source.size(), + destination.data(), destination.size()); +} + +inline void rpush(Connection &connection, const StringView &key, const StringView &val) { + connection.send("RPUSH %b %b", + key.data(), key.size(), + val.data(), val.size()); +} + +template +inline void rpush_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "RPUSH" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void rpushx(Connection &connection, const StringView &key, const StringView &val) { + connection.send("RPUSHX %b %b", + key.data(), key.size(), + val.data(), val.size()); +} + +// HASH commands. + +inline void hdel(Connection &connection, const StringView &key, const StringView &field) { + connection.send("HDEL %b %b", + key.data(), key.size(), + field.data(), field.size()); +} + +template +inline void hdel_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "HDEL" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void hexists(Connection &connection, const StringView &key, const StringView &field) { + connection.send("HEXISTS %b %b", + key.data(), key.size(), + field.data(), field.size()); +} + +inline void hget(Connection &connection, const StringView &key, const StringView &field) { + connection.send("HGET %b %b", + key.data(), key.size(), + field.data(), field.size()); +} + +inline void hgetall(Connection &connection, const StringView &key) { + connection.send("HGETALL %b", key.data(), key.size()); +} + +inline void hincrby(Connection &connection, + const StringView &key, + const StringView &field, + long long increment) { + connection.send("HINCRBY %b %b %lld", + key.data(), key.size(), + field.data(), field.size(), + increment); +} + +inline void hincrbyfloat(Connection &connection, + const StringView &key, + const StringView &field, + double increment) { + connection.send("HINCRBYFLOAT %b %b %f", + key.data(), key.size(), + field.data(), field.size(), + increment); +} + +inline void hkeys(Connection &connection, const StringView &key) { + connection.send("HKEYS %b", key.data(), key.size()); +} + +inline void hlen(Connection &connection, const StringView &key) { + connection.send("HLEN %b", key.data(), key.size()); +} + +template +inline void hmget(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "HMGET" << key << std::make_pair(first, last); + + connection.send(args); +} + +template +inline void hmset(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "HMSET" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void hscan(Connection &connection, + const StringView &key, + long long cursor, + const StringView &pattern, + long long count) { + connection.send("HSCAN %b %lld MATCH %b COUNT %lld", + key.data(), key.size(), + cursor, + pattern.data(), pattern.size(), + count); +} + +inline void hset(Connection &connection, + const StringView &key, + const StringView &field, + const StringView &val) { + connection.send("HSET %b %b %b", + key.data(), key.size(), + field.data(), field.size(), + val.data(), val.size()); +} + +template +void hset_range(Connection &connection, const StringView &key, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "HSET" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void hsetnx(Connection &connection, + const StringView &key, + const StringView &field, + const StringView &val) { + connection.send("HSETNX %b %b %b", + key.data(), key.size(), + field.data(), field.size(), + val.data(), val.size()); +} + +inline void hstrlen(Connection &connection, + const StringView &key, + const StringView &field) { + connection.send("HSTRLEN %b %b", + key.data(), key.size(), + field.data(), field.size()); +} + +inline void hvals(Connection &connection, const StringView &key) { + connection.send("HVALS %b", key.data(), key.size()); +} + +// SET commands + +inline void sadd(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("SADD %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +template +inline void sadd_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "SADD" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void scard(Connection &connection, const StringView &key) { + connection.send("SCARD %b", key.data(), key.size()); +} + +template +inline void sdiff(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "SDIFF" << std::make_pair(first, last); + + connection.send(args); +} + +inline void sdiffstore(Connection &connection, + const StringView &destination, + const StringView &key) { + connection.send("SDIFFSTORE %b %b", + destination.data(), destination.size(), + key.data(), key.size()); +} + +template +inline void sdiffstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "SDIFFSTORE" << destination << std::make_pair(first, last); + + connection.send(args); +} + +template +inline void sinter(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "SINTER" << std::make_pair(first, last); + + connection.send(args); +} + +inline void sinterstore(Connection &connection, + const StringView &destination, + const StringView &key) { + connection.send("SINTERSTORE %b %b", + destination.data(), destination.size(), + key.data(), key.size()); +} + +template +inline void sinterstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "SINTERSTORE" << destination << std::make_pair(first, last); + + connection.send(args); +} + +inline void sismember(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("SISMEMBER %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +inline void smembers(Connection &connection, const StringView &key) { + connection.send("SMEMBERS %b", key.data(), key.size()); +} + +inline void smove(Connection &connection, + const StringView &source, + const StringView &destination, + const StringView &member) { + connection.send("SMOVE %b %b %b", + source.data(), source.size(), + destination.data(), destination.size(), + member.data(), member.size()); +} + +inline void spop(Connection &connection, const StringView &key) { + connection.send("SPOP %b", key.data(), key.size()); +} + +inline void spop_range(Connection &connection, const StringView &key, long long count) { + connection.send("SPOP %b %lld", + key.data(), key.size(), + count); +} + +inline void srandmember(Connection &connection, const StringView &key) { + connection.send("SRANDMEMBER %b", key.data(), key.size()); +} + +inline void srandmember_range(Connection &connection, + const StringView &key, + long long count) { + connection.send("SRANDMEMBER %b %lld", + key.data(), key.size(), + count); +} + +inline void srem(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("SREM %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +template +inline void srem_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "SREM" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void sscan(Connection &connection, + const StringView &key, + long long cursor, + const StringView &pattern, + long long count) { + connection.send("SSCAN %b %lld MATCH %b COUNT %lld", + key.data(), key.size(), + cursor, + pattern.data(), pattern.size(), + count); +} + +template +inline void sunion(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "SUNION" << std::make_pair(first, last); + + connection.send(args); +} + +inline void sunionstore(Connection &connection, + const StringView &destination, + const StringView &key) { + connection.send("SUNIONSTORE %b %b", + destination.data(), destination.size(), + key.data(), key.size()); +} + +template +inline void sunionstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "SUNIONSTORE" << destination << std::make_pair(first, last); + + connection.send(args); +} + +// Sorted Set commands. + +inline void bzpopmax(Connection &connection, const StringView &key, long long timeout) { + connection.send("BZPOPMAX %b %lld", key.data(), key.size(), timeout); +} + +template +void bzpopmax_range(Connection &connection, + Input first, + Input last, + long long timeout) { + assert(first != last); + + CmdArgs args; + args << "BZPOPMAX" << std::make_pair(first, last) << timeout; + + connection.send(args); +} + +inline void bzpopmin(Connection &connection, const StringView &key, long long timeout) { + connection.send("BZPOPMIN %b %lld", key.data(), key.size(), timeout); +} + +template +void bzpopmin_range(Connection &connection, + Input first, + Input last, + long long timeout) { + assert(first != last); + + CmdArgs args; + args << "BZPOPMIN" << std::make_pair(first, last) << timeout; + + connection.send(args); +} + +template +void zadd_range(Connection &connection, + const StringView &key, + Input first, + Input last, + UpdateType type, + bool changed); + +inline void zadd(Connection &connection, + const StringView &key, + const StringView &member, + double score, + UpdateType type, + bool changed) { + auto tmp = {std::make_pair(member, score)}; + + zadd_range(connection, key, tmp.begin(), tmp.end(), type, changed); +} + +inline void zcard(Connection &connection, const StringView &key) { + connection.send("ZCARD %b", key.data(), key.size()); +} + +template +inline void zcount(Connection &connection, + const StringView &key, + const Interval &interval) { + connection.send("ZCOUNT %b %s %s", + key.data(), key.size(), + interval.min().c_str(), + interval.max().c_str()); +} + +inline void zincrby(Connection &connection, + const StringView &key, + double increment, + const StringView &member) { + connection.send("ZINCRBY %b %f %b", + key.data(), key.size(), + increment, + member.data(), member.size()); +} + +inline void zinterstore(Connection &connection, + const StringView &destination, + const StringView &key, + double weight) { + connection.send("ZINTERSTORE %b 1 %b WEIGHTS %f", + destination.data(), destination.size(), + key.data(), key.size(), + weight); +} + +template +void zinterstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr); + +template +inline void zlexcount(Connection &connection, + const StringView &key, + const Interval &interval) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + connection.send("ZLEXCOUNT %b %b %b", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size()); +} + +inline void zpopmax(Connection &connection, const StringView &key, long long count) { + connection.send("ZPOPMAX %b %lld", + key.data(), key.size(), + count); +} + +inline void zpopmin(Connection &connection, const StringView &key, long long count) { + connection.send("ZPOPMIN %b %lld", + key.data(), key.size(), + count); +} + +inline void zrange(Connection &connection, + const StringView &key, + long long start, + long long stop, + bool with_scores) { + if (with_scores) { + connection.send("ZRANGE %b %lld %lld WITHSCORES", + key.data(), key.size(), + start, + stop); + } else { + connection.send("ZRANGE %b %lld %lld", + key.data(), key.size(), + start, + stop); + } +} + +template +inline void zrangebylex(Connection &connection, + const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + connection.send("ZRANGEBYLEX %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size(), + opts.offset, + opts.count); +} + +template +void zrangebyscore(Connection &connection, + const StringView &key, + const Interval &interval, + const LimitOptions &opts, + bool with_scores) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + if (with_scores) { + connection.send("ZRANGEBYSCORE %b %b %b WITHSCORES LIMIT %lld %lld", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size(), + opts.offset, + opts.count); + } else { + connection.send("ZRANGEBYSCORE %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size(), + opts.offset, + opts.count); + } +} + +inline void zrank(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("ZRANK %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +inline void zrem(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("ZREM %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +template +inline void zrem_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "ZREM" << key << std::make_pair(first, last); + + connection.send(args); +} + +template +inline void zremrangebylex(Connection &connection, + const StringView &key, + const Interval &interval) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + connection.send("ZREMRANGEBYLEX %b %b %b", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size()); +} + +inline void zremrangebyrank(Connection &connection, + const StringView &key, + long long start, + long long stop) { + connection.send("zremrangebyrank %b %lld %lld", + key.data(), key.size(), + start, + stop); +} + +template +inline void zremrangebyscore(Connection &connection, + const StringView &key, + const Interval &interval) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + connection.send("ZREMRANGEBYSCORE %b %b %b", + key.data(), key.size(), + min.data(), min.size(), + max.data(), max.size()); +} + +inline void zrevrange(Connection &connection, + const StringView &key, + long long start, + long long stop, + bool with_scores) { + if (with_scores) { + connection.send("ZREVRANGE %b %lld %lld WITHSCORES", + key.data(), key.size(), + start, + stop); + } else { + connection.send("ZREVRANGE %b %lld %lld", + key.data(), key.size(), + start, + stop); + } +} + +template +inline void zrevrangebylex(Connection &connection, + const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + connection.send("ZREVRANGEBYLEX %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + max.data(), max.size(), + min.data(), min.size(), + opts.offset, + opts.count); +} + +template +void zrevrangebyscore(Connection &connection, + const StringView &key, + const Interval &interval, + const LimitOptions &opts, + bool with_scores) { + const auto &min = interval.min(); + const auto &max = interval.max(); + + if (with_scores) { + connection.send("ZREVRANGEBYSCORE %b %b %b WITHSCORES LIMIT %lld %lld", + key.data(), key.size(), + max.data(), max.size(), + min.data(), min.size(), + opts.offset, + opts.count); + } else { + connection.send("ZREVRANGEBYSCORE %b %b %b LIMIT %lld %lld", + key.data(), key.size(), + max.data(), max.size(), + min.data(), min.size(), + opts.offset, + opts.count); + } +} + +inline void zrevrank(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("ZREVRANK %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +inline void zscan(Connection &connection, + const StringView &key, + long long cursor, + const StringView &pattern, + long long count) { + connection.send("ZSCAN %b %lld MATCH %b COUNT %lld", + key.data(), key.size(), + cursor, + pattern.data(), pattern.size(), + count); +} + +inline void zscore(Connection &connection, + const StringView &key, + const StringView &member) { + connection.send("ZSCORE %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +inline void zunionstore(Connection &connection, + const StringView &destination, + const StringView &key, + double weight) { + connection.send("ZUNIONSTORE %b 1 %b WEIGHTS %f", + destination.data(), destination.size(), + key.data(), key.size(), + weight); +} + +template +void zunionstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr); + +// HYPERLOGLOG commands. + +inline void pfadd(Connection &connection, + const StringView &key, + const StringView &element) { + connection.send("PFADD %b %b", + key.data(), key.size(), + element.data(), element.size()); +} + +template +inline void pfadd_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "PFADD" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void pfcount(Connection &connection, const StringView &key) { + connection.send("PFCOUNT %b", key.data(), key.size()); +} + +template +inline void pfcount_range(Connection &connection, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "PFCOUNT" << std::make_pair(first, last); + + connection.send(args); +} + +inline void pfmerge(Connection &connection, const StringView &destination, const StringView &key) { + connection.send("PFMERGE %b %b", + destination.data(), destination.size(), + key.data(), key.size()); +} + +template +inline void pfmerge_range(Connection &connection, + const StringView &destination, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "PFMERGE" << destination << std::make_pair(first, last); + + connection.send(args); +} + +// GEO commands. + +inline void geoadd(Connection &connection, + const StringView &key, + const std::tuple &member) { + const auto &mem = std::get<0>(member); + + connection.send("GEOADD %b %f %f %b", + key.data(), key.size(), + std::get<1>(member), + std::get<2>(member), + mem.data(), mem.size()); +} + +template +inline void geoadd_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "GEOADD" << key; + + while (first != last) { + const auto &member = *first; + args << std::get<1>(member) << std::get<2>(member) << std::get<0>(member); + ++first; + } + + connection.send(args); +} + +void geodist(Connection &connection, + const StringView &key, + const StringView &member1, + const StringView &member2, + GeoUnit unit); + +inline void geohash(Connection &connection, const StringView &key, const StringView &member) { + connection.send("GEOHASH %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +template +inline void geohash_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "GEOHASH" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void geopos(Connection &connection, const StringView &key, const StringView &member) { + connection.send("GEOPOS %b %b", + key.data(), key.size(), + member.data(), member.size()); +} + +template +inline void geopos_range(Connection &connection, + const StringView &key, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + args << "GEOPOS" << key << std::make_pair(first, last); + + connection.send(args); +} + +void georadius(Connection &connection, + const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + long long count, + bool asc, + bool with_coord, + bool with_dist, + bool with_hash); + +void georadius_store(Connection &connection, + const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + +void georadiusbymember(Connection &connection, + const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + long long count, + bool asc, + bool with_coord, + bool with_dist, + bool with_hash); + +void georadiusbymember_store(Connection &connection, + const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + +// SCRIPTING commands. + +template +inline void eval(Connection &connection, + const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + CmdArgs cmd_args; + + auto keys_num = std::distance(keys_first, keys_last); + + cmd_args << "EVAL" << script << keys_num + << std::make_pair(keys_first, keys_last) + << std::make_pair(args_first, args_last); + + connection.send(cmd_args); +} + +template +inline void evalsha(Connection &connection, + const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + CmdArgs cmd_args; + + auto keys_num = std::distance(keys_first, keys_last); + + cmd_args << "EVALSHA" << script << keys_num + << std::make_pair(keys_first, keys_last) + << std::make_pair(args_first, args_last); + + connection.send(cmd_args); +} + +inline void script_exists(Connection &connection, const StringView &sha) { + connection.send("SCRIPT EXISTS %b", sha.data(), sha.size()); +} + +template +inline void script_exists_range(Connection &connection, Input first, Input last) { + assert(first != last); + + CmdArgs args; + args << "SCRIPT" << "EXISTS" << std::make_pair(first, last); + + connection.send(args); +} + +inline void script_flush(Connection &connection) { + connection.send("SCRIPT FLUSH"); +} + +inline void script_kill(Connection &connection) { + connection.send("SCRIPT KILL"); +} + +inline void script_load(Connection &connection, const StringView &script) { + connection.send("SCRIPT LOAD %b", script.data(), script.size()); +} + +// PUBSUB commands. + +inline void psubscribe(Connection &connection, const StringView &pattern) { + connection.send("PSUBSCRIBE %b", pattern.data(), pattern.size()); +} + +template +inline void psubscribe_range(Connection &connection, Input first, Input last) { + if (first == last) { + throw Error("PSUBSCRIBE: no key specified"); + } + + CmdArgs args; + args << "PSUBSCRIBE" << std::make_pair(first, last); + + connection.send(args); +} + +inline void publish(Connection &connection, + const StringView &channel, + const StringView &message) { + connection.send("PUBLISH %b %b", + channel.data(), channel.size(), + message.data(), message.size()); +} + +inline void punsubscribe(Connection &connection) { + connection.send("PUNSUBSCRIBE"); +} + +inline void punsubscribe(Connection &connection, const StringView &pattern) { + connection.send("PUNSUBSCRIBE %b", pattern.data(), pattern.size()); +} + +template +inline void punsubscribe_range(Connection &connection, Input first, Input last) { + if (first == last) { + throw Error("PUNSUBSCRIBE: no key specified"); + } + + CmdArgs args; + args << "PUNSUBSCRIBE" << std::make_pair(first, last); + + connection.send(args); +} + +inline void subscribe(Connection &connection, const StringView &channel) { + connection.send("SUBSCRIBE %b", channel.data(), channel.size()); +} + +template +inline void subscribe_range(Connection &connection, Input first, Input last) { + if (first == last) { + throw Error("SUBSCRIBE: no key specified"); + } + + CmdArgs args; + args << "SUBSCRIBE" << std::make_pair(first, last); + + connection.send(args); +} + +inline void unsubscribe(Connection &connection) { + connection.send("UNSUBSCRIBE"); +} + +inline void unsubscribe(Connection &connection, const StringView &channel) { + connection.send("UNSUBSCRIBE %b", channel.data(), channel.size()); +} + +template +inline void unsubscribe_range(Connection &connection, Input first, Input last) { + if (first == last) { + throw Error("UNSUBSCRIBE: no key specified"); + } + + CmdArgs args; + args << "UNSUBSCRIBE" << std::make_pair(first, last); + + connection.send(args); +} + +// Transaction commands. + +inline void discard(Connection &connection) { + connection.send("DISCARD"); +} + +inline void exec(Connection &connection) { + connection.send("EXEC"); +} + +inline void multi(Connection &connection) { + connection.send("MULTI"); +} + +inline void unwatch(Connection &connection) { + connection.send("UNWATCH"); +} + +template +inline void unwatch_range(Connection &connection, Input first, Input last) { + if (first == last) { + throw Error("UNWATCH: no key specified"); + } + + CmdArgs args; + args << "UNWATCH" << std::make_pair(first, last); + + connection.send(args); +} + +inline void watch(Connection &connection, const StringView &key) { + connection.send("WATCH %b", key.data(), key.size()); +} + +template +inline void watch_range(Connection &connection, Input first, Input last) { + if (first == last) { + throw Error("WATCH: no key specified"); + } + + CmdArgs args; + args << "WATCH" << std::make_pair(first, last); + + connection.send(args); +} + +// Stream commands. + +inline void xack(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &id) { + connection.send("XACK %b %b %b", + key.data(), key.size(), + group.data(), group.size(), + id.data(), id.size()); +} + +template +void xack_range(Connection &connection, + const StringView &key, + const StringView &group, + Input first, + Input last) { + CmdArgs args; + args << "XACK" << key << group << std::make_pair(first, last); + + connection.send(args); +} + +template +void xadd_range(Connection &connection, + const StringView &key, + const StringView &id, + Input first, + Input last) { + CmdArgs args; + args << "XADD" << key << id << std::make_pair(first, last); + + connection.send(args); +} + +template +void xadd_maxlen_range(Connection &connection, + const StringView &key, + const StringView &id, + Input first, + Input last, + long long count, + bool approx) { + CmdArgs args; + args << "XADD" << key << "MAXLEN"; + + if (approx) { + args << "~"; + } + + args << count << id << std::make_pair(first, last); + + connection.send(args); +} + +inline void xclaim(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &consumer, + long long min_idle_time, + const StringView &id) { + connection.send("XCLAIM %b %b %b %lld %b", + key.data(), key.size(), + group.data(), group.size(), + consumer.data(), consumer.size(), + min_idle_time, + id.data(), id.size()); +} + +template +void xclaim_range(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &consumer, + long long min_idle_time, + Input first, + Input last) { + CmdArgs args; + args << "XCLAIM" << key << group << consumer << min_idle_time << std::make_pair(first, last); + + connection.send(args); +} + +inline void xdel(Connection &connection, const StringView &key, const StringView &id) { + connection.send("XDEL %b %b", key.data(), key.size(), id.data(), id.size()); +} + +template +void xdel_range(Connection &connection, const StringView &key, Input first, Input last) { + CmdArgs args; + args << "XDEL" << key << std::make_pair(first, last); + + connection.send(args); +} + +inline void xgroup_create(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &id, + bool mkstream) { + CmdArgs args; + args << "XGROUP" << "CREATE" << key << group << id; + + if (mkstream) { + args << "MKSTREAM"; + } + + connection.send(args); +} + +inline void xgroup_setid(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &id) { + connection.send("XGROUP SETID %b %b %b", + key.data(), key.size(), + group.data(), group.size(), + id.data(), id.size()); +} + +inline void xgroup_destroy(Connection &connection, + const StringView &key, + const StringView &group) { + connection.send("XGROUP DESTROY %b %b", + key.data(), key.size(), + group.data(), group.size()); +} + +inline void xgroup_delconsumer(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &consumer) { + connection.send("XGROUP DELCONSUMER %b %b %b", + key.data(), key.size(), + group.data(), group.size(), + consumer.data(), consumer.size()); +} + +inline void xlen(Connection &connection, const StringView &key) { + connection.send("XLEN %b", key.data(), key.size()); +} + +inline void xpending(Connection &connection, const StringView &key, const StringView &group) { + connection.send("XPENDING %b %b", + key.data(), key.size(), + group.data(), group.size()); +} + +inline void xpending_detail(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count) { + connection.send("XPENDING %b %b %b %b %lld", + key.data(), key.size(), + group.data(), group.size(), + start.data(), start.size(), + end.data(), end.size(), + count); +} + +inline void xpending_per_consumer(Connection &connection, + const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + const StringView &consumer) { + connection.send("XPENDING %b %b %b %b %lld %b", + key.data(), key.size(), + group.data(), group.size(), + start.data(), start.size(), + end.data(), end.size(), + count, + consumer.data(), consumer.size()); +} + +inline void xrange(Connection &connection, + const StringView &key, + const StringView &start, + const StringView &end) { + connection.send("XRANGE %b %b %b", + key.data(), key.size(), + start.data(), start.size(), + end.data(), end.size()); +} + +inline void xrange_count(Connection &connection, + const StringView &key, + const StringView &start, + const StringView &end, + long long count) { + connection.send("XRANGE %b %b %b COUNT %lld", + key.data(), key.size(), + start.data(), start.size(), + end.data(), end.size(), + count); +} + +inline void xread(Connection &connection, + const StringView &key, + const StringView &id, + long long count) { + connection.send("XREAD COUNT %lld STREAMS %b %b", + count, + key.data(), key.size(), + id.data(), id.size()); +} + +template +void xread_range(Connection &connection, Input first, Input last, long long count) { + CmdArgs args; + args << "XREAD" << "COUNT" << count << "STREAMS"; + + for (auto iter = first; iter != last; ++iter) { + args << iter->first; + } + + for (auto iter = first; iter != last; ++iter) { + args << iter->second; + } + + connection.send(args); +} + +inline void xread_block(Connection &connection, + const StringView &key, + const StringView &id, + long long timeout, + long long count) { + connection.send("XREAD COUNT %lld BLOCK %lld STREAMS %b %b", + count, + timeout, + key.data(), key.size(), + id.data(), id.size()); +} + +template +void xread_block_range(Connection &connection, + Input first, + Input last, + long long timeout, + long long count) { + CmdArgs args; + args << "XREAD" << "COUNT" << count << "BLOCK" << timeout << "STREAMS"; + + for (auto iter = first; iter != last; ++iter) { + args << iter->first; + } + + for (auto iter = first; iter != last; ++iter) { + args << iter->second; + } + + connection.send(args); +} + +inline void xreadgroup(Connection &connection, + const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + bool noack) { + CmdArgs args; + args << "XREADGROUP" << "GROUP" << group << consumer << "COUNT" << count; + + if (noack) { + args << "NOACK"; + } + + args << "STREAMS" << key << id; + + connection.send(args); +} + +template +void xreadgroup_range(Connection &connection, + const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + bool noack) { + CmdArgs args; + args << "XREADGROUP" << "GROUP" << group << consumer << "COUNT" << count; + + if (noack) { + args << "NOACK"; + } + + args << "STREAMS"; + + for (auto iter = first; iter != last; ++iter) { + args << iter->first; + } + + for (auto iter = first; iter != last; ++iter) { + args << iter->second; + } + + connection.send(args); +} + +inline void xreadgroup_block(Connection &connection, + const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long timeout, + long long count, + bool noack) { + CmdArgs args; + args << "XREADGROUP" << "GROUP" << group << consumer + << "COUNT" << count << "BLOCK" << timeout; + + if (noack) { + args << "NOACK"; + } + + args << "STREAMS" << key << id; + + connection.send(args); +} + +template +void xreadgroup_block_range(Connection &connection, + const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long timeout, + long long count, + bool noack) { + CmdArgs args; + args << "XREADGROUP" << "GROUP" << group << consumer + << "COUNT" << count << "BLOCK" << timeout; + + if (noack) { + args << "NOACK"; + } + + args << "STREAMS"; + + for (auto iter = first; iter != last; ++iter) { + args << iter->first; + } + + for (auto iter = first; iter != last; ++iter) { + args << iter->second; + } + + connection.send(args); +} + +inline void xrevrange(Connection &connection, + const StringView &key, + const StringView &end, + const StringView &start) { + connection.send("XREVRANGE %b %b %b", + key.data(), key.size(), + end.data(), end.size(), + start.data(), start.size()); +} + +inline void xrevrange_count(Connection &connection, + const StringView &key, + const StringView &end, + const StringView &start, + long long count) { + connection.send("XREVRANGE %b %b %b COUNT %lld", + key.data(), key.size(), + end.data(), end.size(), + start.data(), start.size(), + count); +} + +void xtrim(Connection &connection, const StringView &key, long long count, bool approx); + +namespace detail { + +void set_bitop(CmdArgs &args, BitOp op); + +void set_update_type(CmdArgs &args, UpdateType type); + +void set_aggregation_type(CmdArgs &args, Aggregation type); + +template +void zinterstore(std::false_type, + Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr) { + CmdArgs args; + args << "ZINTERSTORE" << destination << std::distance(first, last) + << std::make_pair(first, last); + + set_aggregation_type(args, aggr); + + connection.send(args); +} + +template +void zinterstore(std::true_type, + Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr) { + CmdArgs args; + args << "ZINTERSTORE" << destination << std::distance(first, last); + + for (auto iter = first; iter != last; ++iter) { + args << iter->first; + } + + args << "WEIGHTS"; + + for (auto iter = first; iter != last; ++iter) { + args << iter->second; + } + + set_aggregation_type(args, aggr); + + connection.send(args); +} + +template +void zunionstore(std::false_type, + Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr) { + CmdArgs args; + args << "ZUNIONSTORE" << destination << std::distance(first, last) + << std::make_pair(first, last); + + set_aggregation_type(args, aggr); + + connection.send(args); +} + +template +void zunionstore(std::true_type, + Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr) { + CmdArgs args; + args << "ZUNIONSTORE" << destination << std::distance(first, last); + + for (auto iter = first; iter != last; ++iter) { + args << iter->first; + } + + args << "WEIGHTS"; + + for (auto iter = first; iter != last; ++iter) { + args << iter->second; + } + + set_aggregation_type(args, aggr); + + connection.send(args); +} + +void set_geo_unit(CmdArgs &args, GeoUnit unit); + +void set_georadius_store_parameters(CmdArgs &args, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + +void set_georadius_parameters(CmdArgs &args, + double radius, + GeoUnit unit, + long long count, + bool asc, + bool with_coord, + bool with_dist, + bool with_hash); + +} + +} + +} + +} + +namespace sw { + +namespace redis { + +namespace cmd { + +template +void bitop_range(Connection &connection, + BitOp op, + const StringView &destination, + Input first, + Input last) { + assert(first != last); + + CmdArgs args; + + detail::set_bitop(args, op); + + args << destination << std::make_pair(first, last); + + connection.send(args); +} + +template +void zadd_range(Connection &connection, + const StringView &key, + Input first, + Input last, + UpdateType type, + bool changed) { + assert(first != last); + + CmdArgs args; + + args << "ZADD" << key; + + detail::set_update_type(args, type); + + if (changed) { + args << "CH"; + } + + while (first != last) { + // Swap the pair to pair. + args << first->second << first->first; + ++first; + } + + connection.send(args); +} + +template +void zinterstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr) { + assert(first != last); + + detail::zinterstore(typename IsKvPairIter::type(), + connection, + destination, + first, + last, + aggr); +} + +template +void zunionstore_range(Connection &connection, + const StringView &destination, + Input first, + Input last, + Aggregation aggr) { + assert(first != last); + + detail::zunionstore(typename IsKvPairIter::type(), + connection, + destination, + first, + last, + aggr); +} + +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_COMMAND_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_args.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_args.h new file mode 100644 index 000000000..0beb71e5c --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_args.h @@ -0,0 +1,180 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_COMMAND_ARGS_H +#define SEWENEW_REDISPLUSPLUS_COMMAND_ARGS_H + +#include +#include +#include +#include +#include "utils.h" + +namespace sw { + +namespace redis { + +class CmdArgs { +public: + template + CmdArgs& append(Arg &&arg); + + template + CmdArgs& append(Arg &&arg, Args &&...args); + + // All overloads of operator<< are for internal use only. + CmdArgs& operator<<(const StringView &arg); + + template ::type>::value, + int>::type = 0> + CmdArgs& operator<<(T &&arg); + + template + CmdArgs& operator<<(const std::pair &range); + + template + auto operator<<(const std::tuple &) -> + typename std::enable_if::type { + return *this; + } + + template + auto operator<<(const std::tuple &arg) -> + typename std::enable_if::type; + + const char** argv() { + return _argv.data(); + } + + const std::size_t* argv_len() { + return _argv_len.data(); + } + + std::size_t size() const { + return _argv.size(); + } + +private: + // Deep copy. + CmdArgs& _append(std::string arg); + + // Shallow copy. + CmdArgs& _append(const StringView &arg); + + // Shallow copy. + CmdArgs& _append(const char *arg); + + template ::type>::value, + int>::type = 0> + CmdArgs& _append(T &&arg) { + return operator<<(std::forward(arg)); + } + + template + CmdArgs& _append(std::true_type, const std::pair &range); + + template + CmdArgs& _append(std::false_type, const std::pair &range); + + std::vector _argv; + std::vector _argv_len; + + std::list _args; +}; + +template +inline CmdArgs& CmdArgs::append(Arg &&arg) { + return _append(std::forward(arg)); +} + +template +inline CmdArgs& CmdArgs::append(Arg &&arg, Args &&...args) { + _append(std::forward(arg)); + + return append(std::forward(args)...); +} + +inline CmdArgs& CmdArgs::operator<<(const StringView &arg) { + _argv.push_back(arg.data()); + _argv_len.push_back(arg.size()); + + return *this; +} + +template +inline CmdArgs& CmdArgs::operator<<(const std::pair &range) { + return _append(IsKvPair())>::type>(), range); +} + +template ::type>::value, + int>::type> +inline CmdArgs& CmdArgs::operator<<(T &&arg) { + return _append(std::to_string(std::forward(arg))); +} + +template +auto CmdArgs::operator<<(const std::tuple &arg) -> + typename std::enable_if::type { + operator<<(std::get(arg)); + + return operator<<(arg); +} + +inline CmdArgs& CmdArgs::_append(std::string arg) { + _args.push_back(std::move(arg)); + return operator<<(_args.back()); +} + +inline CmdArgs& CmdArgs::_append(const StringView &arg) { + return operator<<(arg); +} + +inline CmdArgs& CmdArgs::_append(const char *arg) { + return operator<<(arg); +} + +template +CmdArgs& CmdArgs::_append(std::false_type, const std::pair &range) { + auto first = range.first; + auto last = range.second; + while (first != last) { + *this << *first; + ++first; + } + + return *this; +} + +template +CmdArgs& CmdArgs::_append(std::true_type, const std::pair &range) { + auto first = range.first; + auto last = range.second; + while (first != last) { + *this << first->first << first->second; + ++first; + } + + return *this; +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_COMMAND_ARGS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_options.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_options.h new file mode 100644 index 000000000..ca766c086 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/command_options.h @@ -0,0 +1,211 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_COMMAND_OPTIONS_H +#define SEWENEW_REDISPLUSPLUS_COMMAND_OPTIONS_H + +#include +#include "utils.h" + +namespace sw { + +namespace redis { + +enum class UpdateType { + EXIST, + NOT_EXIST, + ALWAYS +}; + +enum class InsertPosition { + BEFORE, + AFTER +}; + +enum class BoundType { + CLOSED, + OPEN, + LEFT_OPEN, + RIGHT_OPEN +}; + +// (-inf, +inf) +template +class UnboundedInterval; + +// [min, max], (min, max), (min, max], [min, max) +template +class BoundedInterval; + +// [min, +inf), (min, +inf) +template +class LeftBoundedInterval; + +// (-inf, max], (-inf, max) +template +class RightBoundedInterval; + +template <> +class UnboundedInterval { +public: + const std::string& min() const; + + const std::string& max() const; +}; + +template <> +class BoundedInterval { +public: + BoundedInterval(double min, double max, BoundType type); + + const std::string& min() const { + return _min; + } + + const std::string& max() const { + return _max; + } + +private: + std::string _min; + std::string _max; +}; + +template <> +class LeftBoundedInterval { +public: + LeftBoundedInterval(double min, BoundType type); + + const std::string& min() const { + return _min; + } + + const std::string& max() const; + +private: + std::string _min; +}; + +template <> +class RightBoundedInterval { +public: + RightBoundedInterval(double max, BoundType type); + + const std::string& min() const; + + const std::string& max() const { + return _max; + } + +private: + std::string _max; +}; + +template <> +class UnboundedInterval { +public: + const std::string& min() const; + + const std::string& max() const; +}; + +template <> +class BoundedInterval { +public: + BoundedInterval(const std::string &min, const std::string &max, BoundType type); + + const std::string& min() const { + return _min; + } + + const std::string& max() const { + return _max; + } + +private: + std::string _min; + std::string _max; +}; + +template <> +class LeftBoundedInterval { +public: + LeftBoundedInterval(const std::string &min, BoundType type); + + const std::string& min() const { + return _min; + } + + const std::string& max() const; + +private: + std::string _min; +}; + +template <> +class RightBoundedInterval { +public: + RightBoundedInterval(const std::string &max, BoundType type); + + const std::string& min() const; + + const std::string& max() const { + return _max; + } + +private: + std::string _max; +}; + +struct LimitOptions { + long long offset = 0; + long long count = -1; +}; + +enum class Aggregation { + SUM, + MIN, + MAX +}; + +enum class BitOp { + AND, + OR, + XOR, + NOT +}; + +enum class GeoUnit { + M, + KM, + MI, + FT +}; + +template +struct WithCoord : TupleWithType, T> {}; + +template +struct WithDist : TupleWithType {}; + +template +struct WithHash : TupleWithType {}; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_COMMAND_OPTIONS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection.h new file mode 100644 index 000000000..340375561 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection.h @@ -0,0 +1,237 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_CONNECTION_H +#define SEWENEW_REDISPLUSPLUS_CONNECTION_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include "errors.h" +#include "reply.h" +#include "utils.h" +#include "tls.h" + +namespace sw { + +namespace redis { + +enum class ConnectionType { + TCP = 0, + UNIX +}; + +struct ConnectionOptions { +public: + ConnectionOptions() = default; + + explicit ConnectionOptions(const std::string &uri); + + ConnectionOptions(const ConnectionOptions &) = default; + ConnectionOptions& operator=(const ConnectionOptions &) = default; + + ConnectionOptions(ConnectionOptions &&) = default; + ConnectionOptions& operator=(ConnectionOptions &&) = default; + + ~ConnectionOptions() = default; + + ConnectionType type = ConnectionType::TCP; + + std::string host; + + int port = 6379; + + std::string path; + + std::string user = "default"; + + std::string password; + + int db = 0; + + bool keep_alive = false; + + std::chrono::milliseconds connect_timeout{0}; + + std::chrono::milliseconds socket_timeout{0}; + + tls::TlsOptions tls; + + // `readonly` is only used for reading from a slave node in Redis Cluster mode. + // Client code should never manually set/get it. This member might be removed in the future. + bool readonly = false; + +private: + ConnectionOptions _parse_uri(const std::string &uri) const; + + auto _split_uri(const std::string &uri) const + -> std::tuple; + + auto _split_path(const std::string &path) const + -> std::tuple; + + void _parse_parameters(const std::string ¶meter_string, + ConnectionOptions &opts) const; + + void _set_option(const std::string &key, const std::string &val, ConnectionOptions &opts) const; + + bool _parse_bool_option(const std::string &str) const; + + std::chrono::milliseconds _parse_timeout_option(const std::string &str) const; + + std::vector _split(const std::string &str, const std::string &delimiter) const; + + void _set_auth_opts(const std::string &auth, ConnectionOptions &opts) const; + + void _set_tcp_opts(const std::string &path, ConnectionOptions &opts) const; + + void _set_unix_opts(const std::string &path, ConnectionOptions &opts) const; +}; + +class CmdArgs; + +class Connection { +public: + explicit Connection(const ConnectionOptions &opts); + + Connection(const Connection &) = delete; + Connection& operator=(const Connection &) = delete; + + Connection(Connection &&) = default; + Connection& operator=(Connection &&) = default; + + ~Connection() = default; + + // Check if the connection is broken. Client needs to do this check + // before sending some command to the connection. If it's broken, + // client needs to reconnect it. + bool broken() const noexcept { + return _ctx->err != REDIS_OK; + } + + void reset() noexcept { + _ctx->err = 0; + } + + void invalidate() noexcept { + _ctx->err = REDIS_ERR; + } + + void reconnect(); + + auto create_time() const + -> std::chrono::time_point { + return _create_time; + } + + auto last_active() const + -> std::chrono::time_point { + return _last_active; + } + + template + void send(const char *format, Args &&...args); + + void send(int argc, const char **argv, const std::size_t *argv_len); + + void send(CmdArgs &args); + + ReplyUPtr recv(bool handle_error_reply = true); + + const ConnectionOptions& options() const { + return _opts; + } + + friend void swap(Connection &lhs, Connection &rhs) noexcept; + +private: + class Connector; + + struct ContextDeleter { + void operator()(redisContext *context) const { + if (context != nullptr) { + redisFree(context); + } + }; + }; + + using ContextUPtr = std::unique_ptr; + + void _set_options(); + + void _auth(); + + void _select_db(); + + void _enable_readonly(); + + redisContext* _context(); + + ContextUPtr _ctx; + + // The time that the connection is created. + std::chrono::time_point _create_time{}; + + // The time that the connection is created or the time that + // the connection is recently used, i.e. `_context()` is called. + std::chrono::time_point _last_active{}; + + ConnectionOptions _opts; + + // TODO: define _tls_ctx before _ctx + tls::TlsContextUPtr _tls_ctx; +}; + +using ConnectionSPtr = std::shared_ptr; + +enum class Role { + MASTER, + SLAVE +}; + +// Inline implementaions. + +template +inline void Connection::send(const char *format, Args &&...args) { + auto ctx = _context(); + + assert(ctx != nullptr); + + if (redisAppendCommand(ctx, + format, + std::forward(args)...) != REDIS_OK) { + throw_error(*ctx, "Failed to send command"); + } + + assert(!broken()); +} + +inline redisContext* Connection::_context() { + _last_active = std::chrono::steady_clock::now(); + + return _ctx.get(); +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_CONNECTION_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection_pool.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection_pool.h new file mode 100644 index 000000000..30ba5daa2 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/connection_pool.h @@ -0,0 +1,182 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_CONNECTION_POOL_H +#define SEWENEW_REDISPLUSPLUS_CONNECTION_POOL_H + +#include +#include +#include +#include +#include +#include +#include "connection.h" +#include "sentinel.h" + +namespace sw { + +namespace redis { + +struct ConnectionPoolOptions { + // Max number of connections, including both in-use and idle ones. + std::size_t size = 1; + + // Max time to wait for a connection. 0ms means client waits forever. + std::chrono::milliseconds wait_timeout{0}; + + // Max lifetime of a connection. 0ms means we never expire the connection. + std::chrono::milliseconds connection_lifetime{0}; + + // Max idle time of a connection. 0ms means we never expire the connection. + std::chrono::milliseconds connection_idle_time{0}; +}; + +class ConnectionPool { +public: + ConnectionPool(const ConnectionPoolOptions &pool_opts, + const ConnectionOptions &connection_opts); + + ConnectionPool(SimpleSentinel sentinel, + const ConnectionPoolOptions &pool_opts, + const ConnectionOptions &connection_opts); + + ConnectionPool() = default; + + ConnectionPool(ConnectionPool &&that); + ConnectionPool& operator=(ConnectionPool &&that); + + ConnectionPool(const ConnectionPool &) = delete; + ConnectionPool& operator=(const ConnectionPool &) = delete; + + ~ConnectionPool() = default; + + // Fetch a connection from pool. + Connection fetch(); + + ConnectionOptions connection_options(); + + void release(Connection connection); + + // Create a new connection. + Connection create(); + + ConnectionPool clone(); + +private: + void _move(ConnectionPool &&that); + + // NOT thread-safe + Connection _create(); + + Connection _create(SimpleSentinel &sentinel, const ConnectionOptions &opts, bool locked); + + Connection _fetch(); + + void _wait_for_connection(std::unique_lock &lock); + + bool _need_reconnect(const Connection &connection, + const std::chrono::milliseconds &connection_lifetime, + const std::chrono::milliseconds &connection_idle_time) const; + + void _update_connection_opts(const std::string &host, int port) { + _opts.host = host; + _opts.port = port; + } + + bool _role_changed(const ConnectionOptions &opts) const { + return opts.port != _opts.port || opts.host != _opts.host; + } + + ConnectionOptions _opts; + + ConnectionPoolOptions _pool_opts; + + std::deque _pool; + + std::size_t _used_connections = 0; + + std::mutex _mutex; + + std::condition_variable _cv; + + SimpleSentinel _sentinel; +}; + +using ConnectionPoolSPtr = std::shared_ptr; + +class SafeConnection { +public: + explicit SafeConnection(ConnectionPool &pool) : _pool(pool), _connection(_pool.fetch()) { + assert(!_connection.broken()); + } + + SafeConnection(const SafeConnection &) = delete; + SafeConnection& operator=(const SafeConnection &) = delete; + + SafeConnection(SafeConnection &&) = delete; + SafeConnection& operator=(SafeConnection &&) = delete; + + ~SafeConnection() { + _pool.release(std::move(_connection)); + } + + Connection& connection() { + return _connection; + } + +private: + ConnectionPool &_pool; + Connection _connection; +}; + +// NOTE: This class is similar to `SafeConnection`. +// The difference is that `SafeConnection` tries to avoid copying a std::shared_ptr. +class GuardedConnection { +public: + explicit GuardedConnection(const ConnectionPoolSPtr &pool) : _pool(pool), + _connection(_pool->fetch()) { + assert(!_connection.broken()); + } + + GuardedConnection(const GuardedConnection &) = delete; + GuardedConnection& operator=(const GuardedConnection &) = delete; + + GuardedConnection(GuardedConnection &&) = default; + GuardedConnection& operator=(GuardedConnection &&) = default; + + ~GuardedConnection() { + // If `GuardedConnection` has been moved, `_pool` will be nullptr. + if (_pool) { + _pool->release(std::move(_connection)); + } + } + + Connection& connection() { + return _connection; + } + +private: + ConnectionPoolSPtr _pool; + Connection _connection; +}; + +using GuardedConnectionSPtr = std::shared_ptr; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_CONNECTION_POOL_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cxx_utils.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cxx_utils.h new file mode 100644 index 000000000..dce51abe9 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/cxx_utils.h @@ -0,0 +1,46 @@ +/************************************************************************** + Copyright (c) 2021 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_CXX_UTILS_H +#define SEWENEW_REDISPLUSPLUS_CXX_UTILS_H + +#include +#include +#include + +#define REDIS_PLUS_PLUS_HAS_OPTIONAL + +#define REDIS_PLUS_PLUS_HAS_VARIANT + +namespace sw { + +namespace redis { + +using StringView = std::string_view; + +template +using Optional = std::optional; + +template +using Variant = std::variant; + +using Monostate = std::monostate; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_CXX_UTILS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/errors.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/errors.h new file mode 100644 index 000000000..7cc19d2f1 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/errors.h @@ -0,0 +1,166 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_ERRORS_H +#define SEWENEW_REDISPLUSPLUS_ERRORS_H + +#include +#include +#include + +namespace sw { + +namespace redis { + +enum ReplyErrorType { + ERR, + MOVED, + ASK +}; + +class Error : public std::exception { +public: + explicit Error(const std::string &msg) : _msg(msg) {} + + Error(const Error &) = default; + Error& operator=(const Error &) = default; + + Error(Error &&) = default; + Error& operator=(Error &&) = default; + + virtual ~Error() override = default; + + virtual const char* what() const noexcept override { + return _msg.data(); + } + +private: + std::string _msg; +}; + +class IoError : public Error { +public: + explicit IoError(const std::string &msg) : Error(msg) {} + + IoError(const IoError &) = default; + IoError& operator=(const IoError &) = default; + + IoError(IoError &&) = default; + IoError& operator=(IoError &&) = default; + + virtual ~IoError() override = default; +}; + +class TimeoutError : public IoError { +public: + explicit TimeoutError(const std::string &msg) : IoError(msg) {} + + TimeoutError(const TimeoutError &) = default; + TimeoutError& operator=(const TimeoutError &) = default; + + TimeoutError(TimeoutError &&) = default; + TimeoutError& operator=(TimeoutError &&) = default; + + virtual ~TimeoutError() override = default; +}; + +class ClosedError : public Error { +public: + explicit ClosedError(const std::string &msg) : Error(msg) {} + + ClosedError(const ClosedError &) = default; + ClosedError& operator=(const ClosedError &) = default; + + ClosedError(ClosedError &&) = default; + ClosedError& operator=(ClosedError &&) = default; + + virtual ~ClosedError() override = default; +}; + +class ProtoError : public Error { +public: + explicit ProtoError(const std::string &msg) : Error(msg) {} + + ProtoError(const ProtoError &) = default; + ProtoError& operator=(const ProtoError &) = default; + + ProtoError(ProtoError &&) = default; + ProtoError& operator=(ProtoError &&) = default; + + virtual ~ProtoError() override = default; +}; + +class OomError : public Error { +public: + explicit OomError(const std::string &msg) : Error(msg) {} + + OomError(const OomError &) = default; + OomError& operator=(const OomError &) = default; + + OomError(OomError &&) = default; + OomError& operator=(OomError &&) = default; + + virtual ~OomError() override = default; +}; + +class ReplyError : public Error { +public: + explicit ReplyError(const std::string &msg) : Error(msg) {} + + ReplyError(const ReplyError &) = default; + ReplyError& operator=(const ReplyError &) = default; + + ReplyError(ReplyError &&) = default; + ReplyError& operator=(ReplyError &&) = default; + + virtual ~ReplyError() override = default; +}; + +class WatchError : public Error { +public: + explicit WatchError() : Error("Watched key has been modified") {} + + WatchError(const WatchError &) = default; + WatchError& operator=(const WatchError &) = default; + + WatchError(WatchError &&) = default; + WatchError& operator=(WatchError &&) = default; + + virtual ~WatchError() override = default; +}; + + +// MovedError and AskError are defined in shards.h +class MovedError; + +class AskError; + +void throw_error(const redisContext &context, const std::string &err_info); + +void throw_error(const redisReply &reply); + +template +inline void range_check(const char *cmd, Input first, Input last) { + if (first == last) { + throw Error(std::string(cmd) + ": no key specified"); + } +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_ERRORS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/pipeline.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/pipeline.h new file mode 100644 index 000000000..52b01253f --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/pipeline.h @@ -0,0 +1,49 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_PIPELINE_H +#define SEWENEW_REDISPLUSPLUS_PIPELINE_H + +#include +#include +#include "connection.h" + +namespace sw { + +namespace redis { + +class PipelineImpl { +public: + template + void command(Connection &connection, Cmd cmd, Args &&...args) { + assert(!connection.broken()); + + cmd(connection, std::forward(args)...); + } + + std::vector exec(Connection &connection, std::size_t cmd_num); + + void discard(Connection &connection, std::size_t /*cmd_num*/) { + // Reconnect to Redis to discard all commands. + connection.reconnect(); + } +}; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_PIPELINE_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.h new file mode 100644 index 000000000..e663c7423 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.h @@ -0,0 +1,2013 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_QUEUED_REDIS_H +#define SEWENEW_REDISPLUSPLUS_QUEUED_REDIS_H + +#include +#include +#include +#include +#include +#include "connection.h" +#include "connection_pool.h" +#include "utils.h" +#include "reply.h" +#include "command.h" +#include "redis.h" +#include "errors.h" + +namespace sw { + +namespace redis { + +class QueuedReplies; + +// If any command throws, QueuedRedis resets the connection, and becomes invalid. +// In this case, the only thing we can do is to destory the QueuedRedis object. +template +class QueuedRedis { +public: + QueuedRedis(QueuedRedis &&) = default; + QueuedRedis& operator=(QueuedRedis &&) = default; + + // When it destructs, the underlying *Connection* will be closed or return to pool, + // and any command that has NOT been executed will be ignored. + ~QueuedRedis(); + + Redis redis(); + + template + auto command(Cmd cmd, Args &&...args) + -> typename std::enable_if::value, + QueuedRedis&>::type; + + template + QueuedRedis& command(const StringView &cmd_name, Args &&...args); + + template + auto command(Input first, Input last) + -> typename std::enable_if::value, QueuedRedis&>::type; + + QueuedReplies exec(); + + void discard(); + + // CONNECTION commands. + + QueuedRedis& auth(const StringView &password) { + return command(cmd::auth, password); + } + + QueuedRedis& auth(const StringView &user, const StringView &password) { + return command( + cmd::auth, user, password); + } + + QueuedRedis& echo(const StringView &msg) { + return command(cmd::echo, msg); + } + + QueuedRedis& ping() { + return command(cmd::ping); + } + + QueuedRedis& ping(const StringView &msg) { + return command(cmd::ping, msg); + } + + // We DO NOT support the QUIT command. See *Redis::quit* doc for details. + // + // QueuedRedis& quit(); + + QueuedRedis& select(long long idx) { + return command(cmd::select, idx); + } + + QueuedRedis& swapdb(long long idx1, long long idx2) { + return command(cmd::swapdb, idx1, idx2); + } + + // SERVER commands. + + QueuedRedis& bgrewriteaof() { + return command(cmd::bgrewriteaof); + } + + QueuedRedis& bgsave() { + return command(cmd::bgsave); + } + + QueuedRedis& dbsize() { + return command(cmd::dbsize); + } + + QueuedRedis& flushall(bool async = false) { + return command(cmd::flushall, async); + } + + QueuedRedis& flushdb(bool async = false) { + return command(cmd::flushdb, async); + } + + QueuedRedis& info() { + return command(cmd::info); + } + + QueuedRedis& info(const StringView §ion) { + return command(cmd::info, section); + } + + QueuedRedis& lastsave() { + return command(cmd::lastsave); + } + + QueuedRedis& save() { + return command(cmd::save); + } + + // KEY commands. + + QueuedRedis& del(const StringView &key) { + return command(cmd::del, key); + } + + template + QueuedRedis& del(Input first, Input last) { + range_check("DEL", first, last); + + return command(cmd::del_range, first, last); + } + + template + QueuedRedis& del(std::initializer_list il) { + return del(il.begin(), il.end()); + } + + QueuedRedis& dump(const StringView &key) { + return command(cmd::dump, key); + } + + QueuedRedis& exists(const StringView &key) { + return command(cmd::exists, key); + } + + template + QueuedRedis& exists(Input first, Input last) { + range_check("EXISTS", first, last); + + return command(cmd::exists_range, first, last); + } + + template + QueuedRedis& exists(std::initializer_list il) { + return exists(il.begin(), il.end()); + } + + QueuedRedis& expire(const StringView &key, long long timeout) { + return command(cmd::expire, key, timeout); + } + + QueuedRedis& expire(const StringView &key, + const std::chrono::seconds &timeout) { + return expire(key, timeout.count()); + } + + QueuedRedis& expireat(const StringView &key, long long timestamp) { + return command(cmd::expireat, key, timestamp); + } + + QueuedRedis& expireat(const StringView &key, + const std::chrono::time_point &tp) { + return expireat(key, tp.time_since_epoch().count()); + } + + QueuedRedis& keys(const StringView &pattern) { + return command(cmd::keys, pattern); + } + + QueuedRedis& move(const StringView &key, long long db) { + return command(cmd::move, key, db); + } + + QueuedRedis& persist(const StringView &key) { + return command(cmd::persist, key); + } + + QueuedRedis& pexpire(const StringView &key, long long timeout) { + return command(cmd::pexpire, key, timeout); + } + + QueuedRedis& pexpire(const StringView &key, + const std::chrono::milliseconds &timeout) { + return pexpire(key, timeout.count()); + } + + QueuedRedis& pexpireat(const StringView &key, long long timestamp) { + return command(cmd::pexpireat, key, timestamp); + } + + QueuedRedis& pexpireat(const StringView &key, + const std::chrono::time_point &tp) { + return pexpireat(key, tp.time_since_epoch().count()); + } + + QueuedRedis& pttl(const StringView &key) { + return command(cmd::pttl, key); + } + + QueuedRedis& randomkey() { + return command(cmd::randomkey); + } + + QueuedRedis& rename(const StringView &key, const StringView &newkey) { + return command(cmd::rename, key, newkey); + } + + QueuedRedis& renamenx(const StringView &key, const StringView &newkey) { + return command(cmd::renamenx, key, newkey); + } + + QueuedRedis& restore(const StringView &key, + const StringView &val, + long long ttl, + bool replace = false) { + return command(cmd::restore, key, val, ttl, replace); + } + + QueuedRedis& restore(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl = std::chrono::milliseconds{0}, + bool replace = false) { + return restore(key, val, ttl.count(), replace); + } + + // TODO: sort + + QueuedRedis& scan(long long cursor, + const StringView &pattern, + long long count) { + return command(cmd::scan, cursor, pattern, count); + } + + QueuedRedis& scan(long long cursor) { + return scan(cursor, "*", 10); + } + + QueuedRedis& scan(long long cursor, + const StringView &pattern) { + return scan(cursor, pattern, 10); + } + + QueuedRedis& scan(long long cursor, + long long count) { + return scan(cursor, "*", count); + } + + QueuedRedis& touch(const StringView &key) { + return command(cmd::touch, key); + } + + template + QueuedRedis& touch(Input first, Input last) { + range_check("TOUCH", first, last); + + return command(cmd::touch_range, first, last); + } + + template + QueuedRedis& touch(std::initializer_list il) { + return touch(il.begin(), il.end()); + } + + QueuedRedis& ttl(const StringView &key) { + return command(cmd::ttl, key); + } + + QueuedRedis& type(const StringView &key) { + return command(cmd::type, key); + } + + QueuedRedis& unlink(const StringView &key) { + return command(cmd::unlink, key); + } + + template + QueuedRedis& unlink(Input first, Input last) { + range_check("UNLINK", first, last); + + return command(cmd::unlink_range, first, last); + } + + template + QueuedRedis& unlink(std::initializer_list il) { + return unlink(il.begin(), il.end()); + } + + QueuedRedis& wait(long long numslaves, long long timeout) { + return command(cmd::wait, numslaves, timeout); + } + + QueuedRedis& wait(long long numslaves, const std::chrono::milliseconds &timeout) { + return wait(numslaves, timeout.count()); + } + + // STRING commands. + + QueuedRedis& append(const StringView &key, const StringView &str) { + return command(cmd::append, key, str); + } + + QueuedRedis& bitcount(const StringView &key, + long long start = 0, + long long end = -1) { + return command(cmd::bitcount, key, start, end); + } + + QueuedRedis& bitop(BitOp op, + const StringView &destination, + const StringView &key) { + return command(cmd::bitop, op, destination, key); + } + + template + QueuedRedis& bitop(BitOp op, + const StringView &destination, + Input first, + Input last) { + range_check("BITOP", first, last); + + return command(cmd::bitop_range, op, destination, first, last); + } + + template + QueuedRedis& bitop(BitOp op, + const StringView &destination, + std::initializer_list il) { + return bitop(op, destination, il.begin(), il.end()); + } + + QueuedRedis& bitpos(const StringView &key, + long long bit, + long long start = 0, + long long end = -1) { + return command(cmd::bitpos, key, bit, start, end); + } + + QueuedRedis& decr(const StringView &key) { + return command(cmd::decr, key); + } + + QueuedRedis& decrby(const StringView &key, long long decrement) { + return command(cmd::decrby, key, decrement); + } + + QueuedRedis& get(const StringView &key) { + return command(cmd::get, key); + } + + QueuedRedis& getbit(const StringView &key, long long offset) { + return command(cmd::getbit, key, offset); + } + + QueuedRedis& getrange(const StringView &key, long long start, long long end) { + return command(cmd::getrange, key, start, end); + } + + QueuedRedis& getset(const StringView &key, const StringView &val) { + return command(cmd::getset, key, val); + } + + QueuedRedis& incr(const StringView &key) { + return command(cmd::incr, key); + } + + QueuedRedis& incrby(const StringView &key, long long increment) { + return command(cmd::incrby, key, increment); + } + + QueuedRedis& incrbyfloat(const StringView &key, double increment) { + return command(cmd::incrbyfloat, key, increment); + } + + template + QueuedRedis& mget(Input first, Input last) { + range_check("MGET", first, last); + + return command(cmd::mget, first, last); + } + + template + QueuedRedis& mget(std::initializer_list il) { + return mget(il.begin(), il.end()); + } + + template + QueuedRedis& mset(Input first, Input last) { + range_check("MSET", first, last); + + return command(cmd::mset, first, last); + } + + template + QueuedRedis& mset(std::initializer_list il) { + return mset(il.begin(), il.end()); + } + + template + QueuedRedis& msetnx(Input first, Input last) { + range_check("MSETNX", first, last); + + return command(cmd::msetnx, first, last); + } + + template + QueuedRedis& msetnx(std::initializer_list il) { + return msetnx(il.begin(), il.end()); + } + + QueuedRedis& psetex(const StringView &key, + long long ttl, + const StringView &val) { + return command(cmd::psetex, key, ttl, val); + } + + QueuedRedis& psetex(const StringView &key, + const std::chrono::milliseconds &ttl, + const StringView &val) { + return psetex(key, ttl.count(), val); + } + + QueuedRedis& set(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl = std::chrono::milliseconds(0), + UpdateType type = UpdateType::ALWAYS) { + _set_cmd_indexes.push_back(_cmd_num); + + return command(cmd::set, key, val, ttl.count(), type); + } + + QueuedRedis& setex(const StringView &key, + long long ttl, + const StringView &val) { + return command(cmd::setex, key, ttl, val); + } + + QueuedRedis& setex(const StringView &key, + const std::chrono::seconds &ttl, + const StringView &val) { + return setex(key, ttl.count(), val); + } + + QueuedRedis& setnx(const StringView &key, const StringView &val) { + return command(cmd::setnx, key, val); + } + + QueuedRedis& setrange(const StringView &key, + long long offset, + const StringView &val) { + return command(cmd::setrange, key, offset, val); + } + + QueuedRedis& strlen(const StringView &key) { + return command(cmd::strlen, key); + } + + // LIST commands. + + QueuedRedis& blpop(const StringView &key, long long timeout) { + return command(cmd::blpop, key, timeout); + } + + QueuedRedis& blpop(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return blpop(key, timeout.count()); + } + + template + QueuedRedis& blpop(Input first, Input last, long long timeout) { + range_check("BLPOP", first, last); + + return command(cmd::blpop_range, first, last, timeout); + } + + template + QueuedRedis& blpop(std::initializer_list il, long long timeout) { + return blpop(il.begin(), il.end(), timeout); + } + + template + QueuedRedis& blpop(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return blpop(first, last, timeout.count()); + } + + template + QueuedRedis& blpop(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return blpop(il.begin(), il.end(), timeout); + } + + QueuedRedis& brpop(const StringView &key, long long timeout) { + return command(cmd::brpop, key, timeout); + } + + QueuedRedis& brpop(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return brpop(key, timeout.count()); + } + + template + QueuedRedis& brpop(Input first, Input last, long long timeout) { + range_check("BRPOP", first, last); + + return command(cmd::brpop_range, first, last, timeout); + } + + template + QueuedRedis& brpop(std::initializer_list il, long long timeout) { + return brpop(il.begin(), il.end(), timeout); + } + + template + QueuedRedis& brpop(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return brpop(first, last, timeout.count()); + } + + template + QueuedRedis& brpop(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return brpop(il.begin(), il.end(), timeout); + } + + QueuedRedis& brpoplpush(const StringView &source, + const StringView &destination, + long long timeout) { + return command(cmd::brpoplpush, source, destination, timeout); + } + + QueuedRedis& brpoplpush(const StringView &source, + const StringView &destination, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return brpoplpush(source, destination, timeout.count()); + } + + QueuedRedis& lindex(const StringView &key, long long index) { + return command(cmd::lindex, key, index); + } + + QueuedRedis& linsert(const StringView &key, + InsertPosition position, + const StringView &pivot, + const StringView &val) { + return command(cmd::linsert, key, position, pivot, val); + } + + QueuedRedis& llen(const StringView &key) { + return command(cmd::llen, key); + } + + QueuedRedis& lpop(const StringView &key) { + return command(cmd::lpop, key); + } + + QueuedRedis& lpush(const StringView &key, const StringView &val) { + return command(cmd::lpush, key, val); + } + + template + QueuedRedis& lpush(const StringView &key, Input first, Input last) { + range_check("LPUSH", first, last); + + return command(cmd::lpush_range, key, first, last); + } + + template + QueuedRedis& lpush(const StringView &key, std::initializer_list il) { + return lpush(key, il.begin(), il.end()); + } + + QueuedRedis& lpushx(const StringView &key, const StringView &val) { + return command(cmd::lpushx, key, val); + } + + QueuedRedis& lrange(const StringView &key, + long long start, + long long stop) { + return command(cmd::lrange, key, start, stop); + } + + QueuedRedis& lrem(const StringView &key, long long count, const StringView &val) { + return command(cmd::lrem, key, count, val); + } + + QueuedRedis& lset(const StringView &key, long long index, const StringView &val) { + return command(cmd::lset, key, index, val); + } + + QueuedRedis& ltrim(const StringView &key, long long start, long long stop) { + return command(cmd::ltrim, key, start, stop); + } + + QueuedRedis& rpop(const StringView &key) { + return command(cmd::rpop, key); + } + + QueuedRedis& rpoplpush(const StringView &source, const StringView &destination) { + return command(cmd::rpoplpush, source, destination); + } + + QueuedRedis& rpush(const StringView &key, const StringView &val) { + return command(cmd::rpush, key, val); + } + + template + QueuedRedis& rpush(const StringView &key, Input first, Input last) { + range_check("RPUSH", first, last); + + return command(cmd::rpush_range, key, first, last); + } + + template + QueuedRedis& rpush(const StringView &key, std::initializer_list il) { + return rpush(key, il.begin(), il.end()); + } + + QueuedRedis& rpushx(const StringView &key, const StringView &val) { + return command(cmd::rpushx, key, val); + } + + // HASH commands. + + QueuedRedis& hdel(const StringView &key, const StringView &field) { + return command(cmd::hdel, key, field); + } + + template + QueuedRedis& hdel(const StringView &key, Input first, Input last) { + range_check("HDEL", first, last); + + return command(cmd::hdel_range, key, first, last); + } + + template + QueuedRedis& hdel(const StringView &key, std::initializer_list il) { + return hdel(key, il.begin(), il.end()); + } + + QueuedRedis& hexists(const StringView &key, const StringView &field) { + return command(cmd::hexists, key, field); + } + + QueuedRedis& hget(const StringView &key, const StringView &field) { + return command(cmd::hget, key, field); + } + + QueuedRedis& hgetall(const StringView &key) { + return command(cmd::hgetall, key); + } + + QueuedRedis& hincrby(const StringView &key, + const StringView &field, + long long increment) { + return command(cmd::hincrby, key, field, increment); + } + + QueuedRedis& hincrbyfloat(const StringView &key, + const StringView &field, + double increment) { + return command(cmd::hincrbyfloat, key, field, increment); + } + + QueuedRedis& hkeys(const StringView &key) { + return command(cmd::hkeys, key); + } + + QueuedRedis& hlen(const StringView &key) { + return command(cmd::hlen, key); + } + + template + QueuedRedis& hmget(const StringView &key, Input first, Input last) { + range_check("HMGET", first, last); + + return command(cmd::hmget, key, first, last); + } + + template + QueuedRedis& hmget(const StringView &key, std::initializer_list il) { + return hmget(key, il.begin(), il.end()); + } + + template + QueuedRedis& hmset(const StringView &key, Input first, Input last) { + range_check("HMSET", first, last); + + return command(cmd::hmset, key, first, last); + } + + template + QueuedRedis& hmset(const StringView &key, std::initializer_list il) { + return hmset(key, il.begin(), il.end()); + } + + QueuedRedis& hscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count) { + return command(cmd::hscan, key, cursor, pattern, count); + } + + QueuedRedis& hscan(const StringView &key, + long long cursor, + const StringView &pattern) { + return hscan(key, cursor, pattern, 10); + } + + QueuedRedis& hscan(const StringView &key, + long long cursor, + long long count) { + return hscan(key, cursor, "*", count); + } + + QueuedRedis& hscan(const StringView &key, + long long cursor) { + return hscan(key, cursor, "*", 10); + } + + QueuedRedis& hset(const StringView &key, const StringView &field, const StringView &val) { + return command(cmd::hset, key, field, val); + } + + QueuedRedis& hset(const StringView &key, const std::pair &item) { + return hset(key, item.first, item.second); + } + + template + auto hset(const StringView &key, Input first, Input last) + -> typename std::enable_if::value, + QueuedRedis&>::type { + range_check("HSET", first, last); + + return command(cmd::hset_range, key, first, last); + } + + template + QueuedRedis& hset(const StringView &key, std::initializer_list il) { + return hset(key, il.begin(), il.end()); + } + + QueuedRedis& hsetnx(const StringView &key, const StringView &field, const StringView &val) { + return command(cmd::hsetnx, key, field, val); + } + + QueuedRedis& hsetnx(const StringView &key, const std::pair &item) { + return hsetnx(key, item.first, item.second); + } + + QueuedRedis& hstrlen(const StringView &key, const StringView &field) { + return command(cmd::hstrlen, key, field); + } + + QueuedRedis& hvals(const StringView &key) { + return command(cmd::hvals, key); + } + + // SET commands. + + QueuedRedis& sadd(const StringView &key, const StringView &member) { + return command(cmd::sadd, key, member); + } + + template + QueuedRedis& sadd(const StringView &key, Input first, Input last) { + range_check("SADD", first, last); + + return command(cmd::sadd_range, key, first, last); + } + + template + QueuedRedis& sadd(const StringView &key, std::initializer_list il) { + return sadd(key, il.begin(), il.end()); + } + + QueuedRedis& scard(const StringView &key) { + return command(cmd::scard, key); + } + + template + QueuedRedis& sdiff(Input first, Input last) { + range_check("SDIFF", first, last); + + return command(cmd::sdiff, first, last); + } + + template + QueuedRedis& sdiff(std::initializer_list il) { + return sdiff(il.begin(), il.end()); + } + + QueuedRedis& sdiffstore(const StringView &destination, const StringView &key) { + return command(cmd::sdiffstore, destination, key); + } + + template + QueuedRedis& sdiffstore(const StringView &destination, + Input first, + Input last) { + range_check("SDIFFSTORE", first, last); + + return command(cmd::sdiffstore_range, destination, first, last); + } + + template + QueuedRedis& sdiffstore(const StringView &destination, std::initializer_list il) { + return sdiffstore(destination, il.begin(), il.end()); + } + + template + QueuedRedis& sinter(Input first, Input last) { + range_check("SINTER", first, last); + + return command(cmd::sinter, first, last); + } + + template + QueuedRedis& sinter(std::initializer_list il) { + return sinter(il.begin(), il.end()); + } + + QueuedRedis& sinterstore(const StringView &destination, const StringView &key) { + return command(cmd::sinterstore, destination, key); + } + + template + QueuedRedis& sinterstore(const StringView &destination, + Input first, + Input last) { + range_check("SINTERSTORE", first, last); + + return command(cmd::sinterstore_range, destination, first, last); + } + + template + QueuedRedis& sinterstore(const StringView &destination, std::initializer_list il) { + return sinterstore(destination, il.begin(), il.end()); + } + + QueuedRedis& sismember(const StringView &key, const StringView &member) { + return command(cmd::sismember, key, member); + } + + QueuedRedis& smembers(const StringView &key) { + return command(cmd::smembers, key); + } + + QueuedRedis& smove(const StringView &source, + const StringView &destination, + const StringView &member) { + return command(cmd::smove, source, destination, member); + } + + QueuedRedis& spop(const StringView &key) { + return command(cmd::spop, key); + } + + QueuedRedis& spop(const StringView &key, long long count) { + return command(cmd::spop_range, key, count); + } + + QueuedRedis& srandmember(const StringView &key) { + return command(cmd::srandmember, key); + } + + QueuedRedis& srandmember(const StringView &key, long long count) { + return command(cmd::srandmember_range, key, count); + } + + QueuedRedis& srem(const StringView &key, const StringView &member) { + return command(cmd::srem, key, member); + } + + template + QueuedRedis& srem(const StringView &key, Input first, Input last) { + range_check("SREM", first, last); + + return command(cmd::srem_range, key, first, last); + } + + template + QueuedRedis& srem(const StringView &key, std::initializer_list il) { + return srem(key, il.begin(), il.end()); + } + + QueuedRedis& sscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count) { + return command(cmd::sscan, key, cursor, pattern, count); + } + + QueuedRedis& sscan(const StringView &key, + long long cursor, + const StringView &pattern) { + return sscan(key, cursor, pattern, 10); + } + + QueuedRedis& sscan(const StringView &key, + long long cursor, + long long count) { + return sscan(key, cursor, "*", count); + } + + QueuedRedis& sscan(const StringView &key, + long long cursor) { + return sscan(key, cursor, "*", 10); + } + + template + QueuedRedis& sunion(Input first, Input last) { + range_check("SUNION", first, last); + + return command(cmd::sunion, first, last); + } + + template + QueuedRedis& sunion(std::initializer_list il) { + return sunion(il.begin(), il.end()); + } + + QueuedRedis& sunionstore(const StringView &destination, const StringView &key) { + return command(cmd::sunionstore, destination, key); + } + + template + QueuedRedis& sunionstore(const StringView &destination, Input first, Input last) { + range_check("SUNIONSTORE", first, last); + + return command(cmd::sunionstore_range, destination, first, last); + } + + template + QueuedRedis& sunionstore(const StringView &destination, std::initializer_list il) { + return sunionstore(destination, il.begin(), il.end()); + } + + // SORTED SET commands. + + QueuedRedis& bzpopmax(const StringView &key, long long timeout) { + return command(cmd::bzpopmax, key, timeout); + } + + QueuedRedis& bzpopmax(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return bzpopmax(key, timeout.count()); + } + + template + QueuedRedis& bzpopmax(Input first, Input last, long long timeout) { + range_check("BZPOPMAX", first, last); + + return command(cmd::bzpopmax_range, first, last, timeout); + } + + template + QueuedRedis& bzpopmax(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return bzpopmax(first, last, timeout.count()); + } + + template + QueuedRedis& bzpopmax(std::initializer_list il, long long timeout) { + return bzpopmax(il.begin(), il.end(), timeout); + } + + template + QueuedRedis& bzpopmax(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return bzpopmax(il.begin(), il.end(), timeout); + } + + QueuedRedis& bzpopmin(const StringView &key, long long timeout) { + return command(cmd::bzpopmin, key, timeout); + } + + QueuedRedis& bzpopmin(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return bzpopmin(key, timeout.count()); + } + + template + QueuedRedis& bzpopmin(Input first, Input last, long long timeout) { + range_check("BZPOPMIN", first, last); + + return command(cmd::bzpopmin_range, first, last, timeout); + } + + template + QueuedRedis& bzpopmin(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return bzpopmin(first, last, timeout.count()); + } + + template + QueuedRedis& bzpopmin(std::initializer_list il, long long timeout) { + return bzpopmin(il.begin(), il.end(), timeout); + } + + template + QueuedRedis& bzpopmin(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return bzpopmin(il.begin(), il.end(), timeout); + } + + // We don't support the INCR option, since you can always use ZINCRBY instead. + QueuedRedis& zadd(const StringView &key, + const StringView &member, + double score, + UpdateType type = UpdateType::ALWAYS, + bool changed = false) { + return command(cmd::zadd, key, member, score, type, changed); + } + + template + QueuedRedis& zadd(const StringView &key, + Input first, + Input last, + UpdateType type = UpdateType::ALWAYS, + bool changed = false) { + range_check("ZADD", first, last); + + return command(cmd::zadd_range, key, first, last, type, changed); + } + + QueuedRedis& zcard(const StringView &key) { + return command(cmd::zcard, key); + } + + template + QueuedRedis& zcount(const StringView &key, const Interval &interval) { + return command(cmd::zcount, key, interval); + } + + QueuedRedis& zincrby(const StringView &key, double increment, const StringView &member) { + return command(cmd::zincrby, key, increment, member); + } + + QueuedRedis& zinterstore(const StringView &destination, + const StringView &key, + double weight) { + return command(cmd::zinterstore, destination, key, weight); + } + + template + QueuedRedis& zinterstore(const StringView &destination, + Input first, + Input last, + Aggregation type = Aggregation::SUM) { + range_check("ZINTERSTORE", first, last); + + return command(cmd::zinterstore_range, destination, first, last, type); + } + + template + QueuedRedis& zinterstore(const StringView &destination, + std::initializer_list il, + Aggregation type = Aggregation::SUM) { + return zinterstore(destination, il.begin(), il.end(), type); + } + + template + QueuedRedis& zlexcount(const StringView &key, const Interval &interval) { + return command(cmd::zlexcount, key, interval); + } + + QueuedRedis& zpopmax(const StringView &key) { + _empty_array_cmd_indexes.push_back(_cmd_num); + + return command(cmd::zpopmax, key, 1); + } + + QueuedRedis& zpopmax(const StringView &key, long long count) { + return command(cmd::zpopmax, key, count); + } + + QueuedRedis& zpopmin(const StringView &key) { + _empty_array_cmd_indexes.push_back(_cmd_num); + + return command(cmd::zpopmin, key, 1); + } + + QueuedRedis& zpopmin(const StringView &key, long long count) { + return command(cmd::zpopmin, key, count); + } + + // NOTE: *QueuedRedis::zrange*'s parameters are different from *Redis::zrange*. + // *Redis::zrange* is overloaded by the output iterator, however, there's no such + // iterator in *QueuedRedis::zrange*. So we have to use an extra parameter: *with_scores*, + // to decide whether we should send *WITHSCORES* option to Redis. This also applies to + // other commands with the *WITHSCORES* option, e.g. *ZRANGEBYSCORE*, *ZREVRANGE*, + // *ZREVRANGEBYSCORE*. + QueuedRedis& zrange(const StringView &key, + long long start, + long long stop, + bool with_scores = false) { + return command(cmd::zrange, key, start, stop, with_scores); + } + + template + QueuedRedis& zrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + return command(cmd::zrangebylex, key, interval, opts); + } + + template + QueuedRedis& zrangebylex(const StringView &key, const Interval &interval) { + return zrangebylex(key, interval, {}); + } + + // See comments on *ZRANGE*. + template + QueuedRedis& zrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + bool with_scores = false) { + return command(cmd::zrangebyscore, key, interval, opts, with_scores); + } + + // See comments on *ZRANGE*. + template + QueuedRedis& zrangebyscore(const StringView &key, + const Interval &interval, + bool with_scores = false) { + return zrangebyscore(key, interval, {}, with_scores); + } + + QueuedRedis& zrank(const StringView &key, const StringView &member) { + return command(cmd::zrank, key, member); + } + + QueuedRedis& zrem(const StringView &key, const StringView &member) { + return command(cmd::zrem, key, member); + } + + template + QueuedRedis& zrem(const StringView &key, Input first, Input last) { + range_check("ZREM", first, last); + + return command(cmd::zrem_range, key, first, last); + } + + template + QueuedRedis& zrem(const StringView &key, std::initializer_list il) { + return zrem(key, il.begin(), il.end()); + } + + template + QueuedRedis& zremrangebylex(const StringView &key, const Interval &interval) { + return command(cmd::zremrangebylex, key, interval); + } + + QueuedRedis& zremrangebyrank(const StringView &key, long long start, long long stop) { + return command(cmd::zremrangebyrank, key, start, stop); + } + + template + QueuedRedis& zremrangebyscore(const StringView &key, const Interval &interval) { + return command(cmd::zremrangebyscore, key, interval); + } + + // See comments on *ZRANGE*. + QueuedRedis& zrevrange(const StringView &key, + long long start, + long long stop, + bool with_scores = false) { + return command(cmd::zrevrange, key, start, stop, with_scores); + } + + template + QueuedRedis& zrevrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts) { + return command(cmd::zrevrangebylex, key, interval, opts); + } + + template + QueuedRedis& zrevrangebylex(const StringView &key, const Interval &interval) { + return zrevrangebylex(key, interval, {}); + } + + // See comments on *ZRANGE*. + template + QueuedRedis& zrevrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + bool with_scores = false) { + return command(cmd::zrevrangebyscore, key, interval, opts, with_scores); + } + + // See comments on *ZRANGE*. + template + QueuedRedis& zrevrangebyscore(const StringView &key, + const Interval &interval, + bool with_scores = false) { + return zrevrangebyscore(key, interval, {}, with_scores); + } + + QueuedRedis& zrevrank(const StringView &key, const StringView &member) { + return command(cmd::zrevrank, key, member); + } + + QueuedRedis& zscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count) { + return command(cmd::zscan, key, cursor, pattern, count); + } + + QueuedRedis& zscan(const StringView &key, + long long cursor, + const StringView &pattern) { + return zscan(key, cursor, pattern, 10); + } + + QueuedRedis& zscan(const StringView &key, + long long cursor, + long long count) { + return zscan(key, cursor, "*", count); + } + + QueuedRedis& zscan(const StringView &key, + long long cursor) { + return zscan(key, cursor, "*", 10); + } + + QueuedRedis& zscore(const StringView &key, const StringView &member) { + return command(cmd::zscore, key, member); + } + + QueuedRedis& zunionstore(const StringView &destination, + const StringView &key, + double weight) { + return command(cmd::zunionstore, destination, key, weight); + } + + template + QueuedRedis& zunionstore(const StringView &destination, + Input first, + Input last, + Aggregation type = Aggregation::SUM) { + range_check("ZUNIONSTORE", first, last); + + return command(cmd::zunionstore_range, destination, first, last, type); + } + + template + QueuedRedis& zunionstore(const StringView &destination, + std::initializer_list il, + Aggregation type = Aggregation::SUM) { + return zunionstore(destination, il.begin(), il.end(), type); + } + + // HYPERLOGLOG commands. + + QueuedRedis& pfadd(const StringView &key, const StringView &element) { + return command(cmd::pfadd, key, element); + } + + template + QueuedRedis& pfadd(const StringView &key, Input first, Input last) { + range_check("PFADD", first, last); + + return command(cmd::pfadd_range, key, first, last); + } + + template + QueuedRedis& pfadd(const StringView &key, std::initializer_list il) { + return pfadd(key, il.begin(), il.end()); + } + + QueuedRedis& pfcount(const StringView &key) { + return command(cmd::pfcount, key); + } + + template + QueuedRedis& pfcount(Input first, Input last) { + range_check("PFCOUNT", first, last); + + return command(cmd::pfcount_range, first, last); + } + + template + QueuedRedis& pfcount(std::initializer_list il) { + return pfcount(il.begin(), il.end()); + } + + QueuedRedis& pfmerge(const StringView &destination, const StringView &key) { + return command(cmd::pfmerge, destination, key); + } + + template + QueuedRedis& pfmerge(const StringView &destination, Input first, Input last) { + range_check("PFMERGE", first, last); + + return command(cmd::pfmerge_range, destination, first, last); + } + + template + QueuedRedis& pfmerge(const StringView &destination, std::initializer_list il) { + return pfmerge(destination, il.begin(), il.end()); + } + + // GEO commands. + + QueuedRedis& geoadd(const StringView &key, + const std::tuple &member) { + return command(cmd::geoadd, key, member); + } + + template + QueuedRedis& geoadd(const StringView &key, + Input first, + Input last) { + range_check("GEOADD", first, last); + + return command(cmd::geoadd_range, key, first, last); + } + + template + QueuedRedis& geoadd(const StringView &key, std::initializer_list il) { + return geoadd(key, il.begin(), il.end()); + } + + QueuedRedis& geodist(const StringView &key, + const StringView &member1, + const StringView &member2, + GeoUnit unit = GeoUnit::M) { + return command(cmd::geodist, key, member1, member2, unit); + } + + // Call reply::parse_leniently to parse the reply. + QueuedRedis& geohash(const StringView &key, const StringView &member) { + return command(cmd::geohash, key, member); + } + + template + QueuedRedis& geohash(const StringView &key, Input first, Input last) { + range_check("GEOHASH", first, last); + + return command(cmd::geohash_range, key, first, last); + } + + template + QueuedRedis& geohash(const StringView &key, std::initializer_list il) { + return geohash(key, il.begin(), il.end()); + } + + // Call reply::parse_leniently to parse the reply. + QueuedRedis& geopos(const StringView &key, const StringView &member) { + return command(cmd::geopos, key, member); + } + + template + QueuedRedis& geopos(const StringView &key, Input first, Input last) { + range_check("GEOPOS", first, last); + + return command(cmd::geopos_range, key, first, last); + } + + template + QueuedRedis& geopos(const StringView &key, std::initializer_list il) { + return geopos(key, il.begin(), il.end()); + } + + // TODO: + // 1. since we have different overloads for georadius and georadius-store, + // we might use the GEORADIUS_RO command in the future. + // 2. there're too many parameters for this method, we might refactor it. + QueuedRedis& georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count) { + _empty_array_cmd_indexes.push_back(_cmd_num); + + return command(cmd::georadius_store, + key, + loc, + radius, + unit, + destination, + store_dist, + count); + } + + // NOTE: *QueuedRedis::georadius*'s parameters are different from *Redis::georadius*. + // *Redis::georadius* is overloaded by the output iterator, however, there's no such + // iterator in *QueuedRedis::georadius*. So we have to use extra parameters to decide + // whether we should send options to Redis. This also applies to *GEORADIUSBYMEMBER*. + QueuedRedis& georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + long long count, + bool asc, + bool with_coord, + bool with_dist, + bool with_hash) { + return command(cmd::georadius, + key, + loc, + radius, + unit, + count, + asc, + with_coord, + with_dist, + with_hash); + } + + QueuedRedis& georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count) { + _empty_array_cmd_indexes.push_back(_cmd_num); + + return command(cmd::georadiusbymember, + key, + member, + radius, + unit, + destination, + store_dist, + count); + } + + // See the comments on *GEORADIUS*. + QueuedRedis& georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + long long count, + bool asc, + bool with_coord, + bool with_dist, + bool with_hash) { + return command(cmd::georadiusbymember, + key, + member, + radius, + unit, + count, + asc, + with_coord, + with_dist, + with_hash); + } + + // SCRIPTING commands. + + template + QueuedRedis& eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + return command(cmd::eval, script, keys_first, keys_last, args_first, args_last); + } + + QueuedRedis& eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args) { + return eval(script, keys.begin(), keys.end(), args.begin(), args.end()); + } + + template + QueuedRedis& evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + return command(cmd::evalsha, script, keys_first, keys_last, args_first, args_last); + } + + QueuedRedis& evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args) { + return evalsha(script, keys.begin(), keys.end(), args.begin(), args.end()); + } + + // Call reply::parse_leniently to parse the reply. + QueuedRedis& script_exists(const StringView &sha1) { + return command(cmd::script_exists, sha1); + } + + template + QueuedRedis& script_exists(Input first, Input last) { + range_check("SCRIPT EXISTS", first, last); + + return command(cmd::script_exists_range, first, last); + } + + template + QueuedRedis& script_exists(std::initializer_list il) { + return script_exists(il.begin(), il.end()); + } + + QueuedRedis& script_flush() { + return command(cmd::script_flush); + } + + QueuedRedis& script_kill() { + return command(cmd::script_kill); + } + + QueuedRedis& script_load(const StringView &script) { + return command(cmd::script_load, script); + } + + // PUBSUB commands. + + QueuedRedis& publish(const StringView &channel, const StringView &message) { + return command(cmd::publish, channel, message); + } + + // Stream commands. + + QueuedRedis& xack(const StringView &key, const StringView &group, const StringView &id) { + return command(cmd::xack, key, group, id); + } + + template + QueuedRedis& xack(const StringView &key, const StringView &group, Input first, Input last) { + range_check("XACK", first, last); + + return command(cmd::xack_range, key, group, first, last); + } + + template + QueuedRedis& xack(const StringView &key, const StringView &group, std::initializer_list il) { + return xack(key, group, il.begin(), il.end()); + } + + template + QueuedRedis& xadd(const StringView &key, const StringView &id, Input first, Input last) { + range_check("XADD", first, last); + + return command(cmd::xadd_range, key, id, first, last); + } + + template + QueuedRedis& xadd(const StringView &key, const StringView &id, std::initializer_list il) { + return xadd(key, id, il.begin(), il.end()); + } + + template + QueuedRedis& xadd(const StringView &key, + const StringView &id, + Input first, + Input last, + long long count, + bool approx = true) { + range_check("XADD", first, last); + + return command(cmd::xadd_maxlen_range, key, id, first, last, count, approx); + } + + template + QueuedRedis& xadd(const StringView &key, + const StringView &id, + std::initializer_list il, + long long count, + bool approx = true) { + return xadd(key, id, il.begin(), il.end(), count, approx); + } + + QueuedRedis& xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + const StringView &id) { + return command(cmd::xclaim, key, group, consumer, min_idle_time.count(), id); + } + + template + QueuedRedis& xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + Input first, + Input last) { + range_check("XCLAIM", first, last); + + return command(cmd::xclaim_range, + key, + group, + consumer, + min_idle_time.count(), + first, + last); + } + + template + QueuedRedis& xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + std::initializer_list il) { + return xclaim(key, group, consumer, min_idle_time, il.begin(), il.end()); + } + + QueuedRedis& xdel(const StringView &key, const StringView &id) { + return command(cmd::xdel, key, id); + } + + template + QueuedRedis& xdel(const StringView &key, Input first, Input last) { + range_check("XDEL", first, last); + + return command(cmd::xdel_range, key, first, last); + } + + template + QueuedRedis& xdel(const StringView &key, std::initializer_list il) { + return xdel(key, il.begin(), il.end()); + } + + QueuedRedis& xgroup_create(const StringView &key, + const StringView &group, + const StringView &id, + bool mkstream = false) { + return command(cmd::xgroup_create, key, group, id, mkstream); + } + + QueuedRedis& xgroup_setid(const StringView &key, + const StringView &group, + const StringView &id) { + return command(cmd::xgroup_setid, key, group, id); + } + + QueuedRedis& xgroup_destroy(const StringView &key, const StringView &group) { + return command(cmd::xgroup_destroy, key, group); + } + + QueuedRedis& xgroup_delconsumer(const StringView &key, + const StringView &group, + const StringView &consumer) { + return command(cmd::xgroup_delconsumer, key, group, consumer); + } + + QueuedRedis& xlen(const StringView &key) { + return command(cmd::xlen, key); + } + + QueuedRedis& xpending(const StringView &key, const StringView &group) { + return command(cmd::xpending, key, group); + } + + QueuedRedis& xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count) { + return command(cmd::xpending_detail, key, group, start, end, count); + } + + QueuedRedis& xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + const StringView &consumer) { + return command(cmd::xpending_per_consumer, key, group, start, end, count, consumer); + } + + QueuedRedis& xrange(const StringView &key, + const StringView &start, + const StringView &end) { + return command(cmd::xrange, key, start, end); + } + + QueuedRedis& xrange(const StringView &key, + const StringView &start, + const StringView &end, + long long count) { + return command(cmd::xrange_count, key, start, end, count); + } + + QueuedRedis& xread(const StringView &key, const StringView &id, long long count) { + return command(cmd::xread, key, id, count); + } + + QueuedRedis& xread(const StringView &key, const StringView &id) { + return xread(key, id, 0); + } + + template + auto xread(Input first, Input last, long long count) + -> typename std::enable_if::value, + QueuedRedis&>::type { + range_check("XREAD", first, last); + + return command(cmd::xread_range, first, last, count); + } + + template + auto xread(Input first, Input last) + -> typename std::enable_if::value, + QueuedRedis&>::type { + return xread(first, last, 0); + } + + QueuedRedis& xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count) { + return command(cmd::xread_block, key, id, timeout.count(), count); + } + + QueuedRedis& xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout) { + return xread(key, id, timeout, 0); + } + + template + auto xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count) + -> typename std::enable_if::value, + QueuedRedis&>::type { + range_check("XREAD", first, last); + + return command(cmd::xread_block_range, first, last, timeout.count(), count); + } + + template + auto xread(Input first, + Input last, + const std::chrono::milliseconds &timeout) + -> typename std::enable_if::value, + QueuedRedis&>::type { + return xread(first, last, timeout, 0); + } + + QueuedRedis& xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + bool noack) { + return command(cmd::xreadgroup, group, consumer, key, id, count, noack); + } + + QueuedRedis& xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count) { + return xreadgroup(group, consumer, key, id, count, false); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + bool noack) + -> typename std::enable_if::value, + QueuedRedis&>::type { + range_check("XREADGROUP", first, last); + + return command(cmd::xreadgroup_range, group, consumer, first, last, count, noack); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count) + -> typename std::enable_if::value, + QueuedRedis&>::type { + return xreadgroup(group, consumer, first ,last, count, false); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last) + -> typename std::enable_if::value, + QueuedRedis&>::type { + return xreadgroup(group, consumer, first ,last, 0, false); + } + + QueuedRedis& xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + bool noack) { + return command(cmd::xreadgroup_block, + group, + consumer, + key, + id, + timeout.count(), + count, + noack); + } + + QueuedRedis& xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count) { + return xreadgroup(group, consumer, key, id, timeout, count, false); + } + + QueuedRedis& xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout) { + return xreadgroup(group, consumer, key, id, timeout, 0, false); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + bool noack) + -> typename std::enable_if::value, + QueuedRedis&>::type { + range_check("XREADGROUP", first, last); + + return command(cmd::xreadgroup_block_range, + group, + consumer, + first, + last, + timeout.count(), + count, + noack); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count) + -> typename std::enable_if::value, + QueuedRedis&>::type { + return xreadgroup(group, consumer, first, last, timeout, count, false); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout) + -> typename std::enable_if::value, + QueuedRedis&>::type { + return xreadgroup(group, consumer, first, last, timeout, 0, false); + } + + QueuedRedis& xrevrange(const StringView &key, + const StringView &end, + const StringView &start) { + return command(cmd::xrevrange, key, end, start); + } + + QueuedRedis& xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + long long count) { + return command(cmd::xrevrange_count, key, end, start, count); + } + + QueuedRedis& xtrim(const StringView &key, long long count, bool approx = true) { + return command(cmd::xtrim, key, count, approx); + } + +private: + friend class Redis; + + friend class RedisCluster; + + template + QueuedRedis(const ConnectionPoolSPtr &pool, bool new_connection, Args &&...args); + + Connection& _connection(); + + void _sanity_check(); + + void _reset(bool reset_connection = true); + + void _return_connection(); + + void _invalidate(); + + void _clean_up(); + + void _rewrite_replies(std::vector &replies) const; + + template + void _rewrite_replies(const std::vector &indexes, + Func rewriter, + std::vector &replies) const; + + GuardedConnectionSPtr _guarded_connection; + + ConnectionPoolSPtr _connection_pool; + + bool _new_connection = true; + + Impl _impl; + + std::size_t _cmd_num = 0; + + std::vector _set_cmd_indexes; + + std::vector _empty_array_cmd_indexes; + + bool _valid = true; +}; + +class QueuedReplies { +public: + QueuedReplies() = default; + + QueuedReplies(const QueuedReplies &) = delete; + QueuedReplies& operator=(const QueuedReplies &) = delete; + + QueuedReplies(QueuedReplies &&) = default; + QueuedReplies& operator=(QueuedReplies &&) = default; + + ~QueuedReplies() = default; + + std::size_t size() const; + + redisReply& get(std::size_t idx); + + template + Result get(std::size_t idx); + + template + void get(std::size_t idx, Output output); + +private: + template + friend class QueuedRedis; + + explicit QueuedReplies(std::vector replies) : _replies(std::move(replies)) {} + + void _index_check(std::size_t idx) const; + + std::vector _replies; +}; + +} + +} + +#include "queued_redis.hpp" + +#endif // end SEWENEW_REDISPLUSPLUS_QUEUED_REDIS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.hpp b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.hpp new file mode 100644 index 000000000..d2865e46e --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/queued_redis.hpp @@ -0,0 +1,275 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_QUEUED_REDIS_HPP +#define SEWENEW_REDISPLUSPLUS_QUEUED_REDIS_HPP + +namespace sw { + +namespace redis { + +template +template +QueuedRedis::QueuedRedis(const ConnectionPoolSPtr &pool, + bool new_connection, + Args &&...args) : + _new_connection(new_connection), + _impl(std::forward(args)...) { + assert(pool); + + if (_new_connection) { + _connection_pool = std::make_shared(pool->clone()); + } else { + // Create a connection from the origin pool. + _connection_pool = pool; + } +} + +template +QueuedRedis::~QueuedRedis() { + try { + _clean_up(); + } catch (const Error &e) { + // Ensure the destructor does not throw + } +} + +template +Redis QueuedRedis::redis() { + _sanity_check(); + + assert(_guarded_connection); + + return Redis(_guarded_connection); +} + +template +template +auto QueuedRedis::command(Cmd cmd, Args &&...args) + -> typename std::enable_if::value, + QueuedRedis&>::type { + try { + _sanity_check(); + + _impl.command(_connection(), cmd, std::forward(args)...); + + ++_cmd_num; + } catch (const Error &e) { + _invalidate(); + throw; + } + + return *this; +} + +template +template +QueuedRedis& QueuedRedis::command(const StringView &cmd_name, Args &&...args) { + auto cmd = [](Connection &connection, const StringView &cmd_name, Args &&...args) { + CmdArgs cmd_args; + cmd_args.append(cmd_name, std::forward(args)...); + connection.send(cmd_args); + }; + + return command(cmd, cmd_name, std::forward(args)...); +} + +template +template +auto QueuedRedis::command(Input first, Input last) + -> typename std::enable_if::value, QueuedRedis&>::type { + if (first == last) { + throw Error("command: empty range"); + } + + auto cmd = [](Connection &connection, Input first, Input last) { + CmdArgs cmd_args; + while (first != last) { + cmd_args.append(*first); + ++first; + } + connection.send(cmd_args); + }; + + return command(cmd, first, last); +} + +template +QueuedReplies QueuedRedis::exec() { + try { + _sanity_check(); + + auto replies = _impl.exec(_connection(), _cmd_num); + + _rewrite_replies(replies); + + _reset(); + + return QueuedReplies(std::move(replies)); + } catch (const WatchError &e) { + // In this case, we only clear some states and keep the connection, + // so that user can retry the transaction. + _reset(false); + throw; + } catch (const Error &e) { + _invalidate(); + throw; + } +} + +template +void QueuedRedis::discard() { + try { + _sanity_check(); + + _impl.discard(_connection(), _cmd_num); + + _reset(); + } catch (const Error &e) { + _invalidate(); + throw; + } +} + +template +Connection& QueuedRedis::_connection() { + assert(_valid); + + if (!_guarded_connection) { + _guarded_connection = std::make_shared(_connection_pool); + } + + return _guarded_connection->connection(); +} + +template +void QueuedRedis::_sanity_check() { + if (!_valid) { + throw Error("Not in valid state"); + } + + if (_connection().broken()) { + throw Error("Connection is broken"); + } +} + +template +inline void QueuedRedis::_reset(bool reset_connection) { + if (reset_connection && !_new_connection) { + _return_connection(); + } + + _cmd_num = 0; + + _set_cmd_indexes.clear(); + + _empty_array_cmd_indexes.clear(); +} + +template +inline void QueuedRedis::_return_connection() { + if (_guarded_connection.use_count() == 1) { + // If no one else holding the connection, return it back to pool. + // Instead, if some other `Redis` object holds the connection, + // e.g. `auto redis = transaction.redis();`, we cannot return the connection. + _guarded_connection.reset(); + } +} + +template +void QueuedRedis::_invalidate() { + _valid = false; + + _clean_up(); + + _reset(); +} + +template +void QueuedRedis::_clean_up() { + if (_guarded_connection && !_new_connection) { + // Something bad happened, we need to close the current connection + // before returning it back to pool. + _guarded_connection->connection().invalidate(); + } +} + +template +void QueuedRedis::_rewrite_replies(std::vector &replies) const { + _rewrite_replies(_set_cmd_indexes, reply::rewrite_set_reply, replies); + + _rewrite_replies(_empty_array_cmd_indexes, reply::rewrite_empty_array_reply, replies); +} + +template +template +void QueuedRedis::_rewrite_replies(const std::vector &indexes, + Func rewriter, + std::vector &replies) const { + for (auto idx : indexes) { + assert(idx < replies.size()); + + auto &reply = replies[idx]; + + assert(reply); + + rewriter(*reply); + } +} + +inline std::size_t QueuedReplies::size() const { + return _replies.size(); +} + +inline redisReply& QueuedReplies::get(std::size_t idx) { + _index_check(idx); + + auto &reply = _replies[idx]; + + assert(reply); + + if (reply::is_error(*reply)) { + throw_error(*reply); + } + + return *reply; +} + +template +inline Result QueuedReplies::get(std::size_t idx) { + auto &reply = get(idx); + + return reply::parse(reply); +} + +template +inline void QueuedReplies::get(std::size_t idx, Output output) { + auto &reply = get(idx); + + reply::to_array(reply, output); +} + +inline void QueuedReplies::_index_check(std::size_t idx) const { + if (idx >= size()) { + throw Error("Out of range"); + } +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_QUEUED_REDIS_HPP diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis++.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis++.h new file mode 100644 index 000000000..0da0ebb16 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis++.h @@ -0,0 +1,25 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_REDISPLUSPLUS_H +#define SEWENEW_REDISPLUSPLUS_REDISPLUSPLUS_H + +#include "redis.h" +#include "redis_cluster.h" +#include "queued_redis.h" +#include "sentinel.h" + +#endif // end SEWENEW_REDISPLUSPLUS_REDISPLUSPLUS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.h new file mode 100644 index 000000000..1333e6b68 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.h @@ -0,0 +1,3631 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_REDIS_H +#define SEWENEW_REDISPLUSPLUS_REDIS_H + +#include +#include +#include +#include +#include +#include "connection_pool.h" +#include "reply.h" +#include "command_options.h" +#include "utils.h" +#include "subscriber.h" +#include "pipeline.h" +#include "transaction.h" +#include "sentinel.h" + +namespace sw { + +namespace redis { + +template +class QueuedRedis; + +using Transaction = QueuedRedis; + +using Pipeline = QueuedRedis; + +class Redis { +public: + /// @brief Construct `Redis` instance with connection options and connection pool options. + /// @param connection_opts Connection options. + /// @param pool_opts Connection pool options. + /// @see `ConnectionOptions` + /// @see `ConnectionPoolOptions` + /// @see https://github.com/sewenew/redis-plus-plus#connection + explicit Redis(const ConnectionOptions &connection_opts, + const ConnectionPoolOptions &pool_opts = {}) : + _pool(std::make_shared(pool_opts, connection_opts)) {} + + /// @brief Construct `Redis` instance with URI. + /// @param uri URI, e.g. 'tcp://127.0.0.1', 'tcp://127.0.0.1:6379', or 'unix://path/to/socket'. + /// Full URI scheme: 'tcp://[[username:]password@]host[:port][/db]' or + /// unix://[[username:]password@]path-to-unix-domain-socket[/db] + /// @see https://github.com/sewenew/redis-plus-plus/issues/37 + /// @see https://github.com/sewenew/redis-plus-plus#connection + explicit Redis(const std::string &uri); + + /// @brief Construct `Redis` instance with Redis sentinel, i.e. get node info from sentinel. + /// @param sentinel `Sentinel` instance. + /// @param master_name Name of master node. + /// @param role Connect to master node or slave node. + /// - Role::MASTER: Connect to master node. + /// - Role::SLAVE: Connect to slave node. + /// @param connection_opts Connection options. + /// @param pool_opts Connection pool options. + /// @see `Sentinel` + /// @see `Role` + /// @see https://github.com/sewenew/redis-plus-plus#redis-sentinel + Redis(const std::shared_ptr &sentinel, + const std::string &master_name, + Role role, + const ConnectionOptions &connection_opts, + const ConnectionPoolOptions &pool_opts = {}) : + _pool(std::make_shared(SimpleSentinel(sentinel, master_name, role), + pool_opts, + connection_opts)) {} + + /// @brief `Redis` is not copyable. + Redis(const Redis &) = delete; + + /// @brief `Redis` is not copyable. + Redis& operator=(const Redis &) = delete; + + /// @brief `Redis` is movable. + Redis(Redis &&) = default; + + /// @brief `Redis` is movable. + Redis& operator=(Redis &&) = default; + + /// @brief Create a pipeline. + /// @param new_connection Whether creating a `Pipeline` object in a new connection. + /// @return The created pipeline. + /// @note Instead of picking a connection from the underlying connection pool, + /// this method will create a new connection to Redis. So it's not a cheap operation, + /// and you'd better reuse the returned object as much as possible. + /// @see https://github.com/sewenew/redis-plus-plus#pipeline + Pipeline pipeline(bool new_connection = true); + + /// @brief Create a transaction. + /// @param piped Whether commands in a transaction should be sent in a pipeline to reduce RTT. + /// @param new_connection Whether creating a `Pipeline` object in a new connection. + /// @return The created transaction. + /// @note Instead of picking a connection from the underlying connection pool, + /// this method will create a new connection to Redis. So it's not a cheap operation, + /// and you'd better reuse the returned object as much as possible. + /// @see https://github.com/sewenew/redis-plus-plus#transaction + Transaction transaction(bool piped = false, bool new_connection = true); + + /// @brief Create a subscriber. + /// @return The created subscriber. + /// @note Instead of picking a connection from the underlying connection pool, + /// this method will create a new connection to Redis. So it's not a cheap operation, + /// and you'd better reuse the returned object as much as possible. + /// @see https://github.com/sewenew/redis-plus-plus#publishsubscribe + Subscriber subscriber(); + + template + auto command(Cmd cmd, Args &&...args) + -> typename std::enable_if::value, ReplyUPtr>::type; + + template + auto command(const StringView &cmd_name, Args &&...args) + -> typename std::enable_if::type>::value, + ReplyUPtr>::type; + + template + auto command(const StringView &cmd_name, Args &&...args) + -> typename std::enable_if::type>::value, void>::type; + + template + Result command(const StringView &cmd_name, Args &&...args); + + template + auto command(Input first, Input last) + -> typename std::enable_if::value, ReplyUPtr>::type; + + template + auto command(Input first, Input last) + -> typename std::enable_if::value, Result>::type; + + template + auto command(Input first, Input last, Output output) + -> typename std::enable_if::value, void>::type; + + // CONNECTION commands. + + /// @brief Send password to Redis. + /// @param password Password. + /// @note Normally, you should not call this method. + /// Instead, you should set password with `ConnectionOptions` or URI. + /// @see https://redis.io/commands/auth + void auth(const StringView &password); + + /// @brief Send user and password to Redis. + /// @param user User name. + /// @param password Password. + /// @note Normally, you should not call this method. + /// Instead, you should set password with `ConnectionOptions` or URI. + /// Also this overload only works with Redis 6.0 or later. + /// @see https://redis.io/commands/auth + void auth(const StringView &user, const StringView &password); + + /// @brief Ask Redis to return the given message. + /// @param msg Message to be sent. + /// @return Return the given message. + /// @see https://redis.io/commands/echo + std::string echo(const StringView &msg); + + /// @brief Test if the connection is alive. + /// @return Always return *PONG*. + /// @see https://redis.io/commands/ping + std::string ping(); + + /// @brief Test if the connection is alive. + /// @param msg Message sent to Redis. + /// @return Return the given message. + /// @see https://redis.io/commands/ping + std::string ping(const StringView &msg); + + // After sending QUIT, only the current connection will be close, while + // other connections in the pool is still open. This is a strange behavior. + // So we DO NOT support the QUIT command. If you want to quit connection to + // server, just destroy the Redis object. + // + // void quit(); + + // We get a connection from the pool, and send the SELECT command to switch + // to a specified DB. However, when we try to send other commands to the + // given DB, we might get a different connection from the pool, and these + // commands, in fact, work on other DB. e.g. + // + // redis.select(1); // get a connection from the pool and switch to the 1th DB + // redis.get("key"); // might get another connection from the pool, + // // and try to get 'key' on the default DB + // + // Obviously, this is NOT what we expect. So we DO NOT support SELECT command. + // In order to select a DB, we can specify the DB index with the ConnectionOptions. + // + // However, since Pipeline and Transaction always send multiple commands on a + // single connection, these two classes have a *select* method. + // + // void select(long long idx); + + /// @brief Swap two Redis databases. + /// @param idx1 The index of the first database. + /// @param idx2 The index of the second database. + /// @see https://redis.io/commands/swapdb + void swapdb(long long idx1, long long idx2); + + // SERVER commands. + + /// @brief Rewrite AOF in the background. + /// @see https://redis.io/commands/bgrewriteaof + void bgrewriteaof(); + + /// @brief Save database in the background. + /// @see https://redis.io/commands/bgsave + void bgsave(); + + /// @brief Get the size of the currently selected database. + /// @return Number of keys in currently selected database. + /// @see https://redis.io/commands/dbsize + long long dbsize(); + + /// @brief Remove keys of all databases. + /// @param async Whether flushing databases asynchronously, i.e. without blocking the server. + /// @see https://redis.io/commands/flushall + void flushall(bool async = false); + + /// @brief Remove keys of current databases. + /// @param async Whether flushing databases asynchronously, i.e. without blocking the server. + /// @see https://redis.io/commands/flushdb + void flushdb(bool async = false); + + /// @brief Get the info about the server. + /// @return Server info. + /// @see https://redis.io/commands/info + std::string info(); + + /// @brief Get the info about the server on the given section. + /// @param section Section. + /// @return Server info. + /// @see https://redis.io/commands/info + std::string info(const StringView §ion); + + /// @brief Get the UNIX timestamp in seconds, at which the database was saved successfully. + /// @return The last saving time. + /// @see https://redis.io/commands/lastsave + long long lastsave(); + + /// @brief Save databases into RDB file **synchronously**, i.e. block the server during saving. + /// @see https://redis.io/commands/save + void save(); + + // KEY commands. + + /// @brief Delete the given key. + /// @param key Key. + /// @return Number of keys removed. + /// @retval 1 If the key exists, and has been removed. + /// @retval 0 If the key does not exist. + /// @see https://redis.io/commands/del + long long del(const StringView &key); + + /// @brief Delete the given list of keys. + /// @param first Iterator to the first key in the range. + /// @param last Off-the-end iterator to the given range. + /// @return Number of keys removed. + /// @see https://redis.io/commands/del + template + long long del(Input first, Input last); + + /// @brief Delete the given list of keys. + /// @param il Initializer list of keys to be deleted. + /// @return Number of keys removed. + /// @see https://redis.io/commands/del + template + long long del(std::initializer_list il) { + return del(il.begin(), il.end()); + } + + /// @brief Get the serialized valued stored at key. + /// @param key Key. + /// @return The serialized value. + /// @note If key does not exist, `dump` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/dump + OptionalString dump(const StringView &key); + + /// @brief Check if the given key exists. + /// @param key Key. + /// @return Whether the given key exists. + /// @retval 1 If key exists. + /// @retval 0 If key does not exist. + /// @see https://redis.io/commands/exists + long long exists(const StringView &key); + + /// @brief Check if the given keys exist. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the given range. + /// @return Number of keys existing. + /// @see https://redis.io/commands/exists + template + long long exists(Input first, Input last); + + /// @brief Check if the given keys exist. + /// @param il Initializer list of keys to be checked. + /// @return Number of keys existing. + /// @see https://redis.io/commands/exists + template + long long exists(std::initializer_list il) { + return exists(il.begin(), il.end()); + } + + /// @brief Set a timeout on key. + /// @param key Key. + /// @param timeout Timeout in seconds. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/expire + bool expire(const StringView &key, long long timeout); + + /// @brief Set a timeout on key. + /// @param key Key. + /// @param timeout Timeout in seconds. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/expire + bool expire(const StringView &key, const std::chrono::seconds &timeout); + + /// @brief Set a timeout on key, i.e. expire the key at a future time point. + /// @param key Key. + /// @param timestamp Time in seconds since UNIX epoch. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/expireat + bool expireat(const StringView &key, long long timestamp); + + /// @brief Set a timeout on key, i.e. expire the key at a future time point. + /// @param key Key. + /// @param timestamp Time in seconds since UNIX epoch. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/expireat + bool expireat(const StringView &key, + const std::chrono::time_point &tp); + + /// @brief Get keys matching the given pattern. + /// @param pattern Pattern. + /// @param output Output iterator to the destination where the returned keys are stored. + /// @note It's always a bad idea to call `keys`, since it might block Redis for a long time, + /// especially when the data set is very big. + /// @see `Redis::scan` + /// @see https://redis.io/commands/keys + template + void keys(const StringView &pattern, Output output); + + /// @brief Move a key to the given database. + /// @param key Key. + /// @param db The destination database. + /// @return Whether key has been moved. + /// @retval true If key has been moved. + /// @retval false If key was not moved. + /// @see https://redis.io/commands/move + bool move(const StringView &key, long long db); + + /// @brief Remove timeout on key. + /// @param key Key. + /// @return Whether timeout has been removed. + /// @retval true If timeout has been removed. + /// @retval false If key does not exist, or does not have an associated timeout. + /// @see https://redis.io/commands/persist + bool persist(const StringView &key); + + /// @brief Set a timeout on key. + /// @param key Key. + /// @param timeout Timeout in milliseconds. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/pexpire + bool pexpire(const StringView &key, long long timeout); + + /// @brief Set a timeout on key. + /// @param key Key. + /// @param timeout Timeout in milliseconds. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/pexpire + bool pexpire(const StringView &key, const std::chrono::milliseconds &timeout); + + /// @brief Set a timeout on key, i.e. expire the key at a future time point. + /// @param key Key. + /// @param timestamp Time in milliseconds since UNIX epoch. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/pexpireat + bool pexpireat(const StringView &key, long long timestamp); + + /// @brief Set a timeout on key, i.e. expire the key at a future time point. + /// @param key Key. + /// @param timestamp Time in milliseconds since UNIX epoch. + /// @return Whether timeout has been set. + /// @retval true If timeout has been set. + /// @retval false If key does not exist. + /// @see https://redis.io/commands/pexpireat + bool pexpireat(const StringView &key, + const std::chrono::time_point &tp); + + /// @brief Get the TTL of a key in milliseconds. + /// @param key Key. + /// @return TTL of the key in milliseconds. + /// @see https://redis.io/commands/pttl + long long pttl(const StringView &key); + + /// @brief Get a random key from current database. + /// @return A random key. + /// @note If the database is empty, `randomkey` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/randomkey + OptionalString randomkey(); + + /// @brief Rename `key` to `newkey`. + /// @param key Key to be renamed. + /// @param newkey The new name of the key. + /// @see https://redis.io/commands/rename + void rename(const StringView &key, const StringView &newkey); + + /// @brief Rename `key` to `newkey` if `newkey` does not exist. + /// @param key Key to be renamed. + /// @param newkey The new name of the key. + /// @return Whether key has been renamed. + /// @retval true If key has been renamed. + /// @retval false If newkey already exists. + /// @see https://redis.io/commands/renamenx + bool renamenx(const StringView &key, const StringView &newkey); + + /// @brief Create a key with the value obtained by `Redis::dump`. + /// @param key Key. + /// @param val Value obtained by `Redis::dump`. + /// @param ttl Timeout of the created key in milliseconds. If `ttl` is 0, set no timeout. + /// @param replace Whether to overwrite an existing key. + /// If `replace` is `true` and key already exists, throw an exception. + /// @see https://redis.io/commands/restore + void restore(const StringView &key, + const StringView &val, + long long ttl, + bool replace = false); + + /// @brief Create a key with the value obtained by `Redis::dump`. + /// @param key Key. + /// @param val Value obtained by `Redis::dump`. + /// @param ttl Timeout of the created key in milliseconds. If `ttl` is 0, set no timeout. + /// @param replace Whether to overwrite an existing key. + /// If `replace` is `true` and key already exists, throw an exception. + /// @see https://redis.io/commands/restore + void restore(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl = std::chrono::milliseconds{0}, + bool replace = false); + + // TODO: sort + + /// @brief Scan keys of the database matching the given pattern. + /// + /// Example: + /// @code{.cpp} + /// auto cursor = 0LL; + /// std::unordered_set keys; + /// while (true) { + /// cursor = redis.scan(cursor, "pattern:*", 10, std::inserter(keys, keys.begin())); + /// if (cursor == 0) { + /// break; + /// } + /// } + /// @endcode + /// @param cursor Cursor. + /// @param pattern Pattern of the keys to be scanned. + /// @param count A hint for how many keys to be scanned. + /// @param output Output iterator to the destination where the returned keys are stored. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/scan + /// TODO: support the TYPE option for Redis 6.0. + template + long long scan(long long cursor, + const StringView &pattern, + long long count, + Output output); + + /// @brief Scan all keys of the database. + /// @param cursor Cursor. + /// @param output Output iterator to the destination where the returned keys are stored. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/scan + template + long long scan(long long cursor, + Output output); + + /// @brief Scan keys of the database matching the given pattern. + /// @param cursor Cursor. + /// @param pattern Pattern of the keys to be scanned. + /// @param output Output iterator to the destination where the returned keys are stored. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/scan + template + long long scan(long long cursor, + const StringView &pattern, + Output output); + + /// @brief Scan keys of the database matching the given pattern. + /// @param cursor Cursor. + /// @param count A hint for how many keys to be scanned. + /// @param output Output iterator to the destination where the returned keys are stored. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/scan + template + long long scan(long long cursor, + long long count, + Output output); + + /// @brief Update the last access time of the given key. + /// @param key Key. + /// @return Whether last access time of the key has been updated. + /// @retval 1 If key exists, and last access time has been updated. + /// @retval 0 If key does not exist. + /// @see https://redis.io/commands/touch + long long touch(const StringView &key); + + /// @brief Update the last access time of the given key. + /// @param first Iterator to the first key to be touched. + /// @param last Off-the-end iterator to the given range. + /// @return Whether last access time of the key has been updated. + /// @retval 1 If key exists, and last access time has been updated. + /// @retval 0 If key does not exist. + /// @see https://redis.io/commands/touch + template + long long touch(Input first, Input last); + + /// @brief Update the last access time of the given key. + /// @param il Initializer list of keys to be touched. + /// @return Whether last access time of the key has been updated. + /// @retval 1 If key exists, and last access time has been updated. + /// @retval 0 If key does not exist. + /// @see https://redis.io/commands/touch + template + long long touch(std::initializer_list il) { + return touch(il.begin(), il.end()); + } + + /// @brief Get the remaining Time-To-Live of a key. + /// @param key Key. + /// @return TTL in seconds. + /// @retval TTL If the key has a timeout. + /// @retval -1 If the key exists but does not have a timeout. + /// @retval -2 If the key does not exist. + /// @note In Redis 2.6 or older, `ttl` returns -1 if the key does not exist, + /// or if the key exists but does not have a timeout. + /// @see https://redis.io/commands/ttl + long long ttl(const StringView &key); + + /// @brief Get the type of the value stored at key. + /// @param key Key. + /// @return The type of the value. + /// @see https://redis.io/commands/type + std::string type(const StringView &key); + + /// @brief Remove the given key asynchronously, i.e. without blocking Redis. + /// @param key Key. + /// @return Whether the key has been removed. + /// @retval 1 If key exists, and has been removed. + /// @retval 0 If key does not exist. + /// @see https://redis.io/commands/unlink + long long unlink(const StringView &key); + + /// @brief Remove the given keys asynchronously, i.e. without blocking Redis. + /// @param first Iterator to the first key in the given range. + /// @param last Off-the-end iterator to the given range. + /// @return Number of keys that have been removed. + /// @see https://redis.io/commands/unlink + template + long long unlink(Input first, Input last); + + /// @brief Remove the given keys asynchronously, i.e. without blocking Redis. + /// @param il Initializer list of keys to be unlinked. + /// @return Number of keys that have been removed. + /// @see https://redis.io/commands/unlink + template + long long unlink(std::initializer_list il) { + return unlink(il.begin(), il.end()); + } + + /// @brief Wait until previous write commands are successfully replicated to at + /// least the specified number of replicas or the given timeout has been reached. + /// @param numslaves Number of replicas. + /// @param timeout Timeout in milliseconds. If timeout is 0ms, wait forever. + /// @return Number of replicas that have been successfully replicated these write commands. + /// @note The return value might be less than `numslaves`, because timeout has been reached. + /// @see https://redis.io/commands/wait + long long wait(long long numslaves, long long timeout); + + /// @brief Wait until previous write commands are successfully replicated to at + /// least the specified number of replicas or the given timeout has been reached. + /// @param numslaves Number of replicas. + /// @param timeout Timeout in milliseconds. If timeout is 0ms, wait forever. + /// @return Number of replicas that have been successfully replicated these write commands. + /// @note The return value might be less than `numslaves`, because timeout has been reached. + /// @see https://redis.io/commands/wait + /// TODO: Support default parameter for `timeout` to wait forever. + long long wait(long long numslaves, const std::chrono::milliseconds &timeout); + + // STRING commands. + + /// @brief Append the given string to the string stored at key. + /// @param key Key. + /// @param str String to be appended. + /// @return The length of the string after the append operation. + /// @see https://redis.io/commands/append + long long append(const StringView &key, const StringView &str); + + /// @brief Get the number of bits that have been set for the given range of the string. + /// @param key Key. + /// @param start Start index (inclusive) of the range. 0 means the beginning of the string. + /// @param end End index (inclusive) of the range. -1 means the end of the string. + /// @return Number of bits that have been set. + /// @note The index can be negative to index from the end of the string. + /// @see https://redis.io/commands/bitcount + long long bitcount(const StringView &key, long long start = 0, long long end = -1); + + /// @brief Do bit operation on the string stored at `key`, and save the result to `destination`. + /// @param op Bit operations. + /// @param destination The destination key where the result is saved. + /// @param key The key where the string to be operated is stored. + /// @return The length of the string saved at `destination`. + /// @see https://redis.io/commands/bitop + /// @see `BitOp` + long long bitop(BitOp op, const StringView &destination, const StringView &key); + + /// @brief Do bit operations on the strings stored at the given keys, + /// and save the result to `destination`. + /// @param op Bit operations. + /// @param destination The destination key where the result is saved. + /// @param first Iterator to the first key where the string to be operated is stored. + /// @param last Off-the-end iterator to the given range of keys. + /// @return The length of the string saved at `destination`. + /// @see https://redis.io/commands/bitop + /// @see `BitOp` + template + long long bitop(BitOp op, const StringView &destination, Input first, Input last); + + /// @brief Do bit operations on the strings stored at the given keys, + /// and save the result to `destination`. + /// @param op Bit operations. + /// @param destination The destination key where the result is saved. + /// @param il Initializer list of keys where the strings are operated. + /// @return The length of the string saved at `destination`. + /// @see https://redis.io/commands/bitop + /// @see `BitOp` + template + long long bitop(BitOp op, const StringView &destination, std::initializer_list il) { + return bitop(op, destination, il.begin(), il.end()); + } + + /// @brief Get the position of the first bit set to 0 or 1 in the given range of the string. + /// @param key Key. + /// @param bit 0 or 1. + /// @param start Start index (inclusive) of the range. 0 means the beginning of the string. + /// @param end End index (inclusive) of the range. -1 means the end of the string. + /// @return The position of the first bit set to 0 or 1. + /// @see https://redis.io/commands/bitpos + long long bitpos(const StringView &key, + long long bit, + long long start = 0, + long long end = -1); + + /// @brief Decrement the integer stored at key by 1. + /// @param key Key. + /// @return The value after the decrement. + /// @see https://redis.io/commands/decr + long long decr(const StringView &key); + + /// @brief Decrement the integer stored at key by `decrement`. + /// @param key Key. + /// @param decrement Decrement. + /// @return The value after the decrement. + /// @see https://redis.io/commands/decrby + long long decrby(const StringView &key, long long decrement); + + /// @brief Get the string value stored at key. + /// + /// Example: + /// @code{.cpp} + /// auto val = redis.get("key"); + /// if (val) + /// std::cout << *val << std::endl; + /// else + /// std::cout << "key not exist" << std::endl; + /// @endcode + /// @param key Key. + /// @return The value stored at key. + /// @note If key does not exist, `get` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/get + OptionalString get(const StringView &key); + + /// @brief Get the bit value at offset in the string. + /// @param key Key. + /// @param offset Offset. + /// @return The bit value. + /// @see https://redis.io/commands/getbit + long long getbit(const StringView &key, long long offset); + + /// @brief Get the substring of the string stored at key. + /// @param key Key. + /// @param start Start index (inclusive) of the range. 0 means the beginning of the string. + /// @param end End index (inclusive) of the range. -1 means the end of the string. + /// @return The substring in range [start, end]. If key does not exist, return an empty string. + /// @see https://redis.io/commands/getrange + std::string getrange(const StringView &key, long long start, long long end); + + /// @brief Atomically set the string stored at `key` to `val`, and return the old value. + /// @param key Key. + /// @param val Value to be set. + /// @return The old value stored at key. + /// @note If key does not exist, `getset` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/getset + /// @see `OptionalString` + OptionalString getset(const StringView &key, const StringView &val); + + /// @brief Increment the integer stored at key by 1. + /// @param key Key. + /// @return The value after the increment. + /// @see https://redis.io/commands/incr + long long incr(const StringView &key); + + /// @brief Increment the integer stored at key by `increment`. + /// @param key Key. + /// @param increment Increment. + /// @return The value after the increment. + /// @see https://redis.io/commands/incrby + long long incrby(const StringView &key, long long increment); + + /// @brief Increment the floating point number stored at key by `increment`. + /// @param key Key. + /// @param increment Increment. + /// @return The value after the increment. + /// @see https://redis.io/commands/incrbyfloat + double incrbyfloat(const StringView &key, double increment); + + /// @brief Get the values of multiple keys atomically. + /// + /// Example: + /// @code{.cpp} + /// std::vector keys = {"k1", "k2", "k3"}; + /// std::vector vals; + /// redis.mget(keys.begin(), keys.end(), std::back_inserter(vals)); + /// for (const auto &val : vals) { + /// if (val) + /// std::cout << *val << std::endl; + /// else + /// std::cout << "key does not exist" << std::endl; + /// } + /// @endcode + /// @param first Iterator to the first key of the given range. + /// @param last Off-the-end iterator to the given range. + /// @param output Output iterator to the destination where the values are stored. + /// @note The destination should be a container of `OptionalString` type, + /// since the given key might not exist (in this case, the value of the corresponding + /// key is `OptionalString{}` (`std::nullopt`)). + /// @see https://redis.io/commands/mget + template + void mget(Input first, Input last, Output output); + + /// @brief Get the values of multiple keys atomically. + /// + /// Example: + /// @code{.cpp} + /// std::vector vals; + /// redis.mget({"k1", "k2", "k3"}, std::back_inserter(vals)); + /// for (const auto &val : vals) { + /// if (val) + /// std::cout << *val << std::endl; + /// else + /// std::cout << "key does not exist" << std::endl; + /// } + /// @endcode + /// @param il Initializer list of keys. + /// @param output Output iterator to the destination where the values are stored. + /// @note The destination should be a container of `OptionalString` type, + /// since the given key might not exist (in this case, the value of the corresponding + /// key is `OptionalString{}` (`std::nullopt`)). + /// @see https://redis.io/commands/mget + template + void mget(std::initializer_list il, Output output) { + mget(il.begin(), il.end(), output); + } + + /// @brief Set multiple key-value pairs. + /// + /// Example: + /// @code{.cpp} + /// std::vector> kvs1 = {{"k1", "v1"}, {"k2", "v2"}}; + /// redis.mset(kvs1.begin(), kvs1.end()); + /// std::unordered_map kvs2 = {{"k3", "v3"}, {"k4", "v4"}}; + /// redis.mset(kvs2.begin(), kvs2.end()); + /// @endcode + /// @param first Iterator to the first key-value pair. + /// @param last Off-the-end iterator to the given range. + /// @see https://redis.io/commands/mset + template + void mset(Input first, Input last); + + /// @brief Set multiple key-value pairs. + /// + /// Example: + /// @code{.cpp} + /// redis.mset({std::make_pair("k1", "v1"), std::make_pair("k2", "v2")}); + /// @endcode + /// @param il Initializer list of key-value pairs. + /// @see https://redis.io/commands/mset + template + void mset(std::initializer_list il) { + mset(il.begin(), il.end()); + } + + /// @brief Set the given key-value pairs if all specified keys do not exist. + /// + /// Example: + /// @code{.cpp} + /// std::vector> kvs1; + /// redis.msetnx(kvs1.begin(), kvs1.end()); + /// std::unordered_map kvs2; + /// redis.msetnx(kvs2.begin(), kvs2.end()); + /// @endcode + /// @param first Iterator to the first key-value pair. + /// @param last Off-the-end iterator of the given range. + /// @return Whether all keys have been set. + /// @retval true If all keys have been set. + /// @retval false If no key was set, i.e. at least one key already exist. + /// @see https://redis.io/commands/msetnx + template + bool msetnx(Input first, Input last); + + /// @brief Set the given key-value pairs if all specified keys do not exist. + /// + /// Example: + /// @code{.cpp} + /// redis.msetnx({make_pair("k1", "v1"), make_pair("k2", "v2")}); + /// @endcode + /// @param il Initializer list of key-value pairs. + /// @return Whether all keys have been set. + /// @retval true If all keys have been set. + /// @retval false If no key was set, i.e. at least one key already exist. + /// @see https://redis.io/commands/msetnx + template + bool msetnx(std::initializer_list il) { + return msetnx(il.begin(), il.end()); + } + + /// @brief Set key-value pair with the given timeout in milliseconds. + /// @param key Key. + /// @param ttl Time-To-Live in milliseconds. + /// @param val Value. + /// @see https://redis.io/commands/psetex + void psetex(const StringView &key, + long long ttl, + const StringView &val); + + /// @brief Set key-value pair with the given timeout in milliseconds. + /// @param key Key. + /// @param ttl Time-To-Live in milliseconds. + /// @param val Value. + /// @see https://redis.io/commands/psetex + void psetex(const StringView &key, + const std::chrono::milliseconds &ttl, + const StringView &val); + + /// @brief Set a key-value pair. + /// + /// Example: + /// @code{.cpp} + /// // Set a key-value pair. + /// redis.set("key", "value"); + /// // Set a key-value pair, and expire it after 10 seconds. + /// redis.set("key", "value", std::chrono::seconds(10)); + /// // Set a key-value pair with a timeout, only if the key already exists. + /// if (redis.set("key", "value", std::chrono::seconds(10), UpdateType::EXIST)) + /// std::cout << "OK" << std::endl; + /// else + /// std::cout << "key does not exist" << std::endl; + /// @endcode + /// @param key Key. + /// @param val Value. + /// @param ttl Timeout on the key. If `ttl` is 0ms, do not set timeout. + /// @param type Options for set command: + /// - UpdateType::EXIST: Set the key only if it already exists. + /// - UpdateType::NOT_EXIST: Set the key only if it does not exist. + /// - UpdateType::ALWAYS: Always set the key no matter whether it exists. + /// @return Whether the key has been set. + /// @retval true If the key has been set. + /// @retval false If the key was not set, because of the given option. + /// @see https://redis.io/commands/set + // TODO: Support KEEPTTL option for Redis 6.0 + bool set(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl = std::chrono::milliseconds(0), + UpdateType type = UpdateType::ALWAYS); + + // TODO: add SETBIT command. + + /// @brief Set key-value pair with the given timeout in seconds. + /// @param key Key. + /// @param ttl Time-To-Live in seconds. + /// @param val Value. + /// @see https://redis.io/commands/setex + void setex(const StringView &key, + long long ttl, + const StringView &val); + + /// @brief Set key-value pair with the given timeout in seconds. + /// @param key Key. + /// @param ttl Time-To-Live in seconds. + /// @param val Value. + /// @see https://redis.io/commands/setex + void setex(const StringView &key, + const std::chrono::seconds &ttl, + const StringView &val); + + /// @brief Set the key if it does not exist. + /// @param key Key. + /// @param val Value. + /// @return Whether the key has been set. + /// @retval true If the key has been set. + /// @retval false If the key was not set, i.e. the key already exists. + /// @see https://redis.io/commands/setnx + bool setnx(const StringView &key, const StringView &val); + + /// @brief Set the substring starting from `offset` to the given value. + /// @param key Key. + /// @param offset Offset. + /// @param val Value. + /// @return The length of the string after this operation. + /// @see https://redis.io/commands/setrange + long long setrange(const StringView &key, long long offset, const StringView &val); + + /// @brief Get the length of the string stored at key. + /// @param key Key. + /// @return The length of the string. + /// @note If key does not exist, `strlen` returns 0. + /// @see https://redis.io/commands/strlen + long long strlen(const StringView &key); + + // LIST commands. + + /// @brief Pop the first element of the list in a blocking way. + /// @param key Key where the list is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If list is empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::lpop` + /// @see https://redis.io/commands/blpop + OptionalStringPair blpop(const StringView &key, long long timeout); + + /// @brief Pop the first element of the list in a blocking way. + /// @param key Key where the list is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If list is empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::lpop` + /// @see https://redis.io/commands/blpop + OptionalStringPair blpop(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + /// @brief Pop the first element of multiple lists in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::lpop` + /// @see https://redis.io/commands/blpop + template + OptionalStringPair blpop(Input first, Input last, long long timeout); + + /// @brief Pop the first element of multiple lists in a blocking way. + /// @param il Initializer list of keys. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::lpop` + /// @see https://redis.io/commands/blpop + template + OptionalStringPair blpop(std::initializer_list il, long long timeout) { + return blpop(il.begin(), il.end(), timeout); + } + + /// @brief Pop the first element of multiple lists in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::lpop` + /// @see https://redis.io/commands/blpop + template + OptionalStringPair blpop(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + /// @brief Pop the first element of multiple lists in a blocking way. + /// @param il Initializer list of keys. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::lpop` + /// @see https://redis.io/commands/blpop + template + OptionalStringPair blpop(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return blpop(il.begin(), il.end(), timeout); + } + + /// @brief Pop the last element of the list in a blocking way. + /// @param key Key where the list is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If list is empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::rpop` + /// @see https://redis.io/commands/brpop + OptionalStringPair brpop(const StringView &key, long long timeout); + + /// @brief Pop the last element of the list in a blocking way. + /// @param key Key where the list is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If list is empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::rpop` + /// @see https://redis.io/commands/brpop + OptionalStringPair brpop(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + /// @brief Pop the last element of multiple lists in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::rpop` + /// @see https://redis.io/commands/brpop + template + OptionalStringPair brpop(Input first, Input last, long long timeout); + + /// @brief Pop the last element of multiple lists in a blocking way. + /// @param il Initializer list of lists. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::rpop` + /// @see https://redis.io/commands/brpop + template + OptionalStringPair brpop(std::initializer_list il, long long timeout) { + return brpop(il.begin(), il.end(), timeout); + } + + /// @brief Pop the last element of multiple lists in a blocking way. + /// @param first Iterator to the first list. + /// @param last Off-the-end iterator to the list range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::rpop` + /// @see https://redis.io/commands/brpop + template + OptionalStringPair brpop(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + /// @brief Pop the last element of multiple lists in a blocking way. + /// @param il Initializer list of list keys. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-element pair. + /// @note If all lists are empty and timeout reaches, return `OptionalStringPair{}` (`std::nullopt`). + /// @see `Redis::rpop` + /// @see https://redis.io/commands/brpop + template + OptionalStringPair brpop(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return brpop(il.begin(), il.end(), timeout); + } + + /// @brief Pop last element of one list and push it to the left of another list in blocking way. + /// @param source Key of the source list. + /// @param destination Key of the destination list. + /// @param timeout Timeout. 0 means block forever. + /// @return The popped element. + /// @note If the source list does not exist, `brpoplpush` returns `OptionalString{}` (`std::nullopt`). + /// @see `Redis::rpoplpush` + /// @see https://redis.io/commands/brpoplpush + OptionalString brpoplpush(const StringView &source, + const StringView &destination, + long long timeout); + + /// @brief Pop last element of one list and push it to the left of another list in blocking way. + /// @param source Key of the source list. + /// @param destination Key of the destination list. + /// @param timeout Timeout. 0 means block forever. + /// @return The popped element. + /// @note If the source list does not exist, `brpoplpush` returns `OptionalString{}` (`std::nullopt`). + /// @see `Redis::rpoplpush` + /// @see https://redis.io/commands/brpoplpush + OptionalString brpoplpush(const StringView &source, + const StringView &destination, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + /// @brief Get the element at the given index of the list. + /// @param key Key where the list is stored. + /// @param index Zero-base index, and -1 means the last element. + /// @return The element at the given index. + /// @see https://redis.io/commands/lindex + OptionalString lindex(const StringView &key, long long index); + + /// @brief Insert an element to a list before or after the pivot element. + /// + /// Example: + /// @code{.cpp} + /// // Insert 'hello' before 'world' + /// auto len = redis.linsert("list", InsertPosition::BEFORE, "world", "hello"); + /// if (len == -1) + /// std::cout << "there's no 'world' in the list" << std::endl; + /// else + /// std::cout << "after the operation, the length of the list is " << len << std::endl; + /// @endcode + /// @param key Key where the list is stored. + /// @param position Before or after the pivot element. + /// @param pivot The pivot value. The `pivot` is the value of the element, not the index. + /// @param val Element to be inserted. + /// @return The length of the list after the operation. + /// @note If the pivot value is not found, `linsert` returns -1. + /// @see `InsertPosition` + /// @see https://redis.io/commands/linsert + long long linsert(const StringView &key, + InsertPosition position, + const StringView &pivot, + const StringView &val); + + /// @brief Get the length of the list. + /// @param key Key where the list is stored. + /// @return The length of the list. + /// @see https://redis.io/commands/llen + long long llen(const StringView &key); + + /// @brief Pop the first element of the list. + /// + /// Example: + /// @code{.cpp} + /// auto element = redis.lpop("list"); + /// if (element) + /// std::cout << *element << std::endl; + /// else + /// std::cout << "list is empty, i.e. list does not exist" << std::endl; + /// @endcode + /// @param key Key where the list is stored. + /// @return The popped element. + /// @note If list is empty, i.e. key does not exist, return `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/lpop + OptionalString lpop(const StringView &key); + + /// @brief Push an element to the beginning of the list. + /// @param key Key where the list is stored. + /// @param val Element to be pushed. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/lpush + long long lpush(const StringView &key, const StringView &val); + + /// @brief Push multiple elements to the beginning of the list. + /// + /// Example: + /// @code{.cpp} + /// std::vector elements = {"e1", "e2", "e3"}; + /// redis.lpush("list", elements.begin(), elements.end()); + /// @endcode + /// @param key Key where the list is stored. + /// @param first Iterator to the first element to be pushed. + /// @param last Off-the-end iterator to the given element range. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/lpush + template + long long lpush(const StringView &key, Input first, Input last); + + /// @brief Push multiple elements to the beginning of the list. + /// + /// Example: + /// @code{.cpp} + /// redis.lpush("list", {"e1", "e2", "e3"}); + /// @endcode + /// @param key Key where the list is stored. + /// @param il Initializer list of elements. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/lpush + template + long long lpush(const StringView &key, std::initializer_list il) { + return lpush(key, il.begin(), il.end()); + } + + /// @brief Push an element to the beginning of the list, only if the list already exists. + /// @param key Key where the list is stored. + /// @param val Element to be pushed. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/lpushx + // TODO: add a multiple elements overload. + long long lpushx(const StringView &key, const StringView &val); + + /// @brief Get elements in the given range of the given list. + /// + /// Example: + /// @code{.cpp} + /// std::vector elements; + /// // Save all elements of a Redis list to a vector of string. + /// redis.lrange("list", 0, -1, std::back_inserter(elements)); + /// @endcode + /// @param key Key where the list is stored. + /// @param start Start index of the range. Index can be negative, which mean index from the end. + /// @param stop End index of the range. + /// @param output Output iterator to the destination where the results are saved. + /// @see https://redis.io/commands/lrange + template + void lrange(const StringView &key, long long start, long long stop, Output output); + + /// @brief Remove the first `count` occurrences of elements equal to `val`. + /// @param key Key where the list is stored. + /// @param count Number of occurrences to be removed. + /// @param val Value. + /// @return Number of elements removed. + /// @note `count` can be positive, negative and 0. Check the reference for detail. + /// @see https://redis.io/commands/lrem + long long lrem(const StringView &key, long long count, const StringView &val); + + /// @brief Set the element at the given index to the specified value. + /// @param key Key where the list is stored. + /// @param index Index of the element to be set. + /// @param val Value. + /// @see https://redis.io/commands/lset + void lset(const StringView &key, long long index, const StringView &val); + + /// @brief Trim a list to keep only element in the given range. + /// @param key Key where the key is stored. + /// @param start Start of the index. + /// @param stop End of the index. + /// @see https://redis.io/commands/ltrim + void ltrim(const StringView &key, long long start, long long stop); + + /// @brief Pop the last element of a list. + /// @param key Key where the list is stored. + /// @return The popped element. + /// @note If the list is empty, i.e. key does not exist, `rpop` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/rpop + OptionalString rpop(const StringView &key); + + /// @brief Pop last element of one list and push it to the left of another list. + /// @param source Key of the source list. + /// @param destination Key of the destination list. + /// @return The popped element. + /// @note If the source list does not exist, `rpoplpush` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/brpoplpush + OptionalString rpoplpush(const StringView &source, const StringView &destination); + + /// @brief Push an element to the end of the list. + /// @param key Key where the list is stored. + /// @param val Element to be pushed. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/rpush + long long rpush(const StringView &key, const StringView &val); + + /// @brief Push multiple elements to the end of the list. + /// @param key Key where the list is stored. + /// @param first Iterator to the first element to be pushed. + /// @param last Off-the-end iterator to the given element range. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/rpush + template + long long rpush(const StringView &key, Input first, Input last); + + /// @brief Push multiple elements to the end of the list. + /// @param key Key where the list is stored. + /// @param il Initializer list of elements to be pushed. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/rpush + template + long long rpush(const StringView &key, std::initializer_list il) { + return rpush(key, il.begin(), il.end()); + } + + /// @brief Push an element to the end of the list, only if the list already exists. + /// @param key Key where the list is stored. + /// @param val Element to be pushed. + /// @return The length of the list after the operation. + /// @see https://redis.io/commands/rpushx + long long rpushx(const StringView &key, const StringView &val); + + // HASH commands. + + /// @brief Remove the given field from hash. + /// @param key Key where the hash is stored. + /// @param field Field to be removed. + /// @return Whether the field has been removed. + /// @retval 1 If the field exists, and has been removed. + /// @retval 0 If the field does not exist. + /// @see https://redis.io/commands/hdel + long long hdel(const StringView &key, const StringView &field); + + /// @brief Remove multiple fields from hash. + /// @param key Key where the hash is stored. + /// @param first Iterator to the first field to be removed. + /// @param last Off-the-end iterator to the given field range. + /// @return Number of fields that has been removed. + /// @see https://redis.io/commands/hdel + template + long long hdel(const StringView &key, Input first, Input last); + + /// @brief Remove multiple fields from hash. + /// @param key Key where the hash is stored. + /// @param il Initializer list of fields. + /// @return Number of fields that has been removed. + /// @see https://redis.io/commands/hdel + template + long long hdel(const StringView &key, std::initializer_list il) { + return hdel(key, il.begin(), il.end()); + } + + /// @brief Check if the given field exists in hash. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @return Whether the field exists. + /// @retval true If the field exists in hash. + /// @retval false If the field does not exist. + /// @see https://redis.io/commands/hexists + bool hexists(const StringView &key, const StringView &field); + + /// @brief Get the value of the given field. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @return Value of the given field. + /// @note If field does not exist, `hget` returns `OptionalString{}` (`std::nullopt`). + /// @see https://redis.io/commands/hget + OptionalString hget(const StringView &key, const StringView &field); + + /// @brief Get all field-value pairs of the given hash. + /// + /// Example: + /// @code{.cpp} + /// std::unordered_map results; + /// // Save all field-value pairs of a Redis hash to an unordered_map. + /// redis.hgetall("hash", std::inserter(results, results.begin())); + /// @endcode + /// @param key Key where the hash is stored. + /// @param output Output iterator to the destination where the result is saved. + /// @note It's always a bad idea to call `hgetall` on a large hash, since it will block Redis. + /// @see `Redis::hscan` + /// @see https://redis.io/commands/hgetall + template + void hgetall(const StringView &key, Output output); + + /// @brief Increment the integer stored at the given field. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @param increment Increment. + /// @return The value of the field after the increment. + /// @see https://redis.io/commands/hincrby + long long hincrby(const StringView &key, const StringView &field, long long increment); + + /// @brief Increment the floating point number stored at the given field. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @param increment Increment. + /// @return The value of the field after the increment. + /// @see https://redis.io/commands/hincrbyfloat + double hincrbyfloat(const StringView &key, const StringView &field, double increment); + + /// @brief Get all fields of the given hash. + /// @param key Key where the hash is stored. + /// @param output Output iterator to the destination where the result is saved. + /// @note It's always a bad idea to call `hkeys` on a large hash, since it will block Redis. + /// @see `Redis::hscan` + /// @see https://redis.io/commands/hkeys + template + void hkeys(const StringView &key, Output output); + + /// @brief Get the number of fields of the given hash. + /// @param key Key where the hash is stored. + /// @return Number of fields. + /// @see https://redis.io/commands/hlen + long long hlen(const StringView &key); + + /// @brief Get values of multiple fields. + /// + /// Example: + /// @code{.cpp} + /// std::vector fields = {"f1", "f2"}; + /// std::vector vals; + /// redis.hmget("hash", fields.begin(), fields.end(), std::back_inserter(vals)); + /// for (const auto &val : vals) { + /// if (val) + /// std::cout << *val << std::endl; + /// else + /// std::cout << "field not exist" << std::endl; + /// } + /// @endcode + /// @param key Key where the hash is stored. + /// @param first Iterator to the first field. + /// @param last Off-the-end iterator to the given field range. + /// @param output Output iterator to the destination where the result is saved. + /// @note The destination should be a container of `OptionalString` type, + /// since the given field might not exist (in this case, the value of the corresponding + /// field is `OptionalString{}` (`std::nullopt`)). + /// @see https://redis.io/commands/hmget + template + void hmget(const StringView &key, Input first, Input last, Output output); + + /// @brief Get values of multiple fields. + /// + /// Example: + /// @code{.cpp} + /// std::vector vals; + /// redis.hmget("hash", {"f1", "f2"}, std::back_inserter(vals)); + /// for (const auto &val : vals) { + /// if (val) + /// std::cout << *val << std::endl; + /// else + /// std::cout << "field not exist" << std::endl; + /// } + /// @endcode + /// @param key Key where the hash is stored. + /// @param il Initializer list of fields. + /// @param output Output iterator to the destination where the result is saved. + /// @note The destination should be a container of `OptionalString` type, + /// since the given field might not exist (in this case, the value of the corresponding + /// field is `OptionalString{}` (`std::nullopt`)). + /// @see https://redis.io/commands/hmget + template + void hmget(const StringView &key, std::initializer_list il, Output output) { + hmget(key, il.begin(), il.end(), output); + } + + /// @brief Set multiple field-value pairs of the given hash. + /// + /// Example: + /// @code{.cpp} + /// std::unordered_map m = {{"f1", "v1"}, {"f2", "v2"}}; + /// redis.hmset("hash", m.begin(), m.end()); + /// @endcode + /// @param key Key where the hash is stored. + /// @param first Iterator to the first field-value pair. + /// @param last Off-the-end iterator to the range. + /// @see https://redis.io/commands/hmset + template + void hmset(const StringView &key, Input first, Input last); + + /// @brief Set multiple field-value pairs of the given hash. + /// + /// Example: + /// @code{.cpp} + /// redis.hmset("hash", {std::make_pair("f1", "v1"), std::make_pair("f2", "v2")}); + /// @endcode + /// @param key Key where the hash is stored. + /// @param il Initializer list of field-value pairs. + /// @see https://redis.io/commands/hmset + template + void hmset(const StringView &key, std::initializer_list il) { + hmset(key, il.begin(), il.end()); + } + + /// @brief Scan fields of the given hash matching the given pattern. + /// + /// Example: + /// @code{.cpp} + /// auto cursor = 0LL; + /// std::unordered_map kvs; + /// while (true) { + /// cursor = redis.hscan("hash", cursor, "pattern:*", 10, std::inserter(kvs, kvs.begin())); + /// if (cursor == 0) { + /// break; + /// } + /// } + /// @endcode + /// @param key Key where the hash is stored. + /// @param cursor Cursor. + /// @param pattern Pattern of fields to be scanned. + /// @param count A hint for how many fields to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/hscan + template + long long hscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output); + + /// @brief Scan fields of the given hash matching the given pattern. + /// @param key Key where the hash is stored. + /// @param cursor Cursor. + /// @param pattern Pattern of fields to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/hscan + template + long long hscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output); + + /// @brief Scan all fields of the given hash. + /// @param key Key where the hash is stored. + /// @param cursor Cursor. + /// @param count A hint for how many fields to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/hscan + template + long long hscan(const StringView &key, + long long cursor, + long long count, + Output output); + + /// @brief Scan all fields of the given hash. + /// @param key Key where the hash is stored. + /// @param cursor Cursor. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/hscan + template + long long hscan(const StringView &key, + long long cursor, + Output output); + + /// @brief Set hash field to value. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @param val Value. + /// @return Whether the given field is a new field. + /// @retval true If the given field didn't exist, and a new field has been added. + /// @retval false If the given field already exists, and its value has been overwritten. + /// @note When `hset` returns false, it does not mean that the method failed to set the field. + /// Instead, it means that the field already exists, and we've overwritten its value. + /// If `hset` fails, it will throw an exception of `Exception` type. + /// @see https://github.com/sewenew/redis-plus-plus/issues/9 + /// @see https://redis.io/commands/hset + bool hset(const StringView &key, const StringView &field, const StringView &val); + + /// @brief Set hash field to value. + /// @param key Key where the hash is stored. + /// @param item The field-value pair to be set. + /// @return Whether the given field is a new field. + /// @retval true If the given field didn't exist, and a new field has been added. + /// @retval false If the given field already exists, and its value has been overwritten. + /// @note When `hset` returns false, it does not mean that the method failed to set the field. + /// Instead, it means that the field already exists, and we've overwritten its value. + /// If `hset` fails, it will throw an exception of `Exception` type. + /// @see https://github.com/sewenew/redis-plus-plus/issues/9 + /// @see https://redis.io/commands/hset + bool hset(const StringView &key, const std::pair &item); + + /// @brief Set multiple fields of the given hash. + /// + /// Example: + /// @code{.cpp} + /// std::unordered_map m = {{"f1", "v1"}, {"f2", "v2"}}; + /// redis.hset("hash", m.begin(), m.end()); + /// @endcode + /// @param key Key where the hash is stored. + /// @param first Iterator to the first field to be set. + /// @param last Off-the-end iterator to the given range. + /// @return Number of fields that have been added, i.e. fields that not existed before. + /// @see https://redis.io/commands/hset + template + auto hset(const StringView &key, Input first, Input last) + -> typename std::enable_if::value, long long>::type; + + /// @brief Set multiple fields of the given hash. + /// + /// Example: + /// @code{.cpp} + /// redis.hset("hash", {std::make_pair("f1", "v1"), std::make_pair("f2", "v2")}); + /// @endcode + /// @param key Key where the hash is stored. + /// @param il Initializer list of field-value pairs. + /// @return Number of fields that have been added, i.e. fields that not existed before. + /// @see https://redis.io/commands/hset + template + long long hset(const StringView &key, std::initializer_list il) { + return hset(key, il.begin(), il.end()); + } + + /// @brief Set hash field to value, only if the given field does not exist. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @param val Value. + /// @return Whether the field has been set. + /// @retval true If the field has been set. + /// @retval false If failed to set the field, i.e. the field already exists. + /// @see https://redis.io/commands/hsetnx + bool hsetnx(const StringView &key, const StringView &field, const StringView &val); + + /// @brief Set hash field to value, only if the given field does not exist. + /// @param key Key where the hash is stored. + /// @param item The field-value pair to be set. + /// @return Whether the field has been set. + /// @retval true If the field has been set. + /// @retval false If failed to set the field, i.e. the field already exists. + /// @see https://redis.io/commands/hsetnx + bool hsetnx(const StringView &key, const std::pair &item); + + /// @brief Get the length of the string stored at the given field. + /// @param key Key where the hash is stored. + /// @param field Field. + /// @return Length of the string. + /// @see https://redis.io/commands/hstrlen + long long hstrlen(const StringView &key, const StringView &field); + + /// @brief Get values of all fields stored at the given hash. + /// @param key Key where the hash is stored. + /// @param output Output iterator to the destination where the result is saved. + /// @note It's always a bad idea to call `hvals` on a large hash, since it might block Redis. + /// @see `Redis::hscan` + /// @see https://redis.io/commands/hvals + template + void hvals(const StringView &key, Output output); + + // SET commands. + + /// @brief Add a member to the given set. + /// @param key Key where the set is stored. + /// @param member Member to be added. + /// @return Whether the given member is a new member. + /// @retval 1 The member did not exist before, and it has been added now. + /// @retval 0 The member already exists before this operation. + /// @see https://redis.io/commands/sadd + long long sadd(const StringView &key, const StringView &member); + + /// @brief Add multiple members to the given set. + /// @param key Key where the set is stored. + /// @param first Iterator to the first member to be added. + /// @param last Off-the-end iterator to the member range. + /// @return Number of new members that have been added, i.e. members did not exist before. + /// @see https://redis.io/commands/sadd + template + long long sadd(const StringView &key, Input first, Input last); + + /// @brief Add multiple members to the given set. + /// @param key Key where the set is stored. + /// @param il Initializer list of members to be added. + /// @return Number of new members that have been added, i.e. members did not exist before. + /// @see https://redis.io/commands/sadd + template + long long sadd(const StringView &key, std::initializer_list il) { + return sadd(key, il.begin(), il.end()); + } + + /// @brief Get the number of members in the set. + /// @param key Key where the set is stored. + /// @return Number of members. + /// @see https://redis.io/commands/scard + long long scard(const StringView &key); + + /// @brief Get the difference between the first set and all successive sets. + /// @param first Iterator to the first set. + /// @param last Off-the-end iterator to the range. + /// @param output Output iterator to the destination where the result is saved. + /// @see https://redis.io/commands/sdiff + // TODO: `void sdiff(const StringView &key, Input first, Input last, Output output)` is better. + template + void sdiff(Input first, Input last, Output output); + + /// @brief Get the difference between the first set and all successive sets. + /// @param il Initializer list of sets. + /// @param output Output iterator to the destination where the result is saved. + /// @see https://redis.io/commands/sdiff + template + void sdiff(std::initializer_list il, Output output) { + sdiff(il.begin(), il.end(), output); + } + + /// @brief Copy set stored at `key` to `destination`. + /// @param destination Key of the destination set. + /// @param key Key of the source set. + /// @return Number of members of the set. + /// @see https://redis.io/commands/sdiffstore + long long sdiffstore(const StringView &destination, const StringView &key); + + /// @brief Same as `sdiff`, except that it stores the result to another set. + /// @param destination Key of the destination set. + /// @param first Iterator to the first set. + /// @param last Off-the-end iterator to set range. + /// @return Number of members in the resulting set. + /// @see https://redis.io/commands/sdiffstore + template + long long sdiffstore(const StringView &destination, + Input first, + Input last); + + /// @brief Same as `sdiff`, except that it stores the result to another set. + /// @param destination Key of the destination set. + /// @param il Initializer list of sets. + /// @return Number of members in the resulting set. + /// @see https://redis.io/commands/sdiffstore + template + long long sdiffstore(const StringView &destination, + std::initializer_list il) { + return sdiffstore(destination, il.begin(), il.end()); + } + + /// @brief Get the intersection between the first set and all successive sets. + /// @param first Iterator to the first set. + /// @param last Off-the-end iterator to the range. + /// @param output Output iterator to the destination where the result is saved. + /// @see https://redis.io/commands/sinter + // TODO: `void sinter(const StringView &key, Input first, Input last, Output output)` is better. + template + void sinter(Input first, Input last, Output output); + + /// @brief Get the intersection between the first set and all successive sets. + /// @param il Initializer list of sets. + /// @param output Output iterator to the destination where the result is saved. + /// @see https://redis.io/commands/sinter + template + void sinter(std::initializer_list il, Output output) { + sinter(il.begin(), il.end(), output); + } + + /// @brief Copy set stored at `key` to `destination`. + /// @param destination Key of the destination set. + /// @param key Key of the source set. + /// @return Number of members of the set. + /// @see https://redis.io/commands/sinter + long long sinterstore(const StringView &destination, const StringView &key); + + /// @brief Same as `sinter`, except that it stores the result to another set. + /// @param destination Key of the destination set. + /// @param first Iterator to the first set. + /// @param last Off-the-end iterator to set range. + /// @return Number of members in the resulting set. + /// @see https://redis.io/commands/sinter + template + long long sinterstore(const StringView &destination, + Input first, + Input last); + + /// @brief Same as `sinter`, except that it stores the result to another set. + /// @param destination Key of the destination set. + /// @param il Initializer list of sets. + /// @return Number of members in the resulting set. + /// @see https://redis.io/commands/sinter + template + long long sinterstore(const StringView &destination, + std::initializer_list il) { + return sinterstore(destination, il.begin(), il.end()); + } + + /// @brief Test if `member` exists in the set stored at key. + /// @param key Key where the set is stored. + /// @param member Member to be checked. + /// @return Whether `member` exists in the set. + /// @retval true If it exists in the set. + /// @retval false If it does not exist in the set, or the given key does not exist. + /// @see https://redis.io/commands/sismember + bool sismember(const StringView &key, const StringView &member); + + /// @brief Get all members in the given set. + /// + /// Example: + /// @code{.cpp} + /// std::unordered_set members1; + /// redis.smembers("set", std::inserter(members1, members1.begin())); + /// std::vector members2; + /// redis.smembers("set", std::back_inserter(members2)); + /// @endcode + /// @param key Key where the set is stored. + /// @param output Iterator to the destination where the result is saved. + /// @see https://redis.io/commands/smembers + template + void smembers(const StringView &key, Output output); + + /// @brief Move `member` from one set to another. + /// @param source Key of the set in which the member currently exists. + /// @param destination Key of the destination set. + /// @return Whether the member has been moved. + /// @retval true If the member has been moved. + /// @retval false If `member` does not exist in `source`. + /// @see https://redis.io/commands/smove + bool smove(const StringView &source, + const StringView &destination, + const StringView &member); + + /// @brief Remove a random member from the set. + /// @param key Key where the set is stored. + /// @return The popped member. + /// @note If the set is empty, `spop` returns `OptionalString{}` (`std::nullopt`). + /// @see `Redis::srandmember` + /// @see https://redis.io/commands/spop + OptionalString spop(const StringView &key); + + /// @brief Remove multiple random members from the set. + /// + /// Example: + /// @code{.cpp} + /// std::vector members; + /// redis.spop("set", 10, std::back_inserter(members)); + /// @endcode + /// @param key Key where the set is stored. + /// @param count Number of members to be popped. + /// @param output Output iterator to the destination where the result is saved. + /// @note The number of popped members might be less than `count`. + /// @see `Redis::srandmember` + /// @see https://redis.io/commands/spop + template + void spop(const StringView &key, long long count, Output output); + + /// @brief Get a random member of the given set. + /// @param key Key where the set is stored. + /// @return A random member. + /// @note If the set is empty, `srandmember` returns `OptionalString{}` (`std::nullopt`). + /// @note This method won't remove the member from the set. + /// @see `Redis::spop` + /// @see https://redis.io/commands/srandmember + OptionalString srandmember(const StringView &key); + + /// @brief Get multiple random members of the given set. + /// @param key Key where the set is stored. + /// @param count Number of members to be returned. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method won't remove members from the set. + /// @see `Redis::spop` + /// @see https://redis.io/commands/srandmember + template + void srandmember(const StringView &key, long long count, Output output); + + /// @brief Remove a member from set. + /// @param key Key where the set is stored. + /// @param member Member to be removed. + /// @return Whether the member has been removed. + /// @retval 1 If the given member exists, and has been removed. + /// @retval 0 If the given member does not exist. + /// @see https://redis.io/commands/srem + long long srem(const StringView &key, const StringView &member); + + /// @brief Remove multiple members from set. + /// @param key Key where the set is stored. + /// @param first Iterator to the first member to be removed. + /// @param last Off-the-end iterator to the range. + /// @return Number of members that have been removed. + /// @see https://redis.io/commands/srem + template + long long srem(const StringView &key, Input first, Input last); + + /// @brief Remove multiple members from set. + /// @param key Key where the set is stored. + /// @param il Initializer list of members to be removed. + /// @return Number of members that have been removed. + /// @see https://redis.io/commands/srem + template + long long srem(const StringView &key, std::initializer_list il) { + return srem(key, il.begin(), il.end()); + } + + /// @brief Scan members of the set matching the given pattern. + /// + /// Example: + /// @code{.cpp} + /// auto cursor = 0LL; + /// std::unordered_set members; + /// while (true) { + /// cursor = redis.sscan("set", cursor, "pattern:*", + /// 10, std::inserter(members, members.begin())); + /// if (cursor == 0) { + /// break; + /// } + /// } + /// @endcode + /// @param key Key where the set is stored. + /// @param cursor Cursor. + /// @param pattern Pattern of fields to be scanned. + /// @param count A hint for how many fields to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/sscan + template + long long sscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output); + + /// @brief Scan members of the set matching the given pattern. + /// @param key Key where the set is stored. + /// @param cursor Cursor. + /// @param pattern Pattern of fields to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/sscan + template + long long sscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output); + + /// @brief Scan all members of the given set. + /// @param key Key where the set is stored. + /// @param cursor Cursor. + /// @param count A hint for how many fields to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/sscan + template + long long sscan(const StringView &key, + long long cursor, + long long count, + Output output); + + /// @brief Scan all members of the given set. + /// @param key Key where the set is stored. + /// @param cursor Cursor. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/sscan + template + long long sscan(const StringView &key, + long long cursor, + Output output); + + /// @brief Get the union between the first set and all successive sets. + /// @param first Iterator to the first set. + /// @param last Off-the-end iterator to the range. + /// @param output Output iterator to the destination where the result is saved. + /// @see https://redis.io/commands/sunion + // TODO: `void sunion(const StringView &key, Input first, Input last, Output output)` is better. + template + void sunion(Input first, Input last, Output output); + + /// @brief Get the union between the first set and all successive sets. + /// @param il Initializer list of sets. + /// @param output Output iterator to the destination where the result is saved. + /// @see https://redis.io/commands/sunion + template + void sunion(std::initializer_list il, Output output) { + sunion(il.begin(), il.end(), output); + } + + /// @brief Copy set stored at `key` to `destination`. + /// @param destination Key of the destination set. + /// @param key Key of the source set. + /// @return Number of members of the set. + /// @see https://redis.io/commands/sunionstore + long long sunionstore(const StringView &destination, const StringView &key); + + /// @brief Same as `sunion`, except that it stores the result to another set. + /// @param destination Key of the destination set. + /// @param first Iterator to the first set. + /// @param last Off-the-end iterator to set range. + /// @return Number of members in the resulting set. + /// @see https://redis.io/commands/sunionstore + template + long long sunionstore(const StringView &destination, Input first, Input last); + + /// @brief Same as `sunion`, except that it stores the result to another set. + /// @param destination Key of the destination set. + /// @param il Initializer list of sets. + /// @return Number of members in the resulting set. + /// @see https://redis.io/commands/sunionstore + template + long long sunionstore(const StringView &destination, std::initializer_list il) { + return sunionstore(destination, il.begin(), il.end()); + } + + // SORTED SET commands. + + /// @brief Pop the member with highest score from sorted set in a blocking way. + /// @param key Key where the sorted set is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the highest score. + /// @note If sorted set is empty and timeout reaches, `bzpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmax` + /// @see https://redis.io/commands/bzpopmax + auto bzpopmax(const StringView &key, long long timeout) + -> Optional>; + + /// @brief Pop the member with highest score from sorted set in a blocking way. + /// @param key Key where the sorted set is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the highest score. + /// @note If sorted set is empty and timeout reaches, `bzpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmax` + /// @see https://redis.io/commands/bzpopmax + auto bzpopmax(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + /// @brief Pop the member with highest score from multiple sorted set in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the higest score. + /// @note If all lists are empty and timeout reaches, `bzpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmax` + /// @see https://redis.io/commands/bzpopmax + template + auto bzpopmax(Input first, Input last, long long timeout) + -> Optional>; + + /// @brief Pop the member with highest score from multiple sorted set in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the higest score. + /// @note If all lists are empty and timeout reaches, `bzpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmax` + /// @see https://redis.io/commands/bzpopmax + template + auto bzpopmax(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + /// @brief Pop the member with highest score from multiple sorted set in a blocking way. + /// @param il Initializer list of sorted sets. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the higest score. + /// @note If all lists are empty and timeout reaches, `bzpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmax` + /// @see https://redis.io/commands/bzpopmax + template + auto bzpopmax(std::initializer_list il, long long timeout) + -> Optional> { + return bzpopmax(il.begin(), il.end(), timeout); + } + + /// @brief Pop the member with highest score from multiple sorted set in a blocking way. + /// @param il Initializer list of sorted sets. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the higest score. + /// @note If all lists are empty and timeout reaches, `bzpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmax` + /// @see https://redis.io/commands/bzpopmax + template + auto bzpopmax(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional> { + return bzpopmax(il.begin(), il.end(), timeout); + } + + /// @brief Pop the member with lowest score from sorted set in a blocking way. + /// @param key Key where the sorted set is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the lowest score. + /// @note If sorted set is empty and timeout reaches, `bzpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmin` + /// @see https://redis.io/commands/bzpopmin + auto bzpopmin(const StringView &key, long long timeout) + -> Optional>; + + /// @brief Pop the member with lowest score from sorted set in a blocking way. + /// @param key Key where the sorted set is stored. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the lowest score. + /// @note If sorted set is empty and timeout reaches, `bzpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmin` + /// @see https://redis.io/commands/bzpopmin + auto bzpopmin(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + /// @brief Pop the member with lowest score from multiple sorted set in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the lowest score. + /// @note If all lists are empty and timeout reaches, `bzpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmin` + /// @see https://redis.io/commands/bzpopmin + template + auto bzpopmin(Input first, Input last, long long timeout) + -> Optional>; + + /// @brief Pop the member with lowest score from multiple sorted set in a blocking way. + /// @param first Iterator to the first key. + /// @param last Off-the-end iterator to the key range. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the lowest score. + /// @note If all lists are empty and timeout reaches, `bzpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmin` + /// @see https://redis.io/commands/bzpopmin + template + auto bzpopmin(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + /// @brief Pop the member with lowest score from multiple sorted set in a blocking way. + /// @param il Initializer list of sorted sets. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the lowest score. + /// @note If all lists are empty and timeout reaches, `bzpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmin` + /// @see https://redis.io/commands/bzpopmin + template + auto bzpopmin(std::initializer_list il, long long timeout) + -> Optional> { + return bzpopmin(il.begin(), il.end(), timeout); + } + + /// @brief Pop the member with lowest score from multiple sorted set in a blocking way. + /// @param il Initializer list of sorted sets. + /// @param timeout Timeout in seconds. 0 means block forever. + /// @return Key-member-score tuple with the lowest score. + /// @note If all lists are empty and timeout reaches, `bzpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::zpopmin` + /// @see https://redis.io/commands/bzpopmin + template + auto bzpopmin(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional> { + return bzpopmin(il.begin(), il.end(), timeout); + } + + /// @brief Add or update a member with score to sorted set. + /// @param key Key where the sorted set is stored. + /// @param member Member to be added. + /// @param score Score of the member. + /// @param type Options for zadd command: + /// - UpdateType::EXIST: Add the member only if it already exists. + /// - UpdateType::NOT_EXIST: Add the member only if it does not exist. + /// - UpdateType::ALWAYS: Always add the member no matter whether it exists. + /// @param changed Whether change the return value from number of newly added member to + /// number of members changed (i.e. added and updated). + /// @return Number of added members or number of added and updated members depends on `changed`. + /// @note We don't support the INCR option, because in this case, the return value of zadd + /// command is NOT of type long long. However, you can always use the generic interface + /// to send zadd command with INCR option: + /// `auto score = redis.command("ZADD", "key", "XX", "INCR", 10, "mem");` + /// @see `UpdateType` + /// @see https://redis.io/commands/zadd + long long zadd(const StringView &key, + const StringView &member, + double score, + UpdateType type = UpdateType::ALWAYS, + bool changed = false); + + /// @brief Add or update multiple members with score to sorted set. + /// + /// Example: + /// @code{.cpp} + /// std::unordered_map m = {{"m1", 1.2}, {"m2", 2.3}}; + /// redis.zadd("zset", m.begin(), m.end()); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param first Iterator to the first member-score pair. + /// @param last Off-the-end iterator to the member-score pairs range. + /// @param type Options for zadd command: + /// - UpdateType::EXIST: Add the member only if it already exists. + /// - UpdateType::NOT_EXIST: Add the member only if it does not exist. + /// - UpdateType::ALWAYS: Always add the member no matter whether it exists. + /// @param changed Whether change the return value from number of newly added member to + /// number of members changed (i.e. added and updated). + /// @return Number of added members or number of added and updated members depends on `changed`. + /// @note We don't support the INCR option, because in this case, the return value of zadd + /// command is NOT of type long long. However, you can always use the generic interface + /// to send zadd command with INCR option: + /// `auto score = redis.command("ZADD", "key", "XX", "INCR", 10, "mem");` + /// @see `UpdateType` + /// @see https://redis.io/commands/zadd + template + long long zadd(const StringView &key, + Input first, + Input last, + UpdateType type = UpdateType::ALWAYS, + bool changed = false); + + /// @brief Add or update multiple members with score to sorted set. + /// + /// Example: + /// @code{.cpp} + /// redis.zadd("zset", {std::make_pair("m1", 1.4), std::make_pair("m2", 2.3)}); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param first Iterator to the first member-score pair. + /// @param last Off-the-end iterator to the member-score pairs range. + /// @param type Options for zadd command: + /// - UpdateType::EXIST: Add the member only if it already exists. + /// - UpdateType::NOT_EXIST: Add the member only if it does not exist. + /// - UpdateType::ALWAYS: Always add the member no matter whether it exists. + /// @param changed Whether change the return value from number of newly added member to + /// number of members changed (i.e. added and updated). + /// @return Number of added members or number of added and updated members depends on `changed`. + /// @note We don't support the INCR option, because in this case, the return value of zadd + /// command is NOT of type long long. However, you can always use the generic interface + /// to send zadd command with INCR option: + /// `auto score = redis.command("ZADD", "key", "XX", "INCR", 10, "mem");` + /// @see `UpdateType` + /// @see https://redis.io/commands/zadd + template + long long zadd(const StringView &key, + std::initializer_list il, + UpdateType type = UpdateType::ALWAYS, + bool changed = false) { + return zadd(key, il.begin(), il.end(), type, changed); + } + + /// @brief Get the number of members in the sorted set. + /// @param key Key where the sorted set is stored. + /// @return Number of members in the sorted set. + /// @see https://redis.io/commands/zcard + long long zcard(const StringView &key); + + /// @brief Get the number of members with score between a min-max score range. + /// + /// Example: + /// @code{.cpp} + /// // Count members with score between (2.3, 5] + /// redis.zcount("zset", BoundedInterval(2.3, 5, BoundType::LEFT_OPEN)); + /// // Count members with score between [2.3, 5) + /// redis.zcount("zset", BoundedInterval(2.3, 5, BoundType::RIGHT_OPEN)); + /// // Count members with score between (2.3, 5) + /// redis.zcount("zset", BoundedInterval(2.3, 5, BoundType::OPEN)); + /// // Count members with score between [2.3, 5] + /// redis.zcount("zset", BoundedInterval(2.3, 5, BoundType::CLOSED)); + /// // Count members with score between [2.3, +inf) + /// redis.zcount("zset", LeftBoundedInterval(2.3, BoundType::RIGHT_OPEN)); + /// // Count members with score between (2.3, +inf) + /// redis.zcount("zset", LeftBoundedInterval(2.3, BoundType::OPEN)); + /// // Count members with score between (-inf, 5] + /// redis.zcount("zset", RightBoundedInterval(5, BoundType::LEFT_OPEN)); + /// // Count members with score between (-inf, 5) + /// redis.zcount("zset", RightBoundedInterval(5, BoundType::OPEN)); + /// // Count members with score between (-inf, +inf) + /// redis.zcount("zset", UnboundedInterval{}); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval The min-max score range. + /// @return Number of members with score between a min-max score range. + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see https://redis.io/commands/zcount + // TODO: add a string version of Interval: zcount("key", "(2.3", "5"). + template + long long zcount(const StringView &key, const Interval &interval); + + /// @brief Increment the score of given member. + /// @param key Key where the sorted set is stored. + /// @param increment Increment. + /// @param member Member. + /// @return The score of the member after the operation. + /// @see https://redis.io/commands/zincrby + double zincrby(const StringView &key, double increment, const StringView &member); + + /// @brief Copy a sorted set to another one with the scores being multiplied by a factor. + /// @param destination Key of the destination sorted set. + /// @param key Key of the source sorted set. + /// @param weight Weight to be multiplied to the score of each member. + /// @return The number of members in the sorted set. + /// @note There's no aggregation type parameter for single key overload, since these 3 types + /// have the same effect. + /// @see `Redis::zunionstore` + /// @see https://redis.io/commands/zinterstore + long long zinterstore(const StringView &destination, const StringView &key, double weight); + + /// @brief Get intersection of multiple sorted sets, and store the result to another one. + /// + /// Example: + /// @code{.cpp} + /// // Use the default weight, i.e. 1, + /// // and use the sum of the all scores as the score of the result: + /// std::vector keys = {"k1", "k2", "k3"}; + /// redis.zinterstore("destination", keys.begin(), keys.end()); + /// // Each sorted set has a different weight, + /// // and the score of the result is the min of all scores. + /// std::vector> keys_with_weights = {{"k1", 1}, {"k2", 2}}; + /// redis.zinterstore("destination", keys_with_weights.begin(), + /// keys_with_weights.end(), Aggregation::MIN); + /// // NOTE: `keys_with_weights` can also be of type `std::unordered_map`. + /// // However, it will be slower than std::vector>, since we use + /// // `std::distance(first, last)` to calculate the *numkeys* parameter. + /// @endcode + /// @param destination Key of the destination sorted set. + /// @param first Iterator to the first sorted set (might with weight). + /// @param last Off-the-end iterator to the sorted set range. + /// @param type How the scores are aggregated. + /// - Aggregation::SUM: Score of a member is the sum of all scores. + /// - Aggregation::MIN: Score of a member is the min of all scores. + /// - Aggregation::MAX: Score of a member is the max of all scores. + /// @return The number of members in the resulting sorted set. + /// @note The score of each member can be multiplied by a factor, i.e. weight. If `Input` is an + /// iterator to a container of `std::string`, we use the default weight, i.e. 1, and send + /// *ZINTERSTORE dest numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]* command. + /// If `Input` is an iterator to a container of `std::pair`, + /// i.e. key-weight pair, we send the command with the given weights: + /// *ZINTERSTORE dest numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]*. + /// See the *Example* part for examples on how to use this command. + /// @see `Redis::zunionstore` + /// @see https://redis.io/commands/zinterstore + template + long long zinterstore(const StringView &destination, + Input first, + Input last, + Aggregation type = Aggregation::SUM); + + /// @brief Get intersection of multiple sorted sets, and store the result to another one. + /// + /// Example: + /// @code{.cpp} + /// // Use the default weight, i.e. 1, + /// // and use the sum of the all scores as the score of the result: + /// redis.zinterstore("destination", {"k1", "k2"}); + /// // Each sorted set has a different weight, + /// // and the score of the result is the min of all scores. + /// redis.zinterstore("destination", + /// {std::make_pair("k1", 1), std::make_pair("k2", 2)}, Aggregation::MIN); + /// @endcode + /// @param destination Key of the destination sorted set. + /// @param il Initializer list of sorted set. + /// @param type How the scores are aggregated. + /// - Aggregation::SUM: Score of a member is the sum of all scores. + /// - Aggregation::MIN: Score of a member is the min of all scores. + /// - Aggregation::MAX: Score of a member is the max of all scores. + /// @return The number of members in the resulting sorted set. + /// @note The score of each member can be multiplied by a factor, i.e. weight. If `T` is + /// of type `std::string`, we use the default weight, i.e. 1, and send + /// *ZINTERSTORE dest numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]* command. + /// If `T` is of type `std::pair`, i.e. key-weight pair, + /// we send the command with the given weights: + /// *ZINTERSTORE dest numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]*. + /// See the *Example* part for examples on how to use this command. + /// @see `Redis::zunionstore` + /// @see https://redis.io/commands/zinterstore + template + long long zinterstore(const StringView &destination, + std::initializer_list il, + Aggregation type = Aggregation::SUM) { + return zinterstore(destination, il.begin(), il.end(), type); + } + + /// @brief Get the number of members between a min-max range in lexicographical order. + /// + /// Example: + /// @code{.cpp} + /// // Count members between (abc, abd] + /// redis.zlexcount("zset", BoundedInterval("abc", "abd", BoundType::LEFT_OPEN)); + /// // Count members between [abc, abd) + /// redis.zlexcount("zset", BoundedInterval("abc", "abd", BoundType::RIGHT_OPEN)); + /// // Count members between (abc, abd) + /// redis.zlexcount("zset", BoundedInterval("abc", "abd", BoundType::OPEN)); + /// // Count members between [abc, abd] + /// redis.zlexcount("zset", BoundedInterval("abc", "abd", BoundType::CLOSED)); + /// // Count members between [abc, +inf) + /// redis.zlexcount("zset", LeftBoundedInterval("abc", BoundType::RIGHT_OPEN)); + /// // Count members between (abc, +inf) + /// redis.zlexcount("zset", LeftBoundedInterval("abc", BoundType::OPEN)); + /// // Count members between (-inf, "abd"] + /// redis.zlexcount("zset", RightBoundedInterval("abd", BoundType::LEFT_OPEN)); + /// // Count members between (-inf, "abd") + /// redis.zlexcount("zset", RightBoundedInterval("abd", BoundType::OPEN)); + /// // Count members between (-inf, +inf) + /// redis.zlexcount("zset", UnboundedInterval{}); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval The min-max range in lexicographical order. + /// @return Number of members between a min-max range in lexicographical order. + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see https://redis.io/commands/zlexcount + // TODO: add a string version of Interval: zlexcount("key", "(abc", "abd"). + template + long long zlexcount(const StringView &key, const Interval &interval); + + /// @brief Pop the member with highest score from sorted set. + /// @param key Key where the sorted set is stored. + /// @return Member-score pair with the highest score. + /// @note If sorted set is empty `zpopmax` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::bzpopmax` + /// @see https://redis.io/commands/zpopmax + Optional> zpopmax(const StringView &key); + + /// @brief Pop multiple members with highest score from sorted set. + /// @param key Key where the sorted set is stored. + /// @param count Number of members to be popped. + /// @param output Output iterator to the destination where the result is saved. + /// @note The number of returned members might be less than `count`. + /// @see `Redis::bzpopmax` + /// @see https://redis.io/commands/zpopmax + template + void zpopmax(const StringView &key, long long count, Output output); + + /// @brief Pop the member with lowest score from sorted set. + /// @param key Key where the sorted set is stored. + /// @return Member-score pair with the lowest score. + /// @note If sorted set is empty `zpopmin` returns + /// `Optional>{}` (`std::nullopt`). + /// @see `Redis::bzpopmin` + /// @see https://redis.io/commands/zpopmin + Optional> zpopmin(const StringView &key); + + /// @brief Pop multiple members with lowest score from sorted set. + /// @param key Key where the sorted set is stored. + /// @param count Number of members to be popped. + /// @param output Output iterator to the destination where the result is saved. + /// @note The number of returned members might be less than `count`. + /// @see `Redis::bzpopmin` + /// @see https://redis.io/commands/zpopmin + template + void zpopmin(const StringView &key, long long count, Output output); + + /// @brief Get a range of members by rank (ordered from lowest to highest). + /// + /// Example: + /// @code{.cpp} + /// // send *ZRANGE* command without the *WITHSCORES* option: + /// std::vector result; + /// redis.zrange("zset", 0, -1, std::back_inserter(result)); + /// // send command with *WITHSCORES* option: + /// std::vector> with_score; + /// redis.zrange("zset", 0, -1, std::back_inserter(with_score)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param start Start rank. Inclusive and can be negative. + /// @param stop Stop rank. Inclusive and can be negative. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method can also return the score of each member. If `output` is an iterator + /// to a container of `std::string`, we send *ZRANGE key start stop* command. + /// If it's an iterator to a container of `std::pair`, + /// we send *ZRANGE key start stop WITHSCORES* command. See the *Example* part on + /// how to use this method. + /// @see `Redis::zrevrange` + /// @see https://redis.io/commands/zrange + template + void zrange(const StringView &key, long long start, long long stop, Output output); + + /// @brief Get a range of members by lexicographical order (from lowest to highest). + /// + /// Example: + /// @code{.cpp} + /// std::vector result; + /// // Get members between [abc, abd]. + /// redis.zrangebylex("zset", BoundedInterval("abc", "abd", BoundType::CLOSED), + /// std::back_inserter(result)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by lexicographical order. + /// @param output Output iterator to the destination where the result is saved. + /// @note See `Redis::zlexcount`'s *Example* part for how to set `interval` parameter. + /// @see `Redis::zlexcount` + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see `Redis::zrevrangebylex` + /// @see https://redis.io/commands/zrangebylex + template + void zrangebylex(const StringView &key, const Interval &interval, Output output); + + /// @brief Get a range of members by lexicographical order (from lowest to highest). + /// + /// Example: + /// @code{.cpp} + /// std::vector result; + /// // Limit the result to at most 5 members starting from 10. + /// LimitOptions opts; + /// opts.offset = 10; + /// opts.count = 5; + /// // Get members between [abc, abd]. + /// redis.zrangebylex("zset", BoundedInterval("abc", "abd", BoundType::CLOSED), + /// opts, std::back_inserter(result)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by lexicographical order. + /// @param opts Options to do pagination, i.e. *LIMIT offset count*. + /// @param output Output iterator to the destination where the result is saved. + /// @note See `Redis::zlexcount`'s *Example* part for how to set `interval` parameter. + /// @see `Redis::zlexcount` + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see `LimitOptions` + /// @see `Redis::zrevrangebylex` + /// @see https://redis.io/commands/zrangebylex + template + void zrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + /// @brief Get a range of members by score (ordered from lowest to highest). + /// + /// Example: + /// @code{.cpp} + /// // Send *ZRANGEBYSCORE* command without the *WITHSCORES* option: + /// std::vector result; + /// // Get members whose score between (3, 6). + /// redis.zrangebyscore("zset", BoundedInterval(3, 6, BoundType::OPEN), + /// std::back_inserter(result)); + /// // Send command with *WITHSCORES* option: + /// std::vector> with_score; + /// // Get members whose score between [3, +inf). + /// redis.zrangebyscore("zset", LeftBoundedInterval(3, BoundType::RIGHT_OPEN), + /// std::back_inserter(with_score)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by score. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method can also return the score of each member. If `output` is an iterator + /// to a container of `std::string`, we send *ZRANGEBYSCORE key min max* command. + /// If it's an iterator to a container of `std::pair`, + /// we send *ZRANGEBYSCORE key min max WITHSCORES* command. See the *Example* part on + /// how to use this method. + /// @note See `Redis::zcount`'s *Example* part for how to set the `interval` parameter. + /// @see `Redis::zrevrangebyscore` + /// @see https://redis.io/commands/zrangebyscore + template + void zrangebyscore(const StringView &key, const Interval &interval, Output output); + + /// @brief Get a range of members by score (ordered from lowest to highest). + /// + /// Example: + /// @code{.cpp} + /// // Send *ZRANGEBYSCORE* command without the *WITHSCORES* option: + /// std::vector result; + /// // Only return at most 5 members starting from 10. + /// LimitOptions opts; + /// opts.offset = 10; + /// opts.count = 5; + /// // Get members whose score between (3, 6). + /// redis.zrangebyscore("zset", BoundedInterval(3, 6, BoundType::OPEN), + /// opts, std::back_inserter(result)); + /// // Send command with *WITHSCORES* option: + /// std::vector> with_score; + /// // Get members whose score between [3, +inf). + /// redis.zrangebyscore("zset", LeftBoundedInterval(3, BoundType::RIGHT_OPEN), + /// opts, std::back_inserter(with_score)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by score. + /// @param opts Options to do pagination, i.e. *LIMIT offset count*. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method can also return the score of each member. If `output` is an iterator + /// to a container of `std::string`, we send *ZRANGEBYSCORE key min max* command. + /// If it's an iterator to a container of `std::pair`, + /// we send *ZRANGEBYSCORE key min max WITHSCORES* command. See the *Example* part on + /// how to use this method. + /// @note See `Redis::zcount`'s *Example* part for how to set the `interval` parameter. + /// @see `Redis::zrevrangebyscore` + /// @see https://redis.io/commands/zrangebyscore + template + void zrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + /// @brief Get the rank (from low to high) of the given member in the sorted set. + /// @param key Key where the sorted set is stored. + /// @param member Member. + /// @return The rank of the given member. + /// @note If the member does not exist, `zrank` returns `OptionalLongLong{}` (`std::nullopt`). + /// @see https://redis.io/commands/zrank + OptionalLongLong zrank(const StringView &key, const StringView &member); + + /// @brief Remove the given member from sorted set. + /// @param key Key where the sorted set is stored. + /// @param member Member to be removed. + /// @return Whether the member has been removed. + /// @retval 1 If the member exists, and has been removed. + /// @retval 0 If the member does not exist. + /// @see https://redis.io/commands/zrem + long long zrem(const StringView &key, const StringView &member); + + /// @brief Remove multiple members from sorted set. + /// @param key Key where the sorted set is stored. + /// @param first Iterator to the first member. + /// @param last Off-the-end iterator to the given range. + /// @return Number of members that have been removed. + /// @see https://redis.io/commands/zrem + template + long long zrem(const StringView &key, Input first, Input last); + + /// @brief Remove multiple members from sorted set. + /// @param key Key where the sorted set is stored. + /// @param il Initializer list of members to be removed. + /// @return Number of members that have been removed. + /// @see https://redis.io/commands/zrem + template + long long zrem(const StringView &key, std::initializer_list il) { + return zrem(key, il.begin(), il.end()); + } + + /// @brief Remove members in the given range of lexicographical order. + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by lexicographical order. + /// @note See `Redis::zlexcount`'s *Example* part for how to set `interval` parameter. + /// @return Number of members removed. + /// @see `Redis::zlexcount` + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see https://redis.io/commands/zremrangebylex + template + long long zremrangebylex(const StringView &key, const Interval &interval); + + /// @brief Remove members in the given range ordered by rank. + /// @param key Key where the sorted set is stored. + /// @param start Start rank. + /// @param stop Stop rank. + /// @return Number of members removed. + /// @see https://redis.io/commands/zremrangebyrank + long long zremrangebyrank(const StringView &key, long long start, long long stop); + + /// @brief Remove members in the given range ordered by score. + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by score. + /// @return Number of members removed. + /// @note See `Redis::zcount`'s *Example* part for how to set the `interval` parameter. + /// @see https://redis.io/commands/zremrangebyscore + template + long long zremrangebyscore(const StringView &key, const Interval &interval); + + /// @brief Get a range of members by rank (ordered from highest to lowest). + /// + /// Example: + /// @code{.cpp} + /// // send *ZREVRANGE* command without the *WITHSCORES* option: + /// std::vector result; + /// redis.zrevrange("key", 0, -1, std::back_inserter(result)); + /// // send command with *WITHSCORES* option: + /// std::vector> with_score; + /// redis.zrevrange("key", 0, -1, std::back_inserter(with_score)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param start Start rank. Inclusive and can be negative. + /// @param stop Stop rank. Inclusive and can be negative. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method can also return the score of each member. If `output` is an iterator + /// to a container of `std::string`, we send *ZREVRANGE key start stop* command. + /// If it's an iterator to a container of `std::pair`, + /// we send *ZREVRANGE key start stop WITHSCORES* command. See the *Example* part on + /// how to use this method. + /// @see `Redis::zrange` + /// @see https://redis.io/commands/zrevrange + template + void zrevrange(const StringView &key, long long start, long long stop, Output output); + + /// @brief Get a range of members by lexicographical order (from highest to lowest). + /// + /// Example: + /// @code{.cpp} + /// std::vector result; + /// // Get members between [abc, abd] in reverse order. + /// redis.zrevrangebylex("zset", BoundedInterval("abc", "abd", BoundType::CLOSED), + /// std::back_inserter(result)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by lexicographical order. + /// @param output Output iterator to the destination where the result is saved. + /// @note See `Redis::zlexcount`'s *Example* part for how to set `interval` parameter. + /// @see `Redis::zlexcount` + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see `Redis::zrangebylex` + /// @see https://redis.io/commands/zrevrangebylex + template + void zrevrangebylex(const StringView &key, const Interval &interval, Output output); + + /// @brief Get a range of members by lexicographical order (from highest to lowest). + /// + /// Example: + /// @code{.cpp} + /// std::vector result; + /// // Limit the result to at most 5 members starting from 10. + /// LimitOptions opts; + /// opts.offset = 10; + /// opts.count = 5; + /// // Get members between [abc, abd] in reverse order. + /// redis.zrevrangebylex("zset", BoundedInterval("abc", "abd", BoundType::CLOSED), + /// opts, std::back_inserter(result)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by lexicographical order. + /// @param opts Options to do pagination, i.e. *LIMIT offset count*. + /// @param output Output iterator to the destination where the result is saved. + /// @note See `Redis::zlexcount`'s *Example* part for how to set `interval` parameter. + /// @see `Redis::zlexcount` + /// @see `BoundedInterval` + /// @see `LeftBoundedInterval` + /// @see `RightBoundedInterval` + /// @see `UnboundedInterval` + /// @see `BoundType` + /// @see `LimitOptions` + /// @see `Redis::zrangebylex` + /// @see https://redis.io/commands/zrevrangebylex + template + void zrevrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + /// @brief Get a range of members by score (ordered from highest to lowest). + /// + /// Example: + /// @code{.cpp} + /// // Send *ZREVRANGEBYSCORE* command without the *WITHSCORES* option: + /// std::vector result; + /// // Get members whose score between (3, 6) in reverse order. + /// redis.zrevrangebyscore("zset", BoundedInterval(3, 6, BoundType::OPEN), + /// std::back_inserter(result)); + /// // Send command with *WITHSCORES* option: + /// std::vector> with_score; + /// // Get members whose score between [3, +inf) in reverse order. + /// redis.zrevrangebyscore("zset", LeftBoundedInterval(3, BoundType::RIGHT_OPEN), + /// std::back_inserter(with_score)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by score. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method can also return the score of each member. If `output` is an iterator + /// to a container of `std::string`, we send *ZREVRANGEBYSCORE key min max* command. + /// If it's an iterator to a container of `std::pair`, + /// we send *ZREVRANGEBYSCORE key min max WITHSCORES* command. See the *Example* part on + /// how to use this method. + /// @note See `Redis::zcount`'s *Example* part for how to set the `interval` parameter. + /// @see `Redis::zrangebyscore` + /// @see https://redis.io/commands/zrevrangebyscore + template + void zrevrangebyscore(const StringView &key, const Interval &interval, Output output); + + /// @brief Get a range of members by score (ordered from highest to lowest). + /// + /// Example: + /// @code{.cpp} + /// // Send *ZREVRANGEBYSCORE* command without the *WITHSCORES* option: + /// std::vector result; + /// // Only return at most 5 members starting from 10. + /// LimitOptions opts; + /// opts.offset = 10; + /// opts.count = 5; + /// // Get members whose score between (3, 6) in reverse order. + /// redis.zrevrangebyscore("zset", BoundedInterval(3, 6, BoundType::OPEN), + /// opts, std::back_inserter(result)); + /// // Send command with *WITHSCORES* option: + /// std::vector> with_score; + /// // Get members whose score between [3, +inf) in reverse order. + /// redis.zrevrangebyscore("zset", LeftBoundedInterval(3, BoundType::RIGHT_OPEN), + /// opts, std::back_inserter(with_score)); + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param interval the min-max range by score. + /// @param opts Options to do pagination, i.e. *LIMIT offset count*. + /// @param output Output iterator to the destination where the result is saved. + /// @note This method can also return the score of each member. If `output` is an iterator + /// to a container of `std::string`, we send *ZREVRANGEBYSCORE key min max* command. + /// If it's an iterator to a container of `std::pair`, + /// we send *ZREVRANGEBYSCORE key min max WITHSCORES* command. See the *Example* part on + /// how to use this method. + /// @note See `Redis::zcount`'s *Example* part for how to set the `interval` parameter. + /// @see `Redis::zrangebyscore` + /// @see https://redis.io/commands/zrevrangebyscore + template + void zrevrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + /// @brief Get the rank (from high to low) of the given member in the sorted set. + /// @param key Key where the sorted set is stored. + /// @param member Member. + /// @return The rank of the given member. + /// @note If the member does not exist, `zrevrank` returns `OptionalLongLong{}` (`std::nullopt`). + /// @see https://redis.io/commands/zrevrank + OptionalLongLong zrevrank(const StringView &key, const StringView &member); + + /// @brief Scan members of the given sorted set matching the given pattern. + /// + /// Example: + /// @code{.cpp} + /// auto cursor = 0LL; + /// std::vector> members; + /// while (true) { + /// cursor = redis.zscan("zset", cursor, "pattern:*", + /// 10, std::back_inserter(members)); + /// if (cursor == 0) { + /// break; + /// } + /// } + /// @endcode + /// @param key Key where the sorted set is stored. + /// @param cursor Cursor. + /// @param pattern Pattern of members to be scanned. + /// @param count A hint for how many members to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/zscan + template + long long zscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output); + + /// @brief Scan members of the given sorted set matching the given pattern. + /// @param key Key where the sorted set is stored. + /// @param cursor Cursor. + /// @param pattern Pattern of members to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/zscan + template + long long zscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output); + + /// @brief Scan all members of the given sorted set. + /// @param key Key where the sorted set is stored. + /// @param cursor Cursor. + /// @param count A hint for how many members to be scanned. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/zscan + template + long long zscan(const StringView &key, + long long cursor, + long long count, + Output output); + + /// @brief Scan all members of the given sorted set. + /// @param key Key where the sorted set is stored. + /// @param cursor Cursor. + /// @param output Output iterator to the destination where the result is saved. + /// @return The cursor to be used for the next scan operation. + /// @see https://redis.io/commands/zscan + template + long long zscan(const StringView &key, + long long cursor, + Output output); + + /// @brief Get the score of the given member. + /// @param key Key where the sorted set is stored. + /// @param member Member. + /// @return The score of the member. + /// @note If member does not exist, `zscore` returns `OptionalDouble{}` (`std::nullopt`). + /// @see https://redis.io/commands/zscore + OptionalDouble zscore(const StringView &key, const StringView &member); + + /// @brief Copy a sorted set to another one with the scores being multiplied by a factor. + /// @param destination Key of the destination sorted set. + /// @param key Key of the source sorted set. + /// @param weight Weight to be multiplied to the score of each member. + /// @return The number of members in the sorted set. + /// @note There's no aggregation type parameter for single key overload, since these 3 types + /// have the same effect. + /// @see `Redis::zinterstore` + /// @see https://redis.io/commands/zinterstore + long long zunionstore(const StringView &destination, const StringView &key, double weight); + + /// @brief Get union of multiple sorted sets, and store the result to another one. + /// + /// Example: + /// @code{.cpp} + /// // Use the default weight, i.e. 1, + /// // and use the sum of the all scores as the score of the result: + /// std::vector keys = {"k1", "k2", "k3"}; + /// redis.zunionstore("destination", keys.begin(), keys.end()); + /// // Each sorted set has a different weight, + /// // and the score of the result is the min of all scores. + /// std::vector> keys_with_weights = {{"k1", 1}, {"k2", 2}}; + /// redis.zunionstore("destination", keys_with_weights.begin(), + /// keys_with_weights.end(), Aggregation::MIN); + /// // NOTE: `keys_with_weights` can also be of type `std::unordered_map`. + /// // However, it will be slower than std::vector>, since we use + /// // `std::distance(first, last)` to calculate the *numkeys* parameter. + /// @endcode + /// @param destination Key of the destination sorted set. + /// @param first Iterator to the first sorted set (might with weight). + /// @param last Off-the-end iterator to the sorted set range. + /// @param type How the scores are aggregated. + /// - Aggregation::SUM: Score of a member is the sum of all scores. + /// - Aggregation::MIN: Score of a member is the min of all scores. + /// - Aggregation::MAX: Score of a member is the max of all scores. + /// @return The number of members in the resulting sorted set. + /// @note The score of each member can be multiplied by a factor, i.e. weight. If `Input` is an + /// iterator to a container of `std::string`, we use the default weight, i.e. 1, and send + /// *ZUNIONSTORE dest numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]* command. + /// If `Input` is an iterator to a container of `std::pair`, + /// i.e. key-weight pair, we send the command with the given weights: + /// *ZUNIONSTORE dest numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]*. + /// See the *Example* part for examples on how to use this command. + /// @see `Redis::zinterstore` + /// @see https://redis.io/commands/zunionstore + template + long long zunionstore(const StringView &destination, + Input first, + Input last, + Aggregation type = Aggregation::SUM); + + /// @brief Get union of multiple sorted sets, and store the result to another one. + /// + /// Example: + /// @code{.cpp} + /// // Use the default weight, i.e. 1, + /// // and use the sum of the all scores as the score of the result: + /// redis.zunionstore("destination", {"k1", "k2"}); + /// // Each sorted set has a different weight, + /// // and the score of the result is the min of all scores. + /// redis.zunionstore("destination", + /// {std::make_pair("k1", 1), std::make_pair("k2", 2)}, Aggregation::MIN); + /// @endcode + /// @param destination Key of the destination sorted set. + /// @param il Initializer list of sorted set. + /// @param type How the scores are aggregated. + /// - Aggregation::SUM: Score of a member is the sum of all scores. + /// - Aggregation::MIN: Score of a member is the min of all scores. + /// - Aggregation::MAX: Score of a member is the max of all scores. + /// @return The number of members in the resulting sorted set. + /// @note The score of each member can be multiplied by a factor, i.e. weight. If `T` is + /// of type `std::string`, we use the default weight, i.e. 1, and send + /// *ZUNIONSTORE dest numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]* command. + /// If `T` is of type `std::pair`, i.e. key-weight pair, + /// we send the command with the given weights: + /// *ZUNIONSTORE dest numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]*. + /// See the *Example* part for examples on how to use this command. + /// @see `Redis::zinterstore` + /// @see https://redis.io/commands/zunionstore + template + long long zunionstore(const StringView &destination, + std::initializer_list il, + Aggregation type = Aggregation::SUM) { + return zunionstore(destination, il.begin(), il.end(), type); + } + + // HYPERLOGLOG commands. + + /// @brief Add the given element to a hyperloglog. + /// @param key Key of the hyperloglog. + /// @param element Element to be added. + /// @return Whether any of hyperloglog's internal register has been altered. + /// @retval true If at least one internal register has been altered. + /// @retval false If none of internal registers has been altered. + /// @note When `pfadd` returns false, it does not mean that this method failed to add + /// an element to the hyperloglog. Instead it means that the internal registers + /// were not altered. If `pfadd` fails, it will throw an exception of `Exception` type. + /// @see https://redis.io/commands/pfadd + bool pfadd(const StringView &key, const StringView &element); + + /// @brief Add the given elements to a hyperloglog. + /// @param key Key of the hyperloglog. + /// @param first Iterator to the first element. + /// @param last Off-the-end iterator to the given range. + /// @return Whether any of hyperloglog's internal register has been altered. + /// @retval true If at least one internal register has been altered. + /// @retval false If none of internal registers has been altered. + /// @note When `pfadd` returns false, it does not mean that this method failed to add + /// an element to the hyperloglog. Instead it means that the internal registers + /// were not altered. If `pfadd` fails, it will throw an exception of `Exception` type. + /// @see https://redis.io/commands/pfadd + template + bool pfadd(const StringView &key, Input first, Input last); + + /// @brief Add the given elements to a hyperloglog. + /// @param key Key of the hyperloglog. + /// @param il Initializer list of elements to be added. + /// @return Whether any of hyperloglog's internal register has been altered. + /// @retval true If at least one internal register has been altered. + /// @retval false If none of internal registers has been altered. + /// @note When `pfadd` returns false, it does not mean that this method failed to add + /// an element to the hyperloglog. Instead it means that the internal registers + /// were not altered. If `pfadd` fails, it will throw an exception of `Exception` type. + /// @see https://redis.io/commands/pfadd + template + bool pfadd(const StringView &key, std::initializer_list il) { + return pfadd(key, il.begin(), il.end()); + } + + long long pfcount(const StringView &key); + + template + long long pfcount(Input first, Input last); + + template + long long pfcount(std::initializer_list il) { + return pfcount(il.begin(), il.end()); + } + + void pfmerge(const StringView &destination, const StringView &key); + + template + void pfmerge(const StringView &destination, Input first, Input last); + + template + void pfmerge(const StringView &destination, std::initializer_list il) { + pfmerge(destination, il.begin(), il.end()); + } + + // GEO commands. + + long long geoadd(const StringView &key, + const std::tuple &member); + + template + long long geoadd(const StringView &key, + Input first, + Input last); + + template + long long geoadd(const StringView &key, + std::initializer_list il) { + return geoadd(key, il.begin(), il.end()); + } + + OptionalDouble geodist(const StringView &key, + const StringView &member1, + const StringView &member2, + GeoUnit unit = GeoUnit::M); + + OptionalString geohash(const StringView &key, const StringView &member); + + template + void geohash(const StringView &key, Input first, Input last, Output output); + + template + void geohash(const StringView &key, std::initializer_list il, Output output) { + geohash(key, il.begin(), il.end(), output); + } + + Optional> geopos(const StringView &key, const StringView &member); + + template + void geopos(const StringView &key, Input first, Input last, Output output); + + template + void geopos(const StringView &key, std::initializer_list il, Output output) { + geopos(key, il.begin(), il.end(), output); + } + + // TODO: + // 1. since we have different overloads for georadius and georadius-store, + // we might use the GEORADIUS_RO command in the future. + // 2. there're too many parameters for this method, we might refactor it. + + /// @brief Get members in geo range, i.e. a circle, and store them in a sorted set. + /// @param key Key of the GEO set. + /// @param loc Location encoded with pair. + /// @param radius Radius of the range. + /// @param unit Radius unit. + /// @param destination Key of the destination sorted set. + /// @param store_dist Whether store distance info instead of geo info to destination. + /// @param count Limit the first N members. + /// @return Number of members stored in destination. + /// @note Before Redis 6.2.6, if key does not exist, returns `OptionalLongLong{}` (`std::nullopt`). + /// Since Redis 6.2.6, if key does not exist, returns 0. + /// @see `GeoUnit` + /// @see `Redis::georadiusbymember` + /// @see https://redis.io/commands/georadius + OptionalLongLong georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + + // If *output* is an iterator of a container of string, we send *GEORADIUS* command + // without any options and only get the members in the specified geo range. + // If *output* is an iterator of a container of a tuple, the type of the tuple decides + // options we send with the *GEORADIUS* command. If the tuple has an element of type + // double, we send the *WITHDIST* option. If it has an element of type string, we send + // the *WITHHASH* option. If it has an element of type pair, we send + // the *WITHCOORD* option. For example: + // + // The following code only gets the members in range, i.e. without any option. + // + // vector members; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(members)) + // + // The following code sends the command with *WITHDIST* option. + // + // vector> with_dist; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(with_dist)) + // + // The following code sends the command with *WITHDIST* and *WITHHASH* options. + // + // vector> with_dist_hash; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(with_dist_hash)) + // + // The following code sends the command with *WITHDIST*, *WITHCOORD* and *WITHHASH* options. + // + // vector, string>> with_dist_coord_hash; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(with_dist_coord_hash)) + // + // This also applies to *GEORADIUSBYMEMBER*. + template + void georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output); + + /// @brief Get members in geo range, i.e. a circle, and store them in a sorted set. + /// @param key Key of the GEO set. + /// @param member Member which is the center of the circle. + /// @param radius Radius of the range. + /// @param unit Radius unit. + /// @param destination Key of the destination sorted set. + /// @param store_dist Whether store distance info instead of geo info to destination. + /// @param count Limit the first N members. + /// @return Number of members stored in destination. + /// @note Before Redis 6.2.6, if key does not exist, returns `OptionalLongLong{}` (`std::nullopt`). + /// Since Redis 6.2.6, if key does not exist, returns 0. + /// @note If member does not exist, throw an `ReplyError`. + /// @see `GeoUnit` + /// @see `Redis::georadius` + /// @see https://redis.io/commands/georadiusbymember + OptionalLongLong georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + + // See comments on *GEORADIUS*. + template + void georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output); + + // SCRIPTING commands. + + template + Result eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last); + + template + Result eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args); + + template + void eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output); + + template + void eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output); + + template + Result evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last); + + template + Result evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args); + + template + void evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output); + + template + void evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output); + + /// @brief Check if the given script exists. + /// @param sha1 SHA1 digest of the script. + /// @return Whether the script exists. + /// @retval true If the script exists. + /// @retval false If the script does not exist. + /// @see https://redis.io/commands/script-exists + bool script_exists(const StringView &sha1); + + template + void script_exists(Input first, Input last, Output output); + + template + void script_exists(std::initializer_list il, Output output) { + script_exists(il.begin(), il.end(), output); + } + + void script_flush(); + + void script_kill(); + + std::string script_load(const StringView &script); + + // PUBSUB commands. + + long long publish(const StringView &channel, const StringView &message); + + // Transaction commands. + void watch(const StringView &key); + + template + void watch(Input first, Input last); + + template + void watch(std::initializer_list il) { + watch(il.begin(), il.end()); + } + + void unwatch(); + + // Stream commands. + + long long xack(const StringView &key, const StringView &group, const StringView &id); + + template + long long xack(const StringView &key, const StringView &group, Input first, Input last); + + template + long long xack(const StringView &key, const StringView &group, std::initializer_list il) { + return xack(key, group, il.begin(), il.end()); + } + + template + std::string xadd(const StringView &key, const StringView &id, Input first, Input last); + + template + std::string xadd(const StringView &key, const StringView &id, std::initializer_list il) { + return xadd(key, id, il.begin(), il.end()); + } + + template + std::string xadd(const StringView &key, + const StringView &id, + Input first, + Input last, + long long count, + bool approx = true); + + template + std::string xadd(const StringView &key, + const StringView &id, + std::initializer_list il, + long long count, + bool approx = true) { + return xadd(key, id, il.begin(), il.end(), count, approx); + } + + template + void xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + const StringView &id, + Output output); + + template + void xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + Input first, + Input last, + Output output); + + template + void xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + std::initializer_list il, + Output output) { + xclaim(key, group, consumer, min_idle_time, il.begin(), il.end(), output); + } + + long long xdel(const StringView &key, const StringView &id); + + template + long long xdel(const StringView &key, Input first, Input last); + + template + long long xdel(const StringView &key, std::initializer_list il) { + return xdel(key, il.begin(), il.end()); + } + + void xgroup_create(const StringView &key, + const StringView &group, + const StringView &id, + bool mkstream = false); + + void xgroup_setid(const StringView &key, const StringView &group, const StringView &id); + + long long xgroup_destroy(const StringView &key, const StringView &group); + + long long xgroup_delconsumer(const StringView &key, + const StringView &group, + const StringView &consumer); + + long long xlen(const StringView &key); + + template + auto xpending(const StringView &key, const StringView &group, Output output) + -> std::tuple; + + template + void xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + Output output); + + template + void xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + const StringView &consumer, + Output output); + + template + void xrange(const StringView &key, + const StringView &start, + const StringView &end, + Output output); + + template + void xrange(const StringView &key, + const StringView &start, + const StringView &end, + long long count, + Output output); + + template + void xread(const StringView &key, + const StringView &id, + long long count, + Output output); + + template + void xread(const StringView &key, + const StringView &id, + Output output) { + xread(key, id, 0, output); + } + + template + auto xread(Input first, Input last, long long count, Output output) + -> typename std::enable_if::value>::type; + + template + auto xread(Input first, Input last, Output output) + -> typename std::enable_if::value>::type { + xread(first ,last, 0, output); + } + + template + void xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + Output output); + + template + void xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + Output output) { + xread(key, id, timeout, 0, output); + } + + template + auto xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + Output output) + -> typename std::enable_if::value>::type; + + template + auto xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + Output output) + -> typename std::enable_if::value>::type { + xread(first, last, timeout, 0, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + bool noack, + Output output); + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + Output output) { + xreadgroup(group, consumer, key, id, count, false, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + Output output) { + xreadgroup(group, consumer, key, id, 0, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type; + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first ,last, count, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first ,last, 0, false, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output); + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + Output output) { + xreadgroup(group, consumer, key, id, timeout, count, false, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + Output output) { + xreadgroup(group, consumer, key, id, timeout, 0, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type; + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first, last, timeout, count, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first, last, timeout, 0, false, output); + } + + template + void xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + Output output); + + template + void xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + long long count, + Output output); + + long long xtrim(const StringView &key, long long count, bool approx = true); + +private: + template + friend class QueuedRedis; + + friend class RedisCluster; + + // For internal use. + explicit Redis(const GuardedConnectionSPtr &connection); + + template + ReplyUPtr _command(const StringView &cmd_name, const IndexSequence &, Args &&...args) { + return command(cmd_name, NthValue(std::forward(args)...)...); + } + + template + ReplyUPtr _command(Connection &connection, Cmd cmd, Args &&...args); + + template + ReplyUPtr _score_command(std::true_type, Cmd cmd, Args &&... args); + + template + ReplyUPtr _score_command(std::false_type, Cmd cmd, Args &&... args); + + template + ReplyUPtr _score_command(Cmd cmd, Args &&... args); + + // Pool Mode. + // Public constructors create a *Redis* instance with a pool. + // In this case, *_connection* is a null pointer, and is never used. + ConnectionPoolSPtr _pool; + + // Single Connection Mode. + // Private constructor creates a *Redis* instance with a single connection. + // This is used when we create Transaction, Pipeline and Subscriber. + // In this case, *_pool* is empty, and is never used. + GuardedConnectionSPtr _connection; +}; + +} + +} + +#include "redis.hpp" + +#endif // end SEWENEW_REDISPLUSPLUS_REDIS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.hpp b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.hpp new file mode 100644 index 000000000..c560ce111 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis.hpp @@ -0,0 +1,1342 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_REDIS_HPP +#define SEWENEW_REDISPLUSPLUS_REDIS_HPP + +#include "command.h" +#include "reply.h" +#include "utils.h" +#include "errors.h" + +namespace sw { + +namespace redis { + +template +auto Redis::command(Cmd cmd, Args &&...args) + -> typename std::enable_if::value, ReplyUPtr>::type { + if (_connection) { + // Single Connection Mode. + // TODO: In this case, should we reconnect? + auto &connection = _connection->connection(); + if (connection.broken()) { + throw Error("Connection is broken"); + } + + return _command(connection, cmd, std::forward(args)...); + } else { + assert(_pool); + + // Pool Mode, i.e. get connection from pool. + SafeConnection connection(*_pool); + + return _command(connection.connection(), cmd, std::forward(args)...); + } +} + +template +auto Redis::command(const StringView &cmd_name, Args &&...args) + -> typename std::enable_if::type>::value, ReplyUPtr>::type { + auto cmd = [](Connection &connection, const StringView &cmd_name, Args &&...args) { + CmdArgs cmd_args; + cmd_args.append(cmd_name, std::forward(args)...); + connection.send(cmd_args); + }; + + return command(cmd, cmd_name, std::forward(args)...); +} + +template +auto Redis::command(Input first, Input last) + -> typename std::enable_if::value, ReplyUPtr>::type { + range_check("command", first, last); + + auto cmd = [](Connection &connection, Input first, Input last) { + CmdArgs cmd_args; + while (first != last) { + cmd_args.append(*first); + ++first; + } + connection.send(cmd_args); + }; + + return command(cmd, first, last); +} + +template +Result Redis::command(const StringView &cmd_name, Args &&...args) { + auto r = command(cmd_name, std::forward(args)...); + + assert(r); + + return reply::parse(*r); +} + +template +auto Redis::command(const StringView &cmd_name, Args &&...args) + -> typename std::enable_if::type>::value, void>::type { + auto r = _command(cmd_name, + MakeIndexSequence(), + std::forward(args)...); + + assert(r); + + reply::to_array(*r, LastValue(std::forward(args)...)); +} + +template +auto Redis::command(Input first, Input last) + -> typename std::enable_if::value, Result>::type { + auto r = command(first, last); + + assert(r); + + return reply::parse(*r); +} + +template +auto Redis::command(Input first, Input last, Output output) + -> typename std::enable_if::value, void>::type { + auto r = command(first, last); + + assert(r); + + reply::to_array(*r, output); +} + +// KEY commands. + +template +long long Redis::del(Input first, Input last) { + range_check("DEL", first, last); + + auto reply = command(cmd::del_range, first, last); + + return reply::parse(*reply); +} + +template +long long Redis::exists(Input first, Input last) { + range_check("EXISTS", first, last); + + auto reply = command(cmd::exists_range, first, last); + + return reply::parse(*reply); +} + +inline bool Redis::expire(const StringView &key, const std::chrono::seconds &timeout) { + return expire(key, timeout.count()); +} + +inline bool Redis::expireat(const StringView &key, + const std::chrono::time_point &tp) { + return expireat(key, tp.time_since_epoch().count()); +} + +template +void Redis::keys(const StringView &pattern, Output output) { + auto reply = command(cmd::keys, pattern); + + reply::to_array(*reply, output); +} + +inline bool Redis::pexpire(const StringView &key, const std::chrono::milliseconds &timeout) { + return pexpire(key, timeout.count()); +} + +inline bool Redis::pexpireat(const StringView &key, + const std::chrono::time_point &tp) { + return pexpireat(key, tp.time_since_epoch().count()); +} + +inline void Redis::restore(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl, + bool replace) { + return restore(key, val, ttl.count(), replace); +} + +template +long long Redis::scan(long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::scan, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long Redis::scan(long long cursor, + const StringView &pattern, + Output output) { + return scan(cursor, pattern, 10, output); +} + +template +inline long long Redis::scan(long long cursor, + long long count, + Output output) { + return scan(cursor, "*", count, output); +} + +template +inline long long Redis::scan(long long cursor, + Output output) { + return scan(cursor, "*", 10, output); +} + +template +long long Redis::touch(Input first, Input last) { + range_check("TOUCH", first, last); + + auto reply = command(cmd::touch_range, first, last); + + return reply::parse(*reply); +} + +template +long long Redis::unlink(Input first, Input last) { + range_check("UNLINK", first, last); + + auto reply = command(cmd::unlink_range, first, last); + + return reply::parse(*reply); +} + +inline long long Redis::wait(long long numslaves, const std::chrono::milliseconds &timeout) { + return wait(numslaves, timeout.count()); +} + +// STRING commands. + +template +long long Redis::bitop(BitOp op, const StringView &destination, Input first, Input last) { + range_check("BITOP", first, last); + + auto reply = command(cmd::bitop_range, op, destination, first, last); + + return reply::parse(*reply); +} + +template +void Redis::mget(Input first, Input last, Output output) { + range_check("MGET", first, last); + + auto reply = command(cmd::mget, first, last); + + reply::to_array(*reply, output); +} + +template +void Redis::mset(Input first, Input last) { + range_check("MSET", first, last); + + auto reply = command(cmd::mset, first, last); + + reply::parse(*reply); +} + +template +bool Redis::msetnx(Input first, Input last) { + range_check("MSETNX", first, last); + + auto reply = command(cmd::msetnx, first, last); + + return reply::parse(*reply); +} + +inline void Redis::psetex(const StringView &key, + const std::chrono::milliseconds &ttl, + const StringView &val) { + return psetex(key, ttl.count(), val); +} + +inline void Redis::setex(const StringView &key, + const std::chrono::seconds &ttl, + const StringView &val) { + setex(key, ttl.count(), val); +} + +// LIST commands. + +template +OptionalStringPair Redis::blpop(Input first, Input last, long long timeout) { + range_check("BLPOP", first, last); + + auto reply = command(cmd::blpop_range, first, last, timeout); + + return reply::parse(*reply); +} + +template +OptionalStringPair Redis::blpop(Input first, + Input last, + const std::chrono::seconds &timeout) { + return blpop(first, last, timeout.count()); +} + +template +OptionalStringPair Redis::brpop(Input first, Input last, long long timeout) { + range_check("BRPOP", first, last); + + auto reply = command(cmd::brpop_range, first, last, timeout); + + return reply::parse(*reply); +} + +template +OptionalStringPair Redis::brpop(Input first, + Input last, + const std::chrono::seconds &timeout) { + return brpop(first, last, timeout.count()); +} + +inline OptionalString Redis::brpoplpush(const StringView &source, + const StringView &destination, + const std::chrono::seconds &timeout) { + return brpoplpush(source, destination, timeout.count()); +} + +template +inline long long Redis::lpush(const StringView &key, Input first, Input last) { + range_check("LPUSH", first, last); + + auto reply = command(cmd::lpush_range, key, first, last); + + return reply::parse(*reply); +} + +template +inline void Redis::lrange(const StringView &key, long long start, long long stop, Output output) { + auto reply = command(cmd::lrange, key, start, stop); + + reply::to_array(*reply, output); +} + +template +inline long long Redis::rpush(const StringView &key, Input first, Input last) { + range_check("RPUSH", first, last); + + auto reply = command(cmd::rpush_range, key, first, last); + + return reply::parse(*reply); +} + +// HASH commands. + +template +inline long long Redis::hdel(const StringView &key, Input first, Input last) { + range_check("HDEL", first, last); + + auto reply = command(cmd::hdel_range, key, first, last); + + return reply::parse(*reply); +} + +template +inline void Redis::hgetall(const StringView &key, Output output) { + auto reply = command(cmd::hgetall, key); + + reply::to_array(*reply, output); +} + +template +inline void Redis::hkeys(const StringView &key, Output output) { + auto reply = command(cmd::hkeys, key); + + reply::to_array(*reply, output); +} + +template +inline void Redis::hmget(const StringView &key, Input first, Input last, Output output) { + range_check("HMGET", first, last); + + auto reply = command(cmd::hmget, key, first, last); + + reply::to_array(*reply, output); +} + +template +inline void Redis::hmset(const StringView &key, Input first, Input last) { + range_check("HMSET", first, last); + + auto reply = command(cmd::hmset, key, first, last); + + reply::parse(*reply); +} + +template +long long Redis::hscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::hscan, key, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long Redis::hscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output) { + return hscan(key, cursor, pattern, 10, output); +} + +template +inline long long Redis::hscan(const StringView &key, + long long cursor, + long long count, + Output output) { + return hscan(key, cursor, "*", count, output); +} + +template +inline long long Redis::hscan(const StringView &key, + long long cursor, + Output output) { + return hscan(key, cursor, "*", 10, output); +} + +template +auto Redis::hset(const StringView &key, Input first, Input last) + -> typename std::enable_if::value, + long long>::type { + range_check("HSET", first, last); + + auto reply = command(cmd::hset_range, key, first, last); + + return reply::parse(*reply); +} + +template +inline void Redis::hvals(const StringView &key, Output output) { + auto reply = command(cmd::hvals, key); + + reply::to_array(*reply, output); +} + +// SET commands. + +template +long long Redis::sadd(const StringView &key, Input first, Input last) { + range_check("SADD", first, last); + + auto reply = command(cmd::sadd_range, key, first, last); + + return reply::parse(*reply); +} + +template +void Redis::sdiff(Input first, Input last, Output output) { + range_check("SDIFF", first, last); + + auto reply = command(cmd::sdiff, first, last); + + reply::to_array(*reply, output); +} + +template +long long Redis::sdiffstore(const StringView &destination, + Input first, + Input last) { + range_check("SDIFFSTORE", first, last); + + auto reply = command(cmd::sdiffstore_range, destination, first, last); + + return reply::parse(*reply); +} + +template +void Redis::sinter(Input first, Input last, Output output) { + range_check("SINTER", first, last); + + auto reply = command(cmd::sinter, first, last); + + reply::to_array(*reply, output); +} + +template +long long Redis::sinterstore(const StringView &destination, + Input first, + Input last) { + range_check("SINTERSTORE", first, last); + + auto reply = command(cmd::sinterstore_range, destination, first, last); + + return reply::parse(*reply); +} + +template +void Redis::smembers(const StringView &key, Output output) { + auto reply = command(cmd::smembers, key); + + reply::to_array(*reply, output); +} + +template +void Redis::spop(const StringView &key, long long count, Output output) { + auto reply = command(cmd::spop_range, key, count); + + reply::to_array(*reply, output); +} + +template +void Redis::srandmember(const StringView &key, long long count, Output output) { + auto reply = command(cmd::srandmember_range, key, count); + + reply::to_array(*reply, output); +} + +template +long long Redis::srem(const StringView &key, Input first, Input last) { + range_check("SREM", first, last); + + auto reply = command(cmd::srem_range, key, first, last); + + return reply::parse(*reply); +} + +template +long long Redis::sscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::sscan, key, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long Redis::sscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output) { + return sscan(key, cursor, pattern, 10, output); +} + +template +inline long long Redis::sscan(const StringView &key, + long long cursor, + long long count, + Output output) { + return sscan(key, cursor, "*", count, output); +} + +template +inline long long Redis::sscan(const StringView &key, + long long cursor, + Output output) { + return sscan(key, cursor, "*", 10, output); +} + +template +void Redis::sunion(Input first, Input last, Output output) { + range_check("SUNION", first, last); + + auto reply = command(cmd::sunion, first, last); + + reply::to_array(*reply, output); +} + +template +long long Redis::sunionstore(const StringView &destination, Input first, Input last) { + range_check("SUNIONSTORE", first, last); + + auto reply = command(cmd::sunionstore_range, destination, first, last); + + return reply::parse(*reply); +} + +// SORTED SET commands. + +inline auto Redis::bzpopmax(const StringView &key, const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmax(key, timeout.count()); +} + +template +auto Redis::bzpopmax(Input first, Input last, long long timeout) + -> Optional> { + auto reply = command(cmd::bzpopmax_range, first, last, timeout); + + return reply::parse>>(*reply); +} + +template +inline auto Redis::bzpopmax(Input first, + Input last, + const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmax(first, last, timeout.count()); +} + +inline auto Redis::bzpopmin(const StringView &key, const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmin(key, timeout.count()); +} + +template +auto Redis::bzpopmin(Input first, Input last, long long timeout) + -> Optional> { + auto reply = command(cmd::bzpopmin_range, first, last, timeout); + + return reply::parse>>(*reply); +} + +template +inline auto Redis::bzpopmin(Input first, + Input last, + const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmin(first, last, timeout.count()); +} + +template +long long Redis::zadd(const StringView &key, + Input first, + Input last, + UpdateType type, + bool changed) { + range_check("ZADD", first, last); + + auto reply = command(cmd::zadd_range, key, first, last, type, changed); + + return reply::parse(*reply); +} + +template +long long Redis::zcount(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zcount, key, interval); + + return reply::parse(*reply); +} + +template +long long Redis::zinterstore(const StringView &destination, + Input first, + Input last, + Aggregation type) { + range_check("ZINTERSTORE", first, last); + + auto reply = command(cmd::zinterstore_range, + destination, + first, + last, + type); + + return reply::parse(*reply); +} + +template +long long Redis::zlexcount(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zlexcount, key, interval); + + return reply::parse(*reply); +} + +template +void Redis::zpopmax(const StringView &key, long long count, Output output) { + auto reply = command(cmd::zpopmax, key, count); + + reply::to_array(*reply, output); +} + +template +void Redis::zpopmin(const StringView &key, long long count, Output output) { + auto reply = command(cmd::zpopmin, key, count); + + reply::to_array(*reply, output); +} + +template +void Redis::zrange(const StringView &key, long long start, long long stop, Output output) { + auto reply = _score_command(cmd::zrange, key, start, stop); + + reply::to_array(*reply, output); +} + +template +void Redis::zrangebylex(const StringView &key, const Interval &interval, Output output) { + zrangebylex(key, interval, {}, output); +} + +template +void Redis::zrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = command(cmd::zrangebylex, key, interval, opts); + + reply::to_array(*reply, output); +} + +template +void Redis::zrangebyscore(const StringView &key, + const Interval &interval, + Output output) { + zrangebyscore(key, interval, {}, output); +} + +template +void Redis::zrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = _score_command(cmd::zrangebyscore, + key, + interval, + opts); + + reply::to_array(*reply, output); +} + +template +long long Redis::zrem(const StringView &key, Input first, Input last) { + range_check("ZREM", first, last); + + auto reply = command(cmd::zrem_range, key, first, last); + + return reply::parse(*reply); +} + +template +long long Redis::zremrangebylex(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zremrangebylex, key, interval); + + return reply::parse(*reply); +} + +template +long long Redis::zremrangebyscore(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zremrangebyscore, key, interval); + + return reply::parse(*reply); +} + +template +void Redis::zrevrange(const StringView &key, long long start, long long stop, Output output) { + auto reply = _score_command(cmd::zrevrange, key, start, stop); + + reply::to_array(*reply, output); +} + +template +inline void Redis::zrevrangebylex(const StringView &key, + const Interval &interval, + Output output) { + zrevrangebylex(key, interval, {}, output); +} + +template +void Redis::zrevrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = command(cmd::zrevrangebylex, key, interval, opts); + + reply::to_array(*reply, output); +} + +template +void Redis::zrevrangebyscore(const StringView &key, const Interval &interval, Output output) { + zrevrangebyscore(key, interval, {}, output); +} + +template +void Redis::zrevrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = _score_command(cmd::zrevrangebyscore, key, interval, opts); + + reply::to_array(*reply, output); +} + +template +long long Redis::zscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::zscan, key, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long Redis::zscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output) { + return zscan(key, cursor, pattern, 10, output); +} + +template +inline long long Redis::zscan(const StringView &key, + long long cursor, + long long count, + Output output) { + return zscan(key, cursor, "*", count, output); +} + +template +inline long long Redis::zscan(const StringView &key, + long long cursor, + Output output) { + return zscan(key, cursor, "*", 10, output); +} + +template +long long Redis::zunionstore(const StringView &destination, + Input first, + Input last, + Aggregation type) { + range_check("ZUNIONSTORE", first, last); + + auto reply = command(cmd::zunionstore_range, + destination, + first, + last, + type); + + return reply::parse(*reply); +} + +// HYPERLOGLOG commands. + +template +bool Redis::pfadd(const StringView &key, Input first, Input last) { + range_check("PFADD", first, last); + + auto reply = command(cmd::pfadd_range, key, first, last); + + return reply::parse(*reply); +} + +template +long long Redis::pfcount(Input first, Input last) { + range_check("PFCOUNT", first, last); + + auto reply = command(cmd::pfcount_range, first, last); + + return reply::parse(*reply); +} + +template +void Redis::pfmerge(const StringView &destination, + Input first, + Input last) { + range_check("PFMERGE", first, last); + + auto reply = command(cmd::pfmerge_range, destination, first, last); + + reply::parse(*reply); +} + +// GEO commands. + +template +inline long long Redis::geoadd(const StringView &key, + Input first, + Input last) { + range_check("GEOADD", first, last); + + auto reply = command(cmd::geoadd_range, key, first, last); + + return reply::parse(*reply); +} + +template +void Redis::geohash(const StringView &key, Input first, Input last, Output output) { + range_check("GEOHASH", first, last); + + auto reply = command(cmd::geohash_range, key, first, last); + + reply::to_array(*reply, output); +} + +template +void Redis::geopos(const StringView &key, Input first, Input last, Output output) { + range_check("GEOPOS", first, last); + + auto reply = command(cmd::geopos_range, key, first, last); + + reply::to_array(*reply, output); +} + +template +void Redis::georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output) { + auto reply = command(cmd::georadius, + key, + loc, + radius, + unit, + count, + asc, + WithCoord::type>::value, + WithDist::type>::value, + WithHash::type>::value); + + reply::to_array(*reply, output); +} + +template +void Redis::georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output) { + auto reply = command(cmd::georadiusbymember, + key, + member, + radius, + unit, + count, + asc, + WithCoord::type>::value, + WithDist::type>::value, + WithHash::type>::value); + + reply::to_array(*reply, output); +} + +// SCRIPTING commands. + +template +Result Redis::eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + auto reply = command(cmd::eval, script, keys_first, keys_last, args_first, args_last); + + return reply::parse(*reply); +} + +template +Result Redis::eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args) { + return eval(script, keys.begin(), keys.end(), args.begin(), args.end()); +} + +template +void Redis::eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output) { + auto reply = command(cmd::eval, + script, + keys_first, keys_last, + args_first, args_last); + + reply::to_array(*reply, output); +} + +template +void Redis::eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output) { + eval(script, keys.begin(), keys.end(), args.begin(), args.end(), output); +} + +template +Result Redis::evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + auto reply = command(cmd::evalsha, script, + keys_first, keys_last, args_first, args_last); + + return reply::parse(*reply); +} + +template +Result Redis::evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args) { + return evalsha(script, keys.begin(), keys.end(), args.begin(), args.end()); +} + +template +void Redis::evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output) { + auto reply = command(cmd::evalsha, + script, + keys_first, keys_last, + args_first, args_last); + + reply::to_array(*reply, output); +} + +template +void Redis::evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output) { + evalsha(script, keys.begin(), keys.end(), args.begin(), args.end(), output); +} + +template +void Redis::script_exists(Input first, Input last, Output output) { + range_check("SCRIPT EXISTS", first, last); + + auto reply = command(cmd::script_exists_range, first, last); + + reply::to_array(*reply, output); +} + +// Transaction commands. + +template +void Redis::watch(Input first, Input last) { + auto reply = command(cmd::watch_range, first, last); + + reply::parse(*reply); +} + +// Stream commands. + +template +long long Redis::xack(const StringView &key, const StringView &group, Input first, Input last) { + auto reply = command(cmd::xack_range, key, group, first, last); + + return reply::parse(*reply); +} + +template +std::string Redis::xadd(const StringView &key, const StringView &id, Input first, Input last) { + auto reply = command(cmd::xadd_range, key, id, first, last); + + return reply::parse(*reply); +} + +template +std::string Redis::xadd(const StringView &key, + const StringView &id, + Input first, + Input last, + long long count, + bool approx) { + auto reply = command(cmd::xadd_maxlen_range, key, id, first, last, count, approx); + + return reply::parse(*reply); +} + +template +void Redis::xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + const StringView &id, + Output output) { + auto reply = command(cmd::xclaim, key, group, consumer, min_idle_time.count(), id); + + reply::to_array(*reply, output); +} + +template +void Redis::xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + Input first, + Input last, + Output output) { + auto reply = command(cmd::xclaim_range, + key, + group, + consumer, + min_idle_time.count(), + first, + last); + + reply::to_array(*reply, output); +} + +template +long long Redis::xdel(const StringView &key, Input first, Input last) { + auto reply = command(cmd::xdel_range, key, first, last); + + return reply::parse(*reply); +} + +template +auto Redis::xpending(const StringView &key, const StringView &group, Output output) + -> std::tuple { + auto reply = command(cmd::xpending, key, group); + + return reply::parse_xpending_reply(*reply, output); +} + +template +void Redis::xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + Output output) { + auto reply = command(cmd::xpending_detail, key, group, start, end, count); + + reply::to_array(*reply, output); +} + +template +void Redis::xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + const StringView &consumer, + Output output) { + auto reply = command(cmd::xpending_per_consumer, key, group, start, end, count, consumer); + + reply::to_array(*reply, output); +} + +template +void Redis::xrange(const StringView &key, + const StringView &start, + const StringView &end, + Output output) { + auto reply = command(cmd::xrange, key, start, end); + + reply::to_array(*reply, output); +} + +template +void Redis::xrange(const StringView &key, + const StringView &start, + const StringView &end, + long long count, + Output output) { + auto reply = command(cmd::xrange_count, key, start, end, count); + + reply::to_array(*reply, output); +} + +template +void Redis::xread(const StringView &key, + const StringView &id, + long long count, + Output output) { + auto reply = command(cmd::xread, key, id, count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto Redis::xread(Input first, Input last, long long count, Output output) + -> typename std::enable_if::value>::type { + range_check("XREAD", first, last); + + auto reply = command(cmd::xread_range, first, last, count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void Redis::xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + Output output) { + auto reply = command(cmd::xread_block, key, id, timeout.count(), count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto Redis::xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + Output output) + -> typename std::enable_if::value>::type { + range_check("XREAD", first, last); + + auto reply = command(cmd::xread_block_range, first, last, timeout.count(), count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void Redis::xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + bool noack, + Output output) { + auto reply = command(cmd::xreadgroup, group, consumer, key, id, count, noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto Redis::xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type { + range_check("XREADGROUP", first, last); + + auto reply = command(cmd::xreadgroup_range, group, consumer, first, last, count, noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void Redis::xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output) { + auto reply = command(cmd::xreadgroup_block, + group, + consumer, + key, + id, + timeout.count(), + count, + noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto Redis::xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type { + range_check("XREADGROUP", first, last); + + auto reply = command(cmd::xreadgroup_block_range, + group, + consumer, + first, + last, + timeout.count(), + count, + noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void Redis::xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + Output output) { + auto reply = command(cmd::xrevrange, key, end, start); + + reply::to_array(*reply, output); +} + +template +void Redis::xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + long long count, + Output output) { + auto reply = command(cmd::xrevrange_count, key, end, start, count); + + reply::to_array(*reply, output); +} + +template +ReplyUPtr Redis::_command(Connection &connection, Cmd cmd, Args &&...args) { + assert(!connection.broken()); + + cmd(connection, std::forward(args)...); + + auto reply = connection.recv(); + + return reply; +} + +template +inline ReplyUPtr Redis::_score_command(std::true_type, Cmd cmd, Args &&... args) { + return command(cmd, std::forward(args)..., true); +} + +template +inline ReplyUPtr Redis::_score_command(std::false_type, Cmd cmd, Args &&... args) { + return command(cmd, std::forward(args)..., false); +} + +template +inline ReplyUPtr Redis::_score_command(Cmd cmd, Args &&... args) { + return _score_command(typename IsKvPairIter::type(), + cmd, + std::forward(args)...); +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_REDIS_HPP diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.h new file mode 100644 index 000000000..63c6131c1 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.h @@ -0,0 +1,1439 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_REDIS_CLUSTER_H +#define SEWENEW_REDISPLUSPLUS_REDIS_CLUSTER_H + +#include +#include +#include +#include +#include "shards_pool.h" +#include "reply.h" +#include "command_options.h" +#include "utils.h" +#include "subscriber.h" +#include "pipeline.h" +#include "transaction.h" +#include "redis.h" +#include "connection.h" + +namespace sw { + +namespace redis { + +template +class QueuedRedis; + +using Transaction = QueuedRedis; + +using Pipeline = QueuedRedis; + +class RedisCluster { +public: + RedisCluster(const ConnectionOptions &connection_opts, + const ConnectionPoolOptions &pool_opts = {}, + Role role = Role::MASTER) : _pool(pool_opts, connection_opts, role) {} + + // Construct RedisCluster with URI: + // "tcp://127.0.0.1" or "tcp://127.0.0.1:6379" + // Only need to specify one URI. + explicit RedisCluster(const std::string &uri); + + RedisCluster(const RedisCluster &) = delete; + RedisCluster& operator=(const RedisCluster &) = delete; + + RedisCluster(RedisCluster &&) = default; + RedisCluster& operator=(RedisCluster &&) = default; + + Redis redis(const StringView &hash_tag, bool new_connection = true); + + Pipeline pipeline(const StringView &hash_tag, bool new_connection = true); + + Transaction transaction(const StringView &hash_tag, bool piped = false, bool new_connection = true); + + Subscriber subscriber(); + + template + auto command(Cmd cmd, Key &&key, Args &&...args) + -> typename std::enable_if::value, ReplyUPtr>::type; + + template + auto command(const StringView &cmd_name, Key &&key, Args &&...args) + -> typename std::enable_if<(std::is_convertible::value + || std::is_arithmetic::type>::value) + && !IsIter::type>::value, ReplyUPtr>::type; + + template + auto command(const StringView &cmd_name, Key &&key, Args &&...args) + -> typename std::enable_if<(std::is_convertible::value + || std::is_arithmetic::type>::value) + && IsIter::type>::value, void>::type; + + template + auto command(const StringView &cmd_name, Key &&key, Args &&...args) + -> typename std::enable_if::value + || std::is_arithmetic::type>::value, Result>::type; + + template + auto command(Input first, Input last) + -> typename std::enable_if::value, ReplyUPtr>::type; + + template + auto command(Input first, Input last) + -> typename std::enable_if::value, Result>::type; + + template + auto command(Input first, Input last, Output output) + -> typename std::enable_if::value, void>::type; + + // KEY commands. + + long long del(const StringView &key); + + template + long long del(Input first, Input last); + + template + long long del(std::initializer_list il) { + return del(il.begin(), il.end()); + } + + OptionalString dump(const StringView &key); + + long long exists(const StringView &key); + + template + long long exists(Input first, Input last); + + template + long long exists(std::initializer_list il) { + return exists(il.begin(), il.end()); + } + + bool expire(const StringView &key, long long timeout); + + bool expire(const StringView &key, const std::chrono::seconds &timeout); + + bool expireat(const StringView &key, long long timestamp); + + bool expireat(const StringView &key, + const std::chrono::time_point &tp); + + bool persist(const StringView &key); + + bool pexpire(const StringView &key, long long timeout); + + bool pexpire(const StringView &key, const std::chrono::milliseconds &timeout); + + bool pexpireat(const StringView &key, long long timestamp); + + bool pexpireat(const StringView &key, + const std::chrono::time_point &tp); + + long long pttl(const StringView &key); + + void rename(const StringView &key, const StringView &newkey); + + bool renamenx(const StringView &key, const StringView &newkey); + + void restore(const StringView &key, + const StringView &val, + long long ttl, + bool replace = false); + + void restore(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl = std::chrono::milliseconds{0}, + bool replace = false); + + // TODO: sort + + long long touch(const StringView &key); + + template + long long touch(Input first, Input last); + + template + long long touch(std::initializer_list il) { + return touch(il.begin(), il.end()); + } + + long long ttl(const StringView &key); + + std::string type(const StringView &key); + + long long unlink(const StringView &key); + + template + long long unlink(Input first, Input last); + + template + long long unlink(std::initializer_list il) { + return unlink(il.begin(), il.end()); + } + + // STRING commands. + + long long append(const StringView &key, const StringView &str); + + long long bitcount(const StringView &key, long long start = 0, long long end = -1); + + long long bitop(BitOp op, const StringView &destination, const StringView &key); + + template + long long bitop(BitOp op, const StringView &destination, Input first, Input last); + + template + long long bitop(BitOp op, const StringView &destination, std::initializer_list il) { + return bitop(op, destination, il.begin(), il.end()); + } + + long long bitpos(const StringView &key, + long long bit, + long long start = 0, + long long end = -1); + + long long decr(const StringView &key); + + long long decrby(const StringView &key, long long decrement); + + OptionalString get(const StringView &key); + + long long getbit(const StringView &key, long long offset); + + std::string getrange(const StringView &key, long long start, long long end); + + OptionalString getset(const StringView &key, const StringView &val); + + long long incr(const StringView &key); + + long long incrby(const StringView &key, long long increment); + + double incrbyfloat(const StringView &key, double increment); + + template + void mget(Input first, Input last, Output output); + + template + void mget(std::initializer_list il, Output output) { + mget(il.begin(), il.end(), output); + } + + template + void mset(Input first, Input last); + + template + void mset(std::initializer_list il) { + mset(il.begin(), il.end()); + } + + template + bool msetnx(Input first, Input last); + + template + bool msetnx(std::initializer_list il) { + return msetnx(il.begin(), il.end()); + } + + void psetex(const StringView &key, + long long ttl, + const StringView &val); + + void psetex(const StringView &key, + const std::chrono::milliseconds &ttl, + const StringView &val); + + bool set(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl = std::chrono::milliseconds(0), + UpdateType type = UpdateType::ALWAYS); + + void setex(const StringView &key, + long long ttl, + const StringView &val); + + void setex(const StringView &key, + const std::chrono::seconds &ttl, + const StringView &val); + + bool setnx(const StringView &key, const StringView &val); + + long long setrange(const StringView &key, long long offset, const StringView &val); + + long long strlen(const StringView &key); + + // LIST commands. + + OptionalStringPair blpop(const StringView &key, long long timeout); + + OptionalStringPair blpop(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + template + OptionalStringPair blpop(Input first, Input last, long long timeout); + + template + OptionalStringPair blpop(std::initializer_list il, long long timeout) { + return blpop(il.begin(), il.end(), timeout); + } + + template + OptionalStringPair blpop(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + template + OptionalStringPair blpop(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return blpop(il.begin(), il.end(), timeout); + } + + OptionalStringPair brpop(const StringView &key, long long timeout); + + OptionalStringPair brpop(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + template + OptionalStringPair brpop(Input first, Input last, long long timeout); + + template + OptionalStringPair brpop(std::initializer_list il, long long timeout) { + return brpop(il.begin(), il.end(), timeout); + } + + template + OptionalStringPair brpop(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + template + OptionalStringPair brpop(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) { + return brpop(il.begin(), il.end(), timeout); + } + + OptionalString brpoplpush(const StringView &source, + const StringView &destination, + long long timeout); + + OptionalString brpoplpush(const StringView &source, + const StringView &destination, + const std::chrono::seconds &timeout = std::chrono::seconds{0}); + + OptionalString lindex(const StringView &key, long long index); + + long long linsert(const StringView &key, + InsertPosition position, + const StringView &pivot, + const StringView &val); + + long long llen(const StringView &key); + + OptionalString lpop(const StringView &key); + + long long lpush(const StringView &key, const StringView &val); + + template + long long lpush(const StringView &key, Input first, Input last); + + template + long long lpush(const StringView &key, std::initializer_list il) { + return lpush(key, il.begin(), il.end()); + } + + long long lpushx(const StringView &key, const StringView &val); + + template + void lrange(const StringView &key, long long start, long long stop, Output output); + + long long lrem(const StringView &key, long long count, const StringView &val); + + void lset(const StringView &key, long long index, const StringView &val); + + void ltrim(const StringView &key, long long start, long long stop); + + OptionalString rpop(const StringView &key); + + OptionalString rpoplpush(const StringView &source, const StringView &destination); + + long long rpush(const StringView &key, const StringView &val); + + template + long long rpush(const StringView &key, Input first, Input last); + + template + long long rpush(const StringView &key, std::initializer_list il) { + return rpush(key, il.begin(), il.end()); + } + + long long rpushx(const StringView &key, const StringView &val); + + // HASH commands. + + long long hdel(const StringView &key, const StringView &field); + + template + long long hdel(const StringView &key, Input first, Input last); + + template + long long hdel(const StringView &key, std::initializer_list il) { + return hdel(key, il.begin(), il.end()); + } + + bool hexists(const StringView &key, const StringView &field); + + OptionalString hget(const StringView &key, const StringView &field); + + template + void hgetall(const StringView &key, Output output); + + long long hincrby(const StringView &key, const StringView &field, long long increment); + + double hincrbyfloat(const StringView &key, const StringView &field, double increment); + + template + void hkeys(const StringView &key, Output output); + + long long hlen(const StringView &key); + + template + void hmget(const StringView &key, Input first, Input last, Output output); + + template + void hmget(const StringView &key, std::initializer_list il, Output output) { + hmget(key, il.begin(), il.end(), output); + } + + template + void hmset(const StringView &key, Input first, Input last); + + template + void hmset(const StringView &key, std::initializer_list il) { + hmset(key, il.begin(), il.end()); + } + + template + long long hscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output); + + template + long long hscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output); + + template + long long hscan(const StringView &key, + long long cursor, + long long count, + Output output); + + template + long long hscan(const StringView &key, + long long cursor, + Output output); + + bool hset(const StringView &key, const StringView &field, const StringView &val); + + bool hset(const StringView &key, const std::pair &item); + + template + auto hset(const StringView &key, Input first, Input last) + -> typename std::enable_if::value, long long>::type; + + template + long long hset(const StringView &key, std::initializer_list il) { + return hset(key, il.begin(), il.end()); + } + + bool hsetnx(const StringView &key, const StringView &field, const StringView &val); + + bool hsetnx(const StringView &key, const std::pair &item); + + long long hstrlen(const StringView &key, const StringView &field); + + template + void hvals(const StringView &key, Output output); + + // SET commands. + + long long sadd(const StringView &key, const StringView &member); + + template + long long sadd(const StringView &key, Input first, Input last); + + template + long long sadd(const StringView &key, std::initializer_list il) { + return sadd(key, il.begin(), il.end()); + } + + long long scard(const StringView &key); + + template + void sdiff(Input first, Input last, Output output); + + template + void sdiff(std::initializer_list il, Output output) { + sdiff(il.begin(), il.end(), output); + } + + long long sdiffstore(const StringView &destination, const StringView &key); + + template + long long sdiffstore(const StringView &destination, + Input first, + Input last); + + template + long long sdiffstore(const StringView &destination, + std::initializer_list il) { + return sdiffstore(destination, il.begin(), il.end()); + } + + template + void sinter(Input first, Input last, Output output); + + template + void sinter(std::initializer_list il, Output output) { + sinter(il.begin(), il.end(), output); + } + + long long sinterstore(const StringView &destination, const StringView &key); + + template + long long sinterstore(const StringView &destination, + Input first, + Input last); + + template + long long sinterstore(const StringView &destination, + std::initializer_list il) { + return sinterstore(destination, il.begin(), il.end()); + } + + bool sismember(const StringView &key, const StringView &member); + + template + void smembers(const StringView &key, Output output); + + bool smove(const StringView &source, + const StringView &destination, + const StringView &member); + + OptionalString spop(const StringView &key); + + template + void spop(const StringView &key, long long count, Output output); + + OptionalString srandmember(const StringView &key); + + template + void srandmember(const StringView &key, long long count, Output output); + + long long srem(const StringView &key, const StringView &member); + + template + long long srem(const StringView &key, Input first, Input last); + + template + long long srem(const StringView &key, std::initializer_list il) { + return srem(key, il.begin(), il.end()); + } + + template + long long sscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output); + + template + long long sscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output); + + template + long long sscan(const StringView &key, + long long cursor, + long long count, + Output output); + + template + long long sscan(const StringView &key, + long long cursor, + Output output); + + template + void sunion(Input first, Input last, Output output); + + template + void sunion(std::initializer_list il, Output output) { + sunion(il.begin(), il.end(), output); + } + + long long sunionstore(const StringView &destination, const StringView &key); + + template + long long sunionstore(const StringView &destination, Input first, Input last); + + template + long long sunionstore(const StringView &destination, std::initializer_list il) { + return sunionstore(destination, il.begin(), il.end()); + } + + // SORTED SET commands. + + auto bzpopmax(const StringView &key, long long timeout) + -> Optional>; + + auto bzpopmax(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + template + auto bzpopmax(Input first, Input last, long long timeout) + -> Optional>; + + template + auto bzpopmax(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + template + auto bzpopmax(std::initializer_list il, long long timeout) + -> Optional> { + return bzpopmax(il.begin(), il.end(), timeout); + } + + template + auto bzpopmax(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional> { + return bzpopmax(il.begin(), il.end(), timeout); + } + + auto bzpopmin(const StringView &key, long long timeout) + -> Optional>; + + auto bzpopmin(const StringView &key, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + template + auto bzpopmin(Input first, Input last, long long timeout) + -> Optional>; + + template + auto bzpopmin(Input first, + Input last, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional>; + + template + auto bzpopmin(std::initializer_list il, long long timeout) + -> Optional> { + return bzpopmin(il.begin(), il.end(), timeout); + } + + template + auto bzpopmin(std::initializer_list il, + const std::chrono::seconds &timeout = std::chrono::seconds{0}) + -> Optional> { + return bzpopmin(il.begin(), il.end(), timeout); + } + + // We don't support the INCR option, since you can always use ZINCRBY instead. + long long zadd(const StringView &key, + const StringView &member, + double score, + UpdateType type = UpdateType::ALWAYS, + bool changed = false); + + template + long long zadd(const StringView &key, + Input first, + Input last, + UpdateType type = UpdateType::ALWAYS, + bool changed = false); + + template + long long zadd(const StringView &key, + std::initializer_list il, + UpdateType type = UpdateType::ALWAYS, + bool changed = false) { + return zadd(key, il.begin(), il.end(), type, changed); + } + + long long zcard(const StringView &key); + + template + long long zcount(const StringView &key, const Interval &interval); + + double zincrby(const StringView &key, double increment, const StringView &member); + + long long zinterstore(const StringView &destination, const StringView &key, double weight); + + template + long long zinterstore(const StringView &destination, + Input first, + Input last, + Aggregation type = Aggregation::SUM); + + template + long long zinterstore(const StringView &destination, + std::initializer_list il, + Aggregation type = Aggregation::SUM) { + return zinterstore(destination, il.begin(), il.end(), type); + } + + template + long long zlexcount(const StringView &key, const Interval &interval); + + Optional> zpopmax(const StringView &key); + + template + void zpopmax(const StringView &key, long long count, Output output); + + Optional> zpopmin(const StringView &key); + + template + void zpopmin(const StringView &key, long long count, Output output); + + // If *output* is an iterator of a container of string, + // we send *ZRANGE key start stop* command. + // If it's an iterator of a container of pair, + // we send *ZRANGE key start stop WITHSCORES* command. + // + // The following code sends *ZRANGE* without the *WITHSCORES* option: + // + // vector result; + // redis.zrange("key", 0, -1, back_inserter(result)); + // + // On the other hand, the following code sends command with *WITHSCORES* option: + // + // unordered_map with_score; + // redis.zrange("key", 0, -1, inserter(with_score, with_score.end())); + // + // This also applies to other commands with the *WITHSCORES* option, + // e.g. *ZRANGEBYSCORE*, *ZREVRANGE*, *ZREVRANGEBYSCORE*. + template + void zrange(const StringView &key, long long start, long long stop, Output output); + + template + void zrangebylex(const StringView &key, const Interval &interval, Output output); + + template + void zrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + // See *zrange* comment on how to send command with *WITHSCORES* option. + template + void zrangebyscore(const StringView &key, const Interval &interval, Output output); + + // See *zrange* comment on how to send command with *WITHSCORES* option. + template + void zrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + OptionalLongLong zrank(const StringView &key, const StringView &member); + + long long zrem(const StringView &key, const StringView &member); + + template + long long zrem(const StringView &key, Input first, Input last); + + template + long long zrem(const StringView &key, std::initializer_list il) { + return zrem(key, il.begin(), il.end()); + } + + template + long long zremrangebylex(const StringView &key, const Interval &interval); + + long long zremrangebyrank(const StringView &key, long long start, long long stop); + + template + long long zremrangebyscore(const StringView &key, const Interval &interval); + + // See *zrange* comment on how to send command with *WITHSCORES* option. + template + void zrevrange(const StringView &key, long long start, long long stop, Output output); + + template + void zrevrangebylex(const StringView &key, const Interval &interval, Output output); + + template + void zrevrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + // See *zrange* comment on how to send command with *WITHSCORES* option. + template + void zrevrangebyscore(const StringView &key, const Interval &interval, Output output); + + // See *zrange* comment on how to send command with *WITHSCORES* option. + template + void zrevrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output); + + OptionalLongLong zrevrank(const StringView &key, const StringView &member); + + template + long long zscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output); + + template + long long zscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output); + + template + long long zscan(const StringView &key, + long long cursor, + long long count, + Output output); + + template + long long zscan(const StringView &key, + long long cursor, + Output output); + + OptionalDouble zscore(const StringView &key, const StringView &member); + + long long zunionstore(const StringView &destination, const StringView &key, double weight); + + template + long long zunionstore(const StringView &destination, + Input first, + Input last, + Aggregation type = Aggregation::SUM); + + template + long long zunionstore(const StringView &destination, + std::initializer_list il, + Aggregation type = Aggregation::SUM) { + return zunionstore(destination, il.begin(), il.end(), type); + } + + // HYPERLOGLOG commands. + + bool pfadd(const StringView &key, const StringView &element); + + template + bool pfadd(const StringView &key, Input first, Input last); + + template + bool pfadd(const StringView &key, std::initializer_list il) { + return pfadd(key, il.begin(), il.end()); + } + + long long pfcount(const StringView &key); + + template + long long pfcount(Input first, Input last); + + template + long long pfcount(std::initializer_list il) { + return pfcount(il.begin(), il.end()); + } + + void pfmerge(const StringView &destination, const StringView &key); + + template + void pfmerge(const StringView &destination, Input first, Input last); + + template + void pfmerge(const StringView &destination, std::initializer_list il) { + pfmerge(destination, il.begin(), il.end()); + } + + // GEO commands. + + long long geoadd(const StringView &key, + const std::tuple &member); + + template + long long geoadd(const StringView &key, + Input first, + Input last); + + template + long long geoadd(const StringView &key, + std::initializer_list il) { + return geoadd(key, il.begin(), il.end()); + } + + OptionalDouble geodist(const StringView &key, + const StringView &member1, + const StringView &member2, + GeoUnit unit = GeoUnit::M); + + OptionalString geohash(const StringView &key, const StringView &member); + + template + void geohash(const StringView &key, Input first, Input last, Output output); + + template + void geohash(const StringView &key, std::initializer_list il, Output output) { + geohash(key, il.begin(), il.end(), output); + } + + Optional> geopos(const StringView &key, const StringView &member); + + template + void geopos(const StringView &key, Input first, Input last, Output output); + + template + void geopos(const StringView &key, std::initializer_list il, Output output) { + geopos(key, il.begin(), il.end(), output); + } + + // TODO: + // 1. since we have different overloads for georadius and georadius-store, + // we might use the GEORADIUS_RO command in the future. + // 2. there're too many parameters for this method, we might refactor it. + OptionalLongLong georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + + // If *output* is an iterator of a container of string, we send *GEORADIUS* command + // without any options and only get the members in the specified geo range. + // If *output* is an iterator of a container of a tuple, the type of the tuple decides + // options we send with the *GEORADIUS* command. If the tuple has an element of type + // double, we send the *WITHDIST* option. If it has an element of type string, we send + // the *WITHHASH* option. If it has an element of type pair, we send + // the *WITHCOORD* option. For example: + // + // The following code only gets the members in range, i.e. without any option. + // + // vector members; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(members)) + // + // The following code sends the command with *WITHDIST* option. + // + // vector> with_dist; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(with_dist)) + // + // The following code sends the command with *WITHDIST* and *WITHHASH* options. + // + // vector> with_dist_hash; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(with_dist_hash)) + // + // The following code sends the command with *WITHDIST*, *WITHCOORD* and *WITHHASH* options. + // + // vector, string>> with_dist_coord_hash; + // redis.georadius("key", make_pair(10.1, 10.2), 10, GeoUnit::KM, 10, true, + // back_inserter(with_dist_coord_hash)) + // + // This also applies to *GEORADIUSBYMEMBER*. + template + void georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output); + + OptionalLongLong georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + const StringView &destination, + bool store_dist, + long long count); + + // See comments on *GEORADIUS*. + template + void georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output); + + // SCRIPTING commands. + + template + Result eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last); + + template + Result eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args); + + template + void eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output); + + template + void eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output); + + template + Result evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last); + + template + Result evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args); + + template + void evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output); + + template + void evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output); + + // PUBSUB commands. + + long long publish(const StringView &channel, const StringView &message); + + // Stream commands. + + long long xack(const StringView &key, const StringView &group, const StringView &id); + + template + long long xack(const StringView &key, const StringView &group, Input first, Input last); + + template + long long xack(const StringView &key, const StringView &group, std::initializer_list il) { + return xack(key, group, il.begin(), il.end()); + } + + template + std::string xadd(const StringView &key, const StringView &id, Input first, Input last); + + template + std::string xadd(const StringView &key, const StringView &id, std::initializer_list il) { + return xadd(key, id, il.begin(), il.end()); + } + + template + std::string xadd(const StringView &key, + const StringView &id, + Input first, + Input last, + long long count, + bool approx = true); + + template + std::string xadd(const StringView &key, + const StringView &id, + std::initializer_list il, + long long count, + bool approx = true) { + return xadd(key, id, il.begin(), il.end(), count, approx); + } + + template + void xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + const StringView &id, + Output output); + + template + void xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + Input first, + Input last, + Output output); + + template + void xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + std::initializer_list il, + Output output) { + xclaim(key, group, consumer, min_idle_time, il.begin(), il.end(), output); + } + + long long xdel(const StringView &key, const StringView &id); + + template + long long xdel(const StringView &key, Input first, Input last); + + template + long long xdel(const StringView &key, std::initializer_list il) { + return xdel(key, il.begin(), il.end()); + } + + void xgroup_create(const StringView &key, + const StringView &group, + const StringView &id, + bool mkstream = false); + + void xgroup_setid(const StringView &key, const StringView &group, const StringView &id); + + long long xgroup_destroy(const StringView &key, const StringView &group); + + long long xgroup_delconsumer(const StringView &key, + const StringView &group, + const StringView &consumer); + + long long xlen(const StringView &key); + + template + auto xpending(const StringView &key, const StringView &group, Output output) + -> std::tuple; + + template + void xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + Output output); + + template + void xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + const StringView &consumer, + Output output); + + template + void xrange(const StringView &key, + const StringView &start, + const StringView &end, + Output output); + + template + void xrange(const StringView &key, + const StringView &start, + const StringView &end, + long long count, + Output output); + + template + void xread(const StringView &key, + const StringView &id, + long long count, + Output output); + + template + void xread(const StringView &key, + const StringView &id, + Output output) { + xread(key, id, 0, output); + } + + template + auto xread(Input first, Input last, long long count, Output output) + -> typename std::enable_if::value>::type; + + template + auto xread(Input first, Input last, Output output) + -> typename std::enable_if::value>::type { + xread(first, last, 0, output); + } + + template + void xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + Output output); + + template + void xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + Output output) { + xread(key, id, timeout, 0, output); + } + + template + auto xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + Output output) + -> typename std::enable_if::value>::type; + + template + auto xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + Output output) + -> typename std::enable_if::value>::type { + xread(first, last, timeout, 0, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + bool noack, + Output output); + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + Output output) { + xreadgroup(group, consumer, key, id, count, false, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + Output output) { + xreadgroup(group, consumer, key, id, 0, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type; + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first ,last, count, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first ,last, 0, false, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output); + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + Output output) { + return xreadgroup(group, consumer, key, id, timeout, count, false, output); + } + + template + void xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + Output output) { + return xreadgroup(group, consumer, key, id, timeout, 0, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type; + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first, last, timeout, count, false, output); + } + + template + auto xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + Output output) + -> typename std::enable_if::value>::type { + xreadgroup(group, consumer, first, last, timeout, 0, false, output); + } + + template + void xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + Output output); + + template + void xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + long long count, + Output output); + + long long xtrim(const StringView &key, long long count, bool approx = true); + +private: + class Command { + public: + explicit Command(const StringView &cmd_name) : _cmd_name(cmd_name) {} + + template + void operator()(Connection &connection, Args &&...args) const { + CmdArgs cmd_args; + cmd_args.append(_cmd_name, std::forward(args)...); + connection.send(cmd_args); + } + + private: + StringView _cmd_name; + }; + + template + auto _generic_command(Cmd cmd, Key &&key, Args &&...args) + -> typename std::enable_if::value, + ReplyUPtr>::type; + + template + auto _generic_command(Cmd cmd, Key &&key, Args &&...args) + -> typename std::enable_if::type>::value, + ReplyUPtr>::type; + + template + ReplyUPtr _command(Cmd cmd, Connection &connection, Args &&...args); + + template + ReplyUPtr _command(Cmd cmd, const StringView &key, Args &&...args); + + template + ReplyUPtr _command(Cmd cmd, std::true_type, const StringView &key, Args &&...args); + + template + ReplyUPtr _command(Cmd cmd, std::false_type, Input &&first, Args &&...args); + + template + ReplyUPtr _command(const StringView &cmd_name, const IndexSequence &, Args &&...args) { + return command(cmd_name, NthValue(std::forward(args)...)...); + } + + template + ReplyUPtr _range_command(Cmd cmd, std::true_type, Input input, Args &&...args); + + template + ReplyUPtr _range_command(Cmd cmd, std::false_type, Input input, Args &&...args); + + void _asking(Connection &connection); + + template + ReplyUPtr _score_command(std::true_type, Cmd cmd, Args &&... args); + + template + ReplyUPtr _score_command(std::false_type, Cmd cmd, Args &&... args); + + template + ReplyUPtr _score_command(Cmd cmd, Args &&... args); + + ShardsPool _pool; +}; + +} + +} + +#include "redis_cluster.hpp" + +#endif // end SEWENEW_REDISPLUSPLUS_REDIS_CLUSTER_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.hpp b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.hpp new file mode 100644 index 000000000..2153d181b --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/redis_cluster.hpp @@ -0,0 +1,1403 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_REDIS_CLUSTER_HPP +#define SEWENEW_REDISPLUSPLUS_REDIS_CLUSTER_HPP + +#include +#include "command.h" +#include "reply.h" +#include "utils.h" +#include "errors.h" +#include "shards_pool.h" + +namespace sw { + +namespace redis { + +template +auto RedisCluster::command(Cmd cmd, Key &&key, Args &&...args) + -> typename std::enable_if::value, ReplyUPtr>::type { + return _command(cmd, + std::is_convertible::type, StringView>(), + std::forward(key), + std::forward(args)...); +} + +template +auto RedisCluster::command(const StringView &cmd_name, Key &&key, Args &&...args) + -> typename std::enable_if<(std::is_convertible::value + || std::is_arithmetic::type>::value) + && !IsIter::type>::value, ReplyUPtr>::type { + auto cmd = Command(cmd_name); + + return _generic_command(cmd, std::forward(key), std::forward(args)...); +} + +template +auto RedisCluster::command(const StringView &cmd_name, Key &&key, Args &&...args) + -> typename std::enable_if::value + || std::is_arithmetic::type>::value, Result>::type { + auto r = command(cmd_name, std::forward(key), std::forward(args)...); + + assert(r); + + return reply::parse(*r); +} + +template +auto RedisCluster::command(const StringView &cmd_name, Key &&key, Args &&...args) + -> typename std::enable_if<(std::is_convertible::value + || std::is_arithmetic::type>::value) + && IsIter::type>::value, void>::type { + auto r = _command(cmd_name, + MakeIndexSequence(), + std::forward(key), + std::forward(args)...); + + assert(r); + + reply::to_array(*r, LastValue(std::forward(args)...)); +} + +template +auto RedisCluster::command(Input first, Input last) + -> typename std::enable_if::value, ReplyUPtr>::type { + if (first == last || std::next(first) == last) { + throw Error("command: invalid range"); + } + + const auto &key = *first; + ++first; + + auto cmd = [&key](Connection &connection, Input first, Input last) { + CmdArgs cmd_args; + cmd_args.append(key); + while (first != last) { + cmd_args.append(*first); + ++first; + } + connection.send(cmd_args); + }; + + return command(cmd, first, last); +} + +template +auto RedisCluster::command(Input first, Input last) + -> typename std::enable_if::value, Result>::type { + auto r = command(first, last); + + assert(r); + + return reply::parse(*r); +} + +template +auto RedisCluster::command(Input first, Input last, Output output) + -> typename std::enable_if::value, void>::type { + auto r = command(first, last); + + assert(r); + + reply::to_array(*r, output); +} + +// KEY commands. + +template +long long RedisCluster::del(Input first, Input last) { + range_check("DEL", first, last); + + auto reply = command(cmd::del_range, first, last); + + return reply::parse(*reply); +} + +template +long long RedisCluster::exists(Input first, Input last) { + range_check("EXISTS", first, last); + + auto reply = command(cmd::exists_range, first, last); + + return reply::parse(*reply); +} + +inline bool RedisCluster::expire(const StringView &key, const std::chrono::seconds &timeout) { + return expire(key, timeout.count()); +} + +inline bool RedisCluster::expireat(const StringView &key, + const std::chrono::time_point &tp) { + return expireat(key, tp.time_since_epoch().count()); +} + +inline bool RedisCluster::pexpire(const StringView &key, const std::chrono::milliseconds &timeout) { + return pexpire(key, timeout.count()); +} + +inline bool RedisCluster::pexpireat(const StringView &key, + const std::chrono::time_point &tp) { + return pexpireat(key, tp.time_since_epoch().count()); +} + +inline void RedisCluster::restore(const StringView &key, + const StringView &val, + const std::chrono::milliseconds &ttl, + bool replace) { + return restore(key, val, ttl.count(), replace); +} + +template +long long RedisCluster::touch(Input first, Input last) { + range_check("TOUCH", first, last); + + auto reply = command(cmd::touch_range, first, last); + + return reply::parse(*reply); +} + +template +long long RedisCluster::unlink(Input first, Input last) { + range_check("UNLINK", first, last); + + auto reply = command(cmd::unlink_range, first, last); + + return reply::parse(*reply); +} + +// STRING commands. + +template +long long RedisCluster::bitop(BitOp op, const StringView &destination, Input first, Input last) { + range_check("BITOP", first, last); + + auto reply = _command(cmd::bitop_range, destination, op, destination, first, last); + + return reply::parse(*reply); +} + +template +void RedisCluster::mget(Input first, Input last, Output output) { + range_check("MGET", first, last); + + auto reply = command(cmd::mget, first, last); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::mset(Input first, Input last) { + range_check("MSET", first, last); + + auto reply = command(cmd::mset, first, last); + + reply::parse(*reply); +} + +template +bool RedisCluster::msetnx(Input first, Input last) { + range_check("MSETNX", first, last); + + auto reply = command(cmd::msetnx, first, last); + + return reply::parse(*reply); +} + +inline void RedisCluster::psetex(const StringView &key, + const std::chrono::milliseconds &ttl, + const StringView &val) { + return psetex(key, ttl.count(), val); +} + +inline void RedisCluster::setex(const StringView &key, + const std::chrono::seconds &ttl, + const StringView &val) { + setex(key, ttl.count(), val); +} + +// LIST commands. + +template +OptionalStringPair RedisCluster::blpop(Input first, Input last, long long timeout) { + range_check("BLPOP", first, last); + + auto reply = command(cmd::blpop_range, first, last, timeout); + + return reply::parse(*reply); +} + +template +OptionalStringPair RedisCluster::blpop(Input first, + Input last, + const std::chrono::seconds &timeout) { + return blpop(first, last, timeout.count()); +} + +template +OptionalStringPair RedisCluster::brpop(Input first, Input last, long long timeout) { + range_check("BRPOP", first, last); + + auto reply = command(cmd::brpop_range, first, last, timeout); + + return reply::parse(*reply); +} + +template +OptionalStringPair RedisCluster::brpop(Input first, + Input last, + const std::chrono::seconds &timeout) { + return brpop(first, last, timeout.count()); +} + +inline OptionalString RedisCluster::brpoplpush(const StringView &source, + const StringView &destination, + const std::chrono::seconds &timeout) { + return brpoplpush(source, destination, timeout.count()); +} + +template +inline long long RedisCluster::lpush(const StringView &key, Input first, Input last) { + range_check("LPUSH", first, last); + + auto reply = command(cmd::lpush_range, key, first, last); + + return reply::parse(*reply); +} + +template +inline void RedisCluster::lrange(const StringView &key, long long start, long long stop, Output output) { + auto reply = command(cmd::lrange, key, start, stop); + + reply::to_array(*reply, output); +} + +template +inline long long RedisCluster::rpush(const StringView &key, Input first, Input last) { + range_check("RPUSH", first, last); + + auto reply = command(cmd::rpush_range, key, first, last); + + return reply::parse(*reply); +} + +// HASH commands. + +template +inline long long RedisCluster::hdel(const StringView &key, Input first, Input last) { + range_check("HDEL", first, last); + + auto reply = command(cmd::hdel_range, key, first, last); + + return reply::parse(*reply); +} + +template +inline void RedisCluster::hgetall(const StringView &key, Output output) { + auto reply = command(cmd::hgetall, key); + + reply::to_array(*reply, output); +} + +template +inline void RedisCluster::hkeys(const StringView &key, Output output) { + auto reply = command(cmd::hkeys, key); + + reply::to_array(*reply, output); +} + +template +inline void RedisCluster::hmget(const StringView &key, Input first, Input last, Output output) { + range_check("HMGET", first, last); + + auto reply = command(cmd::hmget, key, first, last); + + reply::to_array(*reply, output); +} + +template +inline void RedisCluster::hmset(const StringView &key, Input first, Input last) { + range_check("HMSET", first, last); + + auto reply = command(cmd::hmset, key, first, last); + + reply::parse(*reply); +} + +template +long long RedisCluster::hscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::hscan, key, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long RedisCluster::hscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output) { + return hscan(key, cursor, pattern, 10, output); +} + +template +inline long long RedisCluster::hscan(const StringView &key, + long long cursor, + long long count, + Output output) { + return hscan(key, cursor, "*", count, output); +} + +template +inline long long RedisCluster::hscan(const StringView &key, + long long cursor, + Output output) { + return hscan(key, cursor, "*", 10, output); +} + +template +auto RedisCluster::hset(const StringView &key, Input first, Input last) + -> typename std::enable_if::value, + long long>::type { + range_check("HSET", first, last); + + auto reply = command(cmd::hset_range, key, first, last); + + return reply::parse(*reply); +} + +template +inline void RedisCluster::hvals(const StringView &key, Output output) { + auto reply = command(cmd::hvals, key); + + reply::to_array(*reply, output); +} + +// SET commands. + +template +long long RedisCluster::sadd(const StringView &key, Input first, Input last) { + range_check("SADD", first, last); + + auto reply = command(cmd::sadd_range, key, first, last); + + return reply::parse(*reply); +} + +template +void RedisCluster::sdiff(Input first, Input last, Output output) { + range_check("SDIFF", first, last); + + auto reply = command(cmd::sdiff, first, last); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::sdiffstore(const StringView &destination, + Input first, + Input last) { + range_check("SDIFFSTORE", first, last); + + auto reply = command(cmd::sdiffstore_range, destination, first, last); + + return reply::parse(*reply); +} + +template +void RedisCluster::sinter(Input first, Input last, Output output) { + range_check("SINTER", first, last); + + auto reply = command(cmd::sinter, first, last); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::sinterstore(const StringView &destination, + Input first, + Input last) { + range_check("SINTERSTORE", first, last); + + auto reply = command(cmd::sinterstore_range, destination, first, last); + + return reply::parse(*reply); +} + +template +void RedisCluster::smembers(const StringView &key, Output output) { + auto reply = command(cmd::smembers, key); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::spop(const StringView &key, long long count, Output output) { + auto reply = command(cmd::spop_range, key, count); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::srandmember(const StringView &key, long long count, Output output) { + auto reply = command(cmd::srandmember_range, key, count); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::srem(const StringView &key, Input first, Input last) { + range_check("SREM", first, last); + + auto reply = command(cmd::srem_range, key, first, last); + + return reply::parse(*reply); +} + +template +long long RedisCluster::sscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::sscan, key, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long RedisCluster::sscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output) { + return sscan(key, cursor, pattern, 10, output); +} + +template +inline long long RedisCluster::sscan(const StringView &key, + long long cursor, + long long count, + Output output) { + return sscan(key, cursor, "*", count, output); +} + +template +inline long long RedisCluster::sscan(const StringView &key, + long long cursor, + Output output) { + return sscan(key, cursor, "*", 10, output); +} + +template +void RedisCluster::sunion(Input first, Input last, Output output) { + range_check("SUNION", first, last); + + auto reply = command(cmd::sunion, first, last); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::sunionstore(const StringView &destination, Input first, Input last) { + range_check("SUNIONSTORE", first, last); + + auto reply = command(cmd::sunionstore_range, destination, first, last); + + return reply::parse(*reply); +} + +// SORTED SET commands. + +inline auto RedisCluster::bzpopmax(const StringView &key, const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmax(key, timeout.count()); +} + +template +auto RedisCluster::bzpopmax(Input first, Input last, long long timeout) + -> Optional> { + auto reply = command(cmd::bzpopmax_range, first, last, timeout); + + return reply::parse>>(*reply); +} + +template +inline auto RedisCluster::bzpopmax(Input first, + Input last, + const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmax(first, last, timeout.count()); +} + +inline auto RedisCluster::bzpopmin(const StringView &key, const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmin(key, timeout.count()); +} + +template +auto RedisCluster::bzpopmin(Input first, Input last, long long timeout) + -> Optional> { + auto reply = command(cmd::bzpopmin_range, first, last, timeout); + + return reply::parse>>(*reply); +} + +template +inline auto RedisCluster::bzpopmin(Input first, + Input last, + const std::chrono::seconds &timeout) + -> Optional> { + return bzpopmin(first, last, timeout.count()); +} + +template +long long RedisCluster::zadd(const StringView &key, + Input first, + Input last, + UpdateType type, + bool changed) { + range_check("ZADD", first, last); + + auto reply = command(cmd::zadd_range, key, first, last, type, changed); + + return reply::parse(*reply); +} + +template +long long RedisCluster::zcount(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zcount, key, interval); + + return reply::parse(*reply); +} + +template +long long RedisCluster::zinterstore(const StringView &destination, + Input first, + Input last, + Aggregation type) { + range_check("ZINTERSTORE", first, last); + + auto reply = command(cmd::zinterstore_range, + destination, + first, + last, + type); + + return reply::parse(*reply); +} + +template +long long RedisCluster::zlexcount(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zlexcount, key, interval); + + return reply::parse(*reply); +} + +template +void RedisCluster::zpopmax(const StringView &key, long long count, Output output) { + auto reply = command(cmd::zpopmax, key, count); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::zpopmin(const StringView &key, long long count, Output output) { + auto reply = command(cmd::zpopmin, key, count); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::zrange(const StringView &key, long long start, long long stop, Output output) { + auto reply = _score_command(cmd::zrange, key, start, stop); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::zrangebylex(const StringView &key, const Interval &interval, Output output) { + zrangebylex(key, interval, {}, output); +} + +template +void RedisCluster::zrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = command(cmd::zrangebylex, key, interval, opts); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::zrangebyscore(const StringView &key, + const Interval &interval, + Output output) { + zrangebyscore(key, interval, {}, output); +} + +template +void RedisCluster::zrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = _score_command(cmd::zrangebyscore, + key, + interval, + opts); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::zrem(const StringView &key, Input first, Input last) { + range_check("ZREM", first, last); + + auto reply = command(cmd::zrem_range, key, first, last); + + return reply::parse(*reply); +} + +template +long long RedisCluster::zremrangebylex(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zremrangebylex, key, interval); + + return reply::parse(*reply); +} + +template +long long RedisCluster::zremrangebyscore(const StringView &key, const Interval &interval) { + auto reply = command(cmd::zremrangebyscore, key, interval); + + return reply::parse(*reply); +} + +template +void RedisCluster::zrevrange(const StringView &key, long long start, long long stop, Output output) { + auto reply = _score_command(cmd::zrevrange, key, start, stop); + + reply::to_array(*reply, output); +} + +template +inline void RedisCluster::zrevrangebylex(const StringView &key, + const Interval &interval, + Output output) { + zrevrangebylex(key, interval, {}, output); +} + +template +void RedisCluster::zrevrangebylex(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = command(cmd::zrevrangebylex, key, interval, opts); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::zrevrangebyscore(const StringView &key, const Interval &interval, Output output) { + zrevrangebyscore(key, interval, {}, output); +} + +template +void RedisCluster::zrevrangebyscore(const StringView &key, + const Interval &interval, + const LimitOptions &opts, + Output output) { + auto reply = _score_command(cmd::zrevrangebyscore, key, interval, opts); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::zscan(const StringView &key, + long long cursor, + const StringView &pattern, + long long count, + Output output) { + auto reply = command(cmd::zscan, key, cursor, pattern, count); + + return reply::parse_scan_reply(*reply, output); +} + +template +inline long long RedisCluster::zscan(const StringView &key, + long long cursor, + const StringView &pattern, + Output output) { + return zscan(key, cursor, pattern, 10, output); +} + +template +inline long long RedisCluster::zscan(const StringView &key, + long long cursor, + long long count, + Output output) { + return zscan(key, cursor, "*", count, output); +} + +template +inline long long RedisCluster::zscan(const StringView &key, + long long cursor, + Output output) { + return zscan(key, cursor, "*", 10, output); +} + +template +long long RedisCluster::zunionstore(const StringView &destination, + Input first, + Input last, + Aggregation type) { + range_check("ZUNIONSTORE", first, last); + + auto reply = command(cmd::zunionstore_range, + destination, + first, + last, + type); + + return reply::parse(*reply); +} + +// HYPERLOGLOG commands. + +template +bool RedisCluster::pfadd(const StringView &key, Input first, Input last) { + range_check("PFADD", first, last); + + auto reply = command(cmd::pfadd_range, key, first, last); + + return reply::parse(*reply); +} + +template +long long RedisCluster::pfcount(Input first, Input last) { + range_check("PFCOUNT", first, last); + + auto reply = command(cmd::pfcount_range, first, last); + + return reply::parse(*reply); +} + +template +void RedisCluster::pfmerge(const StringView &destination, + Input first, + Input last) { + range_check("PFMERGE", first, last); + + auto reply = command(cmd::pfmerge_range, destination, first, last); + + reply::parse(*reply); +} + +// GEO commands. + +template +inline long long RedisCluster::geoadd(const StringView &key, + Input first, + Input last) { + range_check("GEOADD", first, last); + + auto reply = command(cmd::geoadd_range, key, first, last); + + return reply::parse(*reply); +} + +template +void RedisCluster::geohash(const StringView &key, Input first, Input last, Output output) { + range_check("GEOHASH", first, last); + + auto reply = command(cmd::geohash_range, key, first, last); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::geopos(const StringView &key, Input first, Input last, Output output) { + range_check("GEOPOS", first, last); + + auto reply = command(cmd::geopos_range, key, first, last); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::georadius(const StringView &key, + const std::pair &loc, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output) { + auto reply = command(cmd::georadius, + key, + loc, + radius, + unit, + count, + asc, + WithCoord::type>::value, + WithDist::type>::value, + WithHash::type>::value); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::georadiusbymember(const StringView &key, + const StringView &member, + double radius, + GeoUnit unit, + long long count, + bool asc, + Output output) { + auto reply = command(cmd::georadiusbymember, + key, + member, + radius, + unit, + count, + asc, + WithCoord::type>::value, + WithDist::type>::value, + WithHash::type>::value); + + reply::to_array(*reply, output); +} + +// SCRIPTING commands. + +template +Result RedisCluster::eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + if (keys_first == keys_last) { + throw Error("DO NOT support Lua script without key"); + } + + auto reply = _command(cmd::eval, *keys_first, script, keys_first, keys_last, args_first, args_last); + + return reply::parse(*reply); +} + +template +Result RedisCluster::eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args) { + return eval(script, keys.begin(), keys.end(), args.begin(), args.end()); +} + +template +void RedisCluster::eval(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output) { + if (keys_first == keys_last) { + throw Error("DO NOT support Lua script without key"); + } + + auto reply = _command(cmd::eval, + *keys_first, + script, + keys_first, keys_last, + args_first, args_last); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::eval(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output) { + eval(script, keys.begin(), keys.end(), args.begin(), args.end(), output); +} + +template +Result RedisCluster::evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last) { + if (keys_first == keys_last) { + throw Error("DO NOT support Lua script without key"); + } + + auto reply = _command(cmd::evalsha, *keys_first, script, + keys_first, keys_last, args_first, args_last); + + return reply::parse(*reply); +} + +template +Result RedisCluster::evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args) { + return evalsha(script, keys.begin(), keys.end(), args.begin(), args.end()); +} + +template +void RedisCluster::evalsha(const StringView &script, + Keys keys_first, + Keys keys_last, + Args args_first, + Args args_last, + Output output) { + if (keys_first == keys_last) { + throw Error("DO NOT support Lua script without key"); + } + + auto reply = _command(cmd::evalsha, + *keys_first, + script, + keys_first, keys_last, + args_first, args_last); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::evalsha(const StringView &script, + std::initializer_list keys, + std::initializer_list args, + Output output) { + evalsha(script, keys.begin(), keys.end(), args.begin(), args.end(), output); +} + +// Stream commands. + +template +long long RedisCluster::xack(const StringView &key, + const StringView &group, + Input first, + Input last) { + auto reply = command(cmd::xack_range, key, group, first, last); + + return reply::parse(*reply); +} + +template +std::string RedisCluster::xadd(const StringView &key, + const StringView &id, + Input first, + Input last) { + auto reply = command(cmd::xadd_range, key, id, first, last); + + return reply::parse(*reply); +} + +template +std::string RedisCluster::xadd(const StringView &key, + const StringView &id, + Input first, + Input last, + long long count, + bool approx) { + auto reply = command(cmd::xadd_maxlen_range, key, id, first, last, count, approx); + + return reply::parse(*reply); +} + +template +void RedisCluster::xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + const StringView &id, + Output output) { + auto reply = command(cmd::xclaim, key, group, consumer, min_idle_time.count(), id); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::xclaim(const StringView &key, + const StringView &group, + const StringView &consumer, + const std::chrono::milliseconds &min_idle_time, + Input first, + Input last, + Output output) { + auto reply = command(cmd::xclaim_range, + key, + group, + consumer, + min_idle_time.count(), + first, + last); + + reply::to_array(*reply, output); +} + +template +long long RedisCluster::xdel(const StringView &key, Input first, Input last) { + auto reply = command(cmd::xdel_range, key, first, last); + + return reply::parse(*reply); +} + +template +auto RedisCluster::xpending(const StringView &key, const StringView &group, Output output) + -> std::tuple { + auto reply = command(cmd::xpending, key, group); + + return reply::parse_xpending_reply(*reply, output); +} + +template +void RedisCluster::xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + Output output) { + auto reply = command(cmd::xpending_detail, key, group, start, end, count); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::xpending(const StringView &key, + const StringView &group, + const StringView &start, + const StringView &end, + long long count, + const StringView &consumer, + Output output) { + auto reply = command(cmd::xpending_per_consumer, key, group, start, end, count, consumer); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::xrange(const StringView &key, + const StringView &start, + const StringView &end, + Output output) { + auto reply = command(cmd::xrange, key, start, end); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::xrange(const StringView &key, + const StringView &start, + const StringView &end, + long long count, + Output output) { + auto reply = command(cmd::xrange_count, key, start, end, count); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::xread(const StringView &key, + const StringView &id, + long long count, + Output output) { + auto reply = command(cmd::xread, key, id, count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto RedisCluster::xread(Input first, Input last, long long count, Output output) + -> typename std::enable_if::value>::type { + range_check("XREAD", first, last); + + auto reply = command(cmd::xread_range, first, last, count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void RedisCluster::xread(const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + Output output) { + auto reply = command(cmd::xread_block, key, id, timeout.count(), count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto RedisCluster::xread(Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + Output output) + -> typename std::enable_if::value>::type { + range_check("XREAD", first, last); + + auto reply = command(cmd::xread_block_range, first, last, timeout.count(), count); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void RedisCluster::xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + long long count, + bool noack, + Output output) { + auto reply = _command(cmd::xreadgroup, key, group, consumer, key, id, count, noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto RedisCluster::xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type { + range_check("XREADGROUP", first, last); + + auto reply = _command(cmd::xreadgroup_range, + first->first, + group, + consumer, + first, + last, + count, + noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void RedisCluster::xreadgroup(const StringView &group, + const StringView &consumer, + const StringView &key, + const StringView &id, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output) { + auto reply = _command(cmd::xreadgroup_block, + key, + group, + consumer, + key, + id, + timeout.count(), + count, + noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +auto RedisCluster::xreadgroup(const StringView &group, + const StringView &consumer, + Input first, + Input last, + const std::chrono::milliseconds &timeout, + long long count, + bool noack, + Output output) + -> typename std::enable_if::value>::type { + range_check("XREADGROUP", first, last); + + auto reply = _command(cmd::xreadgroup_block_range, + first->first, + group, + consumer, + first, + last, + timeout.count(), + count, + noack); + + if (!reply::is_nil(*reply)) { + reply::to_array(*reply, output); + } +} + +template +void RedisCluster::xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + Output output) { + auto reply = command(cmd::xrevrange, key, end, start); + + reply::to_array(*reply, output); +} + +template +void RedisCluster::xrevrange(const StringView &key, + const StringView &end, + const StringView &start, + long long count, + Output output) { + auto reply = command(cmd::xrevrange_count, key, end, start, count); + + reply::to_array(*reply, output); +} + +template +auto RedisCluster::_generic_command(Cmd cmd, Key &&key, Args &&...args) + -> typename std::enable_if::value, + ReplyUPtr>::type { + return command(cmd, std::forward(key), std::forward(args)...); +} + +template +auto RedisCluster::_generic_command(Cmd cmd, Key &&key, Args &&...args) + -> typename std::enable_if::type>::value, + ReplyUPtr>::type { + auto k = std::to_string(std::forward(key)); + return command(cmd, k, std::forward(args)...); +} + +template +ReplyUPtr RedisCluster::_command(Cmd cmd, std::true_type, const StringView &key, Args &&...args) { + return _command(cmd, key, key, std::forward(args)...); +} + +template +ReplyUPtr RedisCluster::_command(Cmd cmd, std::false_type, Input &&first, Args &&...args) { + return _range_command(cmd, + std::is_convertible< + typename std::decay< + decltype(*std::declval())>::type, StringView>(), + std::forward(first), + std::forward(args)...); +} + +template +ReplyUPtr RedisCluster::_range_command(Cmd cmd, std::true_type, Input input, Args &&...args) { + return _command(cmd, *input, input, std::forward(args)...); +} + +template +ReplyUPtr RedisCluster::_range_command(Cmd cmd, std::false_type, Input input, Args &&...args) { + return _command(cmd, std::get<0>(*input), input, std::forward(args)...); +} + +template +ReplyUPtr RedisCluster::_command(Cmd cmd, Connection &connection, Args &&...args) { + assert(!connection.broken()); + + cmd(connection, std::forward(args)...); + + return connection.recv(); +} + +template +ReplyUPtr RedisCluster::_command(Cmd cmd, const StringView &key, Args &&...args) { + for (auto idx = 0; idx < 2; ++idx) { + try { + auto pool = _pool.fetch(key); + assert(pool); + SafeConnection safe_connection(*pool); + + return _command(cmd, safe_connection.connection(), std::forward(args)...); + } catch (const IoError &err) { + // When master is down, one of its replicas will be promoted to be the new master. + // If we try to send command to the old master, we'll get an *IoError*. + // In this case, we need to update the slots mapping. + _pool.update(); + } catch (const ClosedError &err) { + // Node might be removed. + // 1. Get up-to-date slot mapping to check if the node still exists. + _pool.update(); + + // TODO: + // 2. If it's NOT exist, update slot mapping, and retry. + // 3. If it's still exist, that means the node is down, NOT removed, throw exception. + } catch (const MovedError &err) { + // Slot mapping has been changed, update it and try again. + _pool.update(); + } catch (const AskError &err) { + auto pool = _pool.fetch(err.node()); + assert(pool); + SafeConnection safe_connection(*pool); + auto &connection = safe_connection.connection(); + + // 1. send ASKING command. + _asking(connection); + + // 2. resend last command. + try { + return _command(cmd, connection, std::forward(args)...); + } catch (const MovedError &err) { + throw Error("Slot migrating... ASKING node hasn't been set to IMPORTING state"); + } + } // For other exceptions, just throw it. + } + + // Possible failures: + // 1. Source node has already run 'CLUSTER SETSLOT xxx NODE xxx', + // while the destination node has NOT run it. + // In this case, client will be redirected by both nodes with MovedError. + // 2. Other failures... + throw Error("Failed to send command with key: " + std::string(key.data(), key.size())); +} + +template +inline ReplyUPtr RedisCluster::_score_command(std::true_type, Cmd cmd, Args &&... args) { + return command(cmd, std::forward(args)..., true); +} + +template +inline ReplyUPtr RedisCluster::_score_command(std::false_type, Cmd cmd, Args &&... args) { + return command(cmd, std::forward(args)..., false); +} + +template +inline ReplyUPtr RedisCluster::_score_command(Cmd cmd, Args &&... args) { + return _score_command(typename IsKvPairIter::type(), + cmd, + std::forward(args)...); +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_REDIS_CLUSTER_HPP diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/reply.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/reply.h new file mode 100644 index 000000000..d89174329 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/reply.h @@ -0,0 +1,435 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_REPLY_H +#define SEWENEW_REDISPLUSPLUS_REPLY_H + +#include +#include +#include +#include +#include +#include +#include +#include "errors.h" +#include "utils.h" + +namespace sw { + +namespace redis { + +struct ReplyDeleter { + void operator()(redisReply *reply) const { + if (reply != nullptr) { + freeReplyObject(reply); + } + } +}; + +using ReplyUPtr = std::unique_ptr; + +namespace reply { + +template +struct ParseTag {}; + +template +inline T parse(redisReply &reply) { + return parse(ParseTag(), reply); +} + +template +T parse_leniently(redisReply &reply); + +void parse(ParseTag, redisReply &reply); + +std::string parse(ParseTag, redisReply &reply); + +long long parse(ParseTag, redisReply &reply); + +double parse(ParseTag, redisReply &reply); + +bool parse(ParseTag, redisReply &reply); + +template +Optional parse(ParseTag>, redisReply &reply); + +template +std::pair parse(ParseTag>, redisReply &reply); + +template +std::tuple parse(ParseTag>, redisReply &reply); + +#ifdef REDIS_PLUS_PLUS_HAS_VARIANT + +inline Monostate parse(ParseTag, redisReply &) { + // Just ignore the reply + return {}; +} + +template +Variant parse(ParseTag>, redisReply &reply); + +#endif + +template ::value, int>::type = 0> +T parse(ParseTag, redisReply &reply); + +template ::value, int>::type = 0> +T parse(ParseTag, redisReply &reply); + +template +long long parse_scan_reply(redisReply &reply, Output output); + +inline bool is_error(redisReply &reply) { + return reply.type == REDIS_REPLY_ERROR; +} + +inline bool is_nil(redisReply &reply) { + return reply.type == REDIS_REPLY_NIL; +} + +inline bool is_string(redisReply &reply) { + return reply.type == REDIS_REPLY_STRING; +} + +inline bool is_status(redisReply &reply) { + return reply.type == REDIS_REPLY_STATUS; +} + +inline bool is_integer(redisReply &reply) { + return reply.type == REDIS_REPLY_INTEGER; +} + +inline bool is_array(redisReply &reply) { + return reply.type == REDIS_REPLY_ARRAY; +} + +std::string to_status(redisReply &reply); + +template +void to_array(redisReply &reply, Output output); + +// Rewrite set reply to bool type +void rewrite_set_reply(redisReply &reply); + +// Some command might return an empty array reply as a nil reply, +// e.g. georadius, zpopmin, zpopmax. In this case, we rewrite the +// reply to a nil reply. +void rewrite_empty_array_reply(redisReply &reply); + +template +auto parse_xpending_reply(redisReply &reply, Output output) + -> std::tuple; + +} + +// Inline implementations. + +namespace reply { + +namespace detail { + +template +void to_array(redisReply &reply, Output output) { + if (!is_array(reply)) { + throw ProtoError("Expect ARRAY reply"); + } + + if (reply.element == nullptr) { + // Empty array. + return; + } + + for (std::size_t idx = 0; idx != reply.elements; ++idx) { + auto *sub_reply = reply.element[idx]; + if (sub_reply == nullptr) { + throw ProtoError("Null array element reply"); + } + + *output = parse::type>(*sub_reply); + + ++output; + } +} + +bool is_flat_array(redisReply &reply); + +template +void to_flat_array(redisReply &reply, Output output) { + if (reply.element == nullptr) { + // Empty array. + return; + } + + if (reply.elements % 2 != 0) { + throw ProtoError("Not string pair array reply"); + } + + for (std::size_t idx = 0; idx != reply.elements; idx += 2) { + auto *key_reply = reply.element[idx]; + auto *val_reply = reply.element[idx + 1]; + if (key_reply == nullptr || val_reply == nullptr) { + throw ProtoError("Null string array reply"); + } + + using Pair = typename IterType::type; + using FirstType = typename std::decay::type; + using SecondType = typename std::decay::type; + *output = std::make_pair(parse(*key_reply), + parse(*val_reply)); + + ++output; + } +} + +template +void to_array(std::true_type, redisReply &reply, Output output) { + if (is_flat_array(reply)) { + to_flat_array(reply, output); + } else { + to_array(reply, output); + } +} + +template +void to_array(std::false_type, redisReply &reply, Output output) { + to_array(reply, output); +} + +template +std::tuple parse_tuple(redisReply **reply, std::size_t idx) { + assert(reply != nullptr); + + auto *sub_reply = reply[idx]; + if (sub_reply == nullptr) { + throw ProtoError("Null reply"); + } + + return std::make_tuple(parse(*sub_reply)); +} + +template +auto parse_tuple(redisReply **reply, std::size_t idx) -> + typename std::enable_if>::type { + assert(reply != nullptr); + + return std::tuple_cat(parse_tuple(reply, idx), + parse_tuple(reply, idx + 1)); +} + +#ifdef REDIS_PLUS_PLUS_HAS_VARIANT + +template +Variant parse_variant(redisReply &reply) { + return parse(reply); +} + +template +auto parse_variant(redisReply &reply) -> + typename std::enable_if>::type { + auto return_var = [](auto &&arg) { + return Variant(std::move(arg)); + }; + + try { + return std::visit(return_var, parse_variant(reply)); + } catch (const ProtoError &) { + return std::visit(return_var, parse_variant(reply)); + } +} + +#endif + +} + +template +T parse_leniently(redisReply &reply) { + if (is_array(reply) && reply.elements == 1) { + if (reply.element == nullptr) { + throw ProtoError("null array reply"); + } + + auto *ele = reply.element[0]; + if (ele != nullptr) { + return parse(*ele); + } // else fall through + } + + return parse(reply); +} + +template +Optional parse(ParseTag>, redisReply &reply) { + if (reply::is_nil(reply)) { + // Because of a GCC bug, we cannot return {} for -std=c++17 + // Refer to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86465 +#if defined REDIS_PLUS_PLUS_HAS_OPTIONAL + return std::nullopt; +#else + return {}; +#endif + } + + return Optional(parse(reply)); +} + +template +std::pair parse(ParseTag>, redisReply &reply) { + if (!is_array(reply)) { + throw ProtoError("Expect ARRAY reply"); + } + + if (reply.elements != 2) { + throw ProtoError("NOT key-value PAIR reply"); + } + + if (reply.element == nullptr) { + throw ProtoError("Null PAIR reply"); + } + + auto *first = reply.element[0]; + auto *second = reply.element[1]; + if (first == nullptr || second == nullptr) { + throw ProtoError("Null pair reply"); + } + + return std::make_pair(parse::type>(*first), + parse::type>(*second)); +} + +template +std::tuple parse(ParseTag>, redisReply &reply) { + constexpr auto size = sizeof...(Args); + + static_assert(size > 0, "DO NOT support parsing tuple with 0 element"); + + if (!is_array(reply)) { + throw ProtoError("Expect ARRAY reply"); + } + + if (reply.elements != size) { + throw ProtoError("Expect tuple reply with " + std::to_string(size) + "elements"); + } + + if (reply.element == nullptr) { + throw ProtoError("Null TUPLE reply"); + } + + return detail::parse_tuple(reply.element, 0); +} + +#ifdef REDIS_PLUS_PLUS_HAS_VARIANT + +template +Variant parse(ParseTag>, redisReply &reply) { + return detail::parse_variant(reply); +} + +#endif + +template ::value, int>::type> +T parse(ParseTag, redisReply &reply) { + if (!is_array(reply)) { + throw ProtoError("Expect ARRAY reply"); + } + + T container; + + to_array(reply, std::back_inserter(container)); + + return container; +} + +template ::value, int>::type> +T parse(ParseTag, redisReply &reply) { + if (!is_array(reply)) { + throw ProtoError("Expect ARRAY reply"); + } + + T container; + + to_array(reply, std::inserter(container, container.end())); + + return container; +} + +template +long long parse_scan_reply(redisReply &reply, Output output) { + if (reply.elements != 2 || reply.element == nullptr) { + throw ProtoError("Invalid scan reply"); + } + + auto *cursor_reply = reply.element[0]; + auto *data_reply = reply.element[1]; + if (cursor_reply == nullptr || data_reply == nullptr) { + throw ProtoError("Invalid cursor reply or data reply"); + } + + auto cursor_str = reply::parse(*cursor_reply); + long long new_cursor = 0; + try { + new_cursor = std::stoll(cursor_str); + } catch (const std::exception &e) { + throw ProtoError("Invalid cursor reply: " + cursor_str); + } + + reply::to_array(*data_reply, output); + + return new_cursor; +} + +template +void to_array(redisReply &reply, Output output) { + if (!is_array(reply)) { + throw ProtoError("Expect ARRAY reply"); + } + + detail::to_array(typename IsKvPairIter::type(), reply, output); +} + +template +auto parse_xpending_reply(redisReply &reply, Output output) + -> std::tuple { + if (!is_array(reply) || reply.elements != 4) { + throw ProtoError("expect array reply with 4 elements"); + } + + for (std::size_t idx = 0; idx != reply.elements; ++idx) { + if (reply.element[idx] == nullptr) { + throw ProtoError("null array reply"); + } + } + + auto num = parse(*(reply.element[0])); + auto start = parse(*(reply.element[1])); + auto end = parse(*(reply.element[2])); + + auto &entry_reply = *(reply.element[3]); + if (!is_nil(entry_reply)) { + to_array(entry_reply, output); + } + + return std::make_tuple(num, std::move(start), std::move(end)); +} + +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_REPLY_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/sentinel.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/sentinel.h new file mode 100644 index 000000000..6f998791e --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/sentinel.h @@ -0,0 +1,141 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_SENTINEL_H +#define SEWENEW_REDISPLUSPLUS_SENTINEL_H + +#include +#include +#include +#include +#include +#include "connection.h" +#include "shards.h" +#include "reply.h" +#include "tls.h" + +namespace sw { + +namespace redis { + +struct SentinelOptions { + std::vector> nodes; + + std::string password; + + bool keep_alive = true; + + std::chrono::milliseconds connect_timeout{100}; + + std::chrono::milliseconds socket_timeout{100}; + + std::chrono::milliseconds retry_interval{100}; + + std::size_t max_retry = 2; + + tls::TlsOptions tls; +}; + +class Sentinel { +public: + explicit Sentinel(const SentinelOptions &sentinel_opts); + + Sentinel(const Sentinel &) = delete; + Sentinel& operator=(const Sentinel &) = delete; + + Sentinel(Sentinel &&) = delete; + Sentinel& operator=(Sentinel &&) = delete; + + ~Sentinel() = default; + +private: + Connection master(const std::string &master_name, const ConnectionOptions &opts); + + Connection slave(const std::string &master_name, const ConnectionOptions &opts); + + class Iterator; + + friend class SimpleSentinel; + + std::list _parse_options(const SentinelOptions &opts) const; + + Optional _get_master_addr_by_name(Connection &connection, const StringView &name); + + std::vector _get_slave_addr_by_name(Connection &connection, const StringView &name); + + Connection _connect_redis(const Node &node, ConnectionOptions opts); + + Role _get_role(Connection &connection); + + std::vector _parse_slave_info(redisReply &reply) const; + + std::list _healthy_sentinels; + + std::list _broken_sentinels; + + SentinelOptions _sentinel_opts; + + std::mutex _mutex; +}; + +class SimpleSentinel { +public: + SimpleSentinel(const std::shared_ptr &sentinel, + const std::string &master_name, + Role role); + + SimpleSentinel() = default; + + SimpleSentinel(const SimpleSentinel &) = default; + SimpleSentinel& operator=(const SimpleSentinel &) = default; + + SimpleSentinel(SimpleSentinel &&) = default; + SimpleSentinel& operator=(SimpleSentinel &&) = default; + + ~SimpleSentinel() = default; + + explicit operator bool() const { + return bool(_sentinel); + } + + Connection create(const ConnectionOptions &opts); + +private: + std::shared_ptr _sentinel; + + std::string _master_name; + + Role _role = Role::MASTER; +}; + +class StopIterError : public Error { +public: + StopIterError() : Error("StopIterError") {} + + StopIterError(const StopIterError &) = default; + StopIterError& operator=(const StopIterError &) = default; + + StopIterError(StopIterError &&) = default; + StopIterError& operator=(StopIterError &&) = default; + + virtual ~StopIterError() override = default; +}; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_SENTINEL_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards.h new file mode 100644 index 000000000..0d4cd97b3 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards.h @@ -0,0 +1,115 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_SHARDS_H +#define SEWENEW_REDISPLUSPLUS_SHARDS_H + +#include +#include +#include "errors.h" + +namespace sw { + +namespace redis { + +using Slot = std::size_t; + +struct SlotRange { + Slot min; + Slot max; +}; + +inline bool operator<(const SlotRange &lhs, const SlotRange &rhs) { + return lhs.max < rhs.max; +} + +struct Node { + std::string host; + int port; +}; + +inline bool operator==(const Node &lhs, const Node &rhs) { + return lhs.host == rhs.host && lhs.port == rhs.port; +} + +struct NodeHash { + std::size_t operator()(const Node &node) const noexcept { + auto host_hash = std::hash{}(node.host); + auto port_hash = std::hash{}(node.port); + return host_hash ^ (port_hash << 1); + } +}; + +using Shards = std::map; + +class RedirectionError : public ReplyError { +public: + RedirectionError(const std::string &msg); + + RedirectionError(const RedirectionError &) = default; + RedirectionError& operator=(const RedirectionError &) = default; + + RedirectionError(RedirectionError &&) = default; + RedirectionError& operator=(RedirectionError &&) = default; + + virtual ~RedirectionError() override = default; + + Slot slot() const { + return _slot; + } + + const Node& node() const { + return _node; + } + +private: + std::pair _parse_error(const std::string &msg) const; + + Slot _slot = 0; + Node _node; +}; + +class MovedError : public RedirectionError { +public: + explicit MovedError(const std::string &msg) : RedirectionError(msg) {} + + MovedError(const MovedError &) = default; + MovedError& operator=(const MovedError &) = default; + + MovedError(MovedError &&) = default; + MovedError& operator=(MovedError &&) = default; + + virtual ~MovedError() override = default; +}; + +class AskError : public RedirectionError { +public: + explicit AskError(const std::string &msg) : RedirectionError(msg) {} + + AskError(const AskError &) = default; + AskError& operator=(const AskError &) = default; + + AskError(AskError &&) = default; + AskError& operator=(AskError &&) = default; + + virtual ~AskError() override = default; +}; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_SHARDS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards_pool.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards_pool.h new file mode 100644 index 000000000..e6e9e4a52 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/shards_pool.h @@ -0,0 +1,121 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_SHARDS_POOL_H +#define SEWENEW_REDISPLUSPLUS_SHARDS_POOL_H + +#include +#include +#include +#include +#include +#include "reply.h" +#include "connection_pool.h" +#include "shards.h" + +namespace sw { + +namespace redis { + +class ShardsPool { +public: + ShardsPool() = default; + + ShardsPool(const ShardsPool &that) = delete; + ShardsPool& operator=(const ShardsPool &that) = delete; + + ShardsPool(ShardsPool &&that); + ShardsPool& operator=(ShardsPool &&that); + + ~ShardsPool() = default; + + ShardsPool(const ConnectionPoolOptions &pool_opts, + const ConnectionOptions &connection_opts, + Role role); + + // Fetch a connection by key. + ConnectionPoolSPtr fetch(const StringView &key); + + // Randomly pick a connection. + ConnectionPoolSPtr fetch(); + + // Fetch a connection by node. + ConnectionPoolSPtr fetch(const Node &node); + + void update(); + + ConnectionOptions connection_options(const StringView &key); + + ConnectionOptions connection_options(); + + Shards shards(); + +private: + void _move(ShardsPool &&that); + + void _init_pool(const Shards &shards); + + Shards _cluster_slots(Connection &connection) const; + + ReplyUPtr _cluster_slots_command(Connection &connection) const; + + Shards _parse_reply(redisReply &reply) const; + + Slot _parse_slot(redisReply *reply) const; + + Node _parse_node(redisReply *reply) const; + + std::pair _parse_slot_info(redisReply &reply) const; + + // Get slot by key. + std::size_t _slot(const StringView &key) const; + + // Randomly pick a slot. + std::size_t _slot() const; + + // Get a random number between [min, max] + std::size_t _random(std::size_t min, std::size_t max) const; + + ConnectionPoolSPtr& _get_pool(Slot slot); + + ConnectionPoolSPtr _fetch(Slot slot); + + ConnectionOptions _connection_options(Slot slot); + + using NodeMap = std::unordered_map; + + NodeMap::iterator _add_node(const Node &node); + + ConnectionPoolOptions _pool_opts; + + ConnectionOptions _connection_opts; + + Shards _shards; + + NodeMap _pools; + + std::mutex _mutex; + + Role _role = Role::MASTER; + + static const std::size_t SHARDS = 16383; +}; + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_SHARDS_POOL_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/subscriber.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/subscriber.h new file mode 100644 index 000000000..8b7c5cfb4 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/subscriber.h @@ -0,0 +1,231 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_SUBSCRIBER_H +#define SEWENEW_REDISPLUSPLUS_SUBSCRIBER_H + +#include +#include +#include +#include "connection.h" +#include "reply.h" +#include "command.h" +#include "utils.h" + +namespace sw { + +namespace redis { + +// @NOTE: Subscriber is NOT thread-safe. +// Subscriber uses callbacks to handle messages. There are 6 kinds of messages: +// 1) MESSAGE: message sent to a channel. +// 2) PMESSAGE: message sent to channels of a given pattern. +// 3) SUBSCRIBE: meta message sent when we successfully subscribe to a channel. +// 4) UNSUBSCRIBE: meta message sent when we successfully unsubscribe to a channel. +// 5) PSUBSCRIBE: meta message sent when we successfully subscribe to a channel pattern. +// 6) PUNSUBSCRIBE: meta message sent when we successfully unsubscribe to a channel pattern. +// +// Use Subscriber::on_message(MsgCallback) to set the callback function for message of +// *MESSAGE* type, and the callback interface is: +// void (std::string channel, std::string msg) +// +// Use Subscriber::on_pmessage(PatternMsgCallback) to set the callback function for message of +// *PMESSAGE* type, and the callback interface is: +// void (std::string pattern, std::string channel, std::string msg) +// +// Messages of other types are called *META MESSAGE*, they have the same callback interface. +// Use Subscriber::on_meta(MetaCallback) to set the callback function: +// void (Subscriber::MsgType type, OptionalString channel, long long num) +// +// NOTE: If we haven't subscribe/psubscribe to any channel/pattern, and try to +// unsubscribe/punsubscribe without any parameter, i.e. unsubscribe/punsubscribe all +// channels/patterns, *channel* will be null. So the second parameter of meta callback +// is of type *OptionalString*. +// +// All these callback interfaces pass std::string by value, and you can take their ownership +// (i.e. std::move) safely. +// +// If you don't set callback for a specific kind of message, Subscriber::consume() will +// receive the message, and ignore it, i.e. no callback will be called. +class Subscriber { +public: + Subscriber(const Subscriber &) = delete; + Subscriber& operator=(const Subscriber &) = delete; + + Subscriber(Subscriber &&) = default; + Subscriber& operator=(Subscriber &&) = default; + + ~Subscriber() = default; + + enum class MsgType { + SUBSCRIBE, + UNSUBSCRIBE, + PSUBSCRIBE, + PUNSUBSCRIBE, + MESSAGE, + PMESSAGE + }; + + template + void on_message(MsgCb msg_callback); + + template + void on_pmessage(PMsgCb pmsg_callback); + + template + void on_meta(MetaCb meta_callback); + + void subscribe(const StringView &channel); + + template + void subscribe(Input first, Input last); + + template + void subscribe(std::initializer_list channels) { + subscribe(channels.begin(), channels.end()); + } + + void unsubscribe(); + + void unsubscribe(const StringView &channel); + + template + void unsubscribe(Input first, Input last); + + template + void unsubscribe(std::initializer_list channels) { + unsubscribe(channels.begin(), channels.end()); + } + + void psubscribe(const StringView &pattern); + + template + void psubscribe(Input first, Input last); + + template + void psubscribe(std::initializer_list channels) { + psubscribe(channels.begin(), channels.end()); + } + + void punsubscribe(); + + void punsubscribe(const StringView &channel); + + template + void punsubscribe(Input first, Input last); + + template + void punsubscribe(std::initializer_list channels) { + punsubscribe(channels.begin(), channels.end()); + } + + void consume(); + +private: + friend class Redis; + + friend class RedisCluster; + + explicit Subscriber(Connection connection); + + MsgType _msg_type(redisReply *reply) const; + + void _check_connection(); + + void _handle_message(redisReply &reply); + + void _handle_pmessage(redisReply &reply); + + void _handle_meta(MsgType type, redisReply &reply); + + using MsgCallback = std::function; + + using PatternMsgCallback = std::function; + + using MetaCallback = std::function; + + using TypeIndex = std::unordered_map; + static const TypeIndex _msg_type_index; + + Connection _connection; + + MsgCallback _msg_callback = nullptr; + + PatternMsgCallback _pmsg_callback = nullptr; + + MetaCallback _meta_callback = nullptr; +}; + +template +void Subscriber::on_message(MsgCb msg_callback) { + _msg_callback = msg_callback; +} + +template +void Subscriber::on_pmessage(PMsgCb pmsg_callback) { + _pmsg_callback = pmsg_callback; +} + +template +void Subscriber::on_meta(MetaCb meta_callback) { + _meta_callback = meta_callback; +} + +template +void Subscriber::subscribe(Input first, Input last) { + if (first == last) { + return; + } + + _check_connection(); + + cmd::subscribe_range(_connection, first, last); +} + +template +void Subscriber::unsubscribe(Input first, Input last) { + _check_connection(); + + cmd::unsubscribe_range(_connection, first, last); +} + +template +void Subscriber::psubscribe(Input first, Input last) { + if (first == last) { + return; + } + + _check_connection(); + + cmd::psubscribe_range(_connection, first, last); +} + +template +void Subscriber::punsubscribe(Input first, Input last) { + _check_connection(); + + cmd::punsubscribe_range(_connection, first, last); +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_SUBSCRIBER_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/tls.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/tls.h new file mode 100644 index 000000000..0f2303db7 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/tls.h @@ -0,0 +1,47 @@ +/************************************************************************** + Copyright (c) 2020 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_NO_TLS_H +#define SEWENEW_REDISPLUSPLUS_NO_TLS_H + +#include + +namespace sw { + +namespace redis { + +namespace tls { + +struct TlsOptions {}; + +struct TlsContextUPtr {}; + +inline TlsContextUPtr secure_connection(redisContext &/*ctx*/, const TlsOptions &/*opts*/) { + // Do nothing + return {}; +} + +inline bool enabled(const TlsOptions &/*opts*/) { + return false; +} + +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_NO_TLS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/transaction.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/transaction.h new file mode 100644 index 000000000..f19f24889 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/transaction.h @@ -0,0 +1,77 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_TRANSACTION_H +#define SEWENEW_REDISPLUSPLUS_TRANSACTION_H + +#include +#include +#include "connection.h" +#include "errors.h" + +namespace sw { + +namespace redis { + +class TransactionImpl { +public: + explicit TransactionImpl(bool piped) : _piped(piped) {} + + template + void command(Connection &connection, Cmd cmd, Args &&...args); + + std::vector exec(Connection &connection, std::size_t cmd_num); + + void discard(Connection &connection, std::size_t cmd_num); + +private: + void _open_transaction(Connection &connection); + + void _close_transaction(); + + void _get_queued_reply(Connection &connection); + + void _get_queued_replies(Connection &connection, std::size_t cmd_num); + + std::vector _exec(Connection &connection); + + void _discard(Connection &connection); + + bool _in_transaction = false; + + bool _piped; +}; + +template +void TransactionImpl::command(Connection &connection, Cmd cmd, Args &&...args) { + assert(!connection.broken()); + + if (!_in_transaction) { + _open_transaction(connection); + } + + cmd(connection, std::forward(args)...); + + if (!_piped) { + _get_queued_reply(connection); + } +} + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_TRANSACTION_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/utils.h b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/utils.h new file mode 100644 index 000000000..f77f796d6 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/include/sw/redis++/utils.h @@ -0,0 +1,193 @@ +/************************************************************************** + Copyright (c) 2017 sewenew + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *************************************************************************/ + +#ifndef SEWENEW_REDISPLUSPLUS_UTILS_H +#define SEWENEW_REDISPLUSPLUS_UTILS_H + +#include +#include +#include +#include "cxx_utils.h" + +namespace sw { + +namespace redis { + +using OptionalString = Optional; + +using OptionalLongLong = Optional; + +using OptionalDouble = Optional; + +using OptionalStringPair = Optional>; + +template +struct IsKvPair : std::false_type {}; + +template +struct IsKvPair> : std::true_type {}; + +template +using Void = void; + +template > +struct IsInserter : std::false_type {}; + +template +//struct IsInserter> : std::true_type {}; +struct IsInserter::value>::type> + : std::true_type {}; + +template > +struct IterType { + using type = typename std::iterator_traits::value_type; +}; + +template +//struct IterType> { +struct IterType::value>::type> { + typename std::enable_if::value>::type> { + using type = typename std::decay::type; +}; + +template > +struct IsIter : std::false_type {}; + +template +struct IsIter::value>::type> : std::true_type {}; + +template +//struct IsIter::iterator_category>> +struct IsIter::value_type>::value>::type> + : std::integral_constant::value> {}; + +template +struct IsKvPairIter : IsKvPair::type> {}; + +template +struct TupleWithType : std::false_type {}; + +template +struct TupleWithType> : std::false_type {}; + +template +struct TupleWithType> : TupleWithType> {}; + +template +struct TupleWithType> : std::true_type {}; + +template +struct IndexSequence {}; + +template +struct MakeIndexSequence : MakeIndexSequence {}; + +template +struct MakeIndexSequence<0, Is...> : IndexSequence {}; + +// NthType and NthValue are taken from +// https://stackoverflow.com/questions/14261183 +template +struct NthType {}; + +template +struct NthType<0, Arg, Args...> { + using type = Arg; +}; + +template +struct NthType { + using type = typename NthType::type; +}; + +template +struct LastType { + using type = typename NthType::type; +}; + +struct InvalidLastType {}; + +template <> +struct LastType<> { + using type = InvalidLastType; +}; + +template +auto NthValue(Arg &&arg, Args &&...) + -> typename std::enable_if<(I == 0), decltype(std::forward(arg))>::type { + return std::forward(arg); +} + +template +auto NthValue(Arg &&, Args &&...args) + -> typename std::enable_if<(I > 0), + decltype(std::forward::type>( + std::declval::type>()))>::type { + return std::forward::type>( + NthValue(std::forward(args)...)); +} + +template +auto LastValue(Args &&...args) + -> decltype(std::forward::type>( + std::declval::type>())) { + return std::forward::type>( + NthValue(std::forward(args)...)); +} + +template > +struct HasPushBack : std::false_type {}; + +template +struct HasPushBack().push_back(std::declval()) + )>::value>::type> : std::true_type {}; + +template > +struct HasInsert : std::false_type {}; + +template +struct HasInsert().insert(std::declval(), + std::declval())), + typename T::iterator>::value>::type> : std::true_type {}; + +template +struct IsSequenceContainer + : std::integral_constant::value + && !std::is_same::type, std::string>::value> {}; + +template +struct IsAssociativeContainer + : std::integral_constant::value && !HasPushBack::value> {}; + +uint16_t crc16(const char *buf, int len); + +} + +} + +#endif // end SEWENEW_REDISPLUSPLUS_UTILS_H diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/libredis++.a b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/libredis++.a new file mode 100644 index 0000000000000000000000000000000000000000..12d8292933b853470489cf674832fdef77bc4809 GIT binary patch literal 1453850 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 wc$(a`+08II=lUpyKH1@C{TPJsqk* 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 {`Tw8MY6%O=0yc&lEG%Ex7a5H@1VqswT z!^P6T%`kx*A_bBLVdXDOEIq6Y6PQ^xurj=0X8FL%u!MzW0vkgIs{{kX9afM4C_Vq5 zZOEwZ!SaEPv4Z6REAt&zmLF`)YuH#?*co=Pu`FR{c*Djrhn-;tJLLS;T2Q3?pFM$* zv6*oR7t0hy<}17`2jm$Z2(mm;WWFKBvO|HPN1SDY0>c4umL5fhFXAj03}@L2RV=rU}87}DqI;E7{IRh|DQ472s6tJ4u&r*EDQ`Q zSXth%fr5GsJHrGvmNgsN z1orT7 z$wjG&C8-L-L-H=#NkeUZ>A}Hi$=Hz4+rzYp;r4%zT zAejes0+Mm%nI#zt#i@BEnR%(OyEdF1{rvnx6rhR|^Au8Z3rZ>#3i9(IDuSWP74q|P zDiw-L3kvd!N{SUioCA;?3c3>j*=!voIfatU+|>Ni5{1OP6oumaZ=mm^`T6GmQz- z?g5QqgZOBDZ?K19=S70%1EmW<=YKMAm?cf z)VWj+&~vHknMJ_vjAs@FpGUR8&Ee-lr1Pj2BDK#Jm^u7hh;$y+LZtJk7N~*rAJC4R#T|Z5 z0iR7J@|uYe5^f1?i1VrDGYP*2olgbQqsR_QE0D8eL1+7+&gVhSwTx#LdCl7O|A?Hwm($k3-|3h*>=Q4rf@9qDP3D9;H zs6PPi3j{N+1huU|<1Ctt|&Cfc{qRhOb{R{^JN8 z*I-U1b#-_$*#^%Nr#+D`qCWale>3d9 zbnsn72sHsPHK23jVXYkSJsggF26Nfwu{uv?nZoQmm1!CyQwZ0+yH~GWzQV`g$Q_Bq zhTp@&SQX#{b}jpCkaMI#ZU!}^KyCyHfbQ`DkC!;|In3pl$L=zfWg4^7WVR`+iO9w= zfX>7RAFR*7zyQ8G2kKtu$xLxvUDB zxdQX}T_*EQ;dPnHGmU#X*9=aVnH;m&XS2;=Wyr9qe%(I#1Ff#dFzj5={?K_SjQyf92ID$+8`3H7Sa0UnD z9t{RZK8SyuLH=Az~xPa4;D<};)fzwbEl7I4$ z*bJaM1w5eoO_<^CxWG79YM!LaWQi%_E>p#(iOv+7C78f<@9xc8u#ohcAv|3qitEO8 zM{d^}*PTE-P?~dq-sk|nL(UD7mYqQEaGuH(4YC*#w=VbYUInqhcbJtx^}GPZFD#9M zlBW|Wp~ixAL6bk^u-_k0_u3%b3yD8acsqdt-xU@epjcq)!w9t;3=vRz{sVOfa(;H2 z%ru438=4Xwxxslv1suo>4B(CzG{1uV=rWCQDwE%}tIqfCf;t>MoPjrl`72RhgzdU1^4*(@cd~@=R6WSU^hA z4B&ER2h>e9AcLT8a+}N&1hWSeH+P_F)H}z%*BHp03MeohjN*Q?;gPI!)J@q3$wMZI+kmd;xR0=5abr=9t3nG?i@{tJ`#z8O$@mCC5!f^nmi$3aH*S z(EEBA9QhV7&J~#_>@-5rCC>Ww1Qyip-nE`Yg z8i<9!koF0tI7kIExV8qd5Ex=UsMJGEE~ z>ws7Y3{j6M4pPC)0J?<-#6rc);93Gz3}Ozf1%@ie%%F=ZzyOP1T;h<>L)XO2ppPyD z<})*ZZq5WV;RM74OmUC`W(Lp=LLe3bL)?!k4pPC)U;?60Fho73I7ksQ1L!6q5DS4J z>M_MZDwx4Hl7UzV3{elt(FidR3*s+*h8_?H4Kp)M_MZikKN3K@--O>bNAuvQe zrZ`9iGq}VCu@D%d9#jG %CD2GDI!Fdl@4sK*os$ucv5ZiND|5E!B!Qyip%nE`Zj z6o`eu5cQbiAQj9EpxdQDEChzA#}o&tU}o?GQ79Oq-XDCh35o;*0|PUIKe`aK#D+HT zkYph_1zhtYi83(MfqBqM5zK}Vi@+4Lassm<#C|Zv4knQa$dzZX-W@`Q9aJGPfNokt zh=EwXU~w)G69Y3d_+p5G1ejr+D-Z_>Gc#cN7bMNh0Bw+hI7pZoeiJs5AUHfR!vUm% znE^8#AmW(e01?Lw2Z%UkI6%a4g#)PP22z2FnHgX=JEM#9q6$EH%nab}G?a&+m>HlK zEM{=86U;;*n6ciL4oZihW5iLEf;r3#pj(H*Oca6{Yib6W11Zf=6ocbM3|$D! zXJ!xw)5t_EBLjmHQu_oJ6Enc#i1r4!kHWyfu%3~DK@q8(0r%k<7#NN+V&1n3vga%g z@rO9f{{a?9v|GUA7z_*y{7fKsBHAb5u?q$U22CdH_7*TPFf2qW-%f%Y!@$6>0&EVV z9ReDw07-peVqj2YLXYKpgi1rd}ECzH)t`buF3MPI5hxsqT z<{;Wp;PD#<1_mxx?Cw!y1^Ek8y%Q?~gAh`C9yF!{iuY0+=5*i?pNm6$C)9kHxuCHg zkog~QsFz^F?tVEO;%Yd=y>N&p;}CCTgM@<#v}gs51%ceT5-Pp`bV(-z0|RJm2PA$T zDt-WTQWygR18B?!BreO2-TmP>#A|SfPsSm>28Z}p9O9)spmGV(?t-)f7#OTLu)EU@ zhj=sxBz(R=i%Rgg5(5Lnc@9vzg0u=i{s)g8f!g_;*v*&W#I8OGERJYbgT|CV=1syO zeh4g%Xjj9^;g>k<{m%(;{}N~bfX9p&7#NhfK<+`bw_z<{PcDdh0ZEW67#KifLLk-x zF6{ogk3(FQ8@qZP9O8C3#QnHI2`h(7xFPO*0PQk^$DJ4$7-r)z=OQ=AzleST zcnpexfkBK1Von0IY6Fckf&6RDgWdfJIK=Zn>5U1|j)l3i8*2UqJ&>sk44`o!5Njh3 z$UU%7XJ7!0>wv_6Le)QkCJE4(4M;qY7rT4%aftWwLi~kp&QqxP1nA5KXdDM*eh?o- zJ-YaQsCWr9D}lyqK>0>8Ztne6K7iei?bxifr4 zjeh}XT}?5DeTD`IHJFl^1~{9#`Ue}vquOHpQ-b%ojLjW+LSQl61mf;E&~jKIPnVF;5Uu>uOl zl$?OFT#z?|ODt0>l2gIq2i1YD-o+4X5QeY;L>LhcmL>Vn70|9Z5VJ{*VM8P2mD8@d z$qeyPQGUTC7V+^ZsU?Y-IffST@g@23pwv+uZ)gw?iW$#bSJ$$DOU%hEsf;f(V2F<|E=f$zj!(|Wj!!R5 zECOc(M35L75tpEprXZ&1J|<%}p+-L@_)qF%uN1!6k;4@$n@YMfv6NIr-_C z$?>V6S>yokWQO?Ayz1e+T4RD_(&!6~mO zH6^pyttb`M=_txD%)pX`jj&{4EXoX_%Hk6fi;^?UOyYA=5>rx4;uDh#ST=7G)+T<)j)K17BtR^QXKN%u{ z@C8IU#24UHj#SH_`@=LIWIHrs@u)M42QSJ5I~zHcQ6t01Aig{?vm`z(zX-IO1G;$A zH3(EamF8s@mZpNE!ZWzU6dW;l0?Pzs5J8=0$r(lYdHKfiVMc~V#U-hUDV6cbpolfj z%P&Vt2B0;e5DAd644_&xF+LF#c!?#c@$ljt6y>CsM1}_OzVSt=1v!bysjj)X0p7{b zdVw8kkg{IUAwXo#iAdio%AdNPU*$Pndy11LEgb8@!;w^w*Z>TlTy<&^Wu{eOOi97BB^;PP(G|> z5fy^m{xe2fAcj)=q8Ht;paPYfNM#vP!`B&7?Hj~nsg+@6mRWpoL40z4X77G{suhBDv2Jk*CX` zAykwKDJQUo526)|&VVoqjN zYJ6^Dfh)KS#F_G;O-qA#BSX|I0qvLINwJU=hpmEjhGbS8)h|Y)9KFDV$2xg#!sl0T z?!lfZsco4dq)9>-%S@AVU~L(s6oQtpoUt`8(bd4(mQf+W2$K-WHYCi?&;V3xS0pB7 zmKlQDI>njs$vKI|#qlMT1*!3wd1?8eoEhSY+&yE6M==lkI#Sq-nmHo_LoR3l0g7QW zG!|&$p!G^1CDM!x42>WL6mJ2~hcPgK#G9aEAZiCx9NqjqP;qqgRiIO0Aan9S20*b5 zl6XE;3`9jBi6g5A%{PGLLFOQ<@4=yd36eOn`U6Pf$mZWb5=U150!h38+U0=hXOQ1$5Mz{auB&5?nsM>j_UNgO#{86b%lfgAwE0Z8Jou~v{&4i51d zIK&Sii6f_T7w8l#$eqaUiGYerF)}c;f-Hn#=+rAneH%;+wBZLj^$HS4HfIS`9Nioi z=zu0jJ+e6_NaF2C=DQ$?BZtEoBynW*FK~$eK@#skG9NZ24suT?lDGhL9s?wfoX$m{ z;-K^Z9qI+^l7NbX(gU(MXuKYz0Ax-VhyleKQ1u{jV{nL9;1HjJLwpI6II_Jrki?Pw`vr%%0JP9Scc%^x zaT_FYWP1~k#F6b?0Tl<8|B$sBpwMApSOXOYmH)`%3!qc|Aork@t4QL==CeST0D#mZ zi!0y|x4|LqgCvgZuNEY6WcTdAA^rx3xB_Ss0RyCdL^fv+R2)4Ven7=R{({Y|fI^M~ zIvki zDh?}eVd4Q$age=}KnkIF22>no4$MsppyDudVB#yF;vjP-L(KqDPmsi6`&~fde~`qH z<52`U-wQGaS=<1JxCvAo`xk#~_I#*GD}_;>iA*0u=|jA5;&**4fN}ii6yVEItP+4ss82{dfXN9NGLg zIK)+;6LlbSkkjE6B=NaWKY^$RNaEcf0VsZfB#vA!f50Iw0-fJR&tEc7arFEZ0TlbR2r62()RzVU+E|)Z*;;{4#+bd=O6^Er~n79p89ORx^P_sdl2a-5)xsie-jvSsD zP;rpG$oV=4NgO#}mq5iq?m<>xfh3Nsz6L4|awl>*Fb7E-xg1!4B)$yfAt+vfB#vA@ zTtN~?_SX}rIC?t#02N11hZ3N|0@~hK2(=SL$w0-?%~61gqni@|6$kkjw6PUr1_(zW zi6f`C6sS15`2|pMbn_QL#X;sHr{^n3;>c^ybD&ERLFOa38w;S~AoG#MA3()H<|F6F zKS<)p<=zbFl17kv1&6o*bfGP}dL10% z7D(dA_GTc7BbW0#ki?P4oh~4WBljcTAc-TZXMrvq1-TPhy#kUrvU&?7ab)!&NaD!q zbCAT5)psC?BdcG4B#x|p2aPW(an*7ildt&0~JR%#{)^c9vt!zA^=Ie z3?c+3Baphi^0wi(d_CpJjIOwosu;C003|o-Ik;}I;IK-de5NCj{qXhXE zxgDs1Bwh`(6tq4WNgTBI9wudjB#!J~2PAROWkE3YK1kxo_Ld-tBiq}6B#vxv2a-6l zy*)_c$o5V_5=U;oEkP1THfIHrII{X3NaD!q_aKQQtG@yj2bD9(_1zt)IH;UK78ikT zRRqNgayzO8+QA2zgIq3kK*d4kAd7#1ii6BSuCGO)TN^>*$n~iXk~ng@vVe-C+iL?A zN4K{GDh@Iq*_<96;!ALd@4+E{1S$@44|2GjfQp0MgDh?XU0M!u4|4q#f+UVy?-U@3 zBdhN~5=U0Q1W6oO{T?K7Wc4?Y#F5p1KoUn*&tVM7IUx5V$D;%eaSbGKj$FUIfr_J-=O3Wr=;iqr zs5r=-$o1e4s5rVgf1u*%=D@b_qMO44U00574hK{m-5egMIJ!9kP;qo~M4;m6=14%r z(an*8ildvO02N0!M+GX5ZjJ$xIC6bwfh3Mx-+3U3BiCyINaD!#S`LypO8J08d<~K~ zay@tjNgUanKTvV>@`1+`l8->?8M%B|0o?)u3J2Jp6p+d@NaCA70#N(`Dvoac7pOS8 z`4Q$2jUe-p^IZXwIC8%0K@vw+zXVAfS^WVdab)#3ki?PIe?byQR?h?7!UA$9vU(XL zapZie02N11Zz@o6^z^0y6$hD*oF8?d;^^iWK*iC`F@cJsn_~eLM>od?DvoZB15_N{ z92clKx;Y+DaddNhpyKG}$oXXfk~s3X+zO~T$eo}e7FgQd0u=|j z6Ipx*R2<|^+XtvP$UVsFzaWVttN#HN z2e}h@T#g00&juupT>kJNi6e)b0g^bf`yG(Pk;^v^B=OCVEDI(Bki_SJMIb~4k~p&Y z4M^h1OjTO z-D3b1M|aNzs5r=c3n^OZ7M>nSdDvoYW z3sfB4oDQfsx;Z^iaddMgK*iC`nF19@H)jEoIC8#Qfh3Nc?@l0zBd513NaD!(?hcYT za=v?lB#xZ#z95Msmxq6#;voNm%01YAW)A39Igo#m#d)COApatlhZ0EQ$mO94k~p%z zETG~bdy&gG8zgb$^34S*4ss8&dJiOVWc5B!agaNa%fkvJab)*2Ac-TFKNFC|k;82U zR2<}fQ26|SWH*K-P;rnuk;PX)#X;^t4!12x;>h840ZAO$omZgZAbXL+;Rcd8ayUGI zii6yPto{j-II{W|P;rnuk;6>_y8jX+j_e*29O5=e;>hVd0ZAO$oC>Hodb!#F6-O^u zcR1E@HKx;Y|9;>hD05=i36 z?GqWOIH;UNZigs9#X;pEvbYLV9AqzY`$PjOj&6<)R2odkeyX@p{GnUB0r1ljx$s68Nik=+ApcZ0$?6RHM8 zJpmC63}F9eLD?Yc4Tu1p_rl1)fGpkvO-JbFfX>eXX#s^BvicQJ^`LM=7KfdwjBXC8 z`(55wB!@?irer)!F#F5u^;IbDw%nV-Ng50ivWA z2x#~qi-XQ`21&6pGB7L$F`yWB?hQzM9aIcNk($n-!!Y3Znh7!hied4Eo}MAM3NbK% z{DqvJK^J&}w1UDDIXxr$3pqXC04aw07dbuOfr^9j9ddexrGHSqLl%dne~`V%=^5sJ zkT`O@!@?F_9Ckh%x;U(@i!Ocy>Q0b2a{A$bmP;UUWP4R`h{NhnboDVf)aM|HBijor zC(+G8-rtApo(o9kAdA1jA^rzR9NAt2=>9cydlR7I==r(@Dvqvx0S@s!IK+|n@gch( zc^@CLJ7M)B$X?`j1#*6$2aQt@gnk*n#F5Q6K@vwc-v&t>*?boy zab)v-ki?PeJE*r97#SHDb|balpxf-g;=5pqkmNz?VP!ayG*~?@bM_)Bgl;DStB1uk zNE+E*WN~Em$m3?v<@{iC(m@75F)ZDJ+?fa!L#9CD`;Y~oY>+szy-;DW`Jj93V0>7< z1JzT|t(IUZSUU zwp@_JK}N#Phpa#nhc593+pq#j9J&M>EWQy*9ArMcY=Sm`K=wkHHiOk`Ac=$Qg`Mjd zf+P-Ik_=W~fg}!64?EYf5lI|mFKmtb9wc#)df54j50J!Rbq&Y@5ol%rxf7%wc8;Pf zk~qlx10cl=3=CJ0#6jv|=OW%k5(lY=-Pt1p-M*!hQRk;FmjbwH8~3=D6O#6d!^a}mEHiG$S707-(@A3_TS zko!SGuyYY@k;Fmje}N=HKGQ3%%q>YwV$drtDT2@$Fji4&PNH5(YDEcyUP@v~B7%0(#u1?*CqFqc2jmJY2ZJK~0yKNvfW^U#Kql@J?tXrDnvZ6(#1T zGU%lj<(DE4K7i^GGO-C81J+v#VErvvdp(eWfdSMOf;J1_H$vdj59@Ej+MXc&ps8G9 z^~XT{1M6>s^n>=B6RRJj7GwmhUjfn&nsOypKdjx3Y(HqqlUV(*Jpjn|gT@$%)eq~V zAcsF_3XfR*urYsR_k*Tbh}91p7em$$nkpeyKWzL7SwARE5UU^7eni#}+80i&{xhJ+ zXJCNe`~ix8(0mrL`eEaI$o7NgpNQ2D8{b3L51L0JRzK|SN#ytk_0x&f4;$w|wjY$H zh}944S0dXF>faNqp9k9BMz$Z+A178nYuY<+?pmA(s z^@GN{KuHkU{h;w~V)etud64yk#tG2%gT_HXPK9n7m}lpM#y`RFhvxqoQ2Sx^ z7|4Fm_yoHBpc{O#*?$0PKf1rr{SR8Zhs}NgP+5On)NV~HU9q1%d} zsu>tyS6U&D0e~c7`aya?e9*Wrh>ae92GA?9VC5J{EeNB#UkrMWB)UI$K-~|^M_dQ}@JZNdBwqCsH= zqG31?svq6`6QKHG_Y1+)qlaHJ4*d+E2xnkmfQ`rE(qG4fJ^w#|`X6=%6UaEw7FTrt zuZP-?mV6j4fHZ*ay+SJ((ZgdE%zl^yp>zSLvSwglfQ?s!j00`iM7JL_J_-s`^!)b# zI-u&J{>eD(-vG5AHct+54QBZF;jmxgAVddp`T@-eqT7E2hy5R* z_9LJ10WuLi|Lwk64ZY5^8W+01B*N-19AgQKZp&&tx)~U&~ye817Qy6LU4H`( z_y0HqQq2IqZym$}xgWHI8>Sy-?h2^==31kEq!}NnWpz(dEesuRcK=s4y zfvHE=e;$YX9S%cuz?!ch_k;THF#RxdSy>_Rk8Xbi)PCf-3y_I0{UA0NL+`alkN*y+ z{mA(b)PINRhuNc@^ewg?=9QH>LY5z(b_A@{in!xM<*$=uc3*G()IP6a#(*D~x?3ch|Kj?Nx zbo+VOAn6BI&Ot(*fguBGKlJzmm@v4n0OG*vKT)WDkQg$a2Gx%&24chXf!H9d1=Ww1 z{TXIJ^=ClmjX-Ka80LNu8-zjgVxTqwdjHJ;>i-OoBm)DuIRk1E!Suu81>_!dyFunM zKqui}Kqs3){T$HvAG&_fTsK-11+4u=IhbOYjn)7L*$0t7M~zfMt!=u|?OP zT$F5R2D;=+FJE6lK|#R)L_jfw4I#};Ou(W>hGq}}g#@m8S06Vf(1HMnQy3T-w!`BW zDg>qspmUWV4kVl%7fdC_Kx^5W>p9FkvYJ!$g(?irowh4MFk>%vYU7 z94r`RB!UwZ9K06XNT^_7VDyS-V0rEM|9{8<=J;zMbr2e4G6*XQI4L9>v^XpcIF|6d zfTK}!qSwOgjXej~UOe~k{YOI~0j6T3Af>HAQ=GmRT}!f@EYV!OIco9V%X1F@|9tOp zl8Up50t=(avy|f{OI%t*vX**p)oA6M`tIrZuWOF>UJW)YQWF$2V7p%SEp2Mp7Psi_ zRm&x(TeRQ*{_pwR>wAtL@pu~1ma)9Tfg@3ZNkiG<%*nSm`(Cd9>Cu@vlWV2+&aY8d zytY?O%PN!#;4-!n()xS*&guQX=e@3+9no#QTWa;Poc5Y0K1XAebeL@tcpPQcz3u<| z=Iq(KT5GxYX7qZ_onE&s?`qr^KVdr~y+FAFzWM+6y}x_^&w1(nR_i0@SM+yGT-kVP zYO`en6GW)s;qh=r$>m5I8Ug!$aeJ<0b||K*99FFU(-u3qU9k?O%#p`LL- z;vq+q#bS-x(=oU0U(5ae*?nX7?$xt)mwJUnnP-VredM|zwOMPDmEK?ew>fux&#v0r zz4pc2lf7y+>^Uhhu0D%wnspw?9ORLIZ}&g;e9isY>v!$H+5cm{c%E5Zs9#CkWW7yx z7x_NOF}OQBTPbLSCY9!ulqwh+>KW@9=o*%SxrTK{MtTM&dWM=%2~gV>4VYxp!#8a7>%wL)TIWAp(}^oSwX0+4QfMRi@yyZLC~GUP>VtF2MT8p z1_{B+Gi-K)9}D?m%;=ptZoDegH@e)RzLyXM)O9P`>~q1{!h- zWnf?cHGSiu=7ENhKL2Ld&>-#}$&{#T%E@fa~0PT$eu|dsP5DglKfQ{8x zLEQ#A{|&Tu86;l|6$7nt2JO!RiGj`<2GO8(+n}}8AU0?%HHZey4}Es8vj?I<=T(Bvjt8+pXOMzuP#FT+FArja&Qk}Sg$`na z=KMhW%0X<+Kjma&R+*)Uz>sOypt+VPJN!eDIjj@}aWB&xh6wKOdPp{A6JGF)2Pn(c+;sh|PFf zo`vCKCpQCVY2kzi%p$8485kxyF*ICaU|^W?fLRF zjITR58A2X1i?0Id0jYh+%&_WnGULS0>I^@XSR8-EGcdkp;9v-0=5YA=NS)#5V||97 zOe_vRA89lEWUOIWDeu5w`M})ar#yq`>jnmfkcajTKNVRRK+!Yhz7#{@0}h6e97cwa z`(g}*3_J`W_k|b=7w|HK+~;E`bl_(QxzEN>_&|Um0LFcB0MAioKJ`@iJ@v*;=g z1_qIb%#0I3erAG(5h!dQm^1u*XwUHT5wq~Bhs+XSI~M={FV4i{xbjgy>&ip_|AUqb z!;&8;xnX64;^#9n!>V`&(bo&0Ve){PX%#G79xw}o&4&3ECm_bbTl(6A-dzIPPp zy-$JO3n0A=3{w~w9Cpg@U@T;j@U8-d*+E7IQ1Lkh6lNg5fc#2KxPjD>tOrY&;fj|f z|No1F(hDg5L1B+O{vqji0yG}~{QoaL_5XiyP(K=k|5mR9EiDI^CyERXKS5=Rh=9XS zB?gC|kNQFBqT$jPWri)nJPtoWWelji`F@yj;?HcBl|Px8CjKsFUHSPr+e%P5q9Ft+ zM;rwhLK>JHEFUm4Sw5KTw(@~J!_ObhOcO!*#F?St5-5*=^1}QK1q)Dl@uQw|<^N_T zP&GLPln>=u7&bD9GlYQ3ju(fSCW6#3Li5f8cJGys6nZZ`dbr~gEQ~?sDlsrjRA6xU z8N%Z5a~Ic@Sy9(TW;0Y&{W!qLu;ov__ex;~ho6a34nJpeGHlt;#Q3^_n<1o_$>HZ^ z28Jylab=DxvyxjxX2&x#zh?OVKSYF~A?P3*!^9WP%wYSO7#cvu|CEQ>4nIFDvrK%@ z%slbSXNH}h>luF9Gcdefz|9cypxEK(!+M6F584@iK8SYs`H-1;;-h?rpO2aueuBzB zaG8~i$U6_a{a1eZ?6C8Jx5H0+2I1EXTnr%(xj9!pZU^NxiPr}}{9uQlkAoS0HgGX) zc~H;r^C8IWdWWC?!Dcd8KBxz&h33n4gxT}i7z!0c7((WAF%&8YAj&#W`3p)fps-_x z=Kp4t{4au%|3P8pzz7Me;_v^#VWq%vWflWCtQcM&{PsTtq=xbT|BwVOho1-j{oh)m z<*;+(|Nr8~A3$ZG5=nN|>MZkKp{{I($#LO}A0lVKyhZcjCAia+m7`DW- zFnmm41l2Q;at{=?kD48RKJsVyDW9Qa0df~8JVEic?*D)BhsrLXts9mwb>IH~7YCK6 zAig|<1f;wRMuh7FYfyMgLd2bs#G&QvBWS#X%mCGA2mbyKd6?|*6S+)&39{ob^F&bj z0`em$K0xsT>TAj%8Wcx2#))O8P? znI?kl1KCSV{Db_#!@wW{qPZ9tL>^Ux(lyIO5Fg|}aGleP>OWYWupU&VQeZErF8GWV zPN2LFs?#1VW`x(Z51CQJ2^2=KvI$qCsYT z2ZaNu@dm;y4nL8{CjVCNTL~)Xm=hQ#g4=Z53_n477+650iL+uyWBMhKc*@7+1}3hP<6|hfCn>QwGdaGvq$o2l-O4K7H$FK(uehYBG`U0}uQVq| zAuqo~p)4^c6EvO(3P%|JTfGN9z6Bb?0=2C`?H5qL6x417wQo}x9DY8LXZXp&&~OQq zj~2Bt{9s66m}t!6@Uwx9;inmc!_WIn!mAHRIs96{!VvOVn&Bs?f7-zW>7Oz(F@zjs zagnb@{qnS0|V1*P#>g`3DQRS8tt_5Z}pKCp!P`dzyDjn z<2r{KCW6LzKFidn{aQOK^p5Z40L&K$MObkC0 zSsAu`WoBIUfSD28Z+ajNXDOSqt>pTvTK)I4xf0r?-+zWvP1u?pmGkpDn-eV1nVDeedv4=k@^SP4om^-c_y zpm1Ht=J2zTi4ip9I|Wq!GBNy^l2Kiu?CS<51GYQfz*QHU?G>oN*EhN zgWIIhPAk7lgW9Q(bO7qFF)%>vOJZ{P39|1$6BBqGE|Ck=#zr28gY;Yf|7YZKh?v31 zu!j*GwN{|XI|c@Z(!A`v{PH{n@LYyMa(+rGM8*%4Ss;Q%sRcQeu!Nuhn#^HfVDQUV za4jmzFH#67N=?hGfM^0O^Y#yO1rU6fZ1=@S$a4aS~x)B z|Nk>au3==E!p5+MiRA(t!w+Vb6&wt6SU@6kSV3ph%wT7k!3i>D0|&zsc98fFc9sPk z40AX@><=6)Q@9wWaDvzeI9VQWF`VIKnZv~}feSPj@_)7`qeF(t6b^<3Oe}La7~IIi_$hoL~ouJYZ)z!@)3tgN1=%4F}5x4)DYd z0|O}R_#G4&7&;hPI+z&FV9Afey}z}6B?|+?1O@>;IZ(c9fsPS^(t7J5hKZp3r@+u~ z2{bMU%7+h`nODL3+`pNbRz0<6_}Rwb@bj5F!%sGbhD)tX3@aO&7$(lIV_Z4^AJfVP zC5FAAv2akHYXp^(%nYkQef5)!3?ZPh>47+C{Po|YdM1X~9FhznWuIy$4Oa#An+x zGlItm8Q39XD!bwwR{msWSOs=R0>i`y#tc90+ZlcwU}N|h&n&*$LE7Qh0bz!a@6HTA z|JyNq%;0AT`On7i@gW;Sh$FLu<-sHdOLKOHpUMmkm*g|dEkJV(OOzaTg2F>ZnPF!W zpTo~tVxYMfhAH2f8CS{6FcdkmGK9=za`>spEYYoyUGd|x6vNL4oD5q)W%dCkhMyoY zF$RX84SWti8CV!5Ht;e0+`5QiVm-6y>xJLJee?++wU69U%lC(%`JrIPm7x0Wd$RM& zpV=-ee;2#1{9AnzT=y+vbNG3H%i(7{1H)^@@Bc#FE?crY-C*t0NvbO6mOG5nik&%p57gNq@=;sYoSA#)y&m?c($!VVOVpg088 z>CIdYKj(8X{9Me)uq8nPG*-yGDw)CICoKFGsuO=Out5Ckz`*bm#Ajk)___Gs|E&#d z4l5toL)@3Zz!0Jc9eb$Yx;|@W9K%Y9^Ww85KG$AG4!4AF|F<@P#x9u{eoo_J_<4YV zVM`O6!%t=jho1=?hh{PKFwHirR`>xL`%_?G___N3e{qm{kljsO3_ro*)rvnrb*};w z!xp7#l^;)-8CQYk6dp2z#;+yebs{KDJOqs!a)a6k;;SAqOM&a<18fdIzdJkpto#38 z9HjT)|Nr9O>>YlB()4^OhM!*l|BHj@pY{$vw}b1;Kj856WB}z4(7Xi*{{iO{R51qR zc_UEUV+tt$fX046;SIu|`~b55p)qJ2n&Gu06GI5H8ua!FNd0fn7$!5rs-IxDFie>x z25NIKOaaM(%zX3zzqledVyp_pN0x)tV}Gl+tz>3km;f5r1C=kJcm}m;J~J~;1dUyN zQD&S7nj-_b0o?BMhqU`Z<6@$qa*2UqiZVk(5LnG&M(`X1NbYeq18Aq#6c2`mpl9GY zHjz~em>4ELeatZN$zg_xkCK@tvNJRUf#yeFOopfh#Um)bK;;j3tR56k(D_Bs{MW-| z#))t_q&YB1I{-AsjGC7m85u$rGBHd9wOK*!2T)rTG_D0w|F`-SXsin~&I=m1oASsS zG_J~oITb?@%g z%UAdq9J!sLEC!IdptUq0<+#iRsR0#Ygw&h?DPUk=z-JC@Up_uHBA~@E1k8c$E5c_^ z4AdOZdMBjt3V?+d$X^Xas98dUniE8*ft|65&piUr#ew+Lm=K{R0;&eI?h4885y*b8 zAwmu8d`^7k9D$kxPDhAz8I5cgY>gp4H9XM8fwv5jW6vcJ#?)9s1dqC?tq1#y*JfQov7##T~FwPa4 zC+IR+U<&_qo*CRuQ~9RxGJwJv>=p(Fh79Q590o_e1x#~Q<|(^OR+^&dK23hAg5wO? z>2gl9q-V-F&5@if#VpQv_1g6tH*ej(;}4g11W7xBqWhU1w&eqL8_P;Kr2Q;EChzA#}o&tU}gZVCIzt&7@{6i9HfGo z0kq;2#6n<*dQ5SU3T6h-YE%#lfg$QK#X%~V89*ylK`aD@sK*ossbGe#oCUFA7@{7s zq826wqnQ~%D_mhb2n|t>DGrilW&ou+5DS4J>M_MZDwr8SD|JCE1cs=`6bGqbhVS|W z@gNwY9<LSTq`(2@Xz7>vct09u6% z<3VVMdQ5SUEHeYR_5(5D7@{6i9HfAm0ko1C#6n<*dQ5SU3T6h-YG@D(fg$QK#X%~V z!7HjkEChzA2d%V5h{0IQ@KZ}*A`A?WZG5oZun2Jwiy3?}7>I?y5c5H+vJql17BhI2 zHjIa$nHj)C=LiA#`AwMOAVtiuO^P566hqvZ2IZkr%nYEF;HY8{cVdczR53GvR*ZvK zsF)e$1_+28#NI3j2Z@B3kE`6yMpB7jGBbcys3Z6w7Q`G(agZD{185aHh=srq^_b!i zcV;uZM<|7}m>Dn+m4ldrDGu7#&V-~MROi7AVrIZRff`~jrZ`9sGXrSlJ&1+C5cQbi zAQj9EpcVQc76L=mV~T@RFf){cC=?7)k0}mP#0+l5fLI6&Q4ea}AjDuSW(LrX02mKK zL)2r6gJhW*KsyIOEChzA#}o&tU}gaAE&#C*7@{6i9HfGo0kjJN#6n<*dQ5SU3T6h- zP6ZGPfg$QK#X%~V89+N4Kr94?sK*ossbFRR?Ro&Q5E!B!Qyip%nE}>H1@Rylq8?Km zB+Jau2BJ_fL_MZBND(swXr~2;g}@N?nBpK6%nYF27$6n`L)2r6gH$jxfOc(wSO^SJ zk0}mP!OQ^K*#Tl9Fho73I7kIE184^bh=srq^_b!y70e8vT_PYB0z=eeii1=zgNI^4 zEChzA2My68#9%CD2GEjY7!N{2)MJW+WSK!jz#s+^hNuS(`yvTKnam8+pezIhQI9DO zQo+ms+T8+TAuvQerZ`9iGXrP`42Xrm5cQbiAQj9Epj|Q`76L=mV~T@RFf)L5(tub9 z3{j6M4pPC)0NQN>Vj(a@J*GHF1v3L^M-GUEz!3GA;vf~w44_>*AQl2c)Z-Ed^&Amu zK`h9ACWJV0%buA5v=a!V3V|W!V~T@RFf*(KQ79Oqeie>Ayr8KF6y*${eM$`I8z>nV z7$A2;LOaPwS|IfmxR-_`%D|8b>VP5dHHONzfyI$`<3c2sg2mY(93=7(Seye%1j2;$ z5kWf}`fdMiO0v={V zk$47HkG|8Cfq@$wG@u=iD9XVcW(L@38kh?wm|>IAa1jWD8B4r?WJuXd4pEP^2OJ~- z#n|?4gQT$S4Tp$h#tTFoGhQI#nDGJ;$BY+zGXwHX5(pV)2GG_p1Rus? zW`K=^!9*Z5GXwGs6A&>F$;==HqA)Ns`1DE)VFqRf*iLy=Ic5gX35=*>ARaS=9Eife z%nb4vVjux#@TfD0g^HOOKqnlcih+2{3`!sh12Z!q-}HcxW@Z4LG>G8CSj-HnFeVDk z%mCWijv@r+Ff)Ko`~x#l2xbP*h#ra%n8VBfI`II^L?M_N&`)86NHa5NLl|fzGk9bY zO%Qyh1n2}jY~tuU*CA?{89*o2LDi2*Tw1NlJ zCMyGjB2v2r79#6eG0zAC*|Z&p_-P#GKLU#*YDMsPBm)CO4I6gzo7q6_$5b!N4iZO< zgTdTyhC|#RERGllgQ?HKA>IiVM~s8P)UUuHejF^07zcx?e}Y4tkptv@#5fpCy*v(a zTd+7{91NyD9EW%zSR6491{-1N0E;8WyI|srz~YE;EtvRzusF;%2KWfh9k4iJoC>D? zD_9&c9t9H@<^=f{G42EtHv)?z#+P6{Ngqy7Iz+VVVCgUqhx!h%IAYuhX3kO^;)lTE zFjp|Zd$vz;h;wj(+>aP{g7vtx!QzPVC78GeSR65q1QSmJizCK=KywfkBZ8 z(GG;=(^Fj7^Tiz;;tJf@)vMzWx4v#5mOpkY^bf7{1{! z|1S>p&O9LV5#v#yc^Z&WlX$TE_Yw|qabE1|K{b>R17bW1G@k=9-xP;>KVDG!M2xGz zYVH&q>I=Z?5&be)dhP>@BgQvi=B&YC&OxwxM1Klq&MmMwER`|9TN0na;)wnlOg%pz z$o+_M37EawU~xo$5T@P(ERGl_fvHdB!ycYxVD*T8E6kieusAGtBHX!*kAVRc{sG|j zHDrzq6#nONm@mzb-QE}+;>G+R|04R8F!%I>#S!BhFn_JaVa_HT;#>kC^AY_-nEA?J zam4rl%zPWLIHDg4Qy&2qM~qj%)Rzc=(m!IH6IO4|6vQsRPY5KA80Q4d;eoIE;ft7m0!53o(ug z>j`w=P`?p}_#v=4i1AX;Vla?3x4`0vaZXrE{RdbaF+K@v*^7#U+=CcbgvGldSR64P z2|K20TxG$v%%D_0*fQY(_rGqz~YE;Fqpjz;I-`F!+Kzc ze7XDhJ30Eq#}}6-#e2rbMb5;KcDy@O5TgDv7+ zU0q==gF6_uat}iSc}W|lB+B|dOlhR$c9@dLYxpo^;VbVjWngRBFk}poR>fgTVl1`8 zPy)Fm$l27D{M12uqH;F%3^tB;1sy^clzXt92}n;0?Kkh<^`8nrdA}U z7J!zyLUkY#CDb6pL0eXWyqKGsTbx<~@ynnq%%MStS(t-djvQz3QXX9gN-2-73q=w` zCu$Xdp%+yeLpO2_fuR>!5<@3S^?{)kMHXEzqH;mkhmb+n15Kp{kW>l}YJ>)K8AD{( zV@e`wa2Iq*cr2ky7^3(JLl!lt(WT*Qz@ZrsIm;SiRF0_48H8T+U_q&K(L)nO5<@43 zolu7%N(M}4xe#Fry2nvmfi8*g8M+K4!pXnb6n2Fnwp#_`rWQ5ipDlRF?NzDT}jEu&W zA(~;JpeV@kOb#wFG)&G&EP_>^$)JW%vMZ<^gd-9{;zJDLLkz(!wO~_FHEIEEtKraq z(+=~Z)Z)~lvQ$@S)kvy-P^?2XHG>+BAVY#nj11t>o0^wil7SSz@yQj5@rgO0t1e4Y zp*QVj=7Rz>#1oO#AaU)=07`+0kd(rJTCJn+)j_?J6hjtlZCX((nw3cH1bER2Dr=D4 zf+~Te1Gz{=*MuR5tPi=|#L$Q)2@1Nr{CIG9LBk2jC|KEyZVIwEB2+Otp$6biD7fqg zrD$)`leD368YsJ_Wfm2e#OJ4hlK?0U_>p0jS#fDnaY>PDF312-mH;=tP#57gC0Q3I-p%b@jaQfhi;UVL(5Npc2Mq$m~KN`vxJ^HN~4;8DcU0S}x59)=X8 zp7@mF{P>K-yp)_&Xuv0yq*i2ty8FmCtHaw!py3Wf15i_`A~7km%n;Q2D$a~g&PgmT zjxVV!NR7|TOUs8;EXYG2pcYjyqIH1WW9H2il*BEDoDF0NvFA zItL%B9KMnjbXNzmIBez;bU!IGcr74A2W;jHB#wOX3iP@o29P+ide~l4koZN25nvLs zevtvJo(;)-&|&8w1u%EQ=GPOTYGCe!iDy8?LFOY}g~U*TB>op$vW*&wM$PCp(< z;$J`tq1Xp14ss_aBVukf04ff0C$czf|1L=V9jF-~Dh8?^B+dm5E0A~!R2*auvib}p zab)#5P;rpIkkdmCk~nfWOhFPy4hP7(SV%tNMsm*@B=yMQvja&SIehj&#X`Se@e@euAAte@iq9a4^CG$D3RE0q4zl_iNaD!q??A=T!w0sH86=MEuP;dI zk^S`pDh~1&A5y&kfr^9NgDlPhU1|+de-G*>5XFHc&X43T0jN009Axz(NaD!qC7|LU z_an!<3X(XozYLJXk^N-?6$iOf0Lfn#P;roZki{LK;vn@8Kpui(7bI~(B!Brp#X;sE zs}DdDM^+yK6-W0M=zds`RUmO8B=bv<)Fb;BwjUg%9@)PwQ1u}9Bj?i&s5r=-$l?>A z;vn_N`Ed%8IC6fR0~H6EgRFi5k~p&ZB~WpYJCWmY1(GJ6C`#6#DL-xQ1u{jSe*-!x&RdinS-qU3X(Xo`WsMjbbmcS5=Zve z8zgb$diDcU9ONG4`tb{rICA~?2PzJ7C$f52LkA>|teyqB{s`TjI!NNk<);afIC41| z0u@JZN5w$J(c4jbpyD8Zf!a&3y7mZE9OO=9@jFm)kUK$lwS(dWg#RFkizDR=9_SVU zka`IuaS^CE$X=*ckTDDrP;rpG$l@|kaXHvo3}Dp^3^h=3kom~=oHKx&cOX*xK>Ymmf|!*dD_@i|E1 z$o2jKBynVOE+B~`$IBh4I4C?p=@YgB8no^ih)>4pbauKC*fPBynW*CQxyZy~y!y zgCvd|ZXQVDGDzvo2PzJ7rz~=MhKhsSgDf5a6$hz*0}5~`jzJO!C5=Rc_6-eU9mn$s%K<-2q zht-oH_aNH~+u;Bzn?VSs{8Ma~zn9XPZ~x1;t#!hbZJA>lx+{76Z142_hmq!f*cb@f>J7a`2agf3f+9rJ<1^U z=;rSL2{J&&=aI(^Ky71?6ewLGj~l?oT0!DJK?ld{V;`wsRX~4)XjU?Bq4{aD$~!^l*cn&;c?BIoy!v8DV|_ z1r2O$6QmwF++bt5=-~znXY_D`g)_(;ft>Sy6fSFrJK z^z;C_{~YEo6{K)R?%$~*i6f^UZHQM35M=y~y)}$nJ-o^$Svu9KW#n8jv`0eo29jtAoUm^9%C)g*w#D zAon28UuYnS!{#YK<{+zw%~OEHk<}l7+KZm=VDlHC^o(3y!R9YO<{;<0Gf;Ct;>h_L zHm?B^*F{dm zYfv|Us6QZrfq?;}9$6d~CZKkv9+LU6G9TnGc3SnPW|aImqc2IUbSSk38NE+jkGL_c6!;Pz>uwfW*&1#XuCY`N-)F z*?d^r6{H^7{O2G6C?>{y~Z0&3_6q7>bE8A9;NdviZpCk&w-YmF*xah%p~Iog|>W%Y3LbxITi_p&&8XI1DQz1IlTbuzo#A96DtUQVu^+9V8B&@&b#)+8ZEo zolVcm@Ur*m^dQIPxtNkx1$hr}8l{z}BIG)FV#iV_<--?*fS(k;FmjVJ8+(K@xWa834s6ki?y#Vj$`w zk~qj5SeYUKT^9th7r7lMi6jnE4@<8Mdc~EwC5cH4dc`G05IO_KDoV{s)B~L;!=RUv zSdz$~msDKL02a`TkMhHHj)ERs8%Py=iyUNw0eBlUs*2!}L3ic=Xx|sABjMhF?Q6i| z5x5%UJqLKzp>Ar&V=M9oP`oB0@1MY@5WZgmpCV|Kfi{oh2n~cWcod;H9GmuOP{bY||O^(vy>+d%okrhY3;B?P!iBeJ`^!`d)v%B3J+i zmr!q;KGra%rUh7onYtE01E#p72%K8bqZK16M$bmd!L?NoOPMpeF_%UgbCHU*;*!Lo zlF|ZbO3lp6EP?EoWk6(lY99--crRL}r{%(fz^YA%|TX) z%_Q_qnGm1hb{D34tfnH@!Gs-&asUuWIaV`K_J9&}Cz@((Cc>LAAS*!)UfkYBQHsqh zbdHE%&dhULqy5Li%phaqGMtoXPVs0vfUV2e}DQpfO)Ndvi z-{)h%dfNr4FAXviHf{_WX9A5UL%Zj&=}HD%`eEzZVCUO{^!LH;N=2e^>4(k7!Pd)w z^n*^9CDwk}JUz1gpfwD{>W8hPLDmntyq#G6AiF@}hpZnoCPJ)!*gPV#{>ez;1~Ug& z_`%luAnOOM)qv@P(YW-(?r=udKa~XgVPo;g`a!3e!|a98xa^0GQzGl1PJ;cgy#~no zL2EQ%_QGgf_QUp;z{ZC`>2D?p_QU3ck<%~eRCSoWFdCQrusJMb`$2O$Fnur@mwpfE zxGJ*!pj(n*`d~CJ{jl>7koAMkVu0y`(YW-(#)py1572xpOdpKKr5|>l0!Fm?A!%p`$6-#Fnur@m;M?o;Rl*GgXx3Oxb$~G^&{I4n*W9AgVDJ3!_I*~_CIJ| z4W4VX@^dEuhNA^Exo*JePM&r^Co0mYgA2e?V(+8t*>4&Y$Lbe|?zYWs|qjBkn z+;0ZEKbV05RQ`bG^eJ~oAe%N^($o>b-`@!_VXk7YX=X4<3 z51LPh>4VX@^ux~WK(-$=F9_2IqjBkn%@ZNp51NOE>4VX@^vggeLy+wU%^Sk>!Dw9i zHL&Oh&B?*^!Dw9iVdsq?+Yef+1Jehiap`x!Vn66y0+>D+jY~i5oDyXFLFYKY^ucIc z`eEmmAnOP1yM^h4(YW-(&M`sO4?6b)rVmEr(qDkZ|Db){Fnur@m;M?o`a%0AVESM* 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\X$&KV%-wjD{_07<+HN!$`i95xpTvNr`u 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�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 literal 0 HcmV?d00001 diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/pkgconfig/redis++.pc b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/pkgconfig/redis++.pc new file mode 100644 index 000000000..7bf203b35 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/lib/pkgconfig/redis++.pc @@ -0,0 +1,12 @@ +prefix=/home/grant/dev/ZeroTierOne/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64 +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: redis++ +Description: This is a Redis client, based on hiredis and written in C++11. It supports scritpting, pub/sub, pipeline, transaction, Redis Cluster, Redis Sentinel, connection pool, ACL, SSL and thread safety. +Version: 1.3.3 +URL: https://github.com/sewenew/redis-plus-plus +Requires: hiredis +Cflags: -I${includedir} +Libs: -L${libdir} -lredis++ diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config-version.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config-version.cmake new file mode 100644 index 000000000..ef4be219f --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config-version.cmake @@ -0,0 +1,48 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.3.3") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed project requested no architecture check, don't perform the check +if("FALSE") + return() +endif() + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config.cmake new file mode 100644 index 000000000..580d98613 --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-config.cmake @@ -0,0 +1,36 @@ + +####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### +####### Any changes to this file will be overwritten by the next CMake run #### +####### The input file was redis++-config.cmake.in ######## + +get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +macro(check_required_components _NAME) + foreach(comp ${${_NAME}_FIND_COMPONENTS}) + if(NOT ${_NAME}_${comp}_FOUND) + if(${_NAME}_FIND_REQUIRED_${comp}) + set(${_NAME}_FOUND FALSE) + endif() + endif() + endforeach() +endmacro() + +#################################################################################### + +include(CMakeFindDependencyMacro) + +string(REPLACE "," ";" REDIS_PLUS_PLUS_DEPENDS_LIST hiredis) +foreach(REDIS_PLUS_PLUS_DEP ${REDIS_PLUS_PLUS_DEPENDS_LIST}) + find_dependency(${REDIS_PLUS_PLUS_DEP} REQUIRED) +endforeach() + +include("${CMAKE_CURRENT_LIST_DIR}/redis++-targets.cmake") + +check_required_components(redis++) diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets-release.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets-release.cmake new file mode 100644 index 000000000..b790b539f --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets-release.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "redis++::redis++_static" for configuration "Release" +set_property(TARGET redis++::redis++_static APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(redis++::redis++_static PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libredis++.a" + ) + +list(APPEND _IMPORT_CHECK_TARGETS redis++::redis++_static ) +list(APPEND _IMPORT_CHECK_FILES_FOR_redis++::redis++_static "${_IMPORT_PREFIX}/lib/libredis++.a" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets.cmake b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets.cmake new file mode 100644 index 000000000..9e87d927e --- /dev/null +++ b/ext/redis-plus-plus-1.3.3/install/ubuntu22.04/arm64/share/cmake/redis++/redis++-targets.cmake @@ -0,0 +1,94 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget redis++::redis++_static) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target redis++::redis++_static +add_library(redis++::redis++_static STATIC IMPORTED) + +set_target_properties(redis++::redis++_static PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include" +) + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/redis++-targets-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h index a60116bd9..27b08ff5c 100644 --- a/include/ZeroTierOne.h +++ b/include/ZeroTierOne.h @@ -1194,7 +1194,7 @@ typedef struct uint64_t mac; /* MAC in lower 48 bits */ uint32_t adi; /* Additional distinguishing information, usually zero except for IPv4 ARP groups */ } multicastSubscriptions[ZT_MAX_MULTICAST_SUBSCRIPTIONS]; - + /** * Network specific DNS configuration */ @@ -1327,6 +1327,11 @@ typedef struct */ float packetErrorRatio; + /** + * Number of flows assigned to this path + */ + uint16_t assignedFlowCount; + /** * Address scope */ diff --git a/java/src/com/zerotier/sdk/Event.java b/java/src/com/zerotier/sdk/Event.java index fbc016c66..c55da2cc0 100644 --- a/java/src/com/zerotier/sdk/Event.java +++ b/java/src/com/zerotier/sdk/Event.java @@ -29,14 +29,14 @@ package com.zerotier.sdk; /** * Status codes sent to status update callback when things happen - * + *

    * Defined in ZeroTierOne.h as ZT_Event */ public enum Event { /** * Node has been initialized - * + *

    * This is the first event generated, and is always sent. It may occur * before Node's constructor returns. */ @@ -49,7 +49,7 @@ public enum Event { /** * Node is online -- at least one upstream node appears reachable - * + *

    * Meta-data: none */ EVENT_ONLINE(2), @@ -104,7 +104,7 @@ public enum Event { /** * VERB_USER_MESSAGE received - * + *

    * These are generated when a VERB_USER_MESSAGE packet is received via * ZeroTier VL1. */ @@ -112,7 +112,7 @@ public enum Event { /** * Remote trace received - * + *

    * These are generated when a VERB_REMOTE_TRACE is received. Note * that any node can fling one of these at us. It is your responsibility * to filter and determine if it's worth paying attention to. If it's diff --git a/java/src/com/zerotier/sdk/Node.java b/java/src/com/zerotier/sdk/Node.java index a3f3ab470..280b5cd50 100644 --- a/java/src/com/zerotier/sdk/Node.java +++ b/java/src/com/zerotier/sdk/Node.java @@ -75,8 +75,8 @@ public class Node { EventListener eventListener, VirtualNetworkFrameListener frameListener, VirtualNetworkConfigListener configListener, - PathChecker pathChecker) throws NodeException { - ResultCode rc = node_init( + PathChecker pathChecker) { + return node_init( nodeId, getListener, putListener, @@ -85,10 +85,6 @@ public class Node { frameListener, configListener, pathChecker); - if(rc != ResultCode.RESULT_OK) { - throw new NodeException(rc.toString()); - } - return rc; } public boolean isInited() { @@ -299,7 +295,7 @@ public class Node { /** * Add or update a moon - * + *

    * Moons are persisted in the data store in moons.d/, so this can persist * across invocations if the contents of moon.d are scanned and orbit is * called for each on startup. diff --git a/java/src/com/zerotier/sdk/NodeException.java b/java/src/com/zerotier/sdk/NodeException.java deleted file mode 100644 index beeb06063..000000000 --- a/java/src/com/zerotier/sdk/NodeException.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * ZeroTier One - Network Virtualization Everywhere - * Copyright (C) 2011-2015 ZeroTier, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * -- - * - * ZeroTier may be used and distributed under the terms of the GPLv3, which - * are available at: http://www.gnu.org/licenses/gpl-3.0.html - * - * If you would like to embed ZeroTier into a commercial application or - * redistribute it in a modified binary form, please contact ZeroTier Networks - * LLC. Start here: http://www.zerotier.com/ - */ - -package com.zerotier.sdk; - -public class NodeException extends Exception { - - private static final long serialVersionUID = 6268040509883125819L; - - public NodeException(String message) { - super(message); - } -} diff --git a/java/src/com/zerotier/sdk/NodeStatus.java b/java/src/com/zerotier/sdk/NodeStatus.java index 1172650b1..04c3ee60c 100644 --- a/java/src/com/zerotier/sdk/NodeStatus.java +++ b/java/src/com/zerotier/sdk/NodeStatus.java @@ -31,7 +31,7 @@ import com.zerotier.sdk.util.StringUtils; /** * Current node status - * + *

    * Defined in ZeroTierOne.h as ZT_NodeStatus */ public class NodeStatus { diff --git a/java/src/com/zerotier/sdk/PathChecker.java b/java/src/com/zerotier/sdk/PathChecker.java index cfc97d60e..66a297dc4 100644 --- a/java/src/com/zerotier/sdk/PathChecker.java +++ b/java/src/com/zerotier/sdk/PathChecker.java @@ -11,9 +11,9 @@ public interface PathChecker { /** * Callback to check whether a path should be used for ZeroTier traffic - * + *

    * This function must return true if the path should be used. - * + *

    * If no path check function is specified, ZeroTier will still exclude paths * that overlap with ZeroTier-assigned and managed IP address blocks. But the * use of a path check function is recommended to ensure that recursion does @@ -22,7 +22,7 @@ public interface PathChecker { * all configured ZeroTier interfaces and check to ensure that the supplied * addresses will not result in ZeroTier traffic being sent over a ZeroTier * interface (recursion). - * + *

    * Obviously this is not required in configurations where this can't happen, * such as network containers or embedded. * @@ -35,7 +35,7 @@ public interface PathChecker { /** * Function to get physical addresses for ZeroTier peers - * + *

    * If provided this function will be occasionally called to get physical * addresses that might be tried to reach a ZeroTier address. * diff --git a/java/src/com/zerotier/sdk/Peer.java b/java/src/com/zerotier/sdk/Peer.java index e3d544381..de7d64e56 100644 --- a/java/src/com/zerotier/sdk/Peer.java +++ b/java/src/com/zerotier/sdk/Peer.java @@ -33,7 +33,7 @@ import java.util.Arrays; /** * Peer status result buffer - * + *

    * Defined in ZeroTierOne.h as ZT_Peer */ public class Peer { diff --git a/java/src/com/zerotier/sdk/PeerPhysicalPath.java b/java/src/com/zerotier/sdk/PeerPhysicalPath.java index f6d326425..849725b50 100644 --- a/java/src/com/zerotier/sdk/PeerPhysicalPath.java +++ b/java/src/com/zerotier/sdk/PeerPhysicalPath.java @@ -31,7 +31,7 @@ import java.net.InetSocketAddress; /** * Physical network path to a peer - * + *

    * Defined in ZeroTierOne.h as ZT_PeerPhysicalPath */ public class PeerPhysicalPath { diff --git a/java/src/com/zerotier/sdk/PeerRole.java b/java/src/com/zerotier/sdk/PeerRole.java index d69a1f1bb..e05ba4a3b 100644 --- a/java/src/com/zerotier/sdk/PeerRole.java +++ b/java/src/com/zerotier/sdk/PeerRole.java @@ -29,7 +29,7 @@ package com.zerotier.sdk; /** * What trust hierarchy role does this peer have? - * + *

    * Defined in ZeroTierOne.h as ZT_PeerRole */ public enum PeerRole { diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java index bcf64854a..275266823 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkConfig.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkConfig.java @@ -38,7 +38,7 @@ import java.util.Collections; /** * Virtual network configuration - * + *

    * Defined in ZeroTierOne.h as ZT_VirtualNetworkConfig */ public class VirtualNetworkConfig implements Comparable { @@ -107,100 +107,108 @@ public class VirtualNetworkConfig implements Comparable { @Override public boolean equals(Object o) { + if (o == null) { + Log.i(TAG, "Old is null"); + + return false; + } + if (!(o instanceof VirtualNetworkConfig)) { - return false; - } - - VirtualNetworkConfig cfg = (VirtualNetworkConfig) o; - - if (this.nwid != cfg.nwid) { - Log.i(TAG, "NetworkID Changed. Old: " + StringUtils.networkIdToString(this.nwid) + " (" + this.nwid + "), " + - "New: " + StringUtils.networkIdToString(cfg.nwid) + " (" + cfg.nwid + ")"); + Log.i(TAG, "Old is not an instance of VirtualNetworkConfig: " + o); return false; } - if (this.mac != cfg.mac) { - Log.i(TAG, "MAC Changed. Old: " + StringUtils.macAddressToString(this.mac) + ", New: " + StringUtils.macAddressToString(cfg.mac)); + VirtualNetworkConfig old = (VirtualNetworkConfig) o; + + if (this.nwid != old.nwid) { + Log.i(TAG, "NetworkID Changed. New: " + StringUtils.networkIdToString(this.nwid) + " (" + this.nwid + "), " + + "Old: " + StringUtils.networkIdToString(old.nwid) + " (" + old.nwid + ")"); return false; } - if (!this.name.equals(cfg.name)) { - Log.i(TAG, "Name Changed. Old: " + this.name + ", New: " + cfg.name); + if (this.mac != old.mac) { + Log.i(TAG, "MAC Changed. New: " + StringUtils.macAddressToString(this.mac) + ", Old: " + StringUtils.macAddressToString(old.mac)); return false; } - if (this.status != cfg.status) { - Log.i(TAG, "Status Changed. Old: " + this.status + ", New: " + cfg.status); + if (!this.name.equals(old.name)) { + Log.i(TAG, "Name Changed. New: " + this.name + ", Old: " + old.name); return false; } - if (this.type != cfg.type) { - Log.i(TAG, "Type changed. Old " + this.type + ", New: " + cfg.type); + if (this.status != old.status) { + Log.i(TAG, "Status Changed. New: " + this.status + ", Old: " + old.status); return false; } - if (this.mtu != cfg.mtu) { - Log.i(TAG, "MTU Changed. Old: " + this.mtu + ", New: " + cfg.mtu); + if (this.type != old.type) { + Log.i(TAG, "Type changed. New: " + this.type + ", Old: " + old.type); return false; } - if (this.dhcp != cfg.dhcp) { - Log.i(TAG, "DHCP Flag Changed. Old: " + this.dhcp + ", New: " + cfg.dhcp); + if (this.mtu != old.mtu) { + Log.i(TAG, "MTU Changed. New: " + this.mtu + ", Old: " + old.mtu); return false; } - if (this.bridge != cfg.bridge) { - Log.i(TAG, "Bridge Flag Changed. Old: " + this.bridge + ", New: " + cfg.bridge); + if (this.dhcp != old.dhcp) { + Log.i(TAG, "DHCP Flag Changed. New: " + this.dhcp + ", Old: " + old.dhcp); return false; } - if (this.broadcastEnabled != cfg.broadcastEnabled) { - Log.i(TAG, "Broadcast Flag Changed. Old: "+ this.broadcastEnabled + ", New: " + cfg.broadcastEnabled); + if (this.bridge != old.bridge) { + Log.i(TAG, "Bridge Flag Changed. New: " + this.bridge + ", Old: " + old.bridge); return false; } - if (this.portError != cfg.portError) { - Log.i(TAG, "Port Error Changed. Old: " + this.portError + ", New: " + cfg.portError); + if (this.broadcastEnabled != old.broadcastEnabled) { + Log.i(TAG, "Broadcast Flag Changed. New: "+ this.broadcastEnabled + ", Old: " + old.broadcastEnabled); return false; } - if (this.netconfRevision != cfg.netconfRevision) { - Log.i(TAG, "NetConfRevision Changed. Old: " + this.netconfRevision + ", New: " + cfg.netconfRevision); + if (this.portError != old.portError) { + Log.i(TAG, "Port Error Changed. New: " + this.portError + ", Old: " + old.portError); return false; } - if (!Arrays.equals(assignedAddresses, cfg.assignedAddresses)) { + if (this.netconfRevision != old.netconfRevision) { + Log.i(TAG, "NetConfRevision Changed. New: " + this.netconfRevision + ", Old: " + old.netconfRevision); + + return false; + } + + if (!Arrays.equals(assignedAddresses, old.assignedAddresses)) { - ArrayList aaCurrent = new ArrayList<>(); ArrayList aaNew = new ArrayList<>(); + ArrayList aaOld = new ArrayList<>(); for (InetSocketAddress s : assignedAddresses) { - aaCurrent.add(s.toString()); - } - for (InetSocketAddress s : cfg.assignedAddresses) { aaNew.add(s.toString()); } - Collections.sort(aaCurrent); + for (InetSocketAddress s : old.assignedAddresses) { + aaOld.add(s.toString()); + } Collections.sort(aaNew); + Collections.sort(aaOld); Log.i(TAG, "Assigned Addresses Changed"); - Log.i(TAG, "Old:"); - for (String s : aaCurrent) { + Log.i(TAG, "New:"); + for (String s : aaNew) { Log.i(TAG, " " + s); } Log.i(TAG, ""); - Log.i(TAG, "New:"); - for (String s : aaNew) { + Log.i(TAG, "Old:"); + for (String s : aaOld) { Log.i(TAG, " " +s); } Log.i(TAG, ""); @@ -208,27 +216,27 @@ public class VirtualNetworkConfig implements Comparable { return false; } - if (!Arrays.equals(routes, cfg.routes)) { + if (!Arrays.equals(routes, old.routes)) { - ArrayList rCurrent = new ArrayList<>(); ArrayList rNew = new ArrayList<>(); + ArrayList rOld = new ArrayList<>(); for (VirtualNetworkRoute r : routes) { - rCurrent.add(r.toString()); - } - for (VirtualNetworkRoute r : cfg.routes) { rNew.add(r.toString()); } - Collections.sort(rCurrent); + for (VirtualNetworkRoute r : old.routes) { + rOld.add(r.toString()); + } Collections.sort(rNew); + Collections.sort(rOld); Log.i(TAG, "Managed Routes Changed"); - Log.i(TAG, "Old:"); - for (String s : rCurrent) { + Log.i(TAG, "New:"); + for (String s : rNew) { Log.i(TAG, " " + s); } Log.i(TAG, ""); - Log.i(TAG, "New:"); - for (String s : rNew) { + Log.i(TAG, "Old:"); + for (String s : rOld) { Log.i(TAG, " " + s); } Log.i(TAG, ""); @@ -239,20 +247,22 @@ public class VirtualNetworkConfig implements Comparable { boolean dnsEquals; if (this.dns == null) { //noinspection RedundantIfStatement - if (cfg.dns == null) { + if (old.dns == null) { dnsEquals = true; } else { dnsEquals = false; } } else { - if (cfg.dns == null) { + if (old.dns == null) { dnsEquals = false; } else { - dnsEquals = this.dns.equals(cfg.dns); + dnsEquals = this.dns.equals(old.dns); } } if (!dnsEquals) { + Log.i(TAG, "DNS Changed. New: " + this.dns + ", Old: " + old.dns); + return false; } @@ -374,11 +384,11 @@ public class VirtualNetworkConfig implements Comparable { /** * ZeroTier-assigned addresses (in {@link InetSocketAddress} objects) - * + *

    * For IP, the port number of the sockaddr_XX structure contains the number * of bits in the address netmask. Only the IP address and port are used. * Other fields like interface number can be ignored. - * + *

    * This is only used for ZeroTier-managed address assignments sent by the * virtual network's configuration master. */ diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfigListener.java b/java/src/com/zerotier/sdk/VirtualNetworkConfigListener.java index ce91e79d9..7c140bd77 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkConfigListener.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkConfigListener.java @@ -36,14 +36,14 @@ public interface VirtualNetworkConfigListener { *

    This can be called at any time to update the configuration of a virtual * network port. The parameter after the network ID specifies whether this * port is being brought up, updated, brought down, or permanently deleted. - * + *

    * This in turn should be used by the underlying implementation to create * and configure tap devices at the OS (or virtual network stack) layer.

    * * This should not call {@link Node#multicastSubscribe(long, long)} or other network-modifying * methods, as this could cause a deadlock in multithreaded or interrupt * driven environments. - * + *

    * This must return 0 on success. It can return any OS-dependent error code * on failure, and this results in the network being placed into the * PORT_ERROR state. diff --git a/java/src/com/zerotier/sdk/VirtualNetworkConfigOperation.java b/java/src/com/zerotier/sdk/VirtualNetworkConfigOperation.java index a1981bd15..59837a6be 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkConfigOperation.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkConfigOperation.java @@ -29,7 +29,7 @@ package com.zerotier.sdk; /** * Virtual network configuration update type - * + *

    * Defined in ZeroTierOne.h as ZT_VirtualNetworkConfigOperation */ public enum VirtualNetworkConfigOperation { diff --git a/java/src/com/zerotier/sdk/VirtualNetworkDNS.java b/java/src/com/zerotier/sdk/VirtualNetworkDNS.java index 6e4bb3d22..48d24046d 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkDNS.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkDNS.java @@ -10,7 +10,7 @@ import java.util.ArrayList; /** * DNS configuration to be pushed on a virtual network - * + *

    * Defined in ZeroTierOne.h as ZT_VirtualNetworkDNS */ public class VirtualNetworkDNS implements Comparable { @@ -45,6 +45,7 @@ public class VirtualNetworkDNS implements Comparable { return false; } + //noinspection RedundantIfStatement if (!servers.equals(d.servers)) { return false; } diff --git a/java/src/com/zerotier/sdk/VirtualNetworkRoute.java b/java/src/com/zerotier/sdk/VirtualNetworkRoute.java index afd9ee45a..ec569813b 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkRoute.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkRoute.java @@ -31,7 +31,7 @@ import java.net.InetSocketAddress; /** * A route to be pushed on a virtual network - * + *

    * Defined in ZeroTierOne.h as ZT_VirtualNetworkRoute */ public class VirtualNetworkRoute implements Comparable @@ -126,6 +126,7 @@ public class VirtualNetworkRoute implements Comparable return false; } + //noinspection RedundantIfStatement if (metric != other.metric) { return false; } diff --git a/java/src/com/zerotier/sdk/VirtualNetworkStatus.java b/java/src/com/zerotier/sdk/VirtualNetworkStatus.java index 8a32ba6ad..9539bdcc6 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkStatus.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkStatus.java @@ -29,7 +29,7 @@ package com.zerotier.sdk; /** * Virtual network status codes - * + *

    * Defined in ZeroTierOne.h as ZT_VirtualNetworkStatus */ public enum VirtualNetworkStatus { diff --git a/java/src/com/zerotier/sdk/VirtualNetworkType.java b/java/src/com/zerotier/sdk/VirtualNetworkType.java index 44be8864b..5c1239c02 100644 --- a/java/src/com/zerotier/sdk/VirtualNetworkType.java +++ b/java/src/com/zerotier/sdk/VirtualNetworkType.java @@ -29,7 +29,7 @@ package com.zerotier.sdk; /** * Virtual network type codes - * + *

    * Defined in ZeroTierOne.h as ZT_VirtualNetworkType */ public enum VirtualNetworkType { diff --git a/make-bsd.mk b/make-bsd.mk index 8234f2fdb..ce0b4dde1 100644 --- a/make-bsd.mk +++ b/make-bsd.mk @@ -1,6 +1,6 @@ # This requires GNU make, which is typically "gmake" on BSD systems -INCLUDES=-isystem ext +INCLUDES=-isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include DEFS= LIBS= diff --git a/make-linux.mk b/make-linux.mk index 5d1155c9e..48d44a048 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -9,7 +9,7 @@ ifeq ($(origin CXX),default) CXX:=$(shell if [ -e /opt/rh/devtoolset-8/root/usr/bin/g++ ]; then echo /opt/rh/devtoolset-8/root/usr/bin/g++; else echo $(CXX); fi) endif -INCLUDES?=-Izeroidc/target -isystem ext +INCLUDES?=-Izeroidc/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include DEFS?= LDLIBS?= DESTDIR?= @@ -119,6 +119,9 @@ ifeq ($(CC_MACH),x86_64) override CFLAGS+=-msse -msse2 override CXXFLAGS+=-msse -msse2 ZT_SSO_SUPPORTED=1 + ifeq ($(ZT_CONTROLLER),1) + EXT_ARCH=amd64 + endif endif ifeq ($(CC_MACH),amd64) ZT_ARCHITECTURE=2 @@ -127,6 +130,9 @@ ifeq ($(CC_MACH),amd64) override CFLAGS+=-msse -msse2 override CXXFLAGS+=-msse -msse2 ZT_SSO_SUPPORTED=1 + ifeq ($(ZT_CONTROLLER),1) + EXT_ARCH=amd64 + endif endif ifeq ($(CC_MACH),powerpc64le) ZT_ARCHITECTURE=8 @@ -229,12 +235,17 @@ endif ifeq ($(CC_MACH),arm64) ZT_ARCHITECTURE=4 ZT_SSO_SUPPORTED=1 + ZT_USE_X64_ASM_ED25519=0 override DEFS+=-DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align endif ifeq ($(CC_MACH),aarch64) ZT_ARCHITECTURE=4 ZT_SSO_SUPPORTED=1 + ZT_USE_X64_ASM_ED25519=0 override DEFS+=-DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align + ifeq ($(ZT_CONTROLLER),1) + EXT_ARCH=arm64 + endif endif ifeq ($(CC_MACH),mipsel) ZT_ARCHITECTURE=5 @@ -310,9 +321,9 @@ endif ifeq ($(ZT_CONTROLLER),1) override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS) - override LDLIBS+=-Lext/libpqxx-7.7.3/install/ubuntu22.04/lib -lpqxx -lpq ext/hiredis-1.0.2/lib/ubuntu22.04/libhiredis.a ext/redis-plus-plus-1.3.3/install/ubuntu22.04/lib/libredis++.a -lssl -lcrypto - override DEFS+=-DZT_CONTROLLER_USE_LIBPQ - override INCLUDES+=-I/usr/include/postgresql -Iext/libpqxx-7.7.3/install/ubuntu22.04/include -Iext/hiredis-1.0.2/include/ -Iext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/ + override LDLIBS+=-Lext/libpqxx-7.7.3/install/ubuntu22.04/$(EXT_ARCH)/lib -lpqxx -lpq ext/hiredis-1.0.2/lib/ubuntu22.04/$(EXT_ARCH)/libhiredis.a ext/redis-plus-plus-1.3.3/install/ubuntu22.04/$(EXT_ARCH)/lib/libredis++.a -lssl -lcrypto + override DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_NO_PEER_METRICS + override INCLUDES+=-I/usr/include/postgresql -Iext/libpqxx-7.7.3/install/ubuntu22.04/$(EXT_ARCH)/include -Iext/hiredis-1.0.2/include/ -Iext/redis-plus-plus-1.3.3/install/ubuntu22.04/$(EXT_ARCH)/include/sw/ endif # ARM32 hell -- use conservative CFLAGS @@ -346,6 +357,9 @@ endif override CFLAGS+=-fPIC -fPIE override CXXFLAGS+=-fPIC -fPIE +# Non-executable stack +override ASFLAGS+=--noexecstack + .PHONY: all all: one @@ -397,11 +411,19 @@ official: FORCE docker: FORCE docker build --no-cache -f ext/installfiles/linux/zerotier-containerized/Dockerfile -t zerotier-containerized . -central-controller: FORCE - make -j4 ZT_CONTROLLER=1 ZT_USE_X64_ASM_ED25519=1 one +_buildx: + @echo "docker buildx create" + # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + docker run --privileged --rm tonistiigi/binfmt --install all + @echo docker buildx create --name multiarch --driver docker-container --use + @echo docker buildx inspect --bootstrap -central-controller-docker: FORCE - docker build --no-cache -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=`git name-rev --name-only HEAD` . +central-controller: FORCE + make -j4 ZT_CONTROLLER=1 one + +central-controller-docker: _buildx FORCE + docker buildx build --platform linux/amd64,linux/arm64 --no-cache -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=`git name-rev --name-only HEAD` . --push + @echo Image: registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} debug: FORCE make ZT_DEBUG=1 one @@ -476,17 +498,19 @@ echo_flags: @echo "echo_flags :: RUSTFLAGS=$(RUSTFLAGS)" @echo "=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~" -# debian: echo_flags -# @echo "building deb package" -# debuild --no-lintian -b -uc -us - -debian: FORCE +debian: echo_flags + @echo "building deb package" debuild --no-lintian -I -i -us -uc -nc -b + # debuild --no-lintian -b -uc -us + +# debian: FORCE +# debuild --no-lintian -I -i -us -uc -nc -b debian-clean: FORCE rm -rf debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one debian/.debhelper debian/debhelper-build-stamp -redhat: FORCE +redhat: + @echo "building rpm package" rpmbuild --target `rpm -q bash --qf "%{arch}"` -ba zerotier-one.spec # This installs the packages needed to build ZT locally on CentOS 7 and diff --git a/make-mac.mk b/make-mac.mk index 5c00fb0c0..5da90a931 100644 --- a/make-mac.mk +++ b/make-mac.mk @@ -2,7 +2,7 @@ CC=clang CXX=clang++ TOPDIR=$(shell PWD) -INCLUDES=-I$(shell PWD)/zeroidc/target -isystem $(TOPDIR)/ext +INCLUDES=-I$(shell PWD)/zeroidc/target -isystem $(TOPDIR)/ext -I$(TOPDIR)/ext/prometheus-cpp-lite-1.0/core/include -I$(TOPDIR)/ext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -I$(TOPDIR)/ext/prometheus-cpp-lite-1.0/simpleapi/include DEFS= LIBS= ARCH_FLAGS=-arch x86_64 -arch arm64 @@ -176,9 +176,17 @@ official: FORCE make ZT_OFFICIAL_RELEASE=1 -j 8 one make ZT_OFFICIAL_RELEASE=1 mac-dist-pkg -central-controller-docker: FORCE - docker build --no-cache -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=$(shell git name-rev --name-only HEAD) . +_buildx: + @echo "docker buildx create" + # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + docker run --privileged --rm tonistiigi/binfmt --install all + @echo docker buildx create --name multiarch --driver docker-container --use + @echo docker buildx inspect --bootstrap +central-controller-docker: _buildx FORCE + docker buildx build --platform linux/arm64,linux/amd64 --no-cache -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=$(shell git name-rev --name-only HEAD) . --push + @echo Image: registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} + clean: rm -rf MacEthernetTapAgent *.dSYM build-* *.a *.pkg *.dmg *.o node/*.o controller/*.o service/*.o osdep/*.o ext/http-parser/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-selftest zerotier-cli zerotier doc/node_modules zt1_update_$(ZT_BUILD_PLATFORM)_$(ZT_BUILD_ARCHITECTURE)_* zeroidc/target/ diff --git a/node/AES.cpp b/node/AES.cpp index 8f2f30d20..90247b468 100644 --- a/node/AES.cpp +++ b/node/AES.cpp @@ -136,8 +136,9 @@ void AES::GMAC::update(const void *const data, unsigned int len) noexcept if (_rp) { for (;;) { - if (!len) + if (!len) { return; + } --len; _r[_rp++] = *(in++); if (_rp == 16) { @@ -160,8 +161,9 @@ void AES::GMAC::update(const void *const data, unsigned int len) noexcept _y[0] = y0; _y[1] = y1; - for (unsigned int i = 0; i < len; ++i) + for (unsigned int i = 0; i < len; ++i) { _r[i] = in[i]; + } _rp = len; // len is always less than 16 here } @@ -187,8 +189,9 @@ void AES::GMAC::finish(uint8_t tag[16]) noexcept uint64_t y1 = _y[1]; if (_rp) { - while (_rp < 16) + while (_rp < 16) { _r[_rp++] = 0; + } y0 ^= Utils::loadMachineEndian< uint64_t >(_r); y1 ^= Utils::loadMachineEndian< uint64_t >(_r + 8); s_gfmul(h0, h1, y0, y1); @@ -247,8 +250,9 @@ void AES::CTR::crypt(const void *const input, unsigned int len) noexcept _aes.p_encryptSW(reinterpret_cast(_ctr), reinterpret_cast(keyStream)); reinterpret_cast(_ctr)[3] = Utils::hton(++ctr); uint8_t *outblk = out + (totalLen - 16); - for (int i = 0; i < 16; ++i) + for (int i = 0; i < 16; ++i) { outblk[i] ^= reinterpret_cast(keyStream)[i]; + } break; } } @@ -442,8 +446,9 @@ void AES::CTR::finish() noexcept const unsigned int rem = _len & 15U; if (rem) { _aes.encrypt(_ctr, tmp); - for (unsigned int i = 0, j = _len - rem; i < rem; ++i) + for (unsigned int i = 0, j = _len - rem; i < rem; ++i) { _out[j + i] ^= tmp[i]; + } } } @@ -497,8 +502,9 @@ void AES::p_initSW(const uint8_t *key) noexcept rk[9] = rk[1] ^ rk[8]; rk[10] = rk[2] ^ rk[9]; rk[11] = rk[3] ^ rk[10]; - if (++i == 7) + if (++i == 7) { break; + } temp = rk[11]; rk[12] = rk[4] ^ (Te2_r(temp >> 24U) & 0xff000000U) ^ (Te3_r((temp >> 16U) & 0xffU) & 0x00ff0000U) ^ (Te0[(temp >> 8U) & 0xffU] & 0x0000ff00U) ^ (Te1_r((temp) & 0xffU) & 0x000000ffU); rk[13] = rk[5] ^ rk[12]; @@ -511,8 +517,9 @@ void AES::p_initSW(const uint8_t *key) noexcept p_k.sw.h[0] = Utils::ntoh(p_k.sw.h[0]); p_k.sw.h[1] = Utils::ntoh(p_k.sw.h[1]); - for (int i = 0; i < 60; ++i) + for (int i = 0; i < 60; ++i) { p_k.sw.dk[i] = p_k.sw.ek[i]; + } rk = p_k.sw.dk; for (int i = 0, j = 56; i < j; i += 4, j -= 4) { diff --git a/node/AES.hpp b/node/AES.hpp index b8f4ef996..0cae08656 100644 --- a/node/AES.hpp +++ b/node/AES.hpp @@ -197,8 +197,9 @@ public: *reinterpret_cast(_iv + 8) = *reinterpret_cast(iv + 8); *reinterpret_cast(_iv + 12) = 0x01000000; // 0x00000001 in big-endian byte order #else - for(int i=0;i<12;++i) + for(int i=0;i<12;++i) { _iv[i] = iv[i]; + } _iv[12] = 0; _iv[13] = 0; _iv[14] = 0; @@ -373,8 +374,9 @@ public: // End of AAD is padded to a multiple of 16 bytes to ensure unique encoding. len &= 0xfU; - if (len != 0) + if (len != 0) { _gmac.update(Utils::ZERO256, 16 - len); + } } /** @@ -495,8 +497,9 @@ public: { _gmac.update(aad, len); len &= 0xfU; - if (len != 0) + if (len != 0) { _gmac.update(Utils::ZERO256, 16 - len); + } } /** diff --git a/node/AES_aesni.cpp b/node/AES_aesni.cpp index a185b1b36..31b046608 100644 --- a/node/AES_aesni.cpp +++ b/node/AES_aesni.cpp @@ -228,8 +228,9 @@ void AES::GMAC::p_aesNIUpdate(const uint8_t *in, unsigned int len) noexcept // Handle anything left over from a previous run that wasn't a multiple of 16 bytes. if (_rp) { for (;;) { - if (!len) + if (!len) { return; + } --len; _r[_rp++] = *(in++); if (_rp == 16) { @@ -281,8 +282,9 @@ void AES::GMAC::p_aesNIUpdate(const uint8_t *in, unsigned int len) noexcept _mm_storeu_si128(reinterpret_cast<__m128i *>(_y), y); // Any overflow is cached for a later run or finish(). - for (unsigned int i = 0; i < len; ++i) + for (unsigned int i = 0; i < len; ++i) { _r[i] = in[i]; + } _rp = len; // len is always less than 16 here } @@ -295,8 +297,9 @@ void AES::GMAC::p_aesNIFinish(uint8_t tag[16]) noexcept // Handle any remaining bytes, padding the last block with zeroes. if (_rp) { - while (_rp < 16) + while (_rp < 16) { _r[_rp++] = 0; + } y = p_gmacPCLMUL128(_aes.p_k.ni.h[0], _mm_xor_si128(y, _mm_loadu_si128(reinterpret_cast<__m128i *>(_r)))); } @@ -438,9 +441,9 @@ void AES::CTR::p_aesNICrypt(const uint8_t *in, uint8_t *out, unsigned int len) n #if !defined(ZT_AES_VAES512) && defined(ZT_AES_VAES256) if (Utils::CPUID.vaes && (len >= 256)) { - p_aesCtrInnerVAES256(len, _ctr[0], c1, in, out, k); - goto skip_conventional_aesni_64; - } + p_aesCtrInnerVAES256(len, _ctr[0], c1, in, out, k); + goto skip_conventional_aesni_64; + } #endif const uint8_t *const eof64 = in + (len & ~((unsigned int)63)); @@ -552,8 +555,9 @@ void AES::CTR::p_aesNICrypt(const uint8_t *in, uint8_t *out, unsigned int len) n // Any remaining input is placed in _out. This will be picked up and crypted // on subsequent calls to crypt() or finish() as it'll mean _len will not be // an even multiple of 16. - for (unsigned int i = 0; i < len; ++i) + for (unsigned int i = 0; i < len; ++i) { out[i] = in[i]; + } _ctr[1] = Utils::hton(c1); } diff --git a/node/AES_armcrypto.cpp b/node/AES_armcrypto.cpp index c77aa0779..2f20c23de 100644 --- a/node/AES_armcrypto.cpp +++ b/node/AES_armcrypto.cpp @@ -56,8 +56,9 @@ void AES::GMAC::p_armUpdate(const uint8_t *in, unsigned int len) noexcept if (_rp) { for(;;) { - if (!len) + if (!len) { return; + } --len; _r[_rp++] = *(in++); if (_rp == 16) { @@ -75,8 +76,9 @@ void AES::GMAC::p_armUpdate(const uint8_t *in, unsigned int len) noexcept vst1q_u8(reinterpret_cast(_y), y); - for (unsigned int i = 0; i < len; ++i) + for (unsigned int i = 0; i < len; ++i) { _r[i] = in[i]; + } _rp = len; // len is always less than 16 here } @@ -87,8 +89,9 @@ void AES::GMAC::p_armFinish(uint8_t tag[16]) noexcept const uint8x16_t h = _aes.p_k.neon.h; if (_rp) { - while (_rp < 16) + while (_rp < 16) { _r[_rp++] = 0; + } y = s_clmul_armneon_crypto(h, y, _r); } @@ -255,8 +258,9 @@ void AES::CTR::p_armCrypt(const uint8_t *in, uint8_t *out, unsigned int len) noe in += 64; dd = (uint8x16_t)vaddq_u32((uint32x4_t)dd, four); - if (unlikely(len < 64)) + if (unlikely(len < 64)) { break; + } dd1 = (uint8x16_t)vaddq_u32((uint32x4_t)dd1, four); dd2 = (uint8x16_t)vaddq_u32((uint32x4_t)dd2, four); dd3 = (uint8x16_t)vaddq_u32((uint32x4_t)dd3, four); @@ -290,8 +294,9 @@ void AES::CTR::p_armCrypt(const uint8_t *in, uint8_t *out, unsigned int len) noe // Any remaining input is placed in _out. This will be picked up and crypted // on subsequent calls to crypt() or finish() as it'll mean _len will not be // an even multiple of 16. - for (unsigned int i = 0; i < len; ++i) + for (unsigned int i = 0; i < len; ++i) { out[i] = in[i]; + } vst1q_u8(reinterpret_cast(_ctr), vrev32q_u8(dd)); } @@ -327,12 +332,14 @@ void AES::p_init_armneon_crypto(const uint8_t *key) noexcept w[i] = w[i - ZT_INIT_ARMNEON_CRYPTO_NK] ^ t; } - for (unsigned int i=0;i<(ZT_INIT_ARMNEON_CRYPTO_NB * (ZT_INIT_ARMNEON_CRYPTO_NR + 1));++i) + for (unsigned int i=0;i<(ZT_INIT_ARMNEON_CRYPTO_NB * (ZT_INIT_ARMNEON_CRYPTO_NR + 1));++i) { w[i] = Utils::hton(w[i]); + } p_k.neon.dk[0] = p_k.neon.ek[14]; - for (int i=1;i<14;++i) + for (int i=1;i<14;++i) { p_k.neon.dk[i] = vaesimcq_u8(p_k.neon.ek[14 - i]); + } p_k.neon.dk[14] = p_k.neon.ek[0]; p_encrypt_armneon_crypto(Utils::ZERO256, h); diff --git a/node/Address.hpp b/node/Address.hpp index d72eb6af6..b6ccd86d7 100644 --- a/node/Address.hpp +++ b/node/Address.hpp @@ -71,8 +71,9 @@ public: */ inline void copyTo(void *const bits,const unsigned int len) const { - if (len < ZT_ADDRESS_LENGTH) + if (len < ZT_ADDRESS_LENGTH) { return; + } unsigned char *b = (unsigned char *)bits; *(b++) = (unsigned char)((_a >> 32) & 0xff); *(b++) = (unsigned char)((_a >> 24) & 0xff); diff --git a/node/Bond.cpp b/node/Bond.cpp index 8edd7e297..9bd9ee41e 100644 --- a/node/Bond.cpp +++ b/node/Bond.cpp @@ -20,6 +20,11 @@ #include #include // for PRId64, etc. macros +// FIXME: remove this suppression and actually fix warnings +#ifdef __GNUC__ +#pragma GCC diagnostic ignored "-Wsign-compare" +#endif + namespace ZeroTier { static unsigned char s_freeRandomByteCounter = 0; @@ -97,6 +102,43 @@ SharedPtr Bond::getBondByPeerId(int64_t identity) return _bonds.count(identity) ? _bonds[identity] : SharedPtr(); } +bool Bond::setAllMtuByTuple(uint16_t mtu, const std::string& ifStr, const std::string& ipStr) +{ + Mutex::Lock _l(_bonds_m); + std::map >::iterator bondItr = _bonds.begin(); + bool found = false; + while (bondItr != _bonds.end()) { + if (bondItr->second->setMtuByTuple(mtu,ifStr,ipStr)) { + found = true; + } + ++bondItr; + } + return found; +} + +bool Bond::setMtuByTuple(uint16_t mtu, const std::string& ifStr, const std::string& ipStr) +{ + Mutex::Lock _lp(_paths_m); + bool found = false; + for (int i = 0; i < ZT_MAX_PEER_NETWORK_PATHS; ++i) { + if (_paths[i].p) { + SharedPtr sl = getLink(_paths[i].p); + if (sl) { + if (sl->ifname() == ifStr) { + char ipBuf[64] = { 0 }; + _paths[i].p->address().toIpString(ipBuf); + std::string newString = std::string(ipBuf); + if (newString == ipStr) { + _paths[i].p->_mtu = mtu; + found = true; + } + } + } + } + } + return found; +} + SharedPtr Bond::createBond(const RuntimeEnvironment* renv, const SharedPtr& peer) { Mutex::Lock _l(_bonds_m); @@ -112,13 +154,11 @@ SharedPtr Bond::createBond(const RuntimeEnvironment* renv, const SharedPtr bond = new Bond(renv, _bondPolicyTemplates[_defaultPolicyStr].ptr(), peer); bond->debug("new default custom bond (based on %s)", bond->getPolicyStrByCode(bond->policy()).c_str()); } - } - else { + } else { if (! _bondPolicyTemplates[_policyTemplateAssignments[identity]]) { bond = new Bond(renv, _defaultPolicy, peer); bond->debug("peer-specific bond, was specified as %s but the bond definition was not found, using default %s", _policyTemplateAssignments[identity].c_str(), getPolicyStrByCode(_defaultPolicy).c_str()); - } - else { + } else { bond = new Bond(renv, _bondPolicyTemplates[_policyTemplateAssignments[identity]].ptr(), peer); bond->debug("new default bond"); } @@ -159,8 +199,8 @@ void Bond::destroyBond(uint64_t peerId) auto iter = _bonds.find(peerId); if (iter != _bonds.end()) { iter->second->stopBond(); + _bonds.erase(iter); } - _bonds.erase(peerId); } void Bond::stopBond() @@ -187,12 +227,10 @@ SharedPtr Bond::getLinkBySocket(const std::string& policyAlias, uint64_t l SharedPtr s = new Link(ifnameStr, 0, 0, 0, true, ZT_BOND_SLAVE_MODE_PRIMARY, ""); _interfaceToLinkMap[policyAlias].insert(std::pair >(ifnameStr, s)); return s; - } - else { + } else { return SharedPtr(); } - } - else { + } else { return search->second; } } @@ -359,8 +397,7 @@ SharedPtr Bond::getAppropriatePath(int64_t now, int32_t flowId) _rrPacketsSentOnCurrLink = 0; if (_numBondedPaths == 1 || _rrIdx >= (ZT_MAX_PEER_NETWORK_PATHS - 1)) { _rrIdx = 0; - } - else { + } else { int _tempIdx = _rrIdx; for (int searchCount = 0; searchCount < (_numBondedPaths - 1); searchCount++) { _tempIdx = (_tempIdx == (_numBondedPaths - 1)) ? 0 : _tempIdx + 1; @@ -390,8 +427,7 @@ SharedPtr Bond::getAppropriatePath(int64_t now, int32_t flowId) if (likely(it != _flows.end())) { it->second->lastActivity = now; return _paths[it->second->assignedPath].p; - } - else { + } else { unsigned char entropy; Utils::getSecureRandom(&entropy, 1); SharedPtr flow = createFlow(ZT_MAX_PEER_NETWORK_PATHS, flowId, entropy, now); @@ -469,8 +505,7 @@ void Bond::recordIncomingPacket(const SharedPtr& path, uint64_t packetId, _paths[pathIdx].qosStatsIn[packetId] = now; ++(_paths[pathIdx].packetsReceivedSinceLastQoS); //_paths[pathIdx].packetValiditySamples.push(true); - } - else { + } else { // debug("QoS buffer full, will not record information"); } /* @@ -497,8 +532,7 @@ void Bond::recordIncomingPacket(const SharedPtr& path, uint64_t packetId, SharedPtr flow; if (! _flows.count(flowId)) { flow = createFlow(pathIdx, flowId, 0, now); - } - else { + } else { flow = _flows[flowId]; } if (flow) { @@ -584,8 +618,7 @@ bool Bond::assignFlowToBondedPath(SharedPtr& flow, int64_t now, bool reass if (reassign) { log("attempting to re-assign out-flow %04x previously on idx %d (%u / %zu flows)", flow->id, flow->assignedPath, _paths[_realIdxMap[flow->assignedPath]].assignedFlowCount, _flows.size()); - } - else { + } else { debug("attempting to assign flow for the first time"); } @@ -599,8 +632,7 @@ bool Bond::assignFlowToBondedPath(SharedPtr& flow, int64_t now, bool reass if (reassign) { bondedIdx = (flow->assignedPath + offset) % (_numBondedPaths); - } - else { + } else { bondedIdx = abs((int)((entropy + offset) % (_numBondedPaths))); } // debug("idx=%d, offset=%d, randomCap=%f, actualCap=%f", bondedIdx, offset, randomLinkCapacity, _paths[_realIdxMap[bondedIdx]].relativeLinkCapacity); @@ -623,8 +655,7 @@ bool Bond::assignFlowToBondedPath(SharedPtr& flow, int64_t now, bool reass flow->assignPath(_realIdxMap[bondedIdx], now); ++(_paths[_realIdxMap[bondedIdx]].assignedFlowCount); // debug(" ABLE to find optimal link %f idx %d", _paths[_realIdxMap[bondedIdx]].relativeQuality, bondedIdx); - } - else { + } else { // We were (unable) to find a path that didn't violate at least one quality requirement, will choose next best option flow->assignPath(_realIdxMap[nextBestQualIdx], now); ++(_paths[_realIdxMap[nextBestQualIdx]].assignedFlowCount); @@ -684,13 +715,11 @@ void Bond::forgetFlowsWhenNecessary(uint64_t age, bool oldest, int64_t now) debug("forget flow %04x (age %" PRId64 ") (%u / %zu)", it->first, it->second->age(now), _paths[it->second->assignedPath].assignedFlowCount, (_flows.size() - 1)); _paths[it->second->assignedPath].assignedFlowCount--; it = _flows.erase(it); - } - else { + } else { ++it; } } - } - else if (oldest) { // Remove single oldest by natural expiration + } else if (oldest) { // Remove single oldest by natural expiration uint64_t maxAge = 0; while (it != _flows.end()) { if (it->second->age(now) > maxAge) { @@ -737,8 +766,7 @@ void Bond::processIncomingPathNegotiationRequest(uint64_t now, SharedPtr& if (_peer->_id.address().toInt() > RR->node->identity().address().toInt()) { debug("agree with peer to use alternate link %s/%s\n", link->ifname().c_str(), pathStr); _negotiatedPathIdx = pathIdx; - } - else { + } else { debug("ignore petition from peer to use alternate link %s/%s\n", link->ifname().c_str(), pathStr); } } @@ -809,6 +837,7 @@ void Bond::sendPATH_NEGOTIATION_REQUEST(void* tPtr, int pathIdx) Packet outp(_peer->_id.address(), RR->identity.address(), Packet::VERB_PATH_NEGOTIATION_REQUEST); outp.append(_localUtility); if (_paths[pathIdx].p->address()) { + Metrics::pkt_path_negotiation_request_out++; outp.armor(_peer->key(), false, _peer->aesKeysIfSupported()); RR->node->putPacket(tPtr, _paths[pathIdx].p->localSocket(), _paths[pathIdx].p->address(), outp.data(), outp.size()); _overheadBytes += outp.size(); @@ -852,10 +881,10 @@ void Bond::sendQOS_MEASUREMENT(void* tPtr, int pathIdx, int64_t localSocket, con if (atAddress) { outp.armor(_peer->key(), false, _peer->aesKeysIfSupported()); RR->node->putPacket(tPtr, localSocket, atAddress, outp.data(), outp.size()); - } - else { + } else { RR->sw->send(tPtr, outp, false); } + Metrics::pkt_qos_out++; _paths[pathIdx].packetsReceivedSinceLastQoS = 0; _paths[pathIdx].lastQoSMeasurement = now; _overheadBytes += outp.size(); @@ -892,6 +921,7 @@ void Bond::processBackgroundBondTasks(void* tPtr, int64_t now) RR->node->putPacket(tPtr, _paths[i].p->localSocket(), _paths[i].p->address(), outp.data(), outp.size()); _paths[i].p->_lastOut = now; _overheadBytes += outp.size(); + Metrics::pkt_echo_out++; // debug("tx: verb 0x%-2x of len %4d via %s (ECHO)", Packet::VERB_ECHO, outp.size(), pathToStr(_paths[i].p).c_str()); } } @@ -985,7 +1015,7 @@ void Bond::curateBond(int64_t now, bool rebuildBond) // Whether we've waited long enough since the link last came online bool satisfiedUpDelay = (now - _paths[i].lastAliveToggle) >= _upDelay; // How long since the last QoS was received (Must be less than ZT_PEER_PATH_EXPIRATION since the remote peer's _qosSendInterval isn't known) - bool acceptableQoSAge = _paths[i].lastQoSReceived == 0 || ((now - _paths[i].lastQoSReceived) < ZT_PEER_EXPIRED_PATH_TRIAL_PERIOD); + bool acceptableQoSAge = (_paths[i].lastQoSReceived == 0 && inTrial) || ((now - _paths[i].lastQoSReceived) < ZT_PEER_EXPIRED_PATH_TRIAL_PERIOD); currEligibility = _paths[i].allowed() && ((acceptableAge && satisfiedUpDelay && acceptableQoSAge) || inTrial); if (currEligibility) { @@ -1077,7 +1107,7 @@ void Bond::curateBond(int64_t now, bool rebuildBond) // Bond a spare link if required (no viable primary links left) if (! foundUsablePrimaryPath) { - debug("no usable primary links remain, will attempt to use spare if available"); + // debug("no usable primary links remain, will attempt to use spare if available"); for (int j = 0; j < it->second.size(); j++) { int idx = it->second.at(j); if (! _paths[idx].p || ! _paths[idx].eligible || ! _paths[idx].allowed() || ! _paths[idx].isSpare()) { @@ -1192,8 +1222,7 @@ void Bond::estimatePathQuality(int64_t now) if ((now - it->second) >= qosRecordTimeout) { it = _paths[i].qosStatsOut.erase(it); ++numDroppedQosOutRecords; - } - else { + } else { ++it; } } @@ -1221,8 +1250,7 @@ void Bond::estimatePathQuality(int64_t now) if ((now - it->second) >= qosRecordTimeout) { it = _paths[i].qosStatsIn.erase(it); ++numDroppedQosInRecords; - } - else { + } else { ++it; } } @@ -1253,7 +1281,8 @@ void Bond::estimatePathQuality(int64_t now) if (link) { int linkSpeed = link->capacity(); _paths[i].p->_givenLinkSpeed = linkSpeed; - _paths[i].p->_mtu = link->mtu(); + _paths[i].p->_mtu = link->mtu() ? link->mtu() : _paths[i].p->_mtu; + _paths[i].p->_assignedFlowCount = _paths[i].assignedFlowCount; maxObservedLinkCap = linkSpeed > maxObservedLinkCap ? linkSpeed : maxObservedLinkCap; } } @@ -1341,8 +1370,7 @@ void Bond::estimatePathQuality(int64_t now) shouldAvoid = true; } _paths[i].shouldAvoid = shouldAvoid; - } - else { + } else { if (! shouldAvoid) { log("no longer avoiding link %s", pathToStr(_paths[i].p).c_str()); _paths[i].shouldAvoid = false; @@ -1454,8 +1482,7 @@ void Bond::processActiveBackupTasks(void* tPtr, int64_t now) _lastBondStatusLog = now; if (_abPathIdx == ZT_MAX_PEER_NETWORK_PATHS) { log("no active link"); - } - else if (_paths[_abPathIdx].p) { + } else if (_paths[_abPathIdx].p) { log("active link is %s, failover queue size is %zu", pathToStr(_paths[_abPathIdx].p).c_str(), _abFailoverQueue.size()); } if (_abFailoverQueue.empty()) { @@ -1563,8 +1590,7 @@ void Bond::processActiveBackupTasks(void* tPtr, int64_t now) log("link %s is ineligible, removing from failover queue (%zu links remain in queue)", pathToStr(_paths[_abPathIdx].p).c_str(), _abFailoverQueue.size()); } continue; - } - else { + } else { ++it; } } @@ -1713,8 +1739,7 @@ void Bond::processActiveBackupTasks(void* tPtr, int64_t now) if (! _abFailoverQueue.empty()) { dequeueNextActiveBackupPath(now); log("active link switched to %s", pathToStr(_paths[_abPathIdx].p).c_str()); - } - else { + } else { log("failover queue is empty, no links to choose from"); } } @@ -1760,8 +1785,7 @@ void Bond::processActiveBackupTasks(void* tPtr, int64_t now) dequeueNextActiveBackupPath(now); _lastPathNegotiationCheck = now; log("switch negotiated link %s (select mode: optimize)", pathToStr(_paths[_abPathIdx].p).c_str()); - } - else { + } else { // Try to find a better path and automatically switch to it -- not too often, though. if ((now - _lastActiveBackupPathChange) > ZT_BOND_OPTIMIZE_INTERVAL) { if (! _abFailoverQueue.empty()) { diff --git a/node/Bond.hpp b/node/Bond.hpp index 389b970e9..c6347a8cb 100644 --- a/node/Bond.hpp +++ b/node/Bond.hpp @@ -456,6 +456,26 @@ class Bond { */ static SharedPtr getBondByPeerId(int64_t identity); + /** + * Set MTU for link by given interface name and IP address (across all bonds) + * + * @param mtu MTU to be used on this link + * @param ifStr interface name to match + * @param ipStr IP address to match + * @return Whether the MTU was set + */ + static bool setAllMtuByTuple(uint16_t mtu, const std::string& ifStr, const std::string& ipStr); + + /** + * Set MTU for link by given interface name and IP address + * + * @param mtu MTU to be used on this link + * @param ifStr interface name to match + * @param ipStr IP address to match + * @return Whether the MTU was set + */ + bool setMtuByTuple(uint16_t mtu, const std::string& ifStr, const std::string& ipStr); + /** * Add a new bond to the bond controller. * @@ -889,8 +909,7 @@ class Bond { _lastAckRateCheck = now; if (_ackCutoffCount > numToDrain) { _ackCutoffCount -= numToDrain; - } - else { + } else { _ackCutoffCount = 0; } return (_ackCutoffCount < ZT_ACK_CUTOFF_LIMIT); @@ -909,8 +928,7 @@ class Bond { uint64_t diff = now - _lastQoSRateCheck; if ((diff) <= (_qosSendInterval / ZT_MAX_PEER_NETWORK_PATHS)) { ++_qosCutoffCount; - } - else { + } else { _qosCutoffCount = 0; } _lastQoSRateCheck = now; @@ -930,8 +948,7 @@ class Bond { int diff = now - _lastPathNegotiationReceived; if ((diff) <= (ZT_PATH_NEGOTIATION_CUTOFF_TIME / ZT_MAX_PEER_NETWORK_PATHS)) { ++_pathNegotiationCutoffCount; - } - else { + } else { _pathNegotiationCutoffCount = 0; } _lastPathNegotiationReceived = now; @@ -1228,20 +1245,17 @@ class Bond { unsigned int suggestedRefractoryPeriod = refractoryPeriod ? punishment + (refractoryPeriod * 2) : punishment; refractoryPeriod = std::min(suggestedRefractoryPeriod, (unsigned int)ZT_BOND_MAX_REFRACTORY_PERIOD); lastRefractoryUpdate = 0; - } - else { + } else { uint32_t drainRefractory = 0; if (lastRefractoryUpdate) { drainRefractory = (now - lastRefractoryUpdate); - } - else { + } else { drainRefractory = (now - lastAliveToggle); } lastRefractoryUpdate = now; if (refractoryPeriod > drainRefractory) { refractoryPeriod -= drainRefractory; - } - else { + } else { refractoryPeriod = 0; lastRefractoryUpdate = 0; } diff --git a/node/Buffer.hpp b/node/Buffer.hpp index a8ca82ed8..7211f1879 100644 --- a/node/Buffer.hpp +++ b/node/Buffer.hpp @@ -81,8 +81,9 @@ public: Buffer(unsigned int l) { - if (l > C) + if (l > C) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } _l = l; } @@ -100,8 +101,9 @@ public: template inline Buffer &operator=(const Buffer &b) { - if (unlikely(b._l > C)) + if (unlikely(b._l > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } if (C2 == C) { memcpy(this,&b,sizeof(Buffer)); } else { @@ -112,23 +114,26 @@ public: inline void copyFrom(const void *b,unsigned int l) { - if (unlikely(l > C)) + if (unlikely(l > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } memcpy(_b,b,l); _l = l; } unsigned char operator[](const unsigned int i) const { - if (unlikely(i >= _l)) + if (unlikely(i >= _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } return (unsigned char)_b[i]; } unsigned char &operator[](const unsigned int i) { - if (unlikely(i >= _l)) + if (unlikely(i >= _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } return ((unsigned char *)_b)[i]; } @@ -147,14 +152,16 @@ public: */ unsigned char *field(unsigned int i,unsigned int l) { - if (unlikely((i + l) > _l)) + if (unlikely((i + l) > _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } return (unsigned char *)(_b + i); } const unsigned char *field(unsigned int i,unsigned int l) const { - if (unlikely((i + l) > _l)) + if (unlikely((i + l) > _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } return (const unsigned char *)(_b + i); } @@ -168,12 +175,14 @@ public: template inline void setAt(unsigned int i,const T v) { - if (unlikely((i + sizeof(T)) > _l)) + if (unlikely((i + sizeof(T)) > _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } #ifdef ZT_NO_TYPE_PUNNING uint8_t *p = reinterpret_cast(_b + i); - for(unsigned int x=1;x<=sizeof(T);++x) + for(unsigned int x=1;x<=sizeof(T);++x) { *(p++) = (uint8_t)(v >> (8 * (sizeof(T) - x))); + } #else T *const ZT_VAR_MAY_ALIAS p = reinterpret_cast(_b + i); *p = Utils::hton(v); @@ -190,8 +199,9 @@ public: template inline T at(unsigned int i) const { - if (unlikely((i + sizeof(T)) > _l)) + if (unlikely((i + sizeof(T)) > _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } #ifdef ZT_NO_TYPE_PUNNING T v = 0; const uint8_t *p = reinterpret_cast(_b + i); @@ -216,12 +226,14 @@ public: template inline void append(const T v) { - if (unlikely((_l + sizeof(T)) > C)) + if (unlikely((_l + sizeof(T)) > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } #ifdef ZT_NO_TYPE_PUNNING uint8_t *p = reinterpret_cast(_b + _l); - for(unsigned int x=1;x<=sizeof(T);++x) + for(unsigned int x=1;x<=sizeof(T);++x) { *(p++) = (uint8_t)(v >> (8 * (sizeof(T) - x))); + } #else T *const ZT_VAR_MAY_ALIAS p = reinterpret_cast(_b + _l); *p = Utils::hton(v); @@ -238,10 +250,12 @@ public: */ inline void append(unsigned char c,unsigned int n) { - if (unlikely((_l + n) > C)) + if (unlikely((_l + n) > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; - for(unsigned int i=0;i C)) + if (unlikely((_l + n) > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } Utils::getSecureRandom(_b + _l,n); _l += n; } @@ -266,8 +281,9 @@ public: */ inline void append(const void *b,unsigned int l) { - if (unlikely((_l + l) > C)) + if (unlikely((_l + l) > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } memcpy(_b + _l,b,l); _l += l; } @@ -281,10 +297,12 @@ public: inline void appendCString(const char *s) { for(;;) { - if (unlikely(_l >= C)) + if (unlikely(_l >= C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; - if (!(_b[_l++] = *(s++))) + } + if (!(_b[_l++] = *(s++))) { break; + } } } @@ -313,8 +331,9 @@ public: */ inline char *appendField(unsigned int l) { - if (unlikely((_l + l) > C)) + if (unlikely((_l + l) > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } char *r = _b + _l; _l += l; return r; @@ -330,8 +349,9 @@ public: */ inline void addSize(unsigned int i) { - if (unlikely((i + _l) > C)) + if (unlikely((i + _l) > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } _l += i; } @@ -345,8 +365,9 @@ public: */ inline void setSize(const unsigned int i) { - if (unlikely(i > C)) + if (unlikely(i > C)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } _l = i; } @@ -358,10 +379,12 @@ public: */ inline void behead(const unsigned int at) { - if (!at) + if (!at) { return; - if (unlikely(at > _l)) + } + if (unlikely(at > _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } ::memmove(_b,_b + at,_l -= at); } @@ -375,8 +398,9 @@ public: inline void erase(const unsigned int at,const unsigned int length) { const unsigned int endr = at + length; - if (unlikely(endr > _l)) + if (unlikely(endr > _l)) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } ::memmove(_b + at,_b + endr,_l - endr); _l -= length; } diff --git a/node/C25519.cpp b/node/C25519.cpp index aec34835e..f425540d8 100644 --- a/node/C25519.cpp +++ b/node/C25519.cpp @@ -731,7 +731,9 @@ static void crypto_scalarmult(u8 *mypublic, const u8 *secret, const u8 *basepoin uint8_t e[32]; int i; - for (i = 0; i < 32; ++i) e[i] = secret[i]; + for (i = 0; i < 32; ++i) { + e[i] = secret[i]; + } e[0] &= 248; e[31] &= 127; e[31] |= 64; @@ -837,14 +839,12 @@ static inline void reduce_add_sub(fe25519 *r) crypto_uint32 t; int i,rep; - for(rep=0;rep<4;rep++) - { + for(rep=0;rep<4;rep++) { t = r->v[31] >> 7; r->v[31] &= 127; t = times19(t); r->v[0] += t; - for(i=0;i<31;i++) - { + for(i=0;i<31;i++) { t = r->v[i] >> 8; r->v[i+1] += t; r->v[i] &= 255; @@ -857,14 +857,12 @@ static inline void reduce_mul(fe25519 *r) crypto_uint32 t; int i,rep; - for(rep=0;rep<2;rep++) - { + for(rep=0;rep<2;rep++) { t = r->v[31] >> 7; r->v[31] &= 127; t = times19(t); r->v[0] += t; - for(i=0;i<31;i++) - { + for(i=0;i<31;i++) { t = r->v[i] >> 8; r->v[i+1] += t; r->v[i] &= 255; @@ -877,22 +875,26 @@ static inline void fe25519_freeze(fe25519 *r) { int i; crypto_uint32 m = equal(r->v[31],127); - for(i=30;i>0;i--) + for(i=30;i>0;i--) { m &= equal(r->v[i],255); + } m &= ge(r->v[0],237); m = -m; r->v[31] -= m&127; - for(i=30;i>0;i--) + for(i=30;i>0;i--) { r->v[i] -= m&255; + } r->v[0] -= m&237; } static inline void fe25519_unpack(fe25519 *r, const unsigned char x[32]) { int i; - for(i=0;i<32;i++) r->v[i] = x[i]; + for(i=0;i<32;i++) { + r->v[i] = x[i]; + } r->v[31] &= 127; } @@ -902,8 +904,9 @@ static inline void fe25519_pack(unsigned char r[32], const fe25519 *x) int i; fe25519 y = *x; fe25519_freeze(&y); - for(i=0;i<32;i++) + for(i=0;i<32;i++) { r[i] = y.v[i]; + } } static inline int fe25519_iseq_vartime(const fe25519 *x, const fe25519 *y) @@ -913,8 +916,11 @@ static inline int fe25519_iseq_vartime(const fe25519 *x, const fe25519 *y) fe25519 t2 = *y; fe25519_freeze(&t1); fe25519_freeze(&t2); - for(i=0;i<32;i++) - if(t1.v[i] != t2.v[i]) return 0; + for(i=0;i<32;i++) { + if (t1.v[i] != t2.v[i]) { + return 0; + } + } return 1; } @@ -923,7 +929,9 @@ static inline void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b) int i; crypto_uint32 mask = b; mask = -mask; - for(i=0;i<32;i++) r->v[i] ^= mask & (x->v[i] ^ r->v[i]); + for(i=0;i<32;i++) { + r->v[i] ^= mask & (x->v[i] ^ r->v[i]); + } } static inline unsigned char fe25519_getparity(const fe25519 *x) @@ -937,20 +945,26 @@ static inline void fe25519_setone(fe25519 *r) { int i; r->v[0] = 1; - for(i=1;i<32;i++) r->v[i]=0; + for(i=1;i<32;i++) { + r->v[i]=0; + } } static inline void fe25519_setzero(fe25519 *r) { int i; - for(i=0;i<32;i++) r->v[i]=0; + for(i=0;i<32;i++) { + r->v[i]=0; + } } static inline void fe25519_neg(fe25519 *r, const fe25519 *x) { fe25519 t; int i; - for(i=0;i<32;i++) t.v[i]=x->v[i]; + for(i=0;i<32;i++) { + t.v[i]=x->v[i]; + } fe25519_setzero(r); fe25519_sub(r, r, &t); } @@ -958,7 +972,9 @@ static inline void fe25519_neg(fe25519 *r, const fe25519 *x) static inline void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y) { int i; - for(i=0;i<32;i++) r->v[i] = x->v[i] + y->v[i]; + for(i=0;i<32;i++) { + r->v[i] = x->v[i] + y->v[i]; + } reduce_add_sub(r); } @@ -968,8 +984,12 @@ static inline void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y) crypto_uint32 t[32]; t[0] = x->v[0] + 0x1da; t[31] = x->v[31] + 0xfe; - for(i=1;i<31;i++) t[i] = x->v[i] + 0x1fe; - for(i=0;i<32;i++) r->v[i] = t[i] - y->v[i]; + for(i=1;i<31;i++) { + t[i] = x->v[i] + 0x1fe; + } + for(i=0;i<32;i++) { + r->v[i] = t[i] - y->v[i]; + } reduce_add_sub(r); } @@ -977,14 +997,19 @@ static inline void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y) { int i,j; crypto_uint32 t[63]; - for(i=0;i<63;i++)t[i] = 0; + for(i=0;i<63;i++) { + t[i] = 0; + } - for(i=0;i<32;i++) - for(j=0;j<32;j++) + for(i=0;i<32;i++) { + for(j=0;j<32;j++) { t[i+j] += x->v[i] * y->v[j]; + } + } - for(i=32;i<63;i++) + for(i=32;i<63;i++) { r->v[i-32] = t[i-32] + times38(t[i]); + } r->v[31] = t[31]; /* result now in r[0]...r[31] */ reduce_mul(r); @@ -1136,16 +1161,16 @@ static inline void reduce_add_sub(sc25519 *r) int i; unsigned char t[32]; - for(i=0;i<32;i++) - { + for(i=0;i<32;i++) { pb += m[i]; b = lt(r->v[i],pb); t[i] = r->v[i]-pb+(b<<8); pb = b; } mask = b - 1; - for(i=0;i<32;i++) + for(i=0;i<32;i++) { r->v[i] ^= mask & (r->v[i] ^ t[i]); + } } /* Reduce coefficients of x before calling barrett_reduce */ @@ -1161,31 +1186,43 @@ static inline void barrett_reduce(sc25519 *r, const crypto_uint32 x[64]) crypto_uint32 pb = 0; crypto_uint32 b; - for (i = 0;i < 66;++i) q2[i] = 0; - for (i = 0;i < 33;++i) r2[i] = 0; + for (i = 0;i < 66;++i) { + q2[i] = 0; + } + for (i = 0;i < 33;++i) { + r2[i] = 0; + } - for(i=0;i<33;i++) - for(j=0;j<33;j++) - if(i+j >= 31) q2[i+j] += mu[i]*x[j+31]; + for(i=0;i<33;i++) { + for(j=0;j<33;j++) { + if(i+j >= 31) { + q2[i+j] += mu[i]*x[j+31]; + } + } + } carry = q2[31] >> 8; q2[32] += carry; carry = q2[32] >> 8; q2[33] += carry; - for(i=0;i<33;i++)r1[i] = x[i]; - for(i=0;i<32;i++) - for(j=0;j<33;j++) - if(i+j < 33) r2[i+j] += m[i]*q3[j]; + for(i=0;i<33;i++) { + r1[i] = x[i]; + } + for(i=0;i<32;i++) { + for(j=0;j<33;j++) { + if(i+j < 33) { + r2[i+j] += m[i]*q3[j]; + } + } + } - for(i=0;i<32;i++) - { + for(i=0;i<32;i++) { carry = r2[i] >> 8; r2[i+1] += carry; r2[i] &= 0xff; } - for(i=0;i<32;i++) - { + for(i=0;i<32;i++) { pb += r2[i]; b = lt(r1[i],pb); r->v[i] = r1[i]-pb+(b<<8); @@ -1204,8 +1241,12 @@ static inline void sc25519_from32bytes(sc25519 *r, const unsigned char x[32]) { int i; crypto_uint32 t[64]; - for(i=0;i<32;i++) t[i] = x[i]; - for(i=32;i<64;++i) t[i] = 0; + for(i=0;i<32;i++) { + t[i] = x[i]; + } + for(i=32;i<64;++i) { + t[i] = 0; + } barrett_reduce(r, t); } @@ -1213,22 +1254,27 @@ static inline void sc25519_from64bytes(sc25519 *r, const unsigned char x[64]) { int i; crypto_uint32 t[64]; - for(i=0;i<64;i++) t[i] = x[i]; + for(i=0;i<64;i++) { + t[i] = x[i]; + } barrett_reduce(r, t); } static inline void sc25519_to32bytes(unsigned char r[32], const sc25519 *x) { int i; - for(i=0;i<32;i++) r[i] = x->v[i]; + for(i=0;i<32;i++) { + r[i] = x->v[i]; + } } static inline void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y) { int i, carry; - for(i=0;i<32;i++) r->v[i] = x->v[i] + y->v[i]; - for(i=0;i<31;i++) - { + for(i=0;i<32;i++) { + r->v[i] = x->v[i] + y->v[i]; + } + for(i=0;i<31;i++) { carry = r->v[i] >> 8; r->v[i+1] += carry; r->v[i] &= 0xff; @@ -1240,14 +1286,17 @@ static inline void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y) { int i,j,carry; crypto_uint32 t[64]; - for(i=0;i<64;i++)t[i] = 0; + for(i=0;i<64;i++) { + t[i] = 0; + } - for(i=0;i<32;i++) - for(j=0;j<32;j++) + for(i=0;i<32;i++) { + for(j=0;j<32;j++) { t[i+j] += x->v[i] * y->v[j]; + } + } - for(i=0;i<63;i++) - { + for(i=0;i<63;i++) { carry = t[i] >> 8; t[i+1] += carry; t[i] &= 0xff; @@ -1260,8 +1309,7 @@ static inline void sc25519_window3(signed char r[85], const sc25519 *s) { char carry; int i; - for(i=0;i<10;i++) - { + for(i=0;i<10;i++) { r[8*i+0] = s->v[3*i+0] & 7; r[8*i+1] = (s->v[3*i+0] >> 3) & 7; r[8*i+2] = (s->v[3*i+0] >> 6) & 7; @@ -1282,8 +1330,7 @@ static inline void sc25519_window3(signed char r[85], const sc25519 *s) /* Making it signed */ carry = 0; - for(i=0;i<84;i++) - { + for(i=0;i<84;i++) { r[i] += carry; r[i+1] += r[i] >> 3; r[i] &= 7; @@ -1296,8 +1343,7 @@ static inline void sc25519_window3(signed char r[85], const sc25519 *s) static inline void sc25519_2interleave2(unsigned char r[127], const sc25519 *s1, const sc25519 *s2) { int i; - for(i=0;i<31;i++) - { + for(i=0;i<31;i++) { r[4*i] = ( s1->v[i] & 3) ^ (( s2->v[i] & 3) << 2); r[4*i+1] = ((s1->v[i] >> 2) & 3) ^ (((s2->v[i] >> 2) & 3) << 2); r[4*i+2] = ((s1->v[i] >> 4) & 3) ^ (((s2->v[i] >> 4) & 3) << 2); @@ -2341,18 +2387,21 @@ static inline int ge25519_unpackneg_vartime(ge25519_p3 *r, const unsigned char p /* 3. Check whether sqrt computation gave correct result, multiply by sqrt(-1) if not: */ fe25519_square(&chk, &r->x); fe25519_mul(&chk, &chk, &den); - if (!fe25519_iseq_vartime(&chk, &num)) + if (!fe25519_iseq_vartime(&chk, &num)) { fe25519_mul(&r->x, &r->x, &ge25519_sqrtm1); + } /* 4. Now we have one of the two square roots, except if input was not a square */ fe25519_square(&chk, &r->x); fe25519_mul(&chk, &chk, &den); - if (!fe25519_iseq_vartime(&chk, &num)) + if (!fe25519_iseq_vartime(&chk, &num)) { return -1; + } /* 5. Choose the desired square root according to parity: */ - if(fe25519_getparity(&r->x) != (1-par)) + if(fe25519_getparity(&r->x) != (1-par)) { fe25519_neg(&r->x, &r->x); + } fe25519_mul(&r->t, &r->x, &r->y); return 0; @@ -2399,18 +2448,19 @@ static inline void ge25519_double_scalarmult_vartime(ge25519_p3 *r, const ge2551 /* scalar multiplication */ *r = pre[b[126]]; - for(i=125;i>=0;i--) - { + for(i=125;i>=0;i--) { dbl_p1p1(&tp1p1, (ge25519_p2 *)r); p1p1_to_p2((ge25519_p2 *) r, &tp1p1); dbl_p1p1(&tp1p1, (ge25519_p2 *)r); - if(b[i]!=0) - { + if(b[i]!=0) { p1p1_to_p3(r, &tp1p1); add_p1p1(&tp1p1, r, &pre[b[i]]); } - if(i != 0) p1p1_to_p2((ge25519_p2 *)r, &tp1p1); - else p1p1_to_p3(r, &tp1p1); + if (i != 0) { + p1p1_to_p2((ge25519_p2 *)r, &tp1p1); + } else { + p1p1_to_p3(r, &tp1p1); + } } } @@ -2424,8 +2474,7 @@ static inline void ge25519_scalarmult_base(ge25519_p3 *r, const sc25519 *s) choose_t((ge25519_aff *)r, 0, b[0]); fe25519_setone(&r->z); fe25519_mul(&r->t, &r->x, &r->y); - for(i=1;i<85;i++) - { + for(i=1;i<85;i++) { choose_t(&t, (unsigned long long) i, b[i]); ge25519_mixadd2(r, &t); } @@ -2435,9 +2484,15 @@ static inline void get_hram(unsigned char *hram, const unsigned char *sm, const { unsigned long long i; - for (i = 0;i < 32;++i) playground[i] = sm[i]; - for (i = 32;i < 64;++i) playground[i] = pk[i-32]; - for (i = 64;i < smlen;++i) playground[i] = sm[i]; + for (i = 0;i < 32;++i) { + playground[i] = sm[i]; + } + for (i = 32;i < 64;++i) { + playground[i] = pk[i-32]; + } + for (i = 64;i < smlen;++i) { + playground[i] = sm[i]; + } ZeroTier::SHA512(hram,playground,(unsigned int)smlen); } @@ -2491,10 +2546,12 @@ void C25519::sign(const C25519::Private &myPrivate,const C25519::Public &myPubli extsk[31] &= 127; extsk[31] |= 64; - for(unsigned int i=0;i<32;i++) + for(unsigned int i=0;i<32;i++) { sig[32 + i] = extsk[32 + i]; - for(unsigned int i=0;i<32;i++) + } + for(unsigned int i=0;i<32;i++) { sig[64 + i] = digest[i]; + } SHA512(hmg,sig + 32,64); @@ -2504,8 +2561,9 @@ void C25519::sign(const C25519::Private &myPrivate,const C25519::Public &myPubli ge25519_pack(r, &ger); /* Computation of s */ - for(unsigned int i=0;i<32;i++) + for(unsigned int i=0;i<32;i++) { sig[i] = r[i]; + } get_hram(hram,sig,myPublic.data + 32,sig,96); @@ -2516,8 +2574,9 @@ void C25519::sign(const C25519::Private &myPrivate,const C25519::Public &myPubli sc25519_add(&scs, &scs, &sck); sc25519_to32bytes(s,&scs); /* cat s */ - for(unsigned int i=0;i<32;i++) + for(unsigned int i=0;i<32;i++) { sig[32 + i] = s[i]; + } #endif } @@ -2526,8 +2585,9 @@ bool C25519::verify(const C25519::Public &their,const void *msg,unsigned int len const unsigned char *const sig = (const unsigned char *)signature; unsigned char digest[64]; // we sign the first 32 bytes of SHA-512(msg) SHA512(digest,msg,len); - if (!Utils::secureEq(sig + 64,digest,32)) + if (!Utils::secureEq(sig + 64,digest,32)) { return false; + } unsigned char t2[32]; ge25519 get1, get2; @@ -2535,8 +2595,9 @@ bool C25519::verify(const C25519::Public &their,const void *msg,unsigned int len unsigned char hram[crypto_hash_sha512_BYTES]; unsigned char m[96]; - if (ge25519_unpackneg_vartime(&get1,their.data + 32)) + if (ge25519_unpackneg_vartime(&get1,their.data + 32)) { return false; + } get_hram(hram,sig,their.data + 32,m,96); diff --git a/node/Capability.cpp b/node/Capability.cpp index 21e7144f8..d4350ebf7 100644 --- a/node/Capability.cpp +++ b/node/Capability.cpp @@ -25,27 +25,31 @@ int Capability::verify(const RuntimeEnvironment *RR,void *tPtr) const { try { // There must be at least one entry, and sanity check for bad chain max length - if ((_maxCustodyChainLength < 1)||(_maxCustodyChainLength > ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH)) + if ((_maxCustodyChainLength < 1)||(_maxCustodyChainLength > ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH)) { return -1; + } // Validate all entries in chain of custody Buffer<(sizeof(Capability) * 2)> tmp; this->serialize(tmp,true); for(unsigned int c=0;c<_maxCustodyChainLength;++c) { if (c == 0) { - if ((!_custody[c].to)||(!_custody[c].from)||(_custody[c].from != Network::controllerFor(_nwid))) + if ((!_custody[c].to)||(!_custody[c].from)||(_custody[c].from != Network::controllerFor(_nwid))) { return -1; // the first entry must be present and from the network's controller + } } else { - if (!_custody[c].to) + if (!_custody[c].to) { return 0; // all previous entries were valid, so we are valid - else if ((!_custody[c].from)||(_custody[c].from != _custody[c-1].to)) + } else if ((!_custody[c].from)||(_custody[c].from != _custody[c-1].to)) { return -1; // otherwise if we have another entry it must be from the previous holder in the chain + } } const Identity id(RR->topology->getIdentity(tPtr,_custody[c].from)); if (id) { - if (!id.verify(tmp.data(),tmp.size(),_custody[c].signature)) + if (!id.verify(tmp.data(),tmp.size(),_custody[c].signature)) { return -1; + } } else { RR->sw->requestWhois(tPtr,RR->node->now(),_custody[c].from); return 1; diff --git a/node/Capability.hpp b/node/Capability.hpp index 115973d50..9e2409b93 100644 --- a/node/Capability.hpp +++ b/node/Capability.hpp @@ -85,8 +85,9 @@ public: _maxCustodyChainLength((mccl > 0) ? ((mccl < ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH) ? mccl : (unsigned int)ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH) : 1), _ruleCount((ruleCount < ZT_MAX_CAPABILITY_RULES) ? ruleCount : ZT_MAX_CAPABILITY_RULES) { - if (_ruleCount > 0) + if (_ruleCount > 0) { memcpy(_rules,rules,sizeof(ZT_VirtualNetworkRule) * _ruleCount); + } } /** @@ -121,9 +122,11 @@ public: { Address i2; for(unsigned int i=0;i inline void serialize(Buffer &b,const bool forSign = false) const { - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } // These are the same between Tag and Capability b.append(_nwid); @@ -409,7 +414,9 @@ public: // This is the size of any additional fields, currently 0. b.append((uint16_t)0); - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } } template @@ -419,40 +426,53 @@ public: unsigned int p = startAt; - _nwid = b.template at(p); p += 8; - _ts = b.template at(p); p += 8; - _id = b.template at(p); p += 4; + _nwid = b.template at(p); + p += 8; + _ts = b.template at(p); + p += 8; + _id = b.template at(p); + p += 4; - const unsigned int rc = b.template at(p); p += 2; - if (rc > ZT_MAX_CAPABILITY_RULES) + const unsigned int rc = b.template at(p); + p += 2; + if (rc > ZT_MAX_CAPABILITY_RULES) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } deserializeRules(b,p,_rules,_ruleCount,rc); _maxCustodyChainLength = (unsigned int)b[p++]; - if ((_maxCustodyChainLength < 1)||(_maxCustodyChainLength > ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH)) + if ((_maxCustodyChainLength < 1)||(_maxCustodyChainLength > ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH)) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } for(unsigned int i=0;;++i) { - const Address to(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; - if (!to) + const Address to(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); + p += ZT_ADDRESS_LENGTH; + if (!to) { break; - if ((i >= _maxCustodyChainLength)||(i >= ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH)) + } + if ((i >= _maxCustodyChainLength)||(i >= ZT_MAX_CAPABILITY_CUSTODY_CHAIN_LENGTH)) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } _custody[i].to = to; - _custody[i].from.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; + _custody[i].from.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); + p += ZT_ADDRESS_LENGTH; if (b[p++] == 1) { - if (b.template at(p) != ZT_C25519_SIGNATURE_LEN) + if (b.template at(p) != ZT_C25519_SIGNATURE_LEN) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN; + } p += 2; - memcpy(_custody[i].signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); p += ZT_C25519_SIGNATURE_LEN; + memcpy(_custody[i].signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); + p += ZT_C25519_SIGNATURE_LEN; } else { p += 2 + b.template at(p); } } p += 2 + b.template at(p); - if (p > b.size()) + if (p > b.size()) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } return (p - startAt); } diff --git a/node/CertificateOfMembership.cpp b/node/CertificateOfMembership.cpp index dbda9939f..94effd028 100644 --- a/node/CertificateOfMembership.cpp +++ b/node/CertificateOfMembership.cpp @@ -48,25 +48,30 @@ CertificateOfMembership::CertificateOfMembership(uint64_t timestamp,uint64_t tim bool CertificateOfMembership::agreesWith(const CertificateOfMembership &other, const Identity &otherIdentity) const { - if ((_qualifierCount == 0)||(other._qualifierCount == 0)) + if ((_qualifierCount == 0)||(other._qualifierCount == 0)) { return false; + } std::map< uint64_t, uint64_t > otherFields; - for(unsigned int i=0;i= 3)&&(qid <= 6)) + if ((qid >= 3)&&(qid <= 6)) { fullIdentityVerification = true; + } std::map< uint64_t, uint64_t >::iterator otherQ(otherFields.find(qid)); - if (otherQ == otherFields.end()) + if (otherQ == otherFields.end()) { return false; + } const uint64_t a = _qualifiers[i].value; const uint64_t b = otherQ->second; - if (((a >= b) ? (a - b) : (b - a)) > _qualifiers[i].maxDelta) + if (((a >= b) ? (a - b) : (b - a)) > _qualifiers[i].maxDelta) { return false; + } } // If this COM has a full hash of its identity, assume the other must have this as well. @@ -76,10 +81,12 @@ bool CertificateOfMembership::agreesWith(const CertificateOfMembership &other, c otherIdentity.publicKeyHash(idHash); for(unsigned long i=0;i<4;++i) { std::map< uint64_t, uint64_t >::iterator otherQ(otherFields.find((uint64_t)(i + 3))); - if (otherQ == otherFields.end()) + if (otherQ == otherFields.end()) { return false; - if (otherQ->second != Utils::ntoh(idHash[i])) + } + if (otherQ->second != Utils::ntoh(idHash[i])) { return false; + } } } @@ -108,8 +115,9 @@ bool CertificateOfMembership::sign(const Identity &with) int CertificateOfMembership::verify(const RuntimeEnvironment *RR,void *tPtr) const { - if ((!_signedBy)||(_signedBy != Network::controllerFor(networkId()))||(_qualifierCount > ZT_NETWORK_COM_MAX_QUALIFIERS)) + if ((!_signedBy)||(_signedBy != Network::controllerFor(networkId()))||(_qualifierCount > ZT_NETWORK_COM_MAX_QUALIFIERS)) { return -1; + } const Identity id(RR->topology->getIdentity(tPtr,_signedBy)); if (!id) { diff --git a/node/CertificateOfMembership.hpp b/node/CertificateOfMembership.hpp index 1948dd7b7..eadfbb090 100644 --- a/node/CertificateOfMembership.hpp +++ b/node/CertificateOfMembership.hpp @@ -142,8 +142,9 @@ public: inline int64_t timestamp() const { for(unsigned int i=0;i<_qualifierCount;++i) { - if (_qualifiers[i].id == COM_RESERVED_ID_TIMESTAMP) + if (_qualifiers[i].id == COM_RESERVED_ID_TIMESTAMP) { return _qualifiers[i].value; + } } return 0; } @@ -154,8 +155,9 @@ public: inline Address issuedTo() const { for(unsigned int i=0;i<_qualifierCount;++i) { - if (_qualifiers[i].id == COM_RESERVED_ID_ISSUED_TO) + if (_qualifiers[i].id == COM_RESERVED_ID_ISSUED_TO) { return Address(_qualifiers[i].value); + } } return Address(); } @@ -166,8 +168,9 @@ public: inline uint64_t networkId() const { for(unsigned int i=0;i<_qualifierCount;++i) { - if (_qualifiers[i].id == COM_RESERVED_ID_NETWORK_ID) + if (_qualifiers[i].id == COM_RESERVED_ID_NETWORK_ID) { return _qualifiers[i].value; + } } return 0ULL; } @@ -226,8 +229,9 @@ public: b.append(_qualifiers[i].maxDelta); } _signedBy.appendTo(b); - if (_signedBy) + if (_signedBy) { b.append(_signature.data,ZT_C25519_SIGNATURE_LEN); + } } template @@ -238,16 +242,20 @@ public: _qualifierCount = 0; _signedBy.zero(); - if (b[p++] != 1) + if (b[p++] != 1) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_TYPE; + } - unsigned int numq = b.template at(p); p += sizeof(uint16_t); + unsigned int numq = b.template at(p); + p += sizeof(uint16_t); uint64_t lastId = 0; for(unsigned int i=0;i(p); - if (qid < lastId) + if (qid < lastId) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_BAD_ENCODING; - else lastId = qid; + } else { + lastId = qid; + } if (_qualifierCount < ZT_NETWORK_COM_MAX_QUALIFIERS) { _qualifiers[_qualifierCount].id = qid; _qualifiers[_qualifierCount].value = b.template at(p + 8); @@ -272,15 +280,18 @@ public: inline bool operator==(const CertificateOfMembership &c) const { - if (_signedBy != c._signedBy) + if (_signedBy != c._signedBy) { return false; - if (_qualifierCount != c._qualifierCount) + } + if (_qualifierCount != c._qualifierCount) { return false; + } for(unsigned int i=0;i<_qualifierCount;++i) { const _Qualifier &a = _qualifiers[i]; const _Qualifier &b = c._qualifiers[i]; - if ((a.id != b.id)||(a.value != b.value)||(a.maxDelta != b.maxDelta)) + if ((a.id != b.id)||(a.value != b.value)||(a.maxDelta != b.maxDelta)) { return false; + } } return (memcmp(_signature.data,c._signature.data,ZT_C25519_SIGNATURE_LEN) == 0); } diff --git a/node/CertificateOfOwnership.cpp b/node/CertificateOfOwnership.cpp index 70be0a044..11be4fe91 100644 --- a/node/CertificateOfOwnership.cpp +++ b/node/CertificateOfOwnership.cpp @@ -23,8 +23,9 @@ namespace ZeroTier { int CertificateOfOwnership::verify(const RuntimeEnvironment *RR,void *tPtr) const { - if ((!_signedBy)||(_signedBy != Network::controllerFor(_networkId))) + if ((!_signedBy)||(_signedBy != Network::controllerFor(_networkId))) { return -1; + } const Identity id(RR->topology->getIdentity(tPtr,_signedBy)); if (!id) { RR->sw->requestWhois(tPtr,RR->node->now(),_signedBy); @@ -45,12 +46,14 @@ bool CertificateOfOwnership::_owns(const CertificateOfOwnership::Thing &t,const if (_thingTypes[i] == (uint8_t)t) { unsigned int k = 0; while (k < l) { - if (reinterpret_cast(v)[k] != _thingValues[i][k]) + if (reinterpret_cast(v)[k] != _thingValues[i][k]) { break; + } ++k; } - if (k == l) + if (k == l) { return true; + } } } return false; diff --git a/node/CertificateOfOwnership.hpp b/node/CertificateOfOwnership.hpp index abd62df1a..e7d549fdc 100644 --- a/node/CertificateOfOwnership.hpp +++ b/node/CertificateOfOwnership.hpp @@ -80,10 +80,12 @@ public: inline bool owns(const InetAddress &ip) const { - if (ip.ss_family == AF_INET) + if (ip.ss_family == AF_INET) { return this->_owns(THING_IPV4_ADDRESS,&(reinterpret_cast(&ip)->sin_addr.s_addr),4); - if (ip.ss_family == AF_INET6) + } + if (ip.ss_family == AF_INET6) { return this->_owns(THING_IPV6_ADDRESS,reinterpret_cast(&ip)->sin6_addr.s6_addr,16); + } return false; } @@ -96,7 +98,9 @@ public: inline void addThing(const InetAddress &ip) { - if (_thingCount >= ZT_CERTIFICATEOFOWNERSHIP_MAX_THINGS) return; + if (_thingCount >= ZT_CERTIFICATEOFOWNERSHIP_MAX_THINGS) { + return; + } if (ip.ss_family == AF_INET) { _thingTypes[_thingCount] = THING_IPV4_ADDRESS; memcpy(_thingValues[_thingCount],&(reinterpret_cast(&ip)->sin_addr.s_addr),4); @@ -110,7 +114,9 @@ public: inline void addThing(const MAC &mac) { - if (_thingCount >= ZT_CERTIFICATEOFOWNERSHIP_MAX_THINGS) return; + if (_thingCount >= ZT_CERTIFICATEOFOWNERSHIP_MAX_THINGS) { + return; + } _thingTypes[_thingCount] = THING_MAC_ADDRESS; mac.copyTo(_thingValues[_thingCount],6); ++_thingCount; @@ -142,7 +148,9 @@ public: template inline void serialize(Buffer &b,const bool forSign = false) const { - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } b.append(_networkId); b.append(_ts); @@ -164,7 +172,9 @@ public: b.append((uint16_t)0); // length of additional fields, currently 0 - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } } template @@ -174,11 +184,16 @@ public: *this = CertificateOfOwnership(); - _networkId = b.template at(p); p += 8; - _ts = b.template at(p); p += 8; - _flags = b.template at(p); p += 8; - _id = b.template at(p); p += 4; - _thingCount = b.template at(p); p += 2; + _networkId = b.template at(p); + p += 8; + _ts = b.template at(p); + p += 8; + _flags = b.template at(p); + p += 8; + _id = b.template at(p); + p += 4; + _thingCount = b.template at(p); + p += 2; for(unsigned int i=0,j=_thingCount;i(p) != ZT_C25519_SIGNATURE_LEN) + if (b.template at(p) != ZT_C25519_SIGNATURE_LEN) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN; + } p += 2; - memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); p += ZT_C25519_SIGNATURE_LEN; + memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); + p += ZT_C25519_SIGNATURE_LEN; } else { p += 2 + b.template at(p); } p += 2 + b.template at(p); - if (p > b.size()) + if (p > b.size()) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } return (p - startAt); } diff --git a/node/Constants.hpp b/node/Constants.hpp index ba3026751..54995c29a 100644 --- a/node/Constants.hpp +++ b/node/Constants.hpp @@ -299,7 +299,7 @@ /** * Delay between checks of peer pings, etc., and also related housekeeping tasks */ -#define ZT_PING_CHECK_INVERVAL 5000 +#define ZT_PING_CHECK_INTERVAL 5000 /** * How often the local.conf file is checked for changes (service, should be moved there) @@ -687,6 +687,7 @@ #define ZT_EXCEPTION_OUT_OF_MEMORY 101 #define ZT_EXCEPTION_PRIVATE_KEY_REQUIRED 102 #define ZT_EXCEPTION_INVALID_ARGUMENT 103 +#define ZT_EXCEPTION_INVALID_IDENTITY 104 #define ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_TYPE 200 #define ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW 201 #define ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN 202 diff --git a/node/Dictionary.hpp b/node/Dictionary.hpp index 7a4572427..c6a3c7bea 100644 --- a/node/Dictionary.hpp +++ b/node/Dictionary.hpp @@ -55,10 +55,14 @@ public: { for(unsigned int i=0;iget(key,tmp,sizeof(tmp)) >= 0) + if (this->get(key,tmp,sizeof(tmp)) >= 0) { return ((*tmp == '1')||(*tmp == 't')||(*tmp == 'T')); + } return dfl; } @@ -257,8 +280,9 @@ public: inline uint64_t getUI(const char *key,uint64_t dfl = 0) const { char tmp[128]; - if (this->get(key,tmp,sizeof(tmp)) >= 1) + if (this->get(key,tmp,sizeof(tmp)) >= 1) { return Utils::hexStrToU64(tmp); + } return dfl; } @@ -272,8 +296,9 @@ public: inline int64_t getI(const char *key,int64_t dfl = 0) const { char tmp[128]; - if (this->get(key,tmp,sizeof(tmp)) >= 1) + if (this->get(key,tmp,sizeof(tmp)) >= 1) { return Utils::hexStrTo64(tmp); + } return dfl; } @@ -335,11 +360,21 @@ public: return false; } switch(*p) { - case 0: _d[j++] = '0'; break; - case 13: _d[j++] = 'r'; break; - case 10: _d[j++] = 'n'; break; - case '\\': _d[j++] = '\\'; break; - case '=': _d[j++] = 'e'; break; + case 0: + _d[j++] = '0'; + break; + case 13: + _d[j++] = 'r'; + break; + case 10: + _d[j++] = 'n'; + break; + case '\\': + _d[j++] = '\\'; + break; + case '=': + _d[j++] = 'e'; + break; } if (j == C) { _d[i] = (char)0; diff --git a/node/Hashtable.hpp b/node/Hashtable.hpp index 5a38f29cf..5fc6e0bb7 100644 --- a/node/Hashtable.hpp +++ b/node/Hashtable.hpp @@ -81,8 +81,9 @@ public: return true; } ++_idx; - if (_idx >= _ht->_bc) + if (_idx >= _ht->_bc) { return false; + } _b = _ht->_t[_idx]; } } @@ -102,10 +103,12 @@ public: _bc(bc), _s(0) { - if (!_t) + if (!_t) { throw ZT_EXCEPTION_OUT_OF_MEMORY; - for(unsigned long i=0;i &ht) : @@ -113,10 +116,12 @@ public: _bc(ht._bc), _s(ht._s) { - if (!_t) + if (!_t) { throw ZT_EXCEPTION_OUT_OF_MEMORY; - for(unsigned long i=0;i<_bc;++i) + } + for(unsigned long i=0;i<_bc;++i) { _t[i] = (_Bucket *)0; + } for(unsigned long i=0;i<_bc;++i) { const _Bucket *b = ht._t[i]; while (b) { @@ -234,8 +239,9 @@ public: { _Bucket *b = _t[_hc(k) % _bc]; while (b) { - if (b->k == k) + if (b->k == k) { return &(b->v); + } b = b->next; } return (V *)0; @@ -268,8 +274,9 @@ public: { _Bucket *b = _t[_hc(k) % _bc]; while (b) { - if (b->k == k) + if (b->k == k) { return true; + } b = b->next; } return false; @@ -286,9 +293,11 @@ public: _Bucket *b = _t[bidx]; while (b) { if (b->k == k) { - if (lastb) + if (lastb) { lastb->next = b->next; - else _t[bidx] = b->next; + } else { + _t[bidx] = b->next; + } delete b; --_s; return true; @@ -341,8 +350,9 @@ public: _Bucket *b = _t[bidx]; while (b) { - if (b->k == k) + if (b->k == k) { return b->v; + } b = b->next; } @@ -396,8 +406,9 @@ private: const unsigned long nc = _bc * 2; _Bucket **nt = reinterpret_cast<_Bucket **>(::malloc(sizeof(_Bucket *) * nc)); if (nt) { - for(unsigned long i=0;i @@ -80,8 +81,9 @@ public: _address = id._address; _publicKey = id._publicKey; if (id._privateKey) { - if (!_privateKey) + if (!_privateKey) { _privateKey = new C25519::Private(); + } *_privateKey = *(id._privateKey); } else { delete _privateKey; @@ -144,8 +146,9 @@ public: */ inline C25519::Signature sign(const void *data,unsigned int len) const { - if (_privateKey) + if (_privateKey) { return C25519::sign(*_privateKey,_publicKey,data,len); + } throw ZT_EXCEPTION_PRIVATE_KEY_REQUIRED; } @@ -160,8 +163,9 @@ public: */ inline bool verify(const void *data,unsigned int len,const void *signature,unsigned int siglen) const { - if (siglen != ZT_C25519_SIGNATURE_LEN) + if (siglen != ZT_C25519_SIGNATURE_LEN) { return false; + } return C25519::verify(_publicKey,data,len,signature); } @@ -217,7 +221,9 @@ public: if ((_privateKey)&&(includePrivate)) { b.append((unsigned char)ZT_C25519_PRIVATE_KEY_LEN); b.append(_privateKey->data,ZT_C25519_PRIVATE_KEY_LEN); - } else b.append((unsigned char)0); + } else { + b.append((unsigned char)0); + } } /** @@ -243,16 +249,18 @@ public: _address.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; - if (b[p++] != 0) + if (b[p++] != 0) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_TYPE; + } memcpy(_publicKey.data,b.field(p,ZT_C25519_PUBLIC_KEY_LEN),ZT_C25519_PUBLIC_KEY_LEN); p += ZT_C25519_PUBLIC_KEY_LEN; unsigned int privateKeyLength = (unsigned int)b[p++]; if (privateKeyLength) { - if (privateKeyLength != ZT_C25519_PRIVATE_KEY_LEN) + if (privateKeyLength != ZT_C25519_PRIVATE_KEY_LEN) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN; + } _privateKey = new C25519::Private(); memcpy(_privateKey->data,b.field(p,ZT_C25519_PRIVATE_KEY_LEN),ZT_C25519_PRIVATE_KEY_LEN); p += ZT_C25519_PRIVATE_KEY_LEN; @@ -293,9 +301,11 @@ public: { C25519::Pair pair; pair.pub = _publicKey; - if (_privateKey) + if (_privateKey) { pair.priv = *_privateKey; - else memset(pair.priv.data,0,ZT_C25519_PRIVATE_KEY_LEN); + } else { + memset(pair.priv.data,0,ZT_C25519_PRIVATE_KEY_LEN); + } return pair; } diff --git a/node/IncomingPacket.cpp b/node/IncomingPacket.cpp index a120a208a..a5dd77017 100644 --- a/node/IncomingPacket.cpp +++ b/node/IncomingPacket.cpp @@ -37,6 +37,7 @@ #include "Trace.hpp" #include "Path.hpp" #include "Bond.hpp" +#include "Metrics.hpp" namespace ZeroTier { @@ -85,28 +86,69 @@ bool IncomingPacket::tryDecode(const RuntimeEnvironment *RR,void *tPtr,int32_t f switch(v) { //case Packet::VERB_NOP: default: // ignore unknown verbs, but if they pass auth check they are "received" + Metrics::pkt_nop_in++; peer->received(tPtr,_path,hops(),packetId(),payloadLength(),v,0,Packet::VERB_NOP,false,0,ZT_QOS_NO_FLOW); break; - case Packet::VERB_HELLO: r = _doHELLO(RR,tPtr,true); break; - case Packet::VERB_ACK : r = _doACK(RR,tPtr,peer); break; - case Packet::VERB_QOS_MEASUREMENT: r = _doQOS_MEASUREMENT(RR,tPtr,peer); break; - case Packet::VERB_ERROR: r = _doERROR(RR,tPtr,peer); break; - case Packet::VERB_OK: r = _doOK(RR,tPtr,peer); break; - case Packet::VERB_WHOIS: r = _doWHOIS(RR,tPtr,peer); break; - case Packet::VERB_RENDEZVOUS: r = _doRENDEZVOUS(RR,tPtr,peer); break; - case Packet::VERB_FRAME: r = _doFRAME(RR,tPtr,peer,flowId); break; - case Packet::VERB_EXT_FRAME: r = _doEXT_FRAME(RR,tPtr,peer,flowId); break; - case Packet::VERB_ECHO: r = _doECHO(RR,tPtr,peer); break; - case Packet::VERB_MULTICAST_LIKE: r = _doMULTICAST_LIKE(RR,tPtr,peer); break; - case Packet::VERB_NETWORK_CREDENTIALS: r = _doNETWORK_CREDENTIALS(RR,tPtr,peer); break; - case Packet::VERB_NETWORK_CONFIG_REQUEST: r = _doNETWORK_CONFIG_REQUEST(RR,tPtr,peer); break; - case Packet::VERB_NETWORK_CONFIG: r = _doNETWORK_CONFIG(RR,tPtr,peer); break; - case Packet::VERB_MULTICAST_GATHER: r = _doMULTICAST_GATHER(RR,tPtr,peer); break; - case Packet::VERB_MULTICAST_FRAME: r = _doMULTICAST_FRAME(RR,tPtr,peer); break; - case Packet::VERB_PUSH_DIRECT_PATHS: r = _doPUSH_DIRECT_PATHS(RR,tPtr,peer); break; - case Packet::VERB_USER_MESSAGE: r = _doUSER_MESSAGE(RR,tPtr,peer); break; - case Packet::VERB_REMOTE_TRACE: r = _doREMOTE_TRACE(RR,tPtr,peer); break; - case Packet::VERB_PATH_NEGOTIATION_REQUEST: r = _doPATH_NEGOTIATION_REQUEST(RR,tPtr,peer); break; + case Packet::VERB_HELLO: + r = _doHELLO(RR, tPtr, true); + break; + case Packet::VERB_ACK: + r = _doACK(RR, tPtr, peer); + break; + case Packet::VERB_QOS_MEASUREMENT: + r = _doQOS_MEASUREMENT(RR, tPtr, peer); + break; + case Packet::VERB_ERROR: + r = _doERROR(RR, tPtr, peer); + break; + case Packet::VERB_OK: + r = _doOK(RR, tPtr, peer); + break; + case Packet::VERB_WHOIS: + r = _doWHOIS(RR, tPtr, peer); + break; + case Packet::VERB_RENDEZVOUS: + r = _doRENDEZVOUS(RR, tPtr, peer); + break; + case Packet::VERB_FRAME: + r = _doFRAME(RR, tPtr, peer, flowId); + break; + case Packet::VERB_EXT_FRAME: + r = _doEXT_FRAME(RR, tPtr, peer, flowId); + break; + case Packet::VERB_ECHO: + r = _doECHO(RR, tPtr, peer); + break; + case Packet::VERB_MULTICAST_LIKE: + r = _doMULTICAST_LIKE(RR, tPtr, peer); + break; + case Packet::VERB_NETWORK_CREDENTIALS: + r = _doNETWORK_CREDENTIALS(RR, tPtr, peer); + break; + case Packet::VERB_NETWORK_CONFIG_REQUEST: + r = _doNETWORK_CONFIG_REQUEST(RR, tPtr, peer); + break; + case Packet::VERB_NETWORK_CONFIG: + r = _doNETWORK_CONFIG(RR, tPtr, peer); + break; + case Packet::VERB_MULTICAST_GATHER: + r = _doMULTICAST_GATHER(RR, tPtr, peer); + break; + case Packet::VERB_MULTICAST_FRAME: + r = _doMULTICAST_FRAME(RR, tPtr, peer); + break; + case Packet::VERB_PUSH_DIRECT_PATHS: + r = _doPUSH_DIRECT_PATHS(RR, tPtr, peer); + break; + case Packet::VERB_USER_MESSAGE: + r = _doUSER_MESSAGE(RR, tPtr, peer); + break; + case Packet::VERB_REMOTE_TRACE: + r = _doREMOTE_TRACE(RR, tPtr, peer); + break; + case Packet::VERB_PATH_NEGOTIATION_REQUEST: + r = _doPATH_NEGOTIATION_REQUEST(RR, tPtr, peer); + break; } if (r) { RR->node->statsLogVerb((unsigned int)v,(unsigned int)size()); @@ -130,6 +172,8 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar const Packet::ErrorCode errorCode = (Packet::ErrorCode)(*this)[ZT_PROTO_VERB_ERROR_IDX_ERROR_CODE]; uint64_t networkId = 0; + Metrics::pkt_error_in++; + /* Security note: we do not gate doERROR() with expectingReplyTo() to * avoid having to log every outgoing packet ID. Instead we put the * logic to determine whether we should consider an ERROR in each @@ -142,9 +186,11 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar // Object not found, currently only meaningful from network controllers. if (inReVerb == Packet::VERB_NETWORK_CONFIG_REQUEST) { const SharedPtr network(RR->node->network(at(ZT_PROTO_VERB_ERROR_IDX_PAYLOAD))); - if ((network)&&(network->controller() == peer->address())) + if ((network)&&(network->controller() == peer->address())) { network->setNotFound(tPtr); + } } + Metrics::pkt_error_obj_not_found_in++; break; case Packet::ERROR_UNSUPPORTED_OPERATION: @@ -153,15 +199,19 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar // that the queried node does not support acting as a controller. if (inReVerb == Packet::VERB_NETWORK_CONFIG_REQUEST) { const SharedPtr network(RR->node->network(at(ZT_PROTO_VERB_ERROR_IDX_PAYLOAD))); - if ((network)&&(network->controller() == peer->address())) + if ((network)&&(network->controller() == peer->address())) { network->setNotFound(tPtr); + } } + Metrics::pkt_error_unsupported_op_in++; break; case Packet::ERROR_IDENTITY_COLLISION: // FIXME: for federation this will need a payload with a signature or something. - if (RR->topology->isUpstream(peer->identity())) + if (RR->topology->isUpstream(peer->identity())) { RR->node->postEvent(tPtr,ZT_EVENT_FATAL_ERROR_IDENTITY_COLLISION); + } + Metrics::pkt_error_identity_collision_in++; break; case Packet::ERROR_NEED_MEMBERSHIP_CERTIFICATE: { @@ -169,15 +219,19 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar networkId = at(ZT_PROTO_VERB_ERROR_IDX_PAYLOAD); const SharedPtr network(RR->node->network(networkId)); const int64_t now = RR->node->now(); - if ((network)&&(network->config().com)) + if ((network)&&(network->config().com)) { network->peerRequestedCredentials(tPtr,peer->address(),now); + } + Metrics::pkt_error_need_membership_cert_in++; } break; case Packet::ERROR_NETWORK_ACCESS_DENIED_: { // Network controller: network access denied. const SharedPtr network(RR->node->network(at(ZT_PROTO_VERB_ERROR_IDX_PAYLOAD))); - if ((network)&&(network->controller() == peer->address())) + if ((network)&&(network->controller() == peer->address())) { network->setAccessDenied(tPtr); + } + Metrics::pkt_error_network_access_denied_in++; } break; case Packet::ERROR_UNWANTED_MULTICAST: { @@ -189,6 +243,7 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar const MulticastGroup mg(MAC(field(ZT_PROTO_VERB_ERROR_IDX_PAYLOAD + 8,6),6),at(ZT_PROTO_VERB_ERROR_IDX_PAYLOAD + 14)); RR->mc->remove(network->id(),mg,peer->address()); } + Metrics::pkt_error_unwanted_multicast_in++; } break; case Packet::ERROR_NETWORK_AUTHENTICATION_REQUIRED: { @@ -247,9 +302,11 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar network->setAuthenticationRequired(tPtr, ""); } } + Metrics::pkt_error_authentication_required_in++; } break; - default: break; + default: + break; } peer->received(tPtr,_path,hops(),packetId(),payloadLength(),Packet::VERB_ERROR,inRePacketId,inReVerb,false,networkId,ZT_QOS_NO_FLOW); @@ -260,8 +317,7 @@ bool IncomingPacket::_doERROR(const RuntimeEnvironment *RR,void *tPtr,const Shar bool IncomingPacket::_doACK(const RuntimeEnvironment* RR, void* tPtr, const SharedPtr& peer) { /* - SharedPtr bond = peer->bond(); - if (! bond || ! bond->rateGateACK(RR->node->now())) { + if (! peer->rateGateACK(RR->node->now())) { return true; } int32_t ackedBytes; @@ -269,17 +325,17 @@ bool IncomingPacket::_doACK(const RuntimeEnvironment* RR, void* tPtr, const Shar return true; // ignore } memcpy(&ackedBytes, payload(), sizeof(ackedBytes)); - if (bond) { - bond->receivedAck(_path, RR->node->now(), Utils::ntoh(ackedBytes)); - } + peer->receivedAck(_path, RR->node->now(), Utils::ntoh(ackedBytes)); */ + Metrics::pkt_ack_in++; return true; } bool IncomingPacket::_doQOS_MEASUREMENT(const RuntimeEnvironment* RR, void* tPtr, const SharedPtr& peer) { + Metrics::pkt_qos_in++; SharedPtr bond = peer->bond(); - if (! bond || ! bond->rateGateQoS(RR->node->now(), _path)) { + if (! peer->rateGateQoS(RR->node->now(), _path)) { return true; } if (payloadLength() > ZT_QOS_MAX_PACKET_SIZE || payloadLength() < ZT_QOS_MIN_PACKET_SIZE) { @@ -300,14 +356,13 @@ bool IncomingPacket::_doQOS_MEASUREMENT(const RuntimeEnvironment* RR, void* tPtr ptr += sizeof(uint16_t); count++; } - if (bond) { - bond->receivedQoS(_path, now, count, rx_id, rx_ts); - } + peer->receivedQoS(_path, now, count, rx_id, rx_ts); return true; } bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool alreadyAuthenticated) { + Metrics::pkt_hello_in++; const int64_t now = RR->node->now(); const uint64_t pid = packetId(); @@ -337,8 +392,9 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool // Identity is different from the one we already have -- address collision // Check rate limits - if (!RR->node->rateGateIdentityVerification(now,_path->address())) + if (!RR->node->rateGateIdentityVerification(now,_path->address())) { return true; + } uint8_t key[ZT_SYMMETRIC_KEY_SIZE]; if (RR->identity.agree(id,key)) { @@ -349,6 +405,8 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool outp.append((uint64_t)pid); outp.append((uint8_t)Packet::ERROR_IDENTITY_COLLISION); outp.armor(key,true,peer->aesKeysIfSupported()); + Metrics::pkt_error_out++; + Metrics::pkt_error_identity_collision_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } else { RR->t->incomingPacketMessageAuthenticationFailure(tPtr,_path,pid,fromAddress,hops(),"invalid MAC"); @@ -408,16 +466,19 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool InetAddress externalSurfaceAddress; if (ptr < size()) { ptr += externalSurfaceAddress.deserialize(*this,ptr); - if ((externalSurfaceAddress)&&(hops() == 0)) + if ((externalSurfaceAddress)&&(hops() == 0)) { RR->sa->iam(tPtr,id.address(),_path->localSocket(),_path->address(),externalSurfaceAddress,RR->topology->isUpstream(id),now); + } } // Get primary planet world ID and world timestamp if present uint64_t planetWorldId = 0; uint64_t planetWorldTimestamp = 0; if ((ptr + 16) <= size()) { - planetWorldId = at(ptr); ptr += 8; - planetWorldTimestamp = at(ptr); ptr += 8; + planetWorldId = at(ptr); + ptr += 8; + planetWorldTimestamp = at(ptr); + ptr += 8; } std::vector< std::pair > moonIdsAndTimestamps; @@ -427,10 +488,12 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool // Get moon IDs and timestamps if present if ((ptr + 2) <= size()) { - const unsigned int numMoons = at(ptr); ptr += 2; + const unsigned int numMoons = at(ptr); + ptr += 2; for(unsigned int i=0;i(at(ptr),at(ptr + 8))); + } ptr += 16; } } @@ -489,8 +552,9 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool for(std::vector::const_iterator m(moons.begin());m!=moons.end();++m) { for(std::vector< std::pair >::const_iterator i(moonIdsAndTimestamps.begin());i!=moonIdsAndTimestamps.end();++i) { if (i->first == m->id()) { - if (m->timestamp() > i->second) + if (m->timestamp() > i->second) { m->serialize(outp,false); + } break; } } @@ -500,6 +564,7 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool outp.armor(peer->key(),true,peer->aesKeysIfSupported()); peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now); + Metrics::pkt_ok_out++; _path->send(RR,tPtr,outp.data(),outp.size(),now); peer->setRemoteVersion(protoVersion,vMajor,vMinor,vRevision); // important for this to go first so received() knows the version @@ -510,12 +575,14 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_ok_in++; const Packet::Verb inReVerb = (Packet::Verb)(*this)[ZT_PROTO_VERB_OK_IDX_IN_RE_VERB]; const uint64_t inRePacketId = at(ZT_PROTO_VERB_OK_IDX_IN_RE_PACKET_ID); uint64_t networkId = 0; - if (!RR->node->expectingReplyTo(inRePacketId)) + if (!RR->node->expectingReplyTo(inRePacketId)) { return true; + } switch(inReVerb) { @@ -525,19 +592,22 @@ bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,void *tPtr,const SharedP const unsigned int vMajor = (*this)[ZT_PROTO_VERB_HELLO__OK__IDX_MAJOR_VERSION]; const unsigned int vMinor = (*this)[ZT_PROTO_VERB_HELLO__OK__IDX_MINOR_VERSION]; const unsigned int vRevision = at(ZT_PROTO_VERB_HELLO__OK__IDX_REVISION); - if (vProto < ZT_PROTO_VERSION_MIN) + if (vProto < ZT_PROTO_VERSION_MIN) { return true; + } InetAddress externalSurfaceAddress; unsigned int ptr = ZT_PROTO_VERB_HELLO__OK__IDX_REVISION + 2; // Get reported external surface address if present - if (ptr < size()) + if (ptr < size()) { ptr += externalSurfaceAddress.deserialize(*this,ptr); + } // Handle planet or moon updates if present if ((ptr + 2) <= size()) { - const unsigned int worldsLen = at(ptr); ptr += 2; + const unsigned int worldsLen = at(ptr); + ptr += 2; if (RR->topology->shouldAcceptWorldUpdateFrom(peer->address())) { const unsigned int endOfWorlds = ptr + worldsLen; while (ptr < endOfWorlds) { @@ -551,16 +621,14 @@ bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,void *tPtr,const SharedP } if (!hops()) { - SharedPtr bond = peer->bond(); - if (!bond) { - _path->updateLatency((unsigned int)latency,RR->node->now()); - } + _path->updateLatency((unsigned int)latency,RR->node->now()); } peer->setRemoteVersion(vProto,vMajor,vMinor,vRevision); - if ((externalSurfaceAddress)&&(hops() == 0)) + if ((externalSurfaceAddress)&&(hops() == 0)) { RR->sa->iam(tPtr,peer->address(),_path->localSocket(),_path->address(),externalSurfaceAddress,RR->topology->isUpstream(peer->identity()),RR->node->now()); + } } break; case Packet::VERB_WHOIS: @@ -573,8 +641,9 @@ bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,void *tPtr,const SharedP case Packet::VERB_NETWORK_CONFIG_REQUEST: { networkId = at(ZT_PROTO_VERB_OK_IDX_PAYLOAD); const SharedPtr network(RR->node->network(networkId)); - if (network) + if (network) { network->handleConfigChunk(tPtr,packetId(),source(),*this,ZT_PROTO_VERB_OK_IDX_PAYLOAD); + } } break; case Packet::VERB_MULTICAST_GATHER: { @@ -599,21 +668,25 @@ bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,void *tPtr,const SharedP if ((flags & 0x01) != 0) { // deprecated but still used by older peers CertificateOfMembership com; offset += com.deserialize(*this,ZT_PROTO_VERB_MULTICAST_FRAME__OK__IDX_COM_AND_GATHER_RESULTS); - if (com) + if (com) { network->addCredential(tPtr,com); + } } if ((flags & 0x02) != 0) { // OK(MULTICAST_FRAME) includes implicit gather results offset += ZT_PROTO_VERB_MULTICAST_FRAME__OK__IDX_COM_AND_GATHER_RESULTS; - unsigned int totalKnown = at(offset); offset += 4; - unsigned int count = at(offset); offset += 2; + unsigned int totalKnown = at(offset); + offset += 4; + unsigned int count = at(offset); + offset += 2; RR->mc->addMultiple(tPtr,RR->node->now(),networkId,mg,field(offset,count * 5),count,totalKnown); } } } break; - default: break; + default: + break; } peer->received(tPtr,_path,hops(),packetId(),payloadLength(),Packet::VERB_OK,inRePacketId,inReVerb,false,networkId,ZT_QOS_NO_FLOW); @@ -623,8 +696,11 @@ bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,void *tPtr,const SharedP bool IncomingPacket::_doWHOIS(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { - if ((!RR->topology->amUpstream())&&(!peer->rateGateInboundWhoisRequest(RR->node->now()))) + if ((!RR->topology->amUpstream())&&(!peer->rateGateInboundWhoisRequest(RR->node->now()))) { return true; + } + + Metrics::pkt_whois_in++; Packet outp(peer->address(),RR->identity.address(),Packet::VERB_OK); outp.append((unsigned char)Packet::VERB_WHOIS); @@ -647,6 +723,7 @@ bool IncomingPacket::_doWHOIS(const RuntimeEnvironment *RR,void *tPtr,const Shar } if (count > 0) { + Metrics::pkt_ok_out++; outp.armor(peer->key(),true,peer->aesKeysIfSupported()); _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } @@ -658,6 +735,7 @@ bool IncomingPacket::_doWHOIS(const RuntimeEnvironment *RR,void *tPtr,const Shar bool IncomingPacket::_doRENDEZVOUS(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_rendezvous_in++; if (RR->topology->isUpstream(peer->identity())) { const Address with(field(ZT_PROTO_VERB_RENDEZVOUS_IDX_ZTADDRESS,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); const SharedPtr rendezvousWith(RR->topology->getPeer(tPtr,with)); @@ -683,8 +761,9 @@ bool IncomingPacket::_doRENDEZVOUS(const RuntimeEnvironment *RR,void *tPtr,const // Returns true if packet appears valid; pos and proto will be set static bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLen,unsigned int &pos,unsigned int &proto) { - if (frameLen < 40) + if (frameLen < 40) { return false; + } pos = 40; proto = frameData[6]; while (pos <= frameLen) { @@ -693,8 +772,9 @@ static bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLen,unsig case 43: // routing case 60: // destination options case 135: // mobility options - if ((pos + 8) > frameLen) + if ((pos + 8) > frameLen) { return false; // invalid! + } proto = frameData[pos]; pos += ((unsigned int)frameData[pos + 1] * 8) + 8; break; @@ -711,9 +791,9 @@ static bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLen,unsig bool IncomingPacket::_doFRAME(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer,int32_t flowId) { + Metrics::pkt_frame_in++; int32_t _flowId = ZT_QOS_NO_FLOW; - SharedPtr bond = peer->bond(); - if (bond && bond->flowHashingSupported()) { + if (peer->flowHashingSupported()) { if (size() > ZT_PROTO_VERB_EXT_FRAME_IDX_PAYLOAD) { const unsigned int etherType = at(ZT_PROTO_VERB_FRAME_IDX_ETHERTYPE); const unsigned int frameLen = size() - ZT_PROTO_VERB_FRAME_IDX_PAYLOAD; @@ -788,8 +868,9 @@ bool IncomingPacket::_doFRAME(const RuntimeEnvironment *RR,void *tPtr,const Shar const MAC sourceMac(peer->address(),nwid); const unsigned int frameLen = size() - ZT_PROTO_VERB_FRAME_IDX_PAYLOAD; const uint8_t *const frameData = reinterpret_cast(data()) + ZT_PROTO_VERB_FRAME_IDX_PAYLOAD; - if (network->filterIncomingPacket(tPtr,peer,RR->identity.address(),sourceMac,network->mac(),frameData,frameLen,etherType,0) > 0) + if (network->filterIncomingPacket(tPtr,peer,RR->identity.address(),sourceMac,network->mac(),frameData,frameLen,etherType,0) > 0) { RR->node->putFrame(tPtr,nwid,network->userPtr(),sourceMac,network->mac(),etherType,0,(const void *)frameData,frameLen); + } } } else { _sendErrorNeedCredentials(RR,tPtr,peer,nwid); @@ -803,6 +884,7 @@ bool IncomingPacket::_doFRAME(const RuntimeEnvironment *RR,void *tPtr,const Shar bool IncomingPacket::_doEXT_FRAME(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer,int32_t flowId) { + Metrics::pkt_ext_frame_in++; const uint64_t nwid = at(ZT_PROTO_VERB_EXT_FRAME_IDX_NETWORK_ID); const SharedPtr network(RR->node->network(nwid)); if (network) { @@ -812,8 +894,9 @@ bool IncomingPacket::_doEXT_FRAME(const RuntimeEnvironment *RR,void *tPtr,const if ((flags & 0x01) != 0) { // inline COM with EXT_FRAME is deprecated but still used with old peers CertificateOfMembership com; comLen = com.deserialize(*this,ZT_PROTO_VERB_EXT_FRAME_IDX_COM); - if (com) + if (com) { network->addCredential(tPtr,com); + } } if (!network->gate(tPtr,peer)) { @@ -872,6 +955,7 @@ bool IncomingPacket::_doEXT_FRAME(const RuntimeEnvironment *RR,void *tPtr,const const int64_t now = RR->node->now(); outp.armor(peer->key(),true,peer->aesKeysIfSupported()); peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now); + Metrics::pkt_ok_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } @@ -885,6 +969,7 @@ bool IncomingPacket::_doEXT_FRAME(const RuntimeEnvironment *RR,void *tPtr,const bool IncomingPacket::_doECHO(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_echo_in++; uint64_t now = RR->node->now(); if (!_path->rateGateEchoRequest(now)) { return true; @@ -894,10 +979,12 @@ bool IncomingPacket::_doECHO(const RuntimeEnvironment *RR,void *tPtr,const Share Packet outp(peer->address(),RR->identity.address(),Packet::VERB_OK); outp.append((unsigned char)Packet::VERB_ECHO); outp.append((uint64_t)pid); - if (size() > ZT_PACKET_IDX_PAYLOAD) + if (size() > ZT_PACKET_IDX_PAYLOAD) { outp.append(reinterpret_cast(data()) + ZT_PACKET_IDX_PAYLOAD,size() - ZT_PACKET_IDX_PAYLOAD); + } outp.armor(peer->key(),true,peer->aesKeysIfSupported()); peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now); + Metrics::pkt_ok_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); peer->received(tPtr,_path,hops(),pid,payloadLength(),Packet::VERB_ECHO,0,Packet::VERB_NOP,false,0,ZT_QOS_NO_FLOW); @@ -907,6 +994,7 @@ bool IncomingPacket::_doECHO(const RuntimeEnvironment *RR,void *tPtr,const Share bool IncomingPacket::_doMULTICAST_LIKE(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_multicast_like_in++; const int64_t now = RR->node->now(); bool authorized = false; uint64_t lastNwid = 0; @@ -917,13 +1005,16 @@ bool IncomingPacket::_doMULTICAST_LIKE(const RuntimeEnvironment *RR,void *tPtr,c if (nwid != lastNwid) { lastNwid = nwid; SharedPtr network(RR->node->network(nwid)); - if (network) + if (network) { authorized = network->gate(tPtr,peer); - if (!authorized) + } + if (!authorized) { authorized = ((RR->topology->amUpstream())||(RR->node->localControllerHasAuthorized(now,nwid,peer->address()))); + } } - if (authorized) + if (authorized) { RR->mc->add(tPtr,now,nwid,MulticastGroup(MAC(field(ptr + 8,6),6),at(ptr + 14)),peer->address()); + } } peer->received(tPtr,_path,hops(),packetId(),payloadLength(),Packet::VERB_MULTICAST_LIKE,0,Packet::VERB_NOP,false,0,ZT_QOS_NO_FLOW); @@ -932,8 +1023,10 @@ bool IncomingPacket::_doMULTICAST_LIKE(const RuntimeEnvironment *RR,void *tPtr,c bool IncomingPacket::_doNETWORK_CREDENTIALS(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { - if (!peer->rateGateCredentialsReceived(RR->node->now())) + Metrics::pkt_network_credentials_in++; + if (!peer->rateGateCredentialsReceived(RR->node->now())) { return true; + } CertificateOfMembership com; Capability cap; @@ -965,11 +1058,13 @@ bool IncomingPacket::_doNETWORK_CREDENTIALS(const RuntimeEnvironment *RR,void *t ++p; // skip trailing 0 after COMs if present if (p < size()) { // older ZeroTier versions do not send capabilities, tags, or revocations - const unsigned int numCapabilities = at(p); p += 2; + const unsigned int numCapabilities = at(p); + p += 2; for(unsigned int i=0;iid() != cap.networkId())) + if ((!network)||(network->id() != cap.networkId())) { network = RR->node->network(cap.networkId()); + } if (network) { switch (network->addCredential(tPtr,cap)) { case Membership::ADD_REJECTED: @@ -984,13 +1079,17 @@ bool IncomingPacket::_doNETWORK_CREDENTIALS(const RuntimeEnvironment *RR,void *t } } - if (p >= size()) return true; + if (p >= size()) { + return true; + } - const unsigned int numTags = at(p); p += 2; + const unsigned int numTags = at(p); + p += 2; for(unsigned int i=0;iid() != tag.networkId())) + if ((!network)||(network->id() != tag.networkId())) { network = RR->node->network(tag.networkId()); + } if (network) { switch (network->addCredential(tPtr,tag)) { case Membership::ADD_REJECTED: @@ -1005,13 +1104,17 @@ bool IncomingPacket::_doNETWORK_CREDENTIALS(const RuntimeEnvironment *RR,void *t } } - if (p >= size()) return true; + if (p >= size()) { + return true; + } - const unsigned int numRevocations = at(p); p += 2; + const unsigned int numRevocations = at(p); + p += 2; for(unsigned int i=0;iid() != revocation.networkId())) + if ((!network)||(network->id() != revocation.networkId())) { network = RR->node->network(revocation.networkId()); + } if (network) { switch(network->addCredential(tPtr,peer->address(),revocation)) { case Membership::ADD_REJECTED: @@ -1026,13 +1129,17 @@ bool IncomingPacket::_doNETWORK_CREDENTIALS(const RuntimeEnvironment *RR,void *t } } - if (p >= size()) return true; + if (p >= size()) { + return true; + } - const unsigned int numCoos = at(p); p += 2; + const unsigned int numCoos = at(p); + p += 2; for(unsigned int i=0;iid() != coo.networkId())) + if ((!network)||(network->id() != coo.networkId())) { network = RR->node->network(coo.networkId()); + } if (network) { switch(network->addCredential(tPtr,coo)) { case Membership::ADD_REJECTED: @@ -1055,6 +1162,7 @@ bool IncomingPacket::_doNETWORK_CREDENTIALS(const RuntimeEnvironment *RR,void *t bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_network_config_request_in++; const uint64_t nwid = at(ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_NETWORK_ID); const unsigned int hopCount = hops(); const uint64_t requestPacketId = packetId(); @@ -1071,6 +1179,8 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,void outp.append((unsigned char)Packet::ERROR_UNSUPPORTED_OPERATION); outp.append(nwid); outp.armor(peer->key(),true,peer->aesKeysIfSupported()); + Metrics::pkt_error_out++; + Metrics::pkt_error_unsupported_op_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } @@ -1081,6 +1191,7 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,void bool IncomingPacket::_doNETWORK_CONFIG(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_network_config_in++; const SharedPtr network(RR->node->network(at(ZT_PACKET_IDX_PAYLOAD))); if (network) { const uint64_t configUpdateId = network->handleConfigChunk(tPtr,packetId(),source(),*this,ZT_PACKET_IDX_PAYLOAD); @@ -1093,6 +1204,7 @@ bool IncomingPacket::_doNETWORK_CONFIG(const RuntimeEnvironment *RR,void *tPtr,c const int64_t now = RR->node->now(); outp.armor(peer->key(),true,peer->aesKeysIfSupported()); peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now); + Metrics::pkt_ok_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } } @@ -1104,6 +1216,7 @@ bool IncomingPacket::_doNETWORK_CONFIG(const RuntimeEnvironment *RR,void *tPtr,c bool IncomingPacket::_doMULTICAST_GATHER(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_multicast_gather_in++; const uint64_t nwid = at(ZT_PROTO_VERB_MULTICAST_GATHER_IDX_NETWORK_ID); const unsigned int flags = (*this)[ZT_PROTO_VERB_MULTICAST_GATHER_IDX_FLAGS]; const MulticastGroup mg(MAC(field(ZT_PROTO_VERB_MULTICAST_GATHER_IDX_MAC,6),6),at(ZT_PROTO_VERB_MULTICAST_GATHER_IDX_ADI)); @@ -1115,8 +1228,9 @@ bool IncomingPacket::_doMULTICAST_GATHER(const RuntimeEnvironment *RR,void *tPtr try { CertificateOfMembership com; com.deserialize(*this,ZT_PROTO_VERB_MULTICAST_GATHER_IDX_COM); - if ((com)&&(network)) + if ((com)&&(network)) { network->addCredential(tPtr,com); + } } catch ( ... ) {} // discard invalid COMs } @@ -1133,6 +1247,7 @@ bool IncomingPacket::_doMULTICAST_GATHER(const RuntimeEnvironment *RR,void *tPtr if (gatheredLocally > 0) { outp.armor(peer->key(),true,peer->aesKeysIfSupported()); peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now); + Metrics::pkt_ok_out++; _path->send(RR,tPtr,outp.data(),outp.size(),now); } } @@ -1144,6 +1259,7 @@ bool IncomingPacket::_doMULTICAST_GATHER(const RuntimeEnvironment *RR,void *tPtr bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_multicast_frame_in++; const uint64_t nwid = at(ZT_PROTO_VERB_MULTICAST_FRAME_IDX_NETWORK_ID); const unsigned int flags = (*this)[ZT_PROTO_VERB_MULTICAST_FRAME_IDX_FLAGS]; @@ -1156,8 +1272,9 @@ bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr, // This is deprecated but may still be sent by old peers CertificateOfMembership com; offset += com.deserialize(*this,ZT_PROTO_VERB_MULTICAST_FRAME_IDX_COM); - if (com) + if (com) { network->addCredential(tPtr,com); + } } if (!network->gate(tPtr,peer)) { @@ -1203,8 +1320,9 @@ bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr, const uint8_t *const frameData = (const uint8_t *)field(offset + ZT_PROTO_VERB_MULTICAST_FRAME_IDX_FRAME,frameLen); - if ((flags & 0x08)&&(network->config().isMulticastReplicator(RR->identity.address()))) + if ((flags & 0x08)&&(network->config().isMulticastReplicator(RR->identity.address()))) { RR->mc->send(tPtr,RR->node->now(),network,peer->address(),to,from,etherType,frameData,frameLen); + } if (from != MAC(peer->address(),nwid)) { if (network->config().permitsBridging(peer->address())) { @@ -1216,8 +1334,9 @@ bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr, } } - if (network->filterIncomingPacket(tPtr,peer,RR->identity.address(),from,to.mac(),frameData,frameLen,etherType,0) > 0) + if (network->filterIncomingPacket(tPtr,peer,RR->identity.address(),from,to.mac(),frameData,frameLen,etherType,0) > 0) { RR->node->putFrame(tPtr,nwid,network->userPtr(),from,to.mac(),etherType,0,(const void *)frameData,frameLen); + } } if (gatherLimit) { @@ -1232,6 +1351,7 @@ bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr, const int64_t now = RR->node->now(); outp.armor(peer->key(),true,peer->aesKeysIfSupported()); peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now); + Metrics::pkt_ok_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } } @@ -1244,6 +1364,7 @@ bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr, bool IncomingPacket::_doPUSH_DIRECT_PATHS(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_push_direct_paths_in++; const int64_t now = RR->node->now(); if (!peer->rateGatePushDirectPaths(now)) { @@ -1260,7 +1381,8 @@ bool IncomingPacket::_doPUSH_DIRECT_PATHS(const RuntimeEnvironment *RR,void *tPt while (count--) { // if ptr overflows Buffer will throw unsigned int flags = (*this)[ptr++]; - unsigned int extLen = at(ptr); ptr += 2; + unsigned int extLen = at(ptr); + ptr += 2; ptr += extLen; // unused right now unsigned int addrType = (*this)[ptr++]; unsigned int addrLen = (*this)[ptr++]; @@ -1306,6 +1428,7 @@ bool IncomingPacket::_doPUSH_DIRECT_PATHS(const RuntimeEnvironment *RR,void *tPt bool IncomingPacket::_doUSER_MESSAGE(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_user_message_in++; if (likely(size() >= (ZT_PACKET_IDX_PAYLOAD + 8))) { ZT_UserMessage um; um.origin = peer->address().toInt(); @@ -1322,6 +1445,7 @@ bool IncomingPacket::_doUSER_MESSAGE(const RuntimeEnvironment *RR,void *tPtr,con bool IncomingPacket::_doREMOTE_TRACE(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_remote_trace_in++; ZT_RemoteTrace rt; const char *ptr = reinterpret_cast(data()) + ZT_PACKET_IDX_PAYLOAD; const char *const eof = reinterpret_cast(data()) + size(); @@ -1346,9 +1470,9 @@ bool IncomingPacket::_doREMOTE_TRACE(const RuntimeEnvironment *RR,void *tPtr,con bool IncomingPacket::_doPATH_NEGOTIATION_REQUEST(const RuntimeEnvironment *RR,void *tPtr,const SharedPtr &peer) { + Metrics::pkt_path_negotiation_request_in++; uint64_t now = RR->node->now(); - SharedPtr bond = peer->bond(); - if (!bond || !bond->rateGatePathNegotiation(now, _path)) { + if (!peer->rateGatePathNegotiation(now, _path)) { return true; } if (payloadLength() != sizeof(int16_t)) { @@ -1356,9 +1480,7 @@ bool IncomingPacket::_doPATH_NEGOTIATION_REQUEST(const RuntimeEnvironment *RR,vo } int16_t remoteUtility = 0; memcpy(&remoteUtility, payload(), sizeof(int16_t)); - if (peer->bond()) { - peer->bond()->processIncomingPathNegotiationRequest(now, _path, Utils::ntoh(remoteUtility)); - } + peer->processIncomingPathNegotiationRequest(now, _path, Utils::ntoh(remoteUtility)); return true; } @@ -1370,6 +1492,8 @@ void IncomingPacket::_sendErrorNeedCredentials(const RuntimeEnvironment *RR,void outp.append((uint8_t)Packet::ERROR_NEED_MEMBERSHIP_CERTIFICATE); outp.append(nwid); outp.armor(peer->key(),true,peer->aesKeysIfSupported()); + Metrics::pkt_error_out++; + Metrics::pkt_error_need_membership_cert_out++; _path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now()); } diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp index 07c53662f..da1c7294c 100644 --- a/node/InetAddress.cpp +++ b/node/InetAddress.cpp @@ -33,46 +33,80 @@ InetAddress::IpScope InetAddress::ipScope() const case AF_INET: { const uint32_t ip = Utils::ntoh((uint32_t)reinterpret_cast(this)->sin_addr.s_addr); switch(ip >> 24) { - case 0x00: return IP_SCOPE_NONE; // 0.0.0.0/8 (reserved, never used) - case 0x06: return IP_SCOPE_PSEUDOPRIVATE; // 6.0.0.0/8 (US Army) - case 0x0a: return IP_SCOPE_PRIVATE; // 10.0.0.0/8 - case 0x0b: return IP_SCOPE_PSEUDOPRIVATE; // 11.0.0.0/8 (US DoD) - case 0x15: return IP_SCOPE_PSEUDOPRIVATE; // 21.0.0.0/8 (US DDN-RVN) - case 0x16: return IP_SCOPE_PSEUDOPRIVATE; // 22.0.0.0/8 (US DISA) - case 0x19: return IP_SCOPE_PSEUDOPRIVATE; // 25.0.0.0/8 (UK Ministry of Defense) - case 0x1a: return IP_SCOPE_PSEUDOPRIVATE; // 26.0.0.0/8 (US DISA) - case 0x1c: return IP_SCOPE_PSEUDOPRIVATE; // 28.0.0.0/8 (US DSI-North) - case 0x1d: return IP_SCOPE_PSEUDOPRIVATE; // 29.0.0.0/8 (US DISA) - case 0x1e: return IP_SCOPE_PSEUDOPRIVATE; // 30.0.0.0/8 (US DISA) - case 0x33: return IP_SCOPE_PSEUDOPRIVATE; // 51.0.0.0/8 (UK Department of Social Security) - case 0x37: return IP_SCOPE_PSEUDOPRIVATE; // 55.0.0.0/8 (US DoD) - case 0x38: return IP_SCOPE_PSEUDOPRIVATE; // 56.0.0.0/8 (US Postal Service) + case 0x00: + return IP_SCOPE_NONE; // 0.0.0.0/8 (reserved, never used) + case 0x06: + return IP_SCOPE_PSEUDOPRIVATE; // 6.0.0.0/8 (US Army) + case 0x0a: + return IP_SCOPE_PRIVATE; // 10.0.0.0/8 + case 0x0b: + return IP_SCOPE_PSEUDOPRIVATE; // 11.0.0.0/8 (US DoD) + case 0x15: + return IP_SCOPE_PSEUDOPRIVATE; // 21.0.0.0/8 (US DDN-RVN) + case 0x16: + return IP_SCOPE_PSEUDOPRIVATE; // 22.0.0.0/8 (US DISA) + case 0x19: + return IP_SCOPE_PSEUDOPRIVATE; // 25.0.0.0/8 (UK Ministry of Defense) + case 0x1a: + return IP_SCOPE_PSEUDOPRIVATE; // 26.0.0.0/8 (US DISA) + case 0x1c: + return IP_SCOPE_PSEUDOPRIVATE; // 28.0.0.0/8 (US DSI-North) + case 0x1d: + return IP_SCOPE_PSEUDOPRIVATE; // 29.0.0.0/8 (US DISA) + case 0x1e: + return IP_SCOPE_PSEUDOPRIVATE; // 30.0.0.0/8 (US DISA) + case 0x33: + return IP_SCOPE_PSEUDOPRIVATE; // 51.0.0.0/8 (UK Department of Social Security) + case 0x37: + return IP_SCOPE_PSEUDOPRIVATE; // 55.0.0.0/8 (US DoD) + case 0x38: + return IP_SCOPE_PSEUDOPRIVATE; // 56.0.0.0/8 (US Postal Service) case 0x64: - if ((ip & 0xffc00000) == 0x64400000) return IP_SCOPE_PRIVATE; // 100.64.0.0/10 + if ((ip & 0xffc00000) == 0x64400000) { + return IP_SCOPE_PRIVATE; // 100.64.0.0/10 + } break; - case 0x7f: return IP_SCOPE_LOOPBACK; // 127.0.0.0/8 + case 0x7f: + return IP_SCOPE_LOOPBACK; // 127.0.0.0/8 case 0xa9: - if ((ip & 0xffff0000) == 0xa9fe0000) return IP_SCOPE_LINK_LOCAL; // 169.254.0.0/16 + if ((ip & 0xffff0000) == 0xa9fe0000) { + return IP_SCOPE_LINK_LOCAL; // 169.254.0.0/16 + } break; case 0xac: - if ((ip & 0xfff00000) == 0xac100000) return IP_SCOPE_PRIVATE; // 172.16.0.0/12 + if ((ip & 0xfff00000) == 0xac100000) { + return IP_SCOPE_PRIVATE; // 172.16.0.0/12 + } break; case 0xc0: - if ((ip & 0xffff0000) == 0xc0a80000) return IP_SCOPE_PRIVATE; // 192.168.0.0/16 - if ((ip & 0xffffff00) == 0xc0000200) return IP_SCOPE_PRIVATE; // 192.0.2.0/24 + if ((ip & 0xffff0000) == 0xc0a80000) { + return IP_SCOPE_PRIVATE; // 192.168.0.0/16 + } + if ((ip & 0xffffff00) == 0xc0000200) { + return IP_SCOPE_PRIVATE; // 192.0.2.0/24 + } break; case 0xc6: - if ((ip & 0xfffe0000) == 0xc6120000) return IP_SCOPE_PRIVATE; // 198.18.0.0/15 - if ((ip & 0xffffff00) == 0xc6336400) return IP_SCOPE_PRIVATE; // 198.51.100.0/24 + if ((ip & 0xfffe0000) == 0xc6120000) { + return IP_SCOPE_PRIVATE; // 198.18.0.0/15 + } + if ((ip & 0xffffff00) == 0xc6336400) { + return IP_SCOPE_PRIVATE; // 198.51.100.0/24 + } break; case 0xcb: - if ((ip & 0xffffff00) == 0xcb007100) return IP_SCOPE_PRIVATE; // 203.0.113.0/24 + if ((ip & 0xffffff00) == 0xcb007100) { + return IP_SCOPE_PRIVATE; // 203.0.113.0/24 + } break; - case 0xff: return IP_SCOPE_NONE; // 255.0.0.0/8 (broadcast, or unused/unusable) + case 0xff: + return IP_SCOPE_NONE; // 255.0.0.0/8 (broadcast, or unused/unusable) } switch(ip >> 28) { - case 0xe: return IP_SCOPE_MULTICAST; // 224.0.0.0/4 - case 0xf: return IP_SCOPE_PSEUDOPRIVATE; // 240.0.0.0/4 ("reserved," usually unusable) + case 0xe: + return IP_SCOPE_MULTICAST; // 224.0.0.0/4 + case 0xf: + return IP_SCOPE_PSEUDOPRIVATE; // 240.0.0.0/4 ("reserved," usually unusable) } return IP_SCOPE_GLOBAL; } break; @@ -80,21 +114,35 @@ InetAddress::IpScope InetAddress::ipScope() const case AF_INET6: { const unsigned char *ip = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); if ((ip[0] & 0xf0) == 0xf0) { - if (ip[0] == 0xff) return IP_SCOPE_MULTICAST; // ff00::/8 + if (ip[0] == 0xff) { + return IP_SCOPE_MULTICAST; // ff00::/8 + } if ((ip[0] == 0xfe)&&((ip[1] & 0xc0) == 0x80)) { unsigned int k = 2; - while ((!ip[k])&&(k < 15)) ++k; - if ((k == 15)&&(ip[15] == 0x01)) - return IP_SCOPE_LOOPBACK; // fe80::1/128 - else return IP_SCOPE_LINK_LOCAL; // fe80::/10 + while ((!ip[k])&&(k < 15)) { + ++k; + } + if ((k == 15)&&(ip[15] == 0x01)) { + return IP_SCOPE_LOOPBACK; // fe80::1/128 + } else { + return IP_SCOPE_LINK_LOCAL; // fe80::/10 + } + } + if ((ip[0] & 0xfe) == 0xfc) { + return IP_SCOPE_PRIVATE; // fc00::/7 } - if ((ip[0] & 0xfe) == 0xfc) return IP_SCOPE_PRIVATE; // fc00::/7 } unsigned int k = 0; - while ((!ip[k])&&(k < 15)) ++k; + while ((!ip[k])&&(k < 15)) { + ++k; + } if (k == 15) { // all 0's except last byte - if (ip[15] == 0x01) return IP_SCOPE_LOOPBACK; // ::1/128 - if (ip[15] == 0x00) return IP_SCOPE_NONE; // ::/128 + if (ip[15] == 0x01) { + return IP_SCOPE_LOOPBACK; // ::1/128 + } + if (ip[15] == 0x00) { + return IP_SCOPE_NONE; // ::/128 + } } return IP_SCOPE_GLOBAL; } break; @@ -124,7 +172,9 @@ char *InetAddress::toString(char buf[64]) const { char *p = toIpString(buf); if (*p) { - while (*p) ++p; + while (*p) { + ++p; + } *(p++) = '/'; Utils::decimal(port(),p); } @@ -160,14 +210,17 @@ bool InetAddress::fromString(const char *ipSlashPort) memset(this,0,sizeof(InetAddress)); - if (!*ipSlashPort) + if (!*ipSlashPort) { return true; - if (!Utils::scopy(buf,sizeof(buf),ipSlashPort)) + } + if (!Utils::scopy(buf,sizeof(buf),ipSlashPort)) { return false; + } char *portAt = buf; - while ((*portAt)&&(*portAt != '/')) + while ((*portAt)&&(*portAt != '/')) { ++portAt; + } unsigned int port = 0; if (*portAt) { *(portAt++) = (char)0; @@ -255,8 +308,9 @@ bool InetAddress::isEqualPrefix(const InetAddress &addr) const const uint8_t *a = reinterpret_cast(reinterpret_cast(&addr)->sin6_addr.s6_addr); const uint8_t *b = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); for(unsigned int i=0;i<16;++i) { - if ((a[i] & m[i]) != (b[i] & n[i])) + if ((a[i] & m[i]) != (b[i] & n[i])) { return false; + } } return true; } @@ -271,8 +325,9 @@ bool InetAddress::containsAddress(const InetAddress &addr) const switch(ss_family) { case AF_INET: { const unsigned int bits = netmaskBits(); - if (bits == 0) + if (bits == 0) { return true; + } return ( (Utils::ntoh((uint32_t)reinterpret_cast(&addr)->sin_addr.s_addr) >> (32 - bits)) == (Utils::ntoh((uint32_t)reinterpret_cast(this)->sin_addr.s_addr) >> (32 - bits)) ); } case AF_INET6: { @@ -281,8 +336,9 @@ bool InetAddress::containsAddress(const InetAddress &addr) const const uint8_t *a = reinterpret_cast(reinterpret_cast(&addr)->sin6_addr.s6_addr); const uint8_t *b = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); for(unsigned int i=0;i<16;++i) { - if ((a[i] & m[i]) != b[i]) + if ((a[i] & m[i]) != b[i]) { return false; + } } return true; } @@ -296,26 +352,32 @@ bool InetAddress::isNetwork() const switch(ss_family) { case AF_INET: { unsigned int bits = netmaskBits(); - if (bits <= 0) + if (bits <= 0) { return false; - if (bits >= 32) + } + if (bits >= 32) { return false; + } uint32_t ip = Utils::ntoh((uint32_t)reinterpret_cast(this)->sin_addr.s_addr); return ((ip & (0xffffffff >> bits)) == 0); } case AF_INET6: { unsigned int bits = netmaskBits(); - if (bits <= 0) + if (bits <= 0) { return false; - if (bits >= 128) + } + if (bits >= 128) { return false; + } const unsigned char *ip = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); unsigned int p = bits / 8; - if ((ip[p++] & (0xff >> (bits % 8))) != 0) + if ((ip[p++] & (0xff >> (bits % 8))) != 0) { return false; + } while (p < 16) { - if (ip[p++]) + if (ip[p++]) { return false; + } } return true; } @@ -348,30 +410,32 @@ bool InetAddress::operator==(const InetAddress &a) const bool InetAddress::operator<(const InetAddress &a) const { - if (ss_family < a.ss_family) + if (ss_family < a.ss_family) { return true; - else if (ss_family == a.ss_family) { + } else if (ss_family == a.ss_family) { switch(ss_family) { case AF_INET: - if (reinterpret_cast(this)->sin_port < reinterpret_cast(&a)->sin_port) + if (reinterpret_cast(this)->sin_port < reinterpret_cast(&a)->sin_port) { return true; - else if (reinterpret_cast(this)->sin_port == reinterpret_cast(&a)->sin_port) { - if (reinterpret_cast(this)->sin_addr.s_addr < reinterpret_cast(&a)->sin_addr.s_addr) + } else if (reinterpret_cast(this)->sin_port == reinterpret_cast(&a)->sin_port) { + if (reinterpret_cast(this)->sin_addr.s_addr < reinterpret_cast(&a)->sin_addr.s_addr) { return true; + } } break; case AF_INET6: - if (reinterpret_cast(this)->sin6_port < reinterpret_cast(&a)->sin6_port) + if (reinterpret_cast(this)->sin6_port < reinterpret_cast(&a)->sin6_port) { return true; - else if (reinterpret_cast(this)->sin6_port == reinterpret_cast(&a)->sin6_port) { - if (reinterpret_cast(this)->sin6_flowinfo < reinterpret_cast(&a)->sin6_flowinfo) + } else if (reinterpret_cast(this)->sin6_port == reinterpret_cast(&a)->sin6_port) { + if (reinterpret_cast(this)->sin6_flowinfo < reinterpret_cast(&a)->sin6_flowinfo) { return true; - else if (reinterpret_cast(this)->sin6_flowinfo == reinterpret_cast(&a)->sin6_flowinfo) { - if (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr,reinterpret_cast(&a)->sin6_addr.s6_addr,16) < 0) + } else if (reinterpret_cast(this)->sin6_flowinfo == reinterpret_cast(&a)->sin6_flowinfo) { + if (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr,reinterpret_cast(&a)->sin6_addr.s6_addr,16) < 0) { return true; - else if (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr,reinterpret_cast(&a)->sin6_addr.s6_addr,16) == 0) { - if (reinterpret_cast(this)->sin6_scope_id < reinterpret_cast(&a)->sin6_scope_id) + } else if (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr,reinterpret_cast(&a)->sin6_addr.s6_addr,16) == 0) { + if (reinterpret_cast(this)->sin6_scope_id < reinterpret_cast(&a)->sin6_scope_id) { return true; + } } } } diff --git a/node/InetAddress.hpp b/node/InetAddress.hpp index a9a35dd20..4a3dd80cb 100644 --- a/node/InetAddress.hpp +++ b/node/InetAddress.hpp @@ -94,29 +94,33 @@ struct InetAddress : public sockaddr_storage inline InetAddress &operator=(const InetAddress &a) { - if (&a != this) + if (&a != this) { memcpy(this,&a,sizeof(InetAddress)); + } return *this; } inline InetAddress &operator=(const InetAddress *a) { - if (a != this) + if (a != this) { memcpy(this,a,sizeof(InetAddress)); + } return *this; } inline InetAddress &operator=(const struct sockaddr_storage &ss) { - if (reinterpret_cast(&ss) != this) + if (reinterpret_cast(&ss) != this) { memcpy(this,&ss,sizeof(InetAddress)); + } return *this; } inline InetAddress &operator=(const struct sockaddr_storage *ss) { - if (reinterpret_cast(ss) != this) + if (reinterpret_cast(ss) != this) { memcpy(this,ss,sizeof(InetAddress)); + } return *this; } @@ -230,8 +234,9 @@ struct InetAddress : public sockaddr_storage case AF_INET6: const uint8_t *ipb = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); for(int i=0;i<16;++i) { - if (ipb[i]) + if (ipb[i]) { return false; + } } return (reinterpret_cast(this)->sin6_port == 0); } @@ -260,9 +265,12 @@ struct InetAddress : public sockaddr_storage inline unsigned int port() const { switch(ss_family) { - case AF_INET: return Utils::ntoh((uint16_t)(reinterpret_cast(this)->sin_port)); - case AF_INET6: return Utils::ntoh((uint16_t)(reinterpret_cast(this)->sin6_port)); - default: return 0; + case AF_INET: + return Utils::ntoh((uint16_t)(reinterpret_cast(this)->sin_port)); + case AF_INET6: + return Utils::ntoh((uint16_t)(reinterpret_cast(this)->sin6_port)); + default: + return 0; } } @@ -284,8 +292,10 @@ struct InetAddress : public sockaddr_storage { const unsigned int n = port(); switch(ss_family) { - case AF_INET: return (n <= 32); - case AF_INET6: return (n <= 128); + case AF_INET: + return (n <= 32); + case AF_INET6: + return (n <= 128); } return false; } @@ -356,9 +366,12 @@ struct InetAddress : public sockaddr_storage inline const void *rawIpData() const { switch(ss_family) { - case AF_INET: return (const void *)&(reinterpret_cast(this)->sin_addr.s_addr); - case AF_INET6: return (const void *)(reinterpret_cast(this)->sin6_addr.s6_addr); - default: return 0; + case AF_INET: + return (const void *)&(reinterpret_cast(this)->sin_addr.s_addr); + case AF_INET6: + return (const void *)(reinterpret_cast(this)->sin6_addr.s6_addr); + default: + return 0; } } @@ -390,10 +403,12 @@ struct InetAddress : public sockaddr_storage inline bool ipsEqual(const InetAddress &a) const { if (ss_family == a.ss_family) { - if (ss_family == AF_INET) + if (ss_family == AF_INET) { return (reinterpret_cast(this)->sin_addr.s_addr == reinterpret_cast(&a)->sin_addr.s_addr); - if (ss_family == AF_INET6) + } + if (ss_family == AF_INET6) { return (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr,reinterpret_cast(&a)->sin6_addr.s6_addr,16) == 0); + } return (memcmp(this,&a,sizeof(InetAddress)) == 0); } return false; @@ -410,10 +425,12 @@ struct InetAddress : public sockaddr_storage inline bool ipsEqual2(const InetAddress &a) const { if (ss_family == a.ss_family) { - if (ss_family == AF_INET) + if (ss_family == AF_INET) { return (reinterpret_cast(this)->sin_addr.s_addr == reinterpret_cast(&a)->sin_addr.s_addr); - if (ss_family == AF_INET6) - return (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr,reinterpret_cast(&a)->sin6_addr.s6_addr,8) == 0); + } + if (ss_family == AF_INET6) { + return (memcmp(reinterpret_cast(this)->sin6_addr.s6_addr, reinterpret_cast(&a)->sin6_addr.s6_addr, 8) == 0); + } return (memcmp(this,&a,sizeof(InetAddress)) == 0); } return false; @@ -426,14 +443,16 @@ struct InetAddress : public sockaddr_storage } else if (ss_family == AF_INET6) { unsigned long tmp = reinterpret_cast(this)->sin6_port; const uint8_t *a = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); - for(long i=0;i<16;++i) + for(long i=0;i<16;++i) { reinterpret_cast(&tmp)[i % sizeof(tmp)] ^= a[i]; + } return tmp; } else { unsigned long tmp = reinterpret_cast(this)->sin6_port; const uint8_t *a = reinterpret_cast(this); - for(long i=0;i<(long)sizeof(InetAddress);++i) + for(long i=0;i<(long)sizeof(InetAddress);++i) { reinterpret_cast(&tmp)[i % sizeof(tmp)] ^= a[i]; + } return tmp; } } @@ -470,8 +489,9 @@ struct InetAddress : public sockaddr_storage while ((ip0 >> 31) == (ip1 >> 31)) { ip0 <<= 1; ip1 <<= 1; - if (++c == 32) + if (++c == 32) { break; + } } } break; case AF_INET6: { @@ -485,8 +505,9 @@ struct InetAddress : public sockaddr_storage uint8_t ip1b = ip1[i]; uint8_t bit = 0x80; while (bit != 0) { - if ((ip0b & bit) != (ip1b & bit)) + if ((ip0b & bit) != (ip1b & bit)) { break; + } ++c; bit >>= 1; } @@ -512,11 +533,16 @@ struct InetAddress : public sockaddr_storage break; case AF_INET6: { const uint8_t *ip = reinterpret_cast(reinterpret_cast(this)->sin6_addr.s6_addr); - h = ((unsigned long)ip[0]); h <<= 1; - h += ((unsigned long)ip[1]); h <<= 1; - h += ((unsigned long)ip[2]); h <<= 1; - h += ((unsigned long)ip[3]); h <<= 1; - h += ((unsigned long)ip[4]); h <<= 1; + h = ((unsigned long)ip[0]); + h <<= 1; + h += ((unsigned long)ip[1]); + h <<= 1; + h += ((unsigned long)ip[2]); + h <<= 1; + h += ((unsigned long)ip[3]); + h <<= 1; + h += ((unsigned long)ip[4]); + h <<= 1; h += ((unsigned long)ip[5]); } break; } @@ -570,13 +596,17 @@ struct InetAddress : public sockaddr_storage return (unsigned int)(b.template at(p) + 3); // other addresses begin with 16-bit non-inclusive length case 0x04: ss_family = AF_INET; - memcpy(&(reinterpret_cast(this)->sin_addr.s_addr),b.field(p,4),4); p += 4; - reinterpret_cast(this)->sin_port = Utils::hton(b.template at(p)); p += 2; + memcpy(&(reinterpret_cast(this)->sin_addr.s_addr),b.field(p,4),4); + p += 4; + reinterpret_cast(this)->sin_port = Utils::hton(b.template at(p)); + p += 2; break; case 0x06: ss_family = AF_INET6; - memcpy(reinterpret_cast(this)->sin6_addr.s6_addr,b.field(p,16),16); p += 16; - reinterpret_cast(this)->sin_port = Utils::hton(b.template at(p)); p += 2; + memcpy(reinterpret_cast(this)->sin6_addr.s6_addr,b.field(p,16),16); + p += 16; + reinterpret_cast(this)->sin_port = Utils::hton(b.template at(p)); + p += 2; break; default: throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_BAD_ENCODING; diff --git a/node/MAC.hpp b/node/MAC.hpp index de72a1aed..ca4eacf6f 100644 --- a/node/MAC.hpp +++ b/node/MAC.hpp @@ -71,11 +71,16 @@ public: return; } const unsigned char *b = (const unsigned char *)bits; - _m = ((((uint64_t)*b) & 0xff) << 40); ++b; - _m |= ((((uint64_t)*b) & 0xff) << 32); ++b; - _m |= ((((uint64_t)*b) & 0xff) << 24); ++b; - _m |= ((((uint64_t)*b) & 0xff) << 16); ++b; - _m |= ((((uint64_t)*b) & 0xff) << 8); ++b; + _m = ((((uint64_t)*b) & 0xff) << 40); + ++b; + _m |= ((((uint64_t)*b) & 0xff) << 32); + ++b; + _m |= ((((uint64_t)*b) & 0xff) << 24); + ++b; + _m |= ((((uint64_t)*b) & 0xff) << 16); + ++b; + _m |= ((((uint64_t)*b) & 0xff) << 8); + ++b; _m |= (((uint64_t)*b) & 0xff); } @@ -85,8 +90,9 @@ public: */ inline void copyTo(void *buf,unsigned int len) const { - if (len < 6) + if (len < 6) { return; + } unsigned char *b = (unsigned char *)buf; *(b++) = (unsigned char)((_m >> 40) & 0xff); *(b++) = (unsigned char)((_m >> 32) & 0xff); diff --git a/node/Membership.cpp b/node/Membership.cpp index 8ddd61f09..1b317d94f 100644 --- a/node/Membership.cpp +++ b/node/Membership.cpp @@ -39,18 +39,21 @@ void Membership::pushCredentials(const RuntimeEnvironment *RR,void *tPtr,const i { const Capability *sendCaps[ZT_MAX_NETWORK_CAPABILITIES]; unsigned int sendCapCount = 0; - for(unsigned int c=0;csw->send(tPtr,outp,true); + Metrics::pkt_network_credentials_out++; } _lastPushedCredentials = now; @@ -115,8 +119,9 @@ Membership::AddCredentialResult Membership::addCredential(const RuntimeEnvironme RR->t->credentialRejected(tPtr,com,"old"); return ADD_REJECTED; } - if (_com == com) + if (_com == com) { return ADD_ACCEPTED_REDUNDANT; + } switch(com.verify(RR,tPtr)) { default: @@ -141,8 +146,9 @@ static Membership::AddCredentialResult _addCredImpl(Hashtable &remot RR->t->credentialRejected(tPtr,cred,"old"); return Membership::ADD_REJECTED; } - if (*rc == cred) + if (*rc == cred) { return Membership::ADD_ACCEPTED_REDUNDANT; + } } const int64_t *const rt = revocations.get(Membership::credentialKey(C::credentialType(),cred.id())); @@ -156,8 +162,9 @@ static Membership::AddCredentialResult _addCredImpl(Hashtable &remot RR->t->credentialRejected(tPtr,cred,"invalid"); return Membership::ADD_REJECTED; case 0: - if (!rc) + if (!rc) { rc = &(remoteCreds[cred.id()]); + } *rc = cred; return Membership::ADD_ACCEPTED_NEW; case 1: diff --git a/node/Membership.hpp b/node/Membership.hpp index 21561a18e..35b341fd4 100644 --- a/node/Membership.hpp +++ b/node/Membership.hpp @@ -115,8 +115,9 @@ public: CertificateOfOwnership *v = (CertificateOfOwnership *)0; Hashtable< uint32_t,CertificateOfOwnership >::Iterator i(*(const_cast< Hashtable< uint32_t,CertificateOfOwnership> *>(&_remoteCoos))); while (i.next(k,v)) { - if (_isCredentialTimestampValid(nconf,*v)&&(v->owns(r))) + if (_isCredentialTimestampValid(nconf,*v)&&(v->owns(r))) { return true; + } } return _isV6NDPEmulated(nconf,r); } @@ -187,8 +188,9 @@ private: break; } } - if (prefixMatches) + if (prefixMatches) { return true; + } break; } } @@ -203,8 +205,9 @@ private: break; } } - if (prefixMatches) + if (prefixMatches) { return true; + } break; } } @@ -230,8 +233,9 @@ private: C *v = (C *)0; typename Hashtable::Iterator i(remoteCreds); while (i.next(k,v)) { - if (!_isCredentialTimestampValid(nconf,*v)) + if (!_isCredentialTimestampValid(nconf,*v)) { remoteCreds.erase(*k); + } } } @@ -271,8 +275,9 @@ public: inline Capability *next() { while (_hti.next(_k,_c)) { - if (_m._isCredentialTimestampValid(_nconf,*_c)) + if (_m._isCredentialTimestampValid(_nconf,*_c)) { return _c; + } } return (Capability *)0; } diff --git a/node/Metrics.cpp b/node/Metrics.cpp new file mode 100644 index 000000000..0b4d3495b --- /dev/null +++ b/node/Metrics.cpp @@ -0,0 +1,272 @@ +/* + * Copyright (c)2013-2023 ZeroTier, Inc. + * + * Use of this software is governed by the Business Source License included + * in the LICENSE.TXT file in the project's root directory. + * + * Change Date: 2025-01-01 + * + * On the date above, in accordance with the Business Source License, use + * of this software will be governed by version 2.0 of the Apache License. + */ + +#include +#include + +namespace prometheus { + namespace simpleapi { + std::shared_ptr registry_ptr = std::make_shared(); + Registry& registry = *registry_ptr; + SaveToFile saver; + } +} + +namespace ZeroTier { + namespace Metrics { + // Packet Type Counts + prometheus::simpleapi::counter_family_t packets + { "zt_packet", "ZeroTier packet type counts"}; + + // Incoming packets + prometheus::simpleapi::counter_metric_t pkt_nop_in + { packets.Add({{"packet_type", "nop"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_in + { packets.Add({{"packet_type", "error"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_ack_in + { packets.Add({{"packet_type", "ack"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_qos_in + { packets.Add({{"packet_type", "qos"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_hello_in + { packets.Add({{"packet_type", "hello"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_ok_in + { packets.Add({{"packet_type", "ok"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_whois_in + { packets.Add({{"packet_type", "whois"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_rendezvous_in + { packets.Add({{"packet_type", "rendezvous"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_frame_in + { packets.Add({{"packet_type", "frame"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_ext_frame_in + { packets.Add({{"packet_type", "ext_frame"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_echo_in + { packets.Add({{"packet_type", "echo"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_multicast_like_in + { packets.Add({{"packet_type", "multicast_like"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_network_credentials_in + { packets.Add({{"packet_type", "network_credentials"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_network_config_request_in + { packets.Add({{"packet_type", "network_config_request"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_network_config_in + { packets.Add({{"packet_type", "network_config"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_multicast_gather_in + { packets.Add({{"packet_type", "multicast_gather"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_multicast_frame_in + { packets.Add({{"packet_type", "multicast_frame"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_push_direct_paths_in + { packets.Add({{"packet_type", "push_direct_paths"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_user_message_in + { packets.Add({{"packet_type", "user_message"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_remote_trace_in + { packets.Add({{"packet_type", "remote_trace"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_path_negotiation_request_in + { packets.Add({{"packet_type", "path_negotiation_request"}, {"direction", "rx"}}) }; + + // Outgoing packets + prometheus::simpleapi::counter_metric_t pkt_nop_out + { packets.Add({{"packet_type", "nop"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_out + { packets.Add({{"packet_type", "error"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_ack_out + { packets.Add({{"packet_type", "ack"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_qos_out + { packets.Add({{"packet_type", "qos"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_hello_out + { packets.Add({{"packet_type", "hello"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_ok_out + { packets.Add({{"packet_type", "ok"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_whois_out + { packets.Add({{"packet_type", "whois"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_rendezvous_out + { packets.Add({{"packet_type", "rendezvous"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_frame_out + { packets.Add({{"packet_type", "frame"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_ext_frame_out + { packets.Add({{"packet_type", "ext_frame"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_echo_out + { packets.Add({{"packet_type", "echo"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_multicast_like_out + { packets.Add({{"packet_type", "multicast_like"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_network_credentials_out + { packets.Add({{"packet_type", "network_credentials"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_network_config_request_out + { packets.Add({{"packet_type", "network_config_request"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_network_config_out + { packets.Add({{"packet_type", "network_config"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_multicast_gather_out + { packets.Add({{"packet_type", "multicast_gather"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_multicast_frame_out + { packets.Add({{"packet_type", "multicast_frame"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_push_direct_paths_out + { packets.Add({{"packet_type", "push_direct_paths"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_user_message_out + { packets.Add({{"packet_type", "user_message"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_remote_trace_out + { packets.Add({{"packet_type", "remote_trace"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_path_negotiation_request_out + { packets.Add({{"packet_type", "path_negotiation_request"}, {"direction", "tx"}}) }; + + + // Packet Error Counts + prometheus::simpleapi::counter_family_t packet_errors + { "zt_packet_error", "ZeroTier packet errors"}; + + // Incoming Error Counts + prometheus::simpleapi::counter_metric_t pkt_error_obj_not_found_in + { packet_errors.Add({{"error_type", "obj_not_found"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_unsupported_op_in + { packet_errors.Add({{"error_type", "unsupported_operation"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_identity_collision_in + { packet_errors.Add({{"error_type", "identity_collision"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_need_membership_cert_in + { packet_errors.Add({{"error_type", "need_membership_certificate"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_network_access_denied_in + { packet_errors.Add({{"error_type", "network_access_denied"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_unwanted_multicast_in + { packet_errors.Add({{"error_type", "unwanted_multicast"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_authentication_required_in + { packet_errors.Add({{"error_type", "authentication_required"}, {"direction", "rx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_internal_server_error_in + { packet_errors.Add({{"error_type", "internal_server_error"}, {"direction", "rx"}}) }; + + // Outgoing Error Counts + prometheus::simpleapi::counter_metric_t pkt_error_obj_not_found_out + { packet_errors.Add({{"error_type", "obj_not_found"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_unsupported_op_out + { packet_errors.Add({{"error_type", "unsupported_operation"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_identity_collision_out + { packet_errors.Add({{"error_type", "identity_collision"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_need_membership_cert_out + { packet_errors.Add({{"error_type", "need_membership_certificate"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_network_access_denied_out + { packet_errors.Add({{"error_type", "network_access_denied"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_unwanted_multicast_out + { packet_errors.Add({{"error_type", "unwanted_multicast"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_authentication_required_out + { packet_errors.Add({{"error_type", "authentication_required"}, {"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t pkt_error_internal_server_error_out + { packet_errors.Add({{"error_type", "internal_server_error"}, {"direction", "tx"}}) }; + + // Data Sent/Received Metrics + prometheus::simpleapi::counter_family_t data + { "zt_data", "number of bytes ZeroTier has transmitted or received" }; + prometheus::simpleapi::counter_metric_t udp_recv + { data.Add({{"protocol","udp"},{"direction","rx"}}) }; + prometheus::simpleapi::counter_metric_t udp_send + { data.Add({{"protocol","udp"},{"direction","tx"}}) }; + prometheus::simpleapi::counter_metric_t tcp_send + { data.Add({{"protocol","tcp"},{"direction", "tx"}}) }; + prometheus::simpleapi::counter_metric_t tcp_recv + { data.Add({{"protocol","tcp"},{"direction", "rx"}}) }; + + // Network Metrics + prometheus::simpleapi::gauge_metric_t network_num_joined + { "zt_num_networks", "number of networks this instance is joined to" }; + prometheus::simpleapi::gauge_family_t network_num_multicast_groups + { "zt_network_multicast_groups_subscribed", "number of multicast groups networks are subscribed to" }; + prometheus::simpleapi::counter_family_t network_packets + { "zt_network_packets", "number of incoming/outgoing packets per network" }; + +#ifndef ZT_NO_PEER_METRICS + // PeerMetrics + prometheus::CustomFamily> &peer_latency = + prometheus::Builder>() + .Name("zt_peer_latency") + .Help("peer latency (ms)") + .Register(prometheus::simpleapi::registry); + + prometheus::simpleapi::gauge_family_t peer_path_count + { "zt_peer_path_count", "number of paths to peer" }; + prometheus::simpleapi::counter_family_t peer_packets + { "zt_peer_packets", "number of packets to/from a peer" }; + prometheus::simpleapi::counter_family_t peer_packet_errors + { "zt_peer_packet_errors" , "number of incoming packet errors from a peer" }; +#endif + + // General Controller Metrics + prometheus::simpleapi::gauge_metric_t network_count + {"controller_network_count", "number of networks the controller is serving"}; + prometheus::simpleapi::gauge_metric_t member_count + {"controller_member_count", "number of network members the controller is serving"}; + prometheus::simpleapi::counter_metric_t network_changes + {"controller_network_change_count", "number of times a network configuration is changed"}; + prometheus::simpleapi::counter_metric_t member_changes + {"controller_member_change_count", "number of times a network member configuration is changed"}; + prometheus::simpleapi::counter_metric_t member_auths + {"controller_member_auth_count", "number of network member auths"}; + prometheus::simpleapi::counter_metric_t member_deauths + {"controller_member_deauth_count", "number of network member deauths"}; + + prometheus::simpleapi::gauge_metric_t network_config_request_queue_size + { "controller_network_config_request_queue", "number of entries in the request queue for network configurations" }; + + prometheus::simpleapi::counter_metric_t sso_expiration_checks + { "controller_sso_expiration_checks", "number of sso expiration checks done" }; + + prometheus::simpleapi::counter_metric_t sso_member_deauth + { "controller_sso_timeouts", "number of sso timeouts" }; + + prometheus::simpleapi::counter_metric_t network_config_request + { "controller_network_config_request", "count of config requests handled" }; + prometheus::simpleapi::gauge_metric_t network_config_request_threads + { "controller_network_config_request_threads", "number of active network config handling threads" }; + prometheus::simpleapi::counter_metric_t db_get_network + { "controller_db_get_network", "counter" }; + prometheus::simpleapi::counter_metric_t db_get_network_and_member + { "controller_db_get_network_and_member", "counter" }; + prometheus::simpleapi::counter_metric_t db_get_network_and_member_and_summary + { "controller_db_get_networK_and_member_summary", "counter" }; + prometheus::simpleapi::counter_metric_t db_get_member_list + { "controller_db_get_member_list", "counter" }; + prometheus::simpleapi::counter_metric_t db_get_network_list + { "controller_db_get_network_list", "counter" }; + prometheus::simpleapi::counter_metric_t db_member_change + { "controller_db_member_change", "counter" }; + prometheus::simpleapi::counter_metric_t db_network_change + { "controller_db_network_change", "counter" }; + +#ifdef ZT_CONTROLLER_USE_LIBPQ + // Central Controller Metrics + prometheus::simpleapi::counter_metric_t pgsql_mem_notification + { "controller_pgsql_member_notifications_received", "number of member change notifications received via pgsql NOTIFY" }; + prometheus::simpleapi::counter_metric_t pgsql_net_notification + { "controller_pgsql_network_notifications_received", "number of network change notifications received via pgsql NOTIFY" }; + prometheus::simpleapi::counter_metric_t pgsql_node_checkin + { "controller_pgsql_node_checkin_count", "number of node check-ins (pgsql)" }; + prometheus::simpleapi::counter_metric_t pgsql_commit_ticks + { "controller_pgsql_commit_ticks", "number of commit ticks run (pgsql)" }; + prometheus::simpleapi::counter_metric_t db_get_sso_info + { "controller_db_get_sso_info", "counter" }; + + prometheus::simpleapi::counter_metric_t redis_mem_notification + { "controller_redis_member_notifications_received", "number of member change notifications received via redis" }; + prometheus::simpleapi::counter_metric_t redis_net_notification + { "controller_redis_network_notifications_received", "number of network change notifications received via redis" }; + prometheus::simpleapi::counter_metric_t redis_node_checkin + { "controller_redis_node_checkin_count", "number of node check-ins (redis)" }; + + // Central DB Pool Metrics + prometheus::simpleapi::counter_metric_t conn_counter + { "controller_pgsql_connections_created", "number of pgsql connections created"}; + prometheus::simpleapi::counter_metric_t max_pool_size + { "controller_pgsql_max_conn_pool_size", "max connection pool size for postgres"}; + prometheus::simpleapi::counter_metric_t min_pool_size + { "controller_pgsql_min_conn_pool_size", "minimum connection pool size for postgres" }; + prometheus::simpleapi::gauge_metric_t pool_avail + { "controller_pgsql_available_conns", "number of available postgres connections" }; + prometheus::simpleapi::gauge_metric_t pool_in_use + { "controller_pgsql_in_use_conns", "number of postgres database connections in use" }; + prometheus::simpleapi::counter_metric_t pool_errors + { "controller_pgsql_connection_errors", "number of connection errors the connection pool has seen" }; +#endif + } +} diff --git a/node/Metrics.hpp b/node/Metrics.hpp new file mode 100644 index 000000000..055288f68 --- /dev/null +++ b/node/Metrics.hpp @@ -0,0 +1,166 @@ +/* + * Copyright (c)2013-2023 ZeroTier, Inc. + * + * Use of this software is governed by the Business Source License included + * in the LICENSE.TXT file in the project's root directory. + * + * Change Date: 2025-01-01 + * + * On the date above, in accordance with the Business Source License, use + * of this software will be governed by version 2.0 of the Apache License. + */ +#ifndef METRICS_H_ +#define METRICS_H_ + +#include +#include + +namespace prometheus { + namespace simpleapi { + extern std::shared_ptr registry_ptr; + } +} + +namespace ZeroTier { + namespace Metrics { + // Packet Type Counts + extern prometheus::simpleapi::counter_family_t packets; + + // incoming packets + extern prometheus::simpleapi::counter_metric_t pkt_nop_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_in; + extern prometheus::simpleapi::counter_metric_t pkt_ack_in; + extern prometheus::simpleapi::counter_metric_t pkt_qos_in; + extern prometheus::simpleapi::counter_metric_t pkt_hello_in; + extern prometheus::simpleapi::counter_metric_t pkt_ok_in; + extern prometheus::simpleapi::counter_metric_t pkt_whois_in; + extern prometheus::simpleapi::counter_metric_t pkt_rendezvous_in; + extern prometheus::simpleapi::counter_metric_t pkt_frame_in; + extern prometheus::simpleapi::counter_metric_t pkt_ext_frame_in; + extern prometheus::simpleapi::counter_metric_t pkt_echo_in; + extern prometheus::simpleapi::counter_metric_t pkt_multicast_like_in; + extern prometheus::simpleapi::counter_metric_t pkt_network_credentials_in; + extern prometheus::simpleapi::counter_metric_t pkt_network_config_request_in; + extern prometheus::simpleapi::counter_metric_t pkt_network_config_in; + extern prometheus::simpleapi::counter_metric_t pkt_multicast_gather_in; + extern prometheus::simpleapi::counter_metric_t pkt_multicast_frame_in; + extern prometheus::simpleapi::counter_metric_t pkt_push_direct_paths_in; + extern prometheus::simpleapi::counter_metric_t pkt_user_message_in; + extern prometheus::simpleapi::counter_metric_t pkt_remote_trace_in; + extern prometheus::simpleapi::counter_metric_t pkt_path_negotiation_request_in; + + // outgoing packets + extern prometheus::simpleapi::counter_metric_t pkt_nop_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_out; + extern prometheus::simpleapi::counter_metric_t pkt_ack_out; + extern prometheus::simpleapi::counter_metric_t pkt_qos_out; + extern prometheus::simpleapi::counter_metric_t pkt_hello_out; + extern prometheus::simpleapi::counter_metric_t pkt_ok_out; + extern prometheus::simpleapi::counter_metric_t pkt_whois_out; + extern prometheus::simpleapi::counter_metric_t pkt_rendezvous_out; + extern prometheus::simpleapi::counter_metric_t pkt_frame_out; + extern prometheus::simpleapi::counter_metric_t pkt_ext_frame_out; + extern prometheus::simpleapi::counter_metric_t pkt_echo_out; + extern prometheus::simpleapi::counter_metric_t pkt_multicast_like_out; + extern prometheus::simpleapi::counter_metric_t pkt_network_credentials_out; + extern prometheus::simpleapi::counter_metric_t pkt_network_config_request_out; + extern prometheus::simpleapi::counter_metric_t pkt_network_config_out; + extern prometheus::simpleapi::counter_metric_t pkt_multicast_gather_out; + extern prometheus::simpleapi::counter_metric_t pkt_multicast_frame_out; + extern prometheus::simpleapi::counter_metric_t pkt_push_direct_paths_out; + extern prometheus::simpleapi::counter_metric_t pkt_user_message_out; + extern prometheus::simpleapi::counter_metric_t pkt_remote_trace_out; + extern prometheus::simpleapi::counter_metric_t pkt_path_negotiation_request_out; + + // Packet Error Counts + extern prometheus::simpleapi::counter_family_t packet_errors; + + // incoming errors + extern prometheus::simpleapi::counter_metric_t pkt_error_obj_not_found_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_unsupported_op_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_identity_collision_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_need_membership_cert_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_network_access_denied_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_unwanted_multicast_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_authentication_required_in; + extern prometheus::simpleapi::counter_metric_t pkt_error_internal_server_error_in; + + // outgoing errors + extern prometheus::simpleapi::counter_metric_t pkt_error_obj_not_found_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_unsupported_op_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_identity_collision_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_need_membership_cert_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_network_access_denied_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_unwanted_multicast_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_authentication_required_out; + extern prometheus::simpleapi::counter_metric_t pkt_error_internal_server_error_out; + + // Data Sent/Received Metrics + extern prometheus::simpleapi::counter_family_t data; + extern prometheus::simpleapi::counter_metric_t udp_send; + extern prometheus::simpleapi::counter_metric_t udp_recv; + extern prometheus::simpleapi::counter_metric_t tcp_send; + extern prometheus::simpleapi::counter_metric_t tcp_recv; + + // Network Metrics + extern prometheus::simpleapi::gauge_metric_t network_num_joined; + extern prometheus::simpleapi::gauge_family_t network_num_multicast_groups; + extern prometheus::simpleapi::counter_family_t network_packets; + +#ifndef ZT_NO_PEER_METRICS + // Peer Metrics + extern prometheus::CustomFamily> &peer_latency; + extern prometheus::simpleapi::gauge_family_t peer_path_count; + extern prometheus::simpleapi::counter_family_t peer_packets; + extern prometheus::simpleapi::counter_family_t peer_packet_errors; +#endif + + // General Controller Metrics + extern prometheus::simpleapi::gauge_metric_t network_count; + extern prometheus::simpleapi::gauge_metric_t member_count; + extern prometheus::simpleapi::counter_metric_t network_changes; + extern prometheus::simpleapi::counter_metric_t member_changes; + extern prometheus::simpleapi::counter_metric_t member_auths; + extern prometheus::simpleapi::counter_metric_t member_deauths; + + extern prometheus::simpleapi::gauge_metric_t network_config_request_queue_size; + extern prometheus::simpleapi::counter_metric_t sso_expiration_checks; + extern prometheus::simpleapi::counter_metric_t sso_member_deauth; + extern prometheus::simpleapi::counter_metric_t network_config_request; + extern prometheus::simpleapi::gauge_metric_t network_config_request_threads; + + extern prometheus::simpleapi::counter_metric_t db_get_network; + extern prometheus::simpleapi::counter_metric_t db_get_network_and_member; + extern prometheus::simpleapi::counter_metric_t db_get_network_and_member_and_summary; + extern prometheus::simpleapi::counter_metric_t db_get_member_list; + extern prometheus::simpleapi::counter_metric_t db_get_network_list; + extern prometheus::simpleapi::counter_metric_t db_member_change; + extern prometheus::simpleapi::counter_metric_t db_network_change; + + +#ifdef ZT_CONTROLLER_USE_LIBPQ + // Central Controller Metrics + extern prometheus::simpleapi::counter_metric_t pgsql_mem_notification; + extern prometheus::simpleapi::counter_metric_t pgsql_net_notification; + extern prometheus::simpleapi::counter_metric_t pgsql_node_checkin; + extern prometheus::simpleapi::counter_metric_t pgsql_commit_ticks; + extern prometheus::simpleapi::counter_metric_t db_get_sso_info; + + extern prometheus::simpleapi::counter_metric_t redis_mem_notification; + extern prometheus::simpleapi::counter_metric_t redis_net_notification; + extern prometheus::simpleapi::counter_metric_t redis_node_checkin; + + + + // Central DB Pool Metrics + extern prometheus::simpleapi::counter_metric_t conn_counter; + extern prometheus::simpleapi::counter_metric_t max_pool_size; + extern prometheus::simpleapi::counter_metric_t min_pool_size; + extern prometheus::simpleapi::gauge_metric_t pool_avail; + extern prometheus::simpleapi::gauge_metric_t pool_in_use; + extern prometheus::simpleapi::counter_metric_t pool_errors; +#endif + } // namespace Metrics +}// namespace ZeroTier + +#endif // METRICS_H_ diff --git a/node/MulticastGroup.hpp b/node/MulticastGroup.hpp index 2a68d0ab9..e9ab9c07f 100644 --- a/node/MulticastGroup.hpp +++ b/node/MulticastGroup.hpp @@ -92,10 +92,11 @@ public: inline bool operator!=(const MulticastGroup &g) const { return ((_mac != g._mac)||(_adi != g._adi)); } inline bool operator<(const MulticastGroup &g) const { - if (_mac < g._mac) + if (_mac < g._mac) { return true; - else if (_mac == g._mac) + } else if (_mac == g._mac) { return (_adi < g._adi); + } return false; } inline bool operator>(const MulticastGroup &g) const { return (g < *this); } diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp index d93b2ae10..1306a53f2 100644 --- a/node/Multicaster.cpp +++ b/node/Multicaster.cpp @@ -69,10 +69,11 @@ unsigned int Multicaster::gather(const Address &queryingPeer,uint64_t nwid,const unsigned int added = 0,i,k,rptr,totalKnown = 0; uint64_t a,picked[(ZT_PROTO_MAX_PACKET_LENGTH / 5) + 2]; - if (!limit) + if (!limit) { return 0; - else if (limit > 0xffff) + } else if (limit > 0xffff) { limit = 0xffff; + } const unsigned int totalAt = appendTo.size(); appendTo.addSize(4); // sizeof(uint32_t) @@ -133,12 +134,14 @@ std::vector

    Multicaster::getMembers(uint64_t nwid,const MulticastGroup std::vector
    ls; Mutex::Lock _l(_groups_m); const MulticastGroupStatus *s = _groups.get(Multicaster::Key(nwid,mg)); - if (!s) + if (!s) { return ls; + } for(std::vector::const_reverse_iterator m(s->members.rbegin());m!=s->members.rend();++m) { ls.push_back(m->address); - if (ls.size() >= limit) + if (ls.size() >= limit) { break; + } } return ls; } @@ -193,8 +196,11 @@ void Multicaster::send( outp.append((uint32_t)mg.adi()); outp.append((uint16_t)etherType); outp.append(data,len); - if (!network->config().disableCompression()) outp.compress(); + if (!network->config().disableCompression()) { + outp.compress(); + } outp.armor(bestMulticastReplicator->key(),true,bestMulticastReplicator->aesKeysIfSupported()); + Metrics::pkt_multicast_frame_out++; bestMulticastReplicatorPath->send(RR,tPtr,outp.data(),outp.size(),now); return; } @@ -208,12 +214,14 @@ void Multicaster::send( if (!gs.members.empty()) { // Allocate a memory buffer if group is monstrous - if (gs.members.size() > (sizeof(idxbuf) / sizeof(unsigned long))) + if (gs.members.size() > (sizeof(idxbuf) / sizeof(unsigned long))) { indexes = new unsigned long[gs.members.size()]; + } // Generate a random permutation of member indexes - for(unsigned long i=0;i0;--i) { unsigned long j = (unsigned long)RR->node->prng() % (i + 1); unsigned long tmp = indexes[j]; @@ -248,8 +256,9 @@ void Multicaster::send( for(unsigned int i=0;iidentity.address())&&(activeBridges[i] != origin)) { out.sendOnly(RR,tPtr,activeBridges[i]); // optimization: don't use dedup log if it's a one-pass send - if (++count >= limit) + if (++count >= limit) { break; + } } } @@ -276,16 +285,18 @@ void Multicaster::send( unsigned int numExplicitGatherPeers = 0; SharedPtr bestRoot(RR->topology->getUpstreamPeer()); - if (bestRoot) + if (bestRoot) { explicitGatherPeers[numExplicitGatherPeers++] = bestRoot->address(); + } explicitGatherPeers[numExplicitGatherPeers++] = network->controller(); Address ac[ZT_MAX_NETWORK_SPECIALISTS]; const unsigned int accnt = network->config().alwaysContactAddresses(ac); unsigned int shuffled[ZT_MAX_NETWORK_SPECIALISTS]; - for(unsigned int i=0;i>1;inode->prng(); const unsigned int x1 = shuffled[(unsigned int)x % accnt]; @@ -296,16 +307,18 @@ void Multicaster::send( } for(unsigned int i=0;i anchors(network->config().anchors()); for(std::vector
    ::const_iterator a(anchors.begin());a!=anchors.end();++a) { if (*a != RR->identity.address()) { explicitGatherPeers[numExplicitGatherPeers++] = *a; - if (numExplicitGatherPeers == 16) + if (numExplicitGatherPeers == 16) { break; + } } } @@ -317,10 +330,12 @@ void Multicaster::send( mg.mac().appendTo(outp); outp.append((uint32_t)mg.adi()); outp.append((uint32_t)gatherLimit); - if (com) + if (com) { com->serialize(outp); + } RR->node->expectReplyTo(outp.packetId()); RR->sw->send(tPtr,outp,true); + Metrics::pkt_multicast_gather_out++; } } @@ -340,16 +355,18 @@ void Multicaster::send( data, len); - if (origin) + if (origin) { out.logAsSent(origin); + } unsigned int count = 0; for(unsigned int i=0;iidentity.address()) { out.sendAndLog(RR,tPtr,activeBridges[i]); - if (++count >= limit) + if (++count >= limit) { break; + } } } @@ -365,8 +382,9 @@ void Multicaster::send( } catch ( ... ) {} // this is a sanity check to catch any failures and make sure indexes[] still gets deleted // Free allocated memory buffer if any - if (indexes != idxbuf) + if (indexes != idxbuf) { delete [] indexes; + } } void Multicaster::clean(int64_t now) @@ -377,9 +395,11 @@ void Multicaster::clean(int64_t now) Hashtable::Iterator mm(_groups); while (mm.next(k,s)) { for(std::list::iterator tx(s->txQueue.begin());tx!=s->txQueue.end();) { - if ((tx->expired(now))||(tx->atLimit())) + if ((tx->expired(now))||(tx->atLimit())) { s->txQueue.erase(tx++); - else ++tx; + } else { + ++tx; + } } unsigned long count = 0; @@ -411,8 +431,9 @@ void Multicaster::_add(void *tPtr,int64_t now,uint64_t nwid,const MulticastGroup // assumes _groups_m is locked // Do not add self -- even if someone else returns it - if (member == RR->identity.address()) + if (member == RR->identity.address()) { return; + } std::vector::iterator m(std::lower_bound(gs.members.begin(),gs.members.end(),member)); if (m != gs.members.end()) { @@ -426,13 +447,15 @@ void Multicaster::_add(void *tPtr,int64_t now,uint64_t nwid,const MulticastGroup } for(std::list::iterator tx(gs.txQueue.begin());tx!=gs.txQueue.end();) { - if (tx->atLimit()) + if (tx->atLimit()) { gs.txQueue.erase(tx++); - else { + } else { tx->sendIfNew(RR,tPtr,member); - if (tx->atLimit()) + if (tx->atLimit()) { gs.txQueue.erase(tx++); - else ++tx; + } else { + ++tx; + } } } } diff --git a/node/Network.cpp b/node/Network.cpp index b03f4b3d0..1e77e4636 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -32,6 +32,7 @@ #include "Node.hpp" #include "Peer.hpp" #include "Trace.hpp" +#include "Metrics.hpp" #include @@ -42,8 +43,9 @@ namespace { // Returns true if packet appears valid; pos and proto will be set static inline bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLen,unsigned int &pos,unsigned int &proto) { - if (frameLen < 40) + if (frameLen < 40) { return false; + } pos = 40; proto = frameData[6]; while (pos <= frameLen) { @@ -52,8 +54,9 @@ static inline bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLe case 43: // routing case 60: // destination options case 135: // mobility options - if ((pos + 8) > frameLen) + if ((pos + 8) > frameLen) { return false; // invalid! + } proto = frameData[pos]; pos += ((unsigned int)frameData[pos + 1] * 8) + 8; break; @@ -165,8 +168,9 @@ static _doZtFilterResult _doZtFilter( case ZT_NETWORK_RULE_ACTION_TEE: case ZT_NETWORK_RULE_ACTION_WATCH: case ZT_NETWORK_RULE_ACTION_REDIRECT: - if (RR->identity.address() == rules[rn].v.fwd.address) + if (RR->identity.address() == rules[rn].v.fwd.address) { superAccept = true; + } break; default: break; @@ -342,7 +346,9 @@ static _doZtFilterResult _doZtFilter( case 0x84: // SCTP case 0x88: // UDPLite if (frameLen > (pos + 4)) { - if (rt == ZT_NETWORK_RULE_MATCH_IP_DEST_PORT_RANGE) pos += 2; + if (rt == ZT_NETWORK_RULE_MATCH_IP_DEST_PORT_RANGE) { + pos += 2; + } p = (int)frameData[pos++] << 8; p |= (int)frameData[pos]; } @@ -358,8 +364,12 @@ static _doZtFilterResult _doZtFilter( break; case ZT_NETWORK_RULE_MATCH_CHARACTERISTICS: { uint64_t cf = (inbound) ? ZT_RULE_PACKET_CHARACTERISTICS_INBOUND : 0ULL; - if (macDest.isMulticast()) cf |= ZT_RULE_PACKET_CHARACTERISTICS_MULTICAST; - if (macDest.isBroadcast()) cf |= ZT_RULE_PACKET_CHARACTERISTICS_BROADCAST; + if (macDest.isMulticast()) { + cf |= ZT_RULE_PACKET_CHARACTERISTICS_MULTICAST; + } + if (macDest.isBroadcast()) { + cf |= ZT_RULE_PACKET_CHARACTERISTICS_BROADCAST; + } if (ownershipVerificationMask == 1) { ownershipVerificationMask = 0; InetAddress src; @@ -386,17 +396,21 @@ static _doZtFilterResult _doZtFilter( } if (inbound) { if (membership) { - if ((src)&&(membership->hasCertificateOfOwnershipFor(nconf,src))) + if ((src)&&(membership->hasCertificateOfOwnershipFor(nconf,src))) { ownershipVerificationMask |= ZT_RULE_PACKET_CHARACTERISTICS_SENDER_IP_AUTHENTICATED; - if (membership->hasCertificateOfOwnershipFor(nconf,macSource)) + } + if (membership->hasCertificateOfOwnershipFor(nconf,macSource)) { ownershipVerificationMask |= ZT_RULE_PACKET_CHARACTERISTICS_SENDER_MAC_AUTHENTICATED; + } } } else { for(unsigned int i=0;i> 7) & 1)); - else thisSetMatches &= (thisRuleMatches ^ ((rules[rn].t >> 7) & 1)); + } else { + thisSetMatches &= (thisRuleMatches ^ ((rules[rn].t >> 7) & 1)); + } } return DOZTFILTER_NO_MATCH; @@ -544,23 +560,31 @@ Network::Network(const RuntimeEnvironment *renv,void *tPtr,uint64_t nwid,void *u RR(renv), _uPtr(uptr), _id(nwid), + _nwidStr(OSUtils::networkIDStr(nwid)), _lastAnnouncedMulticastGroupsUpstream(0), _mac(renv->identity.address(),nwid), _portInitialized(false), _lastConfigUpdate(0), _destroyed(false), _netconfFailure(NETCONF_FAILURE_NONE), - _portError(0) + _portError(0), + _num_multicast_groups{Metrics::network_num_multicast_groups.Add({{"network_id", _nwidStr}})}, + _incoming_packets_accepted{Metrics::network_packets.Add({{"direction","rx"},{"network_id", _nwidStr},{"accepted","yes"}})}, + _incoming_packets_dropped{Metrics::network_packets.Add({{"direction","rx"},{"network_id", _nwidStr},{"accepted","no"}})}, + _outgoing_packets_accepted{Metrics::network_packets.Add({{"direction","tx"},{"network_id", _nwidStr},{"accepted","yes"}})}, + _outgoing_packets_dropped{Metrics::network_packets.Add({{"direction","tx"},{"network_id", _nwidStr},{"accepted","no"}})} { - for(int i=0;isetConfiguration(tPtr,*nconf,false); _lastConfigUpdate = 0; // still want to re-request since it's likely outdated } else { uint64_t tmp[2]; - tmp[0] = nwid; tmp[1] = 0; + tmp[0] = nwid; + tmp[1] = 0; bool got = false; Dictionary *dict = new Dictionary(); @@ -580,8 +604,9 @@ Network::Network(const RuntimeEnvironment *renv,void *tPtr,uint64_t nwid,void *u } catch ( ... ) {} delete dict; - if (!got) + if (!got) { RR->node->stateObjectPut(tPtr,ZT_STATE_OBJECT_NETWORK_CONFIG,tmp,"\n",1); + } } if (!_portInitialized) { @@ -591,13 +616,15 @@ Network::Network(const RuntimeEnvironment *renv,void *tPtr,uint64_t nwid,void *u _portError = RR->node->configureVirtualNetworkPort(tPtr,_id,&_uPtr,ZT_VIRTUAL_NETWORK_CONFIG_OPERATION_UP,&ctmp); _portInitialized = true; } + + Metrics::network_num_joined++; } Network::~Network() { ZT_VirtualNetworkConfig ctmp; _externalConfig(&ctmp); - + Metrics::network_num_joined--; if (_destroyed) { // This is done in Node::leave() so we can pass tPtr properly //RR->node->configureVirtualNetworkPort((void *)0,_id,&_uPtr,ZT_VIRTUAL_NETWORK_CONFIG_OPERATION_DESTROY,&ctmp); @@ -664,14 +691,16 @@ bool Network::filterOutgoingPacket( break; } - if (accept) + if (accept) { break; + } } } break; case DOZTFILTER_DROP: - if (_config.remoteTraceTarget) + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(Trace::RuleResultLog *)0,(Capability *)0,ztSource,ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,noTee,false,0); + } return false; case DOZTFILTER_REDIRECT: // interpreted as ACCEPT but ztFinalDest will have been changed in _doZtFilter() @@ -685,6 +714,7 @@ bool Network::filterOutgoingPacket( } if (accept) { + _outgoing_packets_accepted++; if ((!noTee)&&(cc)) { Packet outp(cc,RR->identity.address(),Packet::VERB_EXT_FRAME); outp.append(_id); @@ -708,17 +738,21 @@ bool Network::filterOutgoingPacket( outp.compress(); RR->sw->send(tPtr,outp,true); - if (_config.remoteTraceTarget) + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(localCapabilityIndex >= 0) ? &crrl : (Trace::RuleResultLog *)0,(localCapabilityIndex >= 0) ? &(_config.capabilities[localCapabilityIndex]) : (Capability *)0,ztSource,ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,noTee,false,0); + } return false; // DROP locally, since we redirected } else { - if (_config.remoteTraceTarget) + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(localCapabilityIndex >= 0) ? &crrl : (Trace::RuleResultLog *)0,(localCapabilityIndex >= 0) ? &(_config.capabilities[localCapabilityIndex]) : (Capability *)0,ztSource,ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,noTee,false,1); + } return true; } } else { - if (_config.remoteTraceTarget) + _outgoing_packets_dropped++; + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(localCapabilityIndex >= 0) ? &crrl : (Trace::RuleResultLog *)0,(localCapabilityIndex >= 0) ? &(_config.capabilities[localCapabilityIndex]) : (Capability *)0,ztSource,ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,noTee,false,0); + } return false; } } @@ -788,8 +822,9 @@ int Network::filterIncomingPacket( } break; case DOZTFILTER_DROP: - if (_config.remoteTraceTarget) + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(Trace::RuleResultLog *)0,(Capability *)0,sourcePeer->address(),ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,false,true,0); + } return 0; // DROP case DOZTFILTER_REDIRECT: // interpreted as ACCEPT but ztFinalDest will have been changed in _doZtFilter() @@ -802,6 +837,7 @@ int Network::filterIncomingPacket( } if (accept) { + _incoming_packets_accepted++; if (cc) { Packet outp(cc,RR->identity.address(),Packet::VERB_EXT_FRAME); outp.append(_id); @@ -825,24 +861,29 @@ int Network::filterIncomingPacket( outp.compress(); RR->sw->send(tPtr,outp,true); - if (_config.remoteTraceTarget) + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(c) ? &crrl : (Trace::RuleResultLog *)0,c,sourcePeer->address(),ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,false,true,0); + } return 0; // DROP locally, since we redirected } + } else { + _incoming_packets_dropped++; } - if (_config.remoteTraceTarget) + if (_config.remoteTraceTarget) { RR->t->networkFilter(tPtr,*this,rrl,(c) ? &crrl : (Trace::RuleResultLog *)0,c,sourcePeer->address(),ztDest,macSource,macDest,frameData,frameLen,etherType,vlanId,false,true,accept); + } return accept; } bool Network::subscribedToMulticastGroup(const MulticastGroup &mg,bool includeBridgedGroups) const { Mutex::Lock _l(_lock); - if (std::binary_search(_myMulticastGroups.begin(),_myMulticastGroups.end(),mg)) + if (std::binary_search(_myMulticastGroups.begin(),_myMulticastGroups.end(),mg)) { return true; - else if (includeBridgedGroups) + } else if (includeBridgedGroups) { return _multicastGroupsBehindMe.contains(mg); + } return false; } @@ -852,6 +893,7 @@ void Network::multicastSubscribe(void *tPtr,const MulticastGroup &mg) if (!std::binary_search(_myMulticastGroups.begin(),_myMulticastGroups.end(),mg)) { _myMulticastGroups.insert(std::upper_bound(_myMulticastGroups.begin(),_myMulticastGroups.end(),mg),mg); _sendUpdatesToMembers(tPtr,&mg); + _num_multicast_groups++; } } @@ -859,20 +901,25 @@ void Network::multicastUnsubscribe(const MulticastGroup &mg) { Mutex::Lock _l(_lock); std::vector::iterator i(std::lower_bound(_myMulticastGroups.begin(),_myMulticastGroups.end(),mg)); - if ( (i != _myMulticastGroups.end()) && (*i == mg) ) + if ( (i != _myMulticastGroups.end()) && (*i == mg) ) { _myMulticastGroups.erase(i); + _num_multicast_groups--; + } } uint64_t Network::handleConfigChunk(void *tPtr,const uint64_t packetId,const Address &source,const Buffer &chunk,unsigned int ptr) { - if (_destroyed) + if (_destroyed) { return 0; + } const unsigned int start = ptr; ptr += 8; // skip network ID, which is already obviously known - const unsigned int chunkLen = chunk.at(ptr); ptr += 2; - const void *chunkData = chunk.field(ptr,chunkLen); ptr += chunkLen; + const unsigned int chunkLen = chunk.at(ptr); + ptr += 2; + const void *chunkData = chunk.field(ptr,chunkLen); + ptr += chunkLen; NetworkConfig *nc = (NetworkConfig *)0; uint64_t configUpdateId; @@ -884,19 +931,25 @@ uint64_t Network::handleConfigChunk(void *tPtr,const uint64_t packetId,const Add unsigned long totalLength,chunkIndex; if (ptr < chunk.size()) { const bool fastPropagate = ((chunk[ptr++] & 0x01) != 0); - configUpdateId = chunk.at(ptr); ptr += 8; - totalLength = chunk.at(ptr); ptr += 4; - chunkIndex = chunk.at(ptr); ptr += 4; + configUpdateId = chunk.at(ptr); + ptr += 8; + totalLength = chunk.at(ptr); + ptr += 4; + chunkIndex = chunk.at(ptr); + ptr += 4; - if (((chunkIndex + chunkLen) > totalLength)||(totalLength >= ZT_NETWORKCONFIG_DICT_CAPACITY)) // >= since we need room for a null at the end + if (((chunkIndex + chunkLen) > totalLength)||(totalLength >= ZT_NETWORKCONFIG_DICT_CAPACITY)) { // >= since we need room for a null at the end return 0; - if ((chunk[ptr] != 1)||(chunk.at(ptr + 1) != ZT_C25519_SIGNATURE_LEN)) + } + if ((chunk[ptr] != 1)||(chunk.at(ptr + 1) != ZT_C25519_SIGNATURE_LEN)) { return 0; + } const uint8_t *sig = reinterpret_cast(chunk.field(ptr + 3,ZT_C25519_SIGNATURE_LEN)); // We can use the signature, which is unique per chunk, to get a per-chunk ID for local deduplication use - for(unsigned int i=0;i<16;++i) + for(unsigned int i=0;i<16;++i) { reinterpret_cast(&chunkId)[i & 7] ^= sig[i]; + } // Find existing or new slot for this update and check if this is a duplicate chunk for(int i=0;ihaveChunks;++j) { - if (c->haveChunkIds[j] == chunkId) + if (c->haveChunkIds[j] == chunkId) { return 0; + } } break; @@ -916,10 +970,12 @@ uint64_t Network::handleConfigChunk(void *tPtr,const uint64_t packetId,const Add // If it's not a duplicate, check chunk signature const Identity controllerId(RR->topology->getIdentity(tPtr,controller())); - if (!controllerId) // we should always have the controller identity by now, otherwise how would we have queried it the first time? + if (!controllerId) { // we should always have the controller identity by now, otherwise how would we have queried it the first time? return 0; - if (!controllerId.verify(chunk.field(start,ptr - start),ptr - start,sig,ZT_C25519_SIGNATURE_LEN)) + } + if (!controllerId.verify(chunk.field(start,ptr - start),ptr - start,sig,ZT_C25519_SIGNATURE_LEN)) { return 0; + } // New properly verified chunks can be flooded "virally" through the network if (fastPropagate) { @@ -941,12 +997,14 @@ uint64_t Network::handleConfigChunk(void *tPtr,const uint64_t packetId,const Add totalLength = chunkLen; chunkIndex = 0; - if (totalLength >= ZT_NETWORKCONFIG_DICT_CAPACITY) + if (totalLength >= ZT_NETWORKCONFIG_DICT_CAPACITY) { return 0; + } for(int i=0;its)) + if ((!c)||(_incomingConfigChunks[i].ts < c->ts)) { c = &(_incomingConfigChunks[i]); + } } } else { // Single-chunk unsigned legacy configs are only allowed from the controller itself @@ -960,8 +1018,9 @@ uint64_t Network::handleConfigChunk(void *tPtr,const uint64_t packetId,const Add c->haveChunks = 0; c->haveBytes = 0; } - if (c->haveChunks >= ZT_NETWORK_MAX_UPDATE_CHUNKS) + if (c->haveChunks >= ZT_NETWORK_MAX_UPDATE_CHUNKS) { return false; + } c->haveChunkIds[c->haveChunks++] = chunkId; memcpy(c->data.unsafeData() + chunkIndex,chunkData,chunkLen); @@ -996,15 +1055,18 @@ uint64_t Network::handleConfigChunk(void *tPtr,const uint64_t packetId,const Add int Network::setConfiguration(void *tPtr,const NetworkConfig &nconf,bool saveToDisk) { - if (_destroyed) + if (_destroyed) { return 0; + } // _lock is NOT locked when this is called try { - if ((nconf.issuedTo != RR->identity.address())||(nconf.networkId != _id)) + if ((nconf.issuedTo != RR->identity.address())||(nconf.networkId != _id)) { return 0; // invalid config that is not for us or not for this network - if (_config == nconf) + } + if (_config == nconf) { return 1; // OK config, but duplicate of what we already have + } ZT_VirtualNetworkConfig ctmp; bool oldPortInitialized; @@ -1029,7 +1091,8 @@ int Network::setConfiguration(void *tPtr,const NetworkConfig &nconf,bool saveToD try { if (nconf.toDictionary(*d,false)) { uint64_t tmp[2]; - tmp[0] = _id; tmp[1] = 0; + tmp[0] = _id; + tmp[1] = 0; RR->node->stateObjectPut(tPtr,ZT_STATE_OBJECT_NETWORK_CONFIG,tmp,d->data(),d->sizeBytes()); } } catch ( ... ) {} @@ -1043,8 +1106,9 @@ int Network::setConfiguration(void *tPtr,const NetworkConfig &nconf,bool saveToD void Network::requestConfiguration(void *tPtr) { - if (_destroyed) + if (_destroyed) { return; + } if ((_id >> 56) == 0xff) { if ((_id & 0xffffff) == 0) { @@ -1145,8 +1209,9 @@ void Network::requestConfiguration(void *tPtr) nconf->staticIpCount = 2; nconf->ruleCount = 1; - if (networkHub != 0) + if (networkHub != 0) { nconf->specialists[0] = networkHub; + } nconf->staticIps[0] = InetAddress::makeIpv66plane(_id,myAddress); nconf->staticIps[1].set(ipv4,4,8); @@ -1162,7 +1227,9 @@ void Network::requestConfiguration(void *tPtr) nconf->name[4] = 'c'; nconf->name[5] = '-'; unsigned long nn = 6; - while ((nconf->name[nn] = v4ascii[nn - 6])) ++nn; + while ((nconf->name[nn] = v4ascii[nn - 6])) { + ++nn; + } nconf->name[nn++] = '.'; nconf->name[nn++] = '0'; nconf->name[nn++] = '.'; @@ -1234,8 +1301,9 @@ bool Network::gate(void *tPtr,const SharedPtr &peer) // comRevocationThreshold = m->comRevocationThreshold(); //} if ( (_config.isPublic()) || ((m)&&(m->isAllowedOnNetwork(_config, peer->identity()))) ) { - if (!m) + if (!m) { m = &(_membership(peer->address())); + } if (m->multicastLikeGate(now)) { _announceMulticastGroupsTo(tPtr,peer->address(),_allMulticastGroups()); } @@ -1260,16 +1328,18 @@ void Network::clean() const int64_t now = RR->node->now(); Mutex::Lock _l(_lock); - if (_destroyed) + if (_destroyed) { return; + } { Hashtable< MulticastGroup,uint64_t >::Iterator i(_multicastGroupsBehindMe); MulticastGroup *mg = (MulticastGroup *)0; uint64_t *ts = (uint64_t *)0; while (i.next(mg,ts)) { - if ((now - *ts) > (ZT_MULTICAST_LIKE_EXPIRE * 2)) + if ((now - *ts) > (ZT_MULTICAST_LIKE_EXPIRE * 2)) { _multicastGroupsBehindMe.erase(*mg); + } } } @@ -1278,9 +1348,11 @@ void Network::clean() Membership *m = (Membership *)0; Hashtable::Iterator i(_memberships); while (i.next(a,m)) { - if (!RR->topology->getPeerNoCache(*a)) + if (!RR->topology->getPeerNoCache(*a)) { _memberships.erase(*a); - else m->clean(now,_config); + } else { + m->clean(now,_config); + } } } } @@ -1315,8 +1387,9 @@ void Network::learnBridgeRoute(const MAC &mac,const Address &addr) { Hashtable::Iterator i(_remoteBridgeRoutes); while (i.next(m,a)) { - if (*a == maxAddr) + if (*a == maxAddr) { _remoteBridgeRoutes.erase(*m); + } } } } @@ -1327,22 +1400,25 @@ void Network::learnBridgedMulticastGroup(void *tPtr,const MulticastGroup &mg,int Mutex::Lock _l(_lock); const unsigned long tmp = (unsigned long)_multicastGroupsBehindMe.size(); _multicastGroupsBehindMe.set(mg,now); - if (tmp != _multicastGroupsBehindMe.size()) + if (tmp != _multicastGroupsBehindMe.size()) { _sendUpdatesToMembers(tPtr,&mg); + } } Membership::AddCredentialResult Network::addCredential(void *tPtr,const CertificateOfMembership &com) { - if (com.networkId() != _id) + if (com.networkId() != _id) { return Membership::ADD_REJECTED; + } Mutex::Lock _l(_lock); return _membership(com.issuedTo()).addCredential(RR,tPtr,_config,com); } Membership::AddCredentialResult Network::addCredential(void *tPtr,const Address &sentFrom,const Revocation &rev) { - if (rev.networkId() != _id) + if (rev.networkId() != _id) { return Membership::ADD_REJECTED; + } Mutex::Lock _l(_lock); Membership &m = _membership(rev.target()); @@ -1379,8 +1455,9 @@ void Network::destroy() ZT_VirtualNetworkStatus Network::_status() const { // assumes _lock is locked - if (_portError) + if (_portError) { return ZT_NETWORK_STATUS_PORT_ERROR; + } switch(_netconfFailure) { case NETCONF_FAILURE_ACCESS_DENIED: return ZT_NETWORK_STATUS_ACCESS_DENIED; @@ -1400,9 +1477,11 @@ void Network::_externalConfig(ZT_VirtualNetworkConfig *ec) const // assumes _lock is locked ec->nwid = _id; ec->mac = _mac.toInt(); - if (_config) + if (_config) { Utils::scopy(ec->name,sizeof(ec->name),_config.name); - else ec->name[0] = (char)0; + } else { + ec->name[0] = (char)0; + } ec->status = _status(); ec->type = (_config) ? (_config.isPrivate() ? ZT_NETWORK_TYPE_PRIVATE : ZT_NETWORK_TYPE_PUBLIC) : ZT_NETWORK_TYPE_PRIVATE; ec->mtu = (_config) ? _config.mtu : ZT_DEFAULT_MTU; @@ -1459,23 +1538,28 @@ void Network::_sendUpdatesToMembers(void *tPtr,const MulticastGroup *const newMu const int64_t now = RR->node->now(); std::vector groups; - if (newMulticastGroup) + if (newMulticastGroup) { groups.push_back(*newMulticastGroup); - else groups = _allMulticastGroups(); + } else { + groups = _allMulticastGroups(); + } std::vector
    alwaysAnnounceTo; if ((newMulticastGroup)||((now - _lastAnnouncedMulticastGroupsUpstream) >= ZT_MULTICAST_ANNOUNCE_PERIOD)) { - if (!newMulticastGroup) + if (!newMulticastGroup) { _lastAnnouncedMulticastGroupsUpstream = now; + } alwaysAnnounceTo = _config.alwaysContactAddresses(); - if (std::find(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end(),controller()) == alwaysAnnounceTo.end()) + if (std::find(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end(),controller()) == alwaysAnnounceTo.end()) { alwaysAnnounceTo.push_back(controller()); + } const std::vector
    upstreams(RR->topology->upstreamAddresses()); for(std::vector
    ::const_iterator a(upstreams.begin());a!=upstreams.end();++a) { - if (std::find(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end(),*a) == alwaysAnnounceTo.end()) + if (std::find(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end(),*a) == alwaysAnnounceTo.end()) { alwaysAnnounceTo.push_back(*a); + } } std::sort(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end()); @@ -1504,8 +1588,9 @@ void Network::_sendUpdatesToMembers(void *tPtr,const MulticastGroup *const newMu while (i.next(a,m)) { const Identity remoteIdentity(RR->topology->getIdentity(tPtr, *a)); if (remoteIdentity) { - if ( ( m->multicastLikeGate(now) || (newMulticastGroup) ) && (m->isAllowedOnNetwork(_config, remoteIdentity)) && (!std::binary_search(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end(),*a)) ) + if ( ( m->multicastLikeGate(now) || (newMulticastGroup) ) && (m->isAllowedOnNetwork(_config, remoteIdentity)) && (!std::binary_search(alwaysAnnounceTo.begin(),alwaysAnnounceTo.end(),*a)) ) { _announceMulticastGroupsTo(tPtr,*a,groups); + } } } } @@ -1544,8 +1629,9 @@ std::vector Network::_allMulticastGroups() const mgs.reserve(_myMulticastGroups.size() + _multicastGroupsBehindMe.size() + 1); mgs.insert(mgs.end(),_myMulticastGroups.begin(),_myMulticastGroups.end()); _multicastGroupsBehindMe.appendKeys(mgs); - if ((_config)&&(_config.enableBroadcast())) + if ((_config)&&(_config.enableBroadcast())) { mgs.push_back(Network::BROADCAST); + } std::sort(mgs.begin(),mgs.end()); mgs.erase(std::unique(mgs.begin(),mgs.end()),mgs.end()); return mgs; diff --git a/node/Network.hpp b/node/Network.hpp index 275e82f02..a3bce14af 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -37,6 +37,7 @@ #include "Membership.hpp" #include "NetworkConfig.hpp" #include "CertificateOfMembership.hpp" +#include "Metrics.hpp" #define ZT_NETWORK_MAX_INCOMING_UPDATES 3 #define ZT_NETWORK_MAX_UPDATE_CHUNKS ((ZT_NETWORKCONFIG_DICT_CAPACITY / 1024) + 1) @@ -332,8 +333,9 @@ public: */ inline Membership::AddCredentialResult addCredential(void *tPtr,const Capability &cap) { - if (cap.networkId() != _id) + if (cap.networkId() != _id) { return Membership::ADD_REJECTED; + } Mutex::Lock _l(_lock); return _membership(cap.issuedTo()).addCredential(RR,tPtr,_config,cap); } @@ -343,8 +345,9 @@ public: */ inline Membership::AddCredentialResult addCredential(void *tPtr,const Tag &tag) { - if (tag.networkId() != _id) + if (tag.networkId() != _id) { return Membership::ADD_REJECTED; + } Mutex::Lock _l(_lock); return _membership(tag.issuedTo()).addCredential(RR,tPtr,_config,tag); } @@ -359,8 +362,9 @@ public: */ inline Membership::AddCredentialResult addCredential(void *tPtr,const CertificateOfOwnership &coo) { - if (coo.networkId() != _id) + if (coo.networkId() != _id) { return Membership::ADD_REJECTED; + } Mutex::Lock _l(_lock); return _membership(coo.issuedTo()).addCredential(RR,tPtr,_config,coo); } @@ -377,8 +381,9 @@ public: Mutex::Lock _l(_lock); Membership &m = _membership(to); const int64_t lastPushed = m.lastPushedCredentials(); - if ((lastPushed < _lastConfigUpdate)||((now - lastPushed) > ZT_PEER_CREDENTIALS_REQUEST_RATE_LIMIT)) + if ((lastPushed < _lastConfigUpdate)||((now - lastPushed) > ZT_PEER_CREDENTIALS_REQUEST_RATE_LIMIT)) { m.pushCredentials(RR,tPtr,now,to,_config); + } } /** @@ -393,8 +398,9 @@ public: Mutex::Lock _l(_lock); Membership &m = _membership(to); const int64_t lastPushed = m.lastPushedCredentials(); - if ((lastPushed < _lastConfigUpdate)||((now - lastPushed) > ZT_PEER_ACTIVITY_TIMEOUT)) + if ((lastPushed < _lastConfigUpdate)||((now - lastPushed) > ZT_PEER_ACTIVITY_TIMEOUT)) { m.pushCredentials(RR,tPtr,now,to,_config); + } } /** @@ -434,6 +440,7 @@ private: const RuntimeEnvironment *const RR; void *_uPtr; const uint64_t _id; + std::string _nwidStr; uint64_t _lastAnnouncedMulticastGroupsUpstream; MAC _mac; // local MAC address bool _portInitialized; @@ -474,6 +481,12 @@ private: Mutex _lock; AtomicCounter __refCount; + + prometheus::simpleapi::gauge_metric_t _num_multicast_groups; + prometheus::simpleapi::counter_metric_t _incoming_packets_accepted; + prometheus::simpleapi::counter_metric_t _incoming_packets_dropped; + prometheus::simpleapi::counter_metric_t _outgoing_packets_accepted; + prometheus::simpleapi::counter_metric_t _outgoing_packets_dropped; }; } // namespace ZeroTier diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp index 3dc3b36d6..d2fa844c2 100644 --- a/node/NetworkConfig.cpp +++ b/node/NetworkConfig.cpp @@ -29,48 +29,97 @@ bool NetworkConfig::toDictionary(Dictionary &d,b // Try to put the more human-readable fields first - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_VERSION,(uint64_t)ZT_NETWORKCONFIG_VERSION)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NETWORK_ID,this->networkId)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TIMESTAMP,this->timestamp)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CREDENTIAL_TIME_MAX_DELTA,this->credentialTimeMaxDelta)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REVISION,this->revision)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUED_TO,this->issuedTo.toString(tmp2))) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_TARGET,this->remoteTraceTarget.toString(tmp2))) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_LEVEL,(uint64_t)this->remoteTraceLevel)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_FLAGS,this->flags)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT,(uint64_t)this->multicastLimit)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TYPE,(uint64_t)this->type)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NAME,this->name)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MTU,(uint64_t)this->mtu)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_VERSION,(uint64_t)ZT_NETWORKCONFIG_VERSION)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NETWORK_ID,this->networkId)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TIMESTAMP,this->timestamp)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CREDENTIAL_TIME_MAX_DELTA,this->credentialTimeMaxDelta)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REVISION,this->revision)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUED_TO,this->issuedTo.toString(tmp2))) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_TARGET,this->remoteTraceTarget.toString(tmp2))) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_REMOTE_TRACE_LEVEL,(uint64_t)this->remoteTraceLevel)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_FLAGS,this->flags)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT,(uint64_t)this->multicastLimit)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TYPE,(uint64_t)this->type)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NAME,this->name)) { + delete tmp; + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_MTU,(uint64_t)this->mtu)) { + delete tmp; + return false; + } #ifdef ZT_SUPPORT_OLD_STYLE_NETCONF if (includeLegacy) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ENABLE_BROADCAST_OLD,this->enableBroadcast())) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_PRIVATE_OLD,this->isPrivate())) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ENABLE_BROADCAST_OLD,this->enableBroadcast())) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_PRIVATE_OLD,this->isPrivate())) { + return false; + } std::string v4s; for(unsigned int i=0;istaticIps[i].ss_family == AF_INET) { - if (v4s.length() > 0) + if (v4s.length() > 0) { v4s.push_back(','); + } char buf[64]; v4s.append(this->staticIps[i].toString(buf)); } } if (v4s.length() > 0) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_IPV4_STATIC_OLD,v4s.c_str())) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_IPV4_STATIC_OLD,v4s.c_str())) { + return false; + } } std::string v6s; for(unsigned int i=0;istaticIps[i].ss_family == AF_INET6) { - if (v6s.length() > 0) + if (v6s.length() > 0) { v6s.push_back(','); + } char buf[64]; v6s.append(this->staticIps[i].toString(buf)); } } if (v6s.length() > 0) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_IPV6_STATIC_OLD,v6s.c_str())) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_IPV6_STATIC_OLD,v6s.c_str())) { + return false; + } } std::string ets; @@ -82,8 +131,9 @@ bool NetworkConfig::toDictionary(Dictionary &d,b et = rules[i].v.etherType; } else if (rt == ZT_NETWORK_RULE_ACTION_ACCEPT) { if (((int)lastrt < 32)||(lastrt == ZT_NETWORK_RULE_MATCH_ETHERTYPE)) { - if (ets.length() > 0) + if (ets.length() > 0) { ets.push_back(','); + } char tmp2[16] = {0}; ets.append(Utils::hex((uint16_t)et,tmp2)); } @@ -92,24 +142,31 @@ bool NetworkConfig::toDictionary(Dictionary &d,b lastrt = rt; } if (ets.length() > 0) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ALLOWED_ETHERNET_TYPES_OLD,ets.c_str())) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ALLOWED_ETHERNET_TYPES_OLD,ets.c_str())) { + return false; + } } if (this->com) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CERTIFICATE_OF_MEMBERSHIP_OLD,this->com.toString().c_str())) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CERTIFICATE_OF_MEMBERSHIP_OLD,this->com.toString().c_str())) { + return false; + } } std::string ab; for(unsigned int i=0;ispecialistCount;++i) { if ((this->specialists[i] & ZT_NETWORKCONFIG_SPECIALIST_TYPE_ACTIVE_BRIDGE) != 0) { - if (ab.length() > 0) + if (ab.length() > 0) { ab.push_back(','); + } char tmp2[16] = {0}; ab.append(Address(this->specialists[i]).toString(tmp2)); } } if (ab.length() > 0) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ACTIVE_BRIDGES_OLD,ab.c_str())) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ACTIVE_BRIDGES_OLD,ab.c_str())) { + return false; + } } } #endif // ZT_SUPPORT_OLD_STYLE_NETCONF @@ -119,35 +176,49 @@ bool NetworkConfig::toDictionary(Dictionary &d,b if (this->com) { tmp->clear(); this->com.serialize(*tmp); - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_COM,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_COM,*tmp)) { + return false; + } } tmp->clear(); - for(unsigned int i=0;icapabilityCount;++i) + for(unsigned int i=0;icapabilityCount;++i) { this->capabilities[i].serialize(*tmp); + } if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CAPABILITIES,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CAPABILITIES,*tmp)) { + return false; + } } tmp->clear(); - for(unsigned int i=0;itagCount;++i) + for(unsigned int i=0;itagCount;++i) { this->tags[i].serialize(*tmp); + } if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TAGS,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_TAGS,*tmp)) { + return false; + } } tmp->clear(); - for(unsigned int i=0;icertificateOfOwnershipCount;++i) + for(unsigned int i=0;icertificateOfOwnershipCount;++i) { this->certificatesOfOwnership[i].serialize(*tmp); + } if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CERTIFICATES_OF_OWNERSHIP,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CERTIFICATES_OF_OWNERSHIP,*tmp)) { + return false; + } } tmp->clear(); - for(unsigned int i=0;ispecialistCount;++i) + for(unsigned int i=0;ispecialistCount;++i) { tmp->append((uint64_t)this->specialists[i]); + } if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SPECIALISTS,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SPECIALISTS,*tmp)) { + return false; + } } tmp->clear(); @@ -158,50 +229,83 @@ bool NetworkConfig::toDictionary(Dictionary &d,b tmp->append((uint16_t)this->routes[i].metric); } if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ROUTES,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ROUTES,*tmp)) { + return false; + } } tmp->clear(); - for(unsigned int i=0;istaticIpCount;++i) + for(unsigned int i=0;istaticIpCount;++i) { this->staticIps[i].serialize(*tmp); + } if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_STATIC_IPS,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_STATIC_IPS,*tmp)) { + return false; + } } if (this->ruleCount) { tmp->clear(); Capability::serializeRules(*tmp,rules,ruleCount); if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_RULES,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_RULES,*tmp)) { + return false; + } } } tmp->clear(); DNS::serializeDNS(*tmp, &dns); if (tmp->size()) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_DNS,*tmp)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_DNS,*tmp)) { + return false; + } } if (this->ssoVersion == 0) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION, this->ssoVersion)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_ENABLED, this->ssoEnabled)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION, this->ssoVersion)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_ENABLED, this->ssoEnabled)) { + return false; + } if (this->ssoEnabled) { if (this->authenticationURL[0]) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_URL, this->authenticationURL)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_URL, this->authenticationURL)) { + return false; + } + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_EXPIRY_TIME, this->authenticationExpiryTime)) { + return false; } - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_EXPIRY_TIME, this->authenticationExpiryTime)) return false; } } else if(this->ssoVersion == 1) { - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION, this->ssoVersion)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_ENABLED, this->ssoEnabled)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION, this->ssoVersion)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_ENABLED, this->ssoEnabled)) { + return false; + } //if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_URL, this->authenticationURL)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUER_URL, this->issuerURL)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CENTRAL_ENDPOINT_URL, this->centralAuthURL)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NONCE, this->ssoNonce)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_STATE, this->ssoState)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CLIENT_ID, this->ssoClientID)) return false; - if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_PROVIDER, this->ssoProvider)) return false; + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_ISSUER_URL, this->issuerURL)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CENTRAL_ENDPOINT_URL, this->centralAuthURL)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_NONCE, this->ssoNonce)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_STATE, this->ssoState)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_CLIENT_ID, this->ssoClientID)) { + return false; + } + if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_PROVIDER, this->ssoProvider)) { + return false; + } } delete tmp; @@ -241,37 +345,45 @@ bool NetworkConfig::fromDictionary(const Dictionaryname,sizeof(this->name)); this->mtu = (unsigned int)d.getUI(ZT_NETWORKCONFIG_DICT_KEY_MTU,ZT_DEFAULT_MTU); - if (this->mtu < 1280) + if (this->mtu < 1280) { this->mtu = 1280; // minimum MTU allowed by IPv6 standard and others - else if (this->mtu > ZT_MAX_MTU) + } else if (this->mtu > ZT_MAX_MTU) { this->mtu = ZT_MAX_MTU; + } if (d.getUI(ZT_NETWORKCONFIG_DICT_KEY_VERSION,0) < 6) { #ifdef ZT_SUPPORT_OLD_STYLE_NETCONF char tmp2[1024] = {0}; // Decode legacy fields if version is old - if (d.getB(ZT_NETWORKCONFIG_DICT_KEY_ENABLE_BROADCAST_OLD)) + if (d.getB(ZT_NETWORKCONFIG_DICT_KEY_ENABLE_BROADCAST_OLD)) { this->flags |= ZT_NETWORKCONFIG_FLAG_ENABLE_BROADCAST; + } this->flags |= ZT_NETWORKCONFIG_FLAG_ENABLE_IPV6_NDP_EMULATION; // always enable for old-style netconf this->type = (d.getB(ZT_NETWORKCONFIG_DICT_KEY_PRIVATE_OLD,true)) ? ZT_NETWORK_TYPE_PRIVATE : ZT_NETWORK_TYPE_PUBLIC; if (d.get(ZT_NETWORKCONFIG_DICT_KEY_IPV4_STATIC_OLD,tmp2,sizeof(tmp2)) > 0) { char *saveptr = (char *)0; for(char *f=Utils::stok(tmp2,",",&saveptr);(f);f=Utils::stok((char *)0,",",&saveptr)) { - if (this->staticIpCount >= ZT_MAX_ZT_ASSIGNED_ADDRESSES) break; + if (this->staticIpCount >= ZT_MAX_ZT_ASSIGNED_ADDRESSES) { + break; + } InetAddress ip(f); - if (!ip.isNetwork()) + if (!ip.isNetwork()) { this->staticIps[this->staticIpCount++] = ip; + } } } if (d.get(ZT_NETWORKCONFIG_DICT_KEY_IPV6_STATIC_OLD,tmp2,sizeof(tmp2)) > 0) { char *saveptr = (char *)0; for(char *f=Utils::stok(tmp2,",",&saveptr);(f);f=Utils::stok((char *)0,",",&saveptr)) { - if (this->staticIpCount >= ZT_MAX_ZT_ASSIGNED_ADDRESSES) break; + if (this->staticIpCount >= ZT_MAX_ZT_ASSIGNED_ADDRESSES) { + break; + } InetAddress ip(f); - if (!ip.isNetwork()) + if (!ip.isNetwork()) { this->staticIps[this->staticIpCount++] = ip; + } } } @@ -283,7 +395,9 @@ bool NetworkConfig::fromDictionary(const DictionaryruleCount + 2) > ZT_MAX_NETWORK_RULES) break; + if ((this->ruleCount + 2) > ZT_MAX_NETWORK_RULES) { + break; + } if (et > 0) { this->rules[this->ruleCount].t = (uint8_t)ZT_NETWORK_RULE_MATCH_ETHERTYPE; this->rules[this->ruleCount].v.etherType = (uint16_t)et; @@ -311,8 +425,9 @@ bool NetworkConfig::fromDictionary(const Dictionaryflags = d.getUI(ZT_NETWORKCONFIG_DICT_KEY_FLAGS,0); this->type = (ZT_VirtualNetworkType)d.getUI(ZT_NETWORKCONFIG_DICT_KEY_TYPE,(uint64_t)ZT_NETWORK_TYPE_PRIVATE); - if (d.get(ZT_NETWORKCONFIG_DICT_KEY_COM,*tmp)) + if (d.get(ZT_NETWORKCONFIG_DICT_KEY_COM,*tmp)) { this->com.deserialize(*tmp,0); + } if (d.get(ZT_NETWORKCONFIG_DICT_KEY_CAPABILITIES,*tmp)) { try { @@ -341,9 +456,9 @@ bool NetworkConfig::fromDictionary(const Dictionarysize()) { - if (certificateOfOwnershipCount < ZT_MAX_CERTIFICATES_OF_OWNERSHIP) + if (certificateOfOwnershipCount < ZT_MAX_CERTIFICATES_OF_OWNERSHIP) { p += certificatesOfOwnership[certificateOfOwnershipCount++].deserialize(*tmp,p); - else { + } else { CertificateOfOwnership foo; p += foo.deserialize(*tmp,p); } @@ -353,8 +468,9 @@ bool NetworkConfig::fromDictionary(const Dictionarysize()) { - if (specialistCount < ZT_MAX_NETWORK_SPECIALISTS) + if (specialistCount < ZT_MAX_NETWORK_SPECIALISTS) { this->specialists[this->specialistCount++] = tmp->at(p); + } p += 8; } } @@ -364,8 +480,10 @@ bool NetworkConfig::fromDictionary(const Dictionarysize())&&(routeCount < ZT_MAX_NETWORK_ROUTES)) { p += reinterpret_cast(&(this->routes[this->routeCount].target))->deserialize(*tmp,p); p += reinterpret_cast(&(this->routes[this->routeCount].via))->deserialize(*tmp,p); - this->routes[this->routeCount].flags = tmp->at(p); p += 2; - this->routes[this->routeCount].metric = tmp->at(p); p += 2; + this->routes[this->routeCount].flags = tmp->at(p); + p += 2; + this->routes[this->routeCount].metric = tmp->at(p); + p += 2; ++this->routeCount; } } diff --git a/node/NetworkConfig.hpp b/node/NetworkConfig.hpp index cd713dde8..859d7212d 100644 --- a/node/NetworkConfig.hpp +++ b/node/NetworkConfig.hpp @@ -356,8 +356,9 @@ public: { std::vector
    r; for(unsigned int i=0;i r; for(unsigned int i=0;i r; for(unsigned int i=0;i r; for(unsigned int i=0;iversion != 0) + if (callbacks->version != 0) { throw ZT_EXCEPTION_INVALID_ARGUMENT; + } memcpy(&_cb,callbacks,sizeof(ZT_Node_Callbacks)); // Initialize non-cryptographic PRNG from a good random source @@ -68,7 +75,8 @@ Node::Node(void *uptr,void *tptr,const struct ZT_Node_Callbacks *callbacks,int64 memset((void *)(&_stats),0,sizeof(_stats)); uint64_t idtmp[2]; - idtmp[0] = 0; idtmp[1] = 0; + idtmp[0] = 0; + idtmp[1] = 0; char tmp[2048]; int n = stateObjectGet(tptr,ZT_STATE_OBJECT_IDENTITY_SECRET,idtmp,tmp,sizeof(tmp) - 1); if (n > 0) { @@ -77,7 +85,11 @@ Node::Node(void *uptr,void *tptr,const struct ZT_Node_Callbacks *callbacks,int64 RR->identity.toString(false,RR->publicIdentityStr); RR->identity.toString(true,RR->secretIdentityStr); } else { - n = -1; + throw ZT_EXCEPTION_INVALID_IDENTITY; + } + + if (!RR->identity.locallyValidate()) { + throw ZT_EXCEPTION_INVALID_IDENTITY; } } @@ -85,15 +97,18 @@ Node::Node(void *uptr,void *tptr,const struct ZT_Node_Callbacks *callbacks,int64 RR->identity.generate(); RR->identity.toString(false,RR->publicIdentityStr); RR->identity.toString(true,RR->secretIdentityStr); - idtmp[0] = RR->identity.address().toInt(); idtmp[1] = 0; + idtmp[0] = RR->identity.address().toInt(); + idtmp[1] = 0; stateObjectPut(tptr,ZT_STATE_OBJECT_IDENTITY_SECRET,idtmp,RR->secretIdentityStr,(unsigned int)strlen(RR->secretIdentityStr)); stateObjectPut(tptr,ZT_STATE_OBJECT_IDENTITY_PUBLIC,idtmp,RR->publicIdentityStr,(unsigned int)strlen(RR->publicIdentityStr)); } else { - idtmp[0] = RR->identity.address().toInt(); idtmp[1] = 0; + idtmp[0] = RR->identity.address().toInt(); + idtmp[1] = 0; n = stateObjectGet(tptr,ZT_STATE_OBJECT_IDENTITY_PUBLIC,idtmp,tmp,sizeof(tmp) - 1); if ((n > 0)&&(n < (int)sizeof(RR->publicIdentityStr))&&(n < (int)sizeof(tmp))) { - if (memcmp(tmp,RR->publicIdentityStr,n)) + if (memcmp(tmp,RR->publicIdentityStr,n)) { stateObjectPut(tptr,ZT_STATE_OBJECT_IDENTITY_PUBLIC,idtmp,RR->publicIdentityStr,(unsigned int)strlen(RR->publicIdentityStr)); + } } } @@ -107,10 +122,13 @@ Node::Node(void *uptr,void *tptr,const struct ZT_Node_Callbacks *callbacks,int64 const unsigned long bc = sizeof(Bond) + (((sizeof(Bond) & 0xf) != 0) ? (16 - (sizeof(Bond) & 0xf)) : 0); m = reinterpret_cast(::malloc(16 + ts + sws + mcs + topologys + sas + bc)); - if (!m) + if (!m) { throw std::bad_alloc(); + } RR->rtmem = m; - while (((uintptr_t)m & 0xf) != 0) ++m; + while (((uintptr_t)m & 0xf) != 0) { + ++m; + } RR->t = new (m) Trace(RR); m += ts; @@ -124,12 +142,24 @@ Node::Node(void *uptr,void *tptr,const struct ZT_Node_Callbacks *callbacks,int64 m += sas; RR->bc = new (m) Bond(RR); } catch ( ... ) { - if (RR->sa) RR->sa->~SelfAwareness(); - if (RR->topology) RR->topology->~Topology(); - if (RR->mc) RR->mc->~Multicaster(); - if (RR->sw) RR->sw->~Switch(); - if (RR->t) RR->t->~Trace(); - if (RR->bc) RR->bc->~Bond(); + if (RR->sa) { + RR->sa->~SelfAwareness(); + } + if (RR->topology) { + RR->topology->~Topology(); + } + if (RR->mc) { + RR->mc->~Multicaster(); + } + if (RR->sw) { + RR->sw->~Switch(); + } + if (RR->t) { + RR->t->~Trace(); + } + if (RR->bc) { + RR->bc->~Bond(); + } ::free(m); throw; } @@ -143,12 +173,24 @@ Node::~Node() Mutex::Lock _l(_networks_m); _networks.clear(); // destroy all networks before shutdown } - if (RR->sa) RR->sa->~SelfAwareness(); - if (RR->topology) RR->topology->~Topology(); - if (RR->mc) RR->mc->~Multicaster(); - if (RR->sw) RR->sw->~Switch(); - if (RR->t) RR->t->~Trace(); - if (RR->bc) RR->bc->~Bond(); + if (RR->sa) { + RR->sa->~SelfAwareness(); + } + if (RR->topology) { + RR->topology->~Topology(); + } + if (RR->mc) { + RR->mc->~Multicaster(); + } + if (RR->sw) { + RR->sw->~Switch(); + } + if (RR->t) { + RR->t->~Trace(); + } + if (RR->bc) { + RR->bc->~Bond(); + } ::free(RR->rtmem); } @@ -183,7 +225,9 @@ ZT_ResultCode Node::processVirtualNetworkFrame( if (nw) { RR->sw->onLocalEthernet(tptr,nw,MAC(sourceMac),MAC(destMac),etherType,vlanId,frameData,frameLength); return ZT_RESULT_OK; - } else return ZT_RESULT_ERROR_NETWORK_NOT_FOUND; + } else { + return ZT_RESULT_ERROR_NETWORK_NOT_FOUND; + } } // Closure used to ping upstream and active/online peers @@ -204,9 +248,15 @@ public: const std::vector *const alwaysContactEndpoints = _alwaysContact.get(p->address()); if (alwaysContactEndpoints) { - // Contact upstream peers as infrequently as possible ZT_PeerRole role = RR->topology->role(p->address()); + + // Contact upstream peers as infrequently as possible int roleBasedTimerScale = (role == ZT_PEER_ROLE_LEAF) ? 2 : 16; + + // Unless we don't any have paths to the roots, then we shouldn't wait a long time to contact them + bool hasPaths = p->paths(RR->node->now()).size() > 0; + roleBasedTimerScale = (role != ZT_PEER_ROLE_LEAF && !hasPaths) ? 0 : roleBasedTimerScale; + if ((RR->node->now() - p->lastSentFullHello()) <= (ZT_PATH_HEARTBEAT_PERIOD * roleBasedTimerScale)) { return; } @@ -238,8 +288,9 @@ public: if ((!contacted)&&(_bestCurrentUpstream)) { const SharedPtr up(_bestCurrentUpstream->getAppropriatePath(_now,true)); - if (up) + if (up) { p->sendHELLO(_tPtr,up->localSocket(),up->address(),_now); + } } _alwaysContact.erase(p->address()); // after this we'll WHOIS all upstreams that remain @@ -262,7 +313,7 @@ ZT_ResultCode Node::processBackgroundTasks(void *tptr,int64_t now,volatile int64 Mutex::Lock bl(_backgroundTasksLock); // Process background bond tasks - unsigned long bondCheckInterval = ZT_PING_CHECK_INVERVAL; + unsigned long bondCheckInterval = ZT_PING_CHECK_INTERVAL; if (RR->bc->inUse()) { bondCheckInterval = std::max(RR->bc->minReqMonitorInterval(), ZT_CORE_TIMER_TASK_GRANULARITY); if ((now - _lastGratuitousPingCheck) >= ZT_CORE_TIMER_TASK_GRANULARITY) { @@ -271,7 +322,7 @@ ZT_ResultCode Node::processBackgroundTasks(void *tptr,int64_t now,volatile int64 } } - unsigned long timeUntilNextPingCheck = _lowBandwidthMode ? (ZT_PING_CHECK_INVERVAL * 5) : ZT_PING_CHECK_INVERVAL; + unsigned long timeUntilNextPingCheck = _lowBandwidthMode ? (ZT_PING_CHECK_INTERVAL * 5) : ZT_PING_CHECK_INTERVAL; const int64_t timeSinceLastPingCheck = now - _lastPingCheck; if (timeSinceLastPingCheck >= timeUntilNextPingCheck) { try { @@ -298,8 +349,9 @@ ZT_ResultCode Node::processBackgroundTasks(void *tptr,int64_t now,volatile int64 std::vector *upstreamStableEndpoints = (std::vector *)0; while (i.next(upstreamAddress,upstreamStableEndpoints)) { SharedPtr p(RR->topology->getPeerNoCache(*upstreamAddress)); - if (p) + if (p) { lastReceivedFromUpstream = std::max(p->lastReceive(),lastReceivedFromUpstream); + } } } @@ -310,8 +362,9 @@ ZT_ResultCode Node::processBackgroundTasks(void *tptr,int64_t now,volatile int64 _LocalControllerAuth *k = (_LocalControllerAuth *)0; int64_t *v = (int64_t *)0; while (i.next(k,v)) { - if ((*v - now) > (ZT_NETWORK_AUTOCONF_DELAY * 3)) + if ((*v - now) > (ZT_NETWORK_AUTOCONF_DELAY * 3)) { _localControllerAuthorizations.erase(*k); + } } _localControllerAuthorizations_m.unlock(); } @@ -340,8 +393,9 @@ ZT_ResultCode Node::processBackgroundTasks(void *tptr,int64_t now,volatile int64 Hashtable< Address,std::vector >::Iterator i(alwaysContact); Address *upstreamAddress = (Address *)0; std::vector *upstreamStableEndpoints = (std::vector *)0; - while (i.next(upstreamAddress,upstreamStableEndpoints)) + while (i.next(upstreamAddress,upstreamStableEndpoints)) { RR->sw->requestWhois(tptr,now,*upstreamAddress); + } } // Refresh network config or broadcast network updates to members as needed @@ -357,8 +411,9 @@ ZT_ResultCode Node::processBackgroundTasks(void *tptr,int64_t now,volatile int64 // Update online status, post status change as event const bool oldOnline = _online; _online = (((now - lastReceivedFromUpstream) < ZT_PEER_ACTIVITY_TIMEOUT)||(RR->topology->amUpstream())); - if (oldOnline != _online) + if (oldOnline != _online) { postEvent(tptr,_online ? ZT_EVENT_ONLINE : ZT_EVENT_OFFLINE); + } } catch ( ... ) { return ZT_RESULT_FATAL_ERROR_INTERNAL; } @@ -395,8 +450,9 @@ ZT_ResultCode Node::join(uint64_t nwid,void *uptr,void *tptr) { Mutex::Lock _l(_networks_m); SharedPtr &nw = _networks[nwid]; - if (!nw) + if (!nw) { nw = SharedPtr(new Network(RR,tptr,nwid,uptr,(const NetworkConfig *)0)); + } return ZT_RESULT_OK; } @@ -408,17 +464,20 @@ ZT_ResultCode Node::leave(uint64_t nwid,void **uptr,void *tptr) Mutex::Lock _l(_networks_m); SharedPtr *nw = _networks.get(nwid); RR->sw->removeNetworkQoSControlBlock(nwid); - if (!nw) + if (!nw) { return ZT_RESULT_OK; - if (uptr) + } + if (uptr) { *uptr = (*nw)->userPtr(); + } (*nw)->externalConfig(&ctmp); (*nw)->destroy(); nUserPtr = (*nw)->userPtr(); } - if (nUserPtr) + if (nUserPtr) { RR->node->configureVirtualNetworkPort(tptr,nwid,nUserPtr,ZT_VIRTUAL_NETWORK_CONFIG_OPERATION_DESTROY,&ctmp); + } { Mutex::Lock _l(_networks_m); @@ -426,7 +485,8 @@ ZT_ResultCode Node::leave(uint64_t nwid,void **uptr,void *tptr) } uint64_t tmp[2]; - tmp[0] = nwid; tmp[1] = 0; + tmp[0] = nwid; + tmp[1] = 0; RR->node->stateObjectDelete(tptr,ZT_STATE_OBJECT_NETWORK_CONFIG,tmp); return ZT_RESULT_OK; @@ -438,7 +498,9 @@ ZT_ResultCode Node::multicastSubscribe(void *tptr,uint64_t nwid,uint64_t multica if (nw) { nw->multicastSubscribe(tptr,MulticastGroup(MAC(multicastGroup),(uint32_t)(multicastAdi & 0xffffffff))); return ZT_RESULT_OK; - } else return ZT_RESULT_ERROR_NETWORK_NOT_FOUND; + } else { + return ZT_RESULT_ERROR_NETWORK_NOT_FOUND; + } } ZT_ResultCode Node::multicastUnsubscribe(uint64_t nwid,uint64_t multicastGroup,unsigned long multicastAdi) @@ -447,7 +509,9 @@ ZT_ResultCode Node::multicastUnsubscribe(uint64_t nwid,uint64_t multicastGroup,u if (nw) { nw->multicastUnsubscribe(MulticastGroup(MAC(multicastGroup),(uint32_t)(multicastAdi & 0xffffffff))); return ZT_RESULT_OK; - } else return ZT_RESULT_ERROR_NETWORK_NOT_FOUND; + } else { + return ZT_RESULT_ERROR_NETWORK_NOT_FOUND; + } } ZT_ResultCode Node::orbit(void *tptr,uint64_t moonWorldId,uint64_t moonSeed) @@ -481,8 +545,9 @@ ZT_PeerList *Node::peers() const std::sort(peers.begin(),peers.end()); char *buf = (char *)::malloc(sizeof(ZT_PeerList) + (sizeof(ZT_Peer) * peers.size())); - if (!buf) + if (!buf) { return (ZT_PeerList *)0; + } ZT_PeerList *pl = (ZT_PeerList *)buf; pl->peers = (ZT_Peer *)(buf + sizeof(ZT_PeerList)); @@ -501,8 +566,9 @@ ZT_PeerList *Node::peers() const p->versionRev = -1; } p->latency = pi->second->latency(_now); - if (p->latency >= 0xffff) + if (p->latency >= 0xffff) { p->latency = -1; + } p->role = RR->topology->role(pi->second->identity().address()); std::vector< SharedPtr > paths(pi->second->paths(_now)); @@ -523,6 +589,7 @@ ZT_PeerList *Node::peers() const p->paths[p->pathCount].latencyVariance = (*path)->latencyVariance(); p->paths[p->pathCount].packetLossRatio = (*path)->packetLossRatio(); p->paths[p->pathCount].packetErrorRatio = (*path)->packetErrorRatio(); + p->paths[p->pathCount].assignedFlowCount = (*path)->assignedFlowCount(); p->paths[p->pathCount].relativeQuality = (*path)->relativeQuality(); p->paths[p->pathCount].linkSpeed = (*path)->givenLinkSpeed(); p->paths[p->pathCount].bonded = (*path)->bonded(); @@ -536,9 +603,9 @@ ZT_PeerList *Node::peers() const } if (pi->second->bond()) { p->isBonded = pi->second->bond(); - p->bondingPolicy = pi->second->bond()->policy(); - p->numAliveLinks = pi->second->bond()->getNumAliveLinks(); - p->numTotalLinks = pi->second->bond()->getNumTotalLinks(); + p->bondingPolicy = pi->second->bondingPolicy(); + p->numAliveLinks = pi->second->getNumAliveLinks(); + p->numTotalLinks = pi->second->getNumTotalLinks(); } } @@ -562,8 +629,9 @@ ZT_VirtualNetworkList *Node::networks() const Mutex::Lock _l(_networks_m); char *buf = (char *)::malloc(sizeof(ZT_VirtualNetworkList) + (sizeof(ZT_VirtualNetworkConfig) * _networks.size())); - if (!buf) + if (!buf) { return (ZT_VirtualNetworkList *)0; + } ZT_VirtualNetworkList *nl = (ZT_VirtualNetworkList *)buf; nl->networks = (ZT_VirtualNetworkConfig *)(buf + sizeof(ZT_VirtualNetworkList)); @@ -571,16 +639,18 @@ ZT_VirtualNetworkList *Node::networks() const Hashtable< uint64_t,SharedPtr >::Iterator i(*const_cast< Hashtable< uint64_t,SharedPtr > *>(&_networks)); uint64_t *k = (uint64_t *)0; SharedPtr *v = (SharedPtr *)0; - while (i.next(k,v)) + while (i.next(k,v)) { (*v)->externalConfig(&(nl->networks[nl->networkCount++])); + } return nl; } void Node::freeQueryResult(void *qr) { - if (qr) + if (qr) { ::free(qr); + } } int Node::addLocalInterfaceAddress(const struct sockaddr_storage *addr) @@ -619,8 +689,9 @@ int Node::sendUserMessage(void *tptr,uint64_t dest,uint64_t typeId,const void *d void Node::setNetconfMaster(void *networkControllerInstance) { RR->localNetworkController = reinterpret_cast(networkControllerInstance); - if (networkControllerInstance) - RR->localNetworkController->init(RR->identity,this); + if (networkControllerInstance) { + RR->localNetworkController->init(RR->identity, this); + } } /****************************************************************************/ @@ -629,11 +700,13 @@ void Node::setNetconfMaster(void *networkControllerInstance) bool Node::shouldUsePathForZeroTierTraffic(void *tPtr,const Address &ztaddr,const int64_t localSocket,const InetAddress &remoteAddress) { - if (!Path::isAddressValidForPath(remoteAddress)) + if (!Path::isAddressValidForPath(remoteAddress)) { return false; + } - if (RR->topology->isProhibitedEndpoint(ztaddr,remoteAddress)) + if (RR->topology->isProhibitedEndpoint(ztaddr,remoteAddress)) { return false; + } { Mutex::Lock _l(_networks_m); @@ -643,8 +716,9 @@ bool Node::shouldUsePathForZeroTierTraffic(void *tPtr,const Address &ztaddr,cons while (i.next(k,v)) { if ((*v)->hasConfig()) { for(unsigned int k=0;k<(*v)->config().staticIpCount;++k) { - if ((*v)->config().staticIps[k].containsAddress(remoteAddress)) + if ((*v)->config().staticIps[k].containsAddress(remoteAddress)) { return false; + } } } } @@ -689,14 +763,18 @@ void Node::ncSendConfig(uint64_t nwid,uint64_t requestPacketId,const Address &de if (destination == RR->identity.address()) { SharedPtr n(network(nwid)); - if (!n) return; + if (!n) { + return; + } n->setConfiguration((void *)0,nc,true); } else { Dictionary *dconf = new Dictionary(); try { if (nc.toDictionary(*dconf,sendLegacyFormatConfig)) { uint64_t configUpdateId = prng(); - if (!configUpdateId) ++configUpdateId; + if (!configUpdateId) { + ++configUpdateId; + } const unsigned int totalSize = dconf->sizeBytes(); unsigned int chunkIndex = 0; @@ -740,7 +818,9 @@ void Node::ncSendRevocation(const Address &destination,const Revocation &rev) { if (destination == RR->identity.address()) { SharedPtr n(network(rev.networkId())); - if (!n) return; + if (!n) { + return; + } n->addCredential((void *)0,RR->identity.address(),rev); } else { Packet outp(destination,RR->identity.address(),Packet::VERB_NETWORK_CREDENTIALS); @@ -758,7 +838,9 @@ void Node::ncSendError(uint64_t nwid,uint64_t requestPacketId,const Address &des { if (destination == RR->identity.address()) { SharedPtr n(network(nwid)); - if (!n) return; + if (!n) { + return; + } switch(errorCode) { case NetworkController::NC_ERROR_OBJECT_NOT_FOUND: case NetworkController::NC_ERROR_INTERNAL_SERVER_ERROR: @@ -769,11 +851,11 @@ void Node::ncSendError(uint64_t nwid,uint64_t requestPacketId,const Address &des break; case NetworkController::NC_ERROR_AUTHENTICATION_REQUIRED: { //fprintf(stderr, "\n\nGot auth required\n\n"); - break; - } + } - default: break; + default: + break; } } else if (requestPacketId) { Packet outp(destination,RR->identity.address(),Packet::VERB_ERROR); @@ -784,12 +866,15 @@ void Node::ncSendError(uint64_t nwid,uint64_t requestPacketId,const Address &des //case NetworkController::NC_ERROR_INTERNAL_SERVER_ERROR: default: outp.append((unsigned char)Packet::ERROR_OBJ_NOT_FOUND); + Metrics::pkt_error_obj_not_found_out++; break; case NetworkController::NC_ERROR_ACCESS_DENIED: outp.append((unsigned char)Packet::ERROR_NETWORK_ACCESS_DENIED_); + Metrics::pkt_error_network_access_denied_out++; break; case NetworkController::NC_ERROR_AUTHENTICATION_REQUIRED: outp.append((unsigned char)Packet::ERROR_NETWORK_AUTHENTICATION_REQUIRED); + Metrics::pkt_error_authentication_required_out++; break; } @@ -1037,9 +1122,15 @@ enum ZT_ResultCode ZT_Node_setPhysicalPathConfiguration(ZT_Node *node,const stru void ZT_version(int *major,int *minor,int *revision) { - if (major) *major = ZEROTIER_ONE_VERSION_MAJOR; - if (minor) *minor = ZEROTIER_ONE_VERSION_MINOR; - if (revision) *revision = ZEROTIER_ONE_VERSION_REVISION; + if (major) { + *major = ZEROTIER_ONE_VERSION_MAJOR; + } + if (minor) { + *minor = ZEROTIER_ONE_VERSION_MINOR; + } + if (revision) { + *revision = ZEROTIER_ONE_VERSION_REVISION; + } } } // extern "C" diff --git a/node/Node.hpp b/node/Node.hpp index 0ddd5cb7b..1f74b8340 100644 --- a/node/Node.hpp +++ b/node/Node.hpp @@ -138,8 +138,9 @@ public: { Mutex::Lock _l(_networks_m); const SharedPtr *n = _networks.get(nwid); - if (n) + if (n) { return *n; + } return SharedPtr(); } @@ -156,8 +157,9 @@ public: Hashtable< uint64_t,SharedPtr >::Iterator i(*const_cast< Hashtable< uint64_t,SharedPtr > * >(&_networks)); uint64_t *k = (uint64_t *)0; SharedPtr *v = (SharedPtr *)0; - while (i.next(k,v)) + while (i.next(k,v)) { nw.push_back(*v); + } return nw; } @@ -223,8 +225,9 @@ public: const uint32_t pid2 = (uint32_t)(packetId >> 32); const unsigned long bucket = (unsigned long)(pid2 & ZT_EXPECTING_REPLIES_BUCKET_MASK1); for(unsigned long i=0;i<=ZT_EXPECTING_REPLIES_BUCKET_MASK2;++i) { - if (_expectingRepliesTo[bucket][i] == pid2) + if (_expectingRepliesTo[bucket][i] == pid2) { return true; + } } return false; } @@ -258,8 +261,9 @@ public: _localControllerAuthorizations_m.lock(); const int64_t *const at = _localControllerAuthorizations.get(_LocalControllerAuth(nwid,addr)); _localControllerAuthorizations_m.unlock(); - if (at) + if (at) { return ((now - *at) < (ZT_NETWORK_AUTOCONF_DELAY * 3)); + } return false; } diff --git a/node/OutboundMulticast.cpp b/node/OutboundMulticast.cpp index 2d05c49e1..a46a9575e 100644 --- a/node/OutboundMulticast.cpp +++ b/node/OutboundMulticast.cpp @@ -50,20 +50,27 @@ void OutboundMulticast::init( _frameLen = (len < ZT_MAX_MTU) ? len : ZT_MAX_MTU; _etherType = etherType; - if (gatherLimit) flags |= 0x02; + if (gatherLimit) { + flags |= 0x02; + } _packet.setSource(RR->identity.address()); _packet.setVerb(Packet::VERB_MULTICAST_FRAME); _packet.append((uint64_t)nwid); _packet.append(flags); - if (gatherLimit) _packet.append((uint32_t)gatherLimit); - if (src) src.appendTo(_packet); + if (gatherLimit) { + _packet.append((uint32_t)gatherLimit); + } + if (src) { + src.appendTo(_packet); + } dest.mac().appendTo(_packet); _packet.append((uint32_t)dest.adi()); _packet.append((uint16_t)etherType); _packet.append(payload,_frameLen); - if (!disableCompression) + if (!disableCompression) { _packet.compress(); + } memcpy(_frameData,payload,_frameLen); } diff --git a/node/Packet.cpp b/node/Packet.cpp index d9378cc5e..b37cc2640 100644 --- a/node/Packet.cpp +++ b/node/Packet.cpp @@ -295,7 +295,11 @@ static inline void LZ4_wildCopy(void* dstPtr, const void* srcPtr, void* dstEnd) BYTE* d = (BYTE*)dstPtr; const BYTE* s = (const BYTE*)srcPtr; BYTE* const e = (BYTE*)dstEnd; - do { LZ4_copy8(d,s); d+=8; s+=8; } while (d> 3); # else unsigned r; - if (!(val>>32)) { r=4; } else { r=0; val>>=32; } - if (!(val>>16)) { r+=2; val>>=8; } else { val>>=24; } + if (!(val>>32)) { + r=4; + } else { + r=0; + val>>=32; + } + if (!(val>>16)) { + r+=2; + val>>=8; + } else { + val>>=24; + } r += (!val); return r; # endif @@ -369,7 +383,13 @@ static inline unsigned LZ4_NbCommonBytes (reg_t val) return (__builtin_clz((U32)val) >> 3); # else unsigned r; - if (!(val>>16)) { r=2; val>>=8; } else { r=0; val>>=24; } + if (!(val>>16)) { + r=2; + val>>=8; + } else { + r=0; + val>>=24; + } r += (!val); return r; # endif @@ -384,14 +404,23 @@ static inline unsigned LZ4_count(const BYTE* pIn, const BYTE* pMatch, const BYTE while (likely(pIn> ((MINMATCH*8)-(LZ4_HASHLOG+1))); - else + } else { return ((sequence * 2654435761U) >> ((MINMATCH*8)-LZ4_HASHLOG)); + } } static inline U32 LZ4_hash5(U64 sequence, tableType_t const tableType) @@ -422,25 +452,36 @@ static inline U32 LZ4_hash5(U64 sequence, tableType_t const tableType) static const U64 prime5bytes = 889523592379ULL; static const U64 prime8bytes = 11400714785074694791ULL; const U32 hashLog = (tableType == byU16) ? LZ4_HASHLOG+1 : LZ4_HASHLOG; - if (LZ4_isLittleEndian()) + if (LZ4_isLittleEndian()) { return (U32)(((sequence << 24) * prime5bytes) >> (64 - hashLog)); - else + } else { return (U32)(((sequence >> 24) * prime8bytes) >> (64 - hashLog)); + } } FORCE_INLINE U32 LZ4_hashPosition(const void* const p, tableType_t const tableType) { - if ((sizeof(reg_t)==8) && (tableType != byU16)) return LZ4_hash5(LZ4_read_ARCH(p), tableType); + if ((sizeof(reg_t)==8) && (tableType != byU16)) { + return LZ4_hash5(LZ4_read_ARCH(p), tableType); + } return LZ4_hash4(LZ4_read32(p), tableType); } static inline void LZ4_putPositionOnHash(const BYTE* p, U32 h, void* tableBase, tableType_t const tableType, const BYTE* srcBase) { - switch (tableType) - { - case byPtr: { const BYTE** hashTable = (const BYTE**)tableBase; hashTable[h] = p; return; } - case byU32: { U32* hashTable = (U32*) tableBase; hashTable[h] = (U32)(p-srcBase); return; } - case byU16: { U16* hashTable = (U16*) tableBase; hashTable[h] = (U16)(p-srcBase); return; } + switch (tableType) { + case byPtr: { + const BYTE** hashTable = (const BYTE**)tableBase; hashTable[h] = p; + return; + } + case byU32: { + U32* hashTable = (U32*) tableBase; hashTable[h] = (U32)(p-srcBase); + return; + } + case byU16: { + U16* hashTable = (U16*) tableBase; hashTable[h] = (U16)(p-srcBase); + return; + } } } @@ -452,9 +493,18 @@ FORCE_INLINE void LZ4_putPosition(const BYTE* p, void* tableBase, tableType_t ta static inline const BYTE* LZ4_getPositionOnHash(U32 h, void* tableBase, tableType_t tableType, const BYTE* srcBase) { - if (tableType == byPtr) { const BYTE** hashTable = (const BYTE**) tableBase; return hashTable[h]; } - if (tableType == byU32) { const U32* const hashTable = (U32*) tableBase; return hashTable[h] + srcBase; } - { const U16* const hashTable = (U16*) tableBase; return hashTable[h] + srcBase; } /* default, to ensure a return */ + if (tableType == byPtr) { + const BYTE** hashTable = (const BYTE**) tableBase; + return hashTable[h]; + } + if (tableType == byU32) { + const U32* const hashTable = (U32*) tableBase; + return hashTable[h] + srcBase; + } + { /* default, to ensure a return */ + const U16* const hashTable = (U16*) tableBase; + return hashTable[h] + srcBase; + } } FORCE_INLINE const BYTE* LZ4_getPosition(const BYTE* p, void* tableBase, tableType_t tableType, const BYTE* srcBase) @@ -493,9 +543,10 @@ FORCE_INLINE int LZ4_compress_generic( U32 forwardH; /* Init conditions */ - if ((U32)inputSize > (U32)LZ4_MAX_INPUT_SIZE) return 0; /* Unsupported inputSize, too large (or negative) */ - switch(dict) - { + if ((U32)inputSize > (U32)LZ4_MAX_INPUT_SIZE) { + return 0; /* Unsupported inputSize, too large (or negative) */ + } + switch(dict) { case noDict: default: base = (const BYTE*)source; @@ -510,12 +561,17 @@ FORCE_INLINE int LZ4_compress_generic( lowLimit = (const BYTE*)source; break; } - if ((tableType == byU16) && (inputSize>=LZ4_64Klimit)) return 0; /* Size too large (not within 64K limit) */ - if (inputSize=LZ4_64Klimit)) { + return 0; /* Size too large (not within 64K limit) */ + } + if (inputSizehashTable, tableType, base); - ip++; forwardH = LZ4_hashPosition(ip, tableType); + ip++; + forwardH = LZ4_hashPosition(ip, tableType); /* Main Loop */ for ( ; ; ) { @@ -524,7 +580,8 @@ FORCE_INLINE int LZ4_compress_generic( BYTE* token; /* Find a match */ - { const BYTE* forwardIp = ip; + { + const BYTE* forwardIp = ip; unsigned step = 1; unsigned searchMatchNb = acceleration << LZ4_skipTrigger; do { @@ -533,7 +590,9 @@ FORCE_INLINE int LZ4_compress_generic( forwardIp += step; step = (searchMatchNb++ >> LZ4_skipTrigger); - if (unlikely(forwardIp > mflimit)) goto _last_literals; + if (unlikely(forwardIp > mflimit)) { + goto _last_literals; + } match = LZ4_getPositionOnHash(h, cctx->hashTable, tableType, base); if (dict==usingExtDict) { @@ -543,7 +602,8 @@ FORCE_INLINE int LZ4_compress_generic( } else { refDelta = 0; lowLimit = (const BYTE*)source; - } } + } + } forwardH = LZ4_hashPosition(forwardIp, tableType); LZ4_putPositionOnHash(ip, h, cctx->hashTable, tableType, base); @@ -553,21 +613,29 @@ FORCE_INLINE int LZ4_compress_generic( } /* Catch up */ - while (((ip>anchor) & (match+refDelta > lowLimit)) && (unlikely(ip[-1]==match[refDelta-1]))) { ip--; match--; } + while (((ip>anchor) & (match+refDelta > lowLimit)) && (unlikely(ip[-1]==match[refDelta-1]))) { + ip--; + match--; + } /* Encode Literals */ - { unsigned const litLength = (unsigned)(ip - anchor); + { + unsigned const litLength = (unsigned)(ip - anchor); token = op++; if ((outputLimited) && /* Check output buffer overflow */ - (unlikely(op + litLength + (2 + 1 + LASTLITERALS) + (litLength/255) > olimit))) + (unlikely(op + litLength + (2 + 1 + LASTLITERALS) + (litLength/255) > olimit))) { return 0; + } if (litLength >= RUN_MASK) { int len = (int)litLength-RUN_MASK; *token = (RUN_MASK<= 255 ; len-=255) *op++ = 255; + for(; len >= 255 ; len-=255) { + *op++ = 255; + } *op++ = (BYTE)len; + } else { + *token = (BYTE)(litLength< matchlimit) limit = matchlimit; + if (limit > matchlimit) { + limit = matchlimit; + } matchCode = LZ4_count(ip+MINMATCH, match+MINMATCH, limit); ip += MINMATCH + matchCode; if (ip==limit) { @@ -599,8 +671,9 @@ _next_match: } if ( outputLimited && /* Check output buffer overflow */ - (unlikely(op + (1 + LASTLITERALS) + (matchCode>>8) > olimit)) ) + (unlikely(op + (1 + LASTLITERALS) + (matchCode>>8) > olimit)) ) { return 0; + } if (matchCode >= ML_MASK) { *token += ML_MASK; matchCode -= ML_MASK; @@ -612,14 +685,17 @@ _next_match: } op += matchCode / 255; *op++ = (BYTE)(matchCode % 255); - } else + } else { *token += (BYTE)(matchCode); + } } anchor = ip; /* Test end of chunk */ - if (ip > mflimit) break; + if (ip > mflimit) { + break; + } /* Fill table */ LZ4_putPosition(ip-2, cctx->hashTable, tableType, base); @@ -633,12 +709,16 @@ _next_match: } else { refDelta = 0; lowLimit = (const BYTE*)source; - } } + } + } LZ4_putPosition(ip, cctx->hashTable, tableType, base); if ( ((dictIssue==dictSmall) ? (match>=lowRefLimit) : 1) && (match+MAX_DISTANCE>=ip) - && (LZ4_read32(match+refDelta)==LZ4_read32(ip)) ) - { token=op++; *token=0; goto _next_match; } + && (LZ4_read32(match+refDelta)==LZ4_read32(ip)) ) { + token=op++; + *token=0; + goto _next_match; + } /* Prepare next loop */ forwardH = LZ4_hashPosition(++ip, tableType); @@ -646,14 +726,18 @@ _next_match: _last_literals: /* Encode Last Literals */ - { size_t const lastRun = (size_t)(iend - anchor); + { + size_t const lastRun = (size_t)(iend - anchor); if ( (outputLimited) && /* Check output buffer overflow */ - ((op - (BYTE*)dest) + lastRun + 1 + ((lastRun+255-RUN_MASK)/255) > (U32)maxOutputSize) ) + ((op - (BYTE*)dest) + lastRun + 1 + ((lastRun+255-RUN_MASK)/255) > (U32)maxOutputSize) ) { return 0; + } if (lastRun >= RUN_MASK) { size_t accumulator = lastRun - RUN_MASK; *op++ = RUN_MASK << ML_BITS; - for(; accumulator >= 255 ; accumulator-=255) *op++ = 255; + for(; accumulator >= 255 ; accumulator-=255) { + *op++ = 255; + } *op++ = (BYTE) accumulator; } else { *op++ = (BYTE)(lastRun<= LZ4_compressBound(inputSize)) { - if (inputSize < LZ4_64Klimit) + if (inputSize < LZ4_64Klimit) { return LZ4_compress_generic(ctx, source, dest, inputSize, 0, notLimited, byU16, noDict, noDictIssue, acceleration); - else + } else { return LZ4_compress_generic(ctx, source, dest, inputSize, 0, notLimited, (sizeof(void*)==8) ? byU32 : byPtr, noDict, noDictIssue, acceleration); + } } else { - if (inputSize < LZ4_64Klimit) + if (inputSize < LZ4_64Klimit) { return LZ4_compress_generic(ctx, source, dest, inputSize, maxOutputSize, limitedOutput, byU16, noDict, noDictIssue, acceleration); - else + } else { return LZ4_compress_generic(ctx, source, dest, inputSize, maxOutputSize, limitedOutput, (sizeof(void*)==8) ? byU32 : byPtr, noDict, noDictIssue, acceleration); + } } } @@ -741,9 +827,15 @@ FORCE_INLINE int LZ4_decompress_generic( /* Special cases */ - if ((partialDecoding) && (oexit > oend-MFLIMIT)) oexit = oend-MFLIMIT; /* targetOutputSize too high => decode everything */ - if ((endOnInput) && (unlikely(outputSize==0))) return ((inputSize==1) && (*ip==0)) ? 0 : -1; /* Empty output buffer */ - if ((!endOnInput) && (unlikely(outputSize==0))) return (*ip==0?1:-1); + if ((partialDecoding) && (oexit > oend-MFLIMIT)) { + oexit = oend-MFLIMIT; /* targetOutputSize too high => decode everything */ + } + if ((endOnInput) && (unlikely(outputSize==0))) { + return ((inputSize==1) && (*ip==0)) ? 0 : -1; /* Empty output buffer */ + } + if ((!endOnInput) && (unlikely(outputSize==0))) { + return (*ip==0?1:-1); + } /* Main Loop : decode sequences */ while (1) { @@ -759,21 +851,32 @@ FORCE_INLINE int LZ4_decompress_generic( s = *ip++; length += s; } while ( likely(endOnInput ? ip(partialDecoding?oexit:oend-MFLIMIT)) || (ip+length>iend-(2+1+LASTLITERALS))) ) - || ((!endOnInput) && (cpy>oend-WILDCOPYLENGTH)) ) - { + || ((!endOnInput) && (cpy>oend-WILDCOPYLENGTH)) ) { if (partialDecoding) { - if (cpy > oend) goto _output_error; /* Error : write attempt beyond end of output buffer */ - if ((endOnInput) && (ip+length > iend)) goto _output_error; /* Error : read attempt beyond end of input buffer */ + if (cpy > oend) { + goto _output_error; /* Error : write attempt beyond end of output buffer */ + } + if ((endOnInput) && (ip+length > iend)) { + goto _output_error; /* Error : read attempt beyond end of input buffer */ + } } else { - if ((!endOnInput) && (cpy != oend)) goto _output_error; /* Error : block decoding must stop exactly there */ - if ((endOnInput) && ((ip+length != iend) || (cpy > oend))) goto _output_error; /* Error : input must be consumed */ + if ((!endOnInput) && (cpy != oend)) { + goto _output_error; /* Error : block decoding must stop exactly there */ + } + if ((endOnInput) && ((ip+length != iend) || (cpy > oend))) { + goto _output_error; /* Error : input must be consumed */ + } } memcpy(op, ip, length); ip += length; @@ -781,12 +884,16 @@ FORCE_INLINE int LZ4_decompress_generic( break; /* Necessarily EOF, due to parsing restrictions */ } LZ4_wildCopy(op, ip, cpy); - ip += length; op = cpy; + ip += length; + op = cpy; /* get offset */ - offset = LZ4_readLE16(ip); ip+=2; + offset = LZ4_readLE16(ip); + ip += 2; match = op - offset; - if ((checkOffset) && (unlikely(match < lowLimit))) goto _output_error; /* Error : offset outside buffers */ + if ((checkOffset) && (unlikely(match < lowLimit))) { + goto _output_error; /* Error : offset outside buffers */ + } LZ4_write32(op, (U32)offset); /* costs ~1%; silence an msan warning when offset==0 */ /* get matchlength */ @@ -795,16 +902,22 @@ FORCE_INLINE int LZ4_decompress_generic( unsigned s; do { s = *ip++; - if ((endOnInput) && (ip > iend-LASTLITERALS)) goto _output_error; + if ((endOnInput) && (ip > iend-LASTLITERALS)) { + goto _output_error; + } length += s; } while (s==255); - if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)op)) goto _output_error; /* overflow detection */ + if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)op)) { + goto _output_error; /* overflow detection */ + } } length += MINMATCH; /* check external dictionary */ if ((dict==usingExtDict) && (match < lowPrefix)) { - if (unlikely(op+length > oend-LASTLITERALS)) goto _output_error; /* doesn't respect parsing restriction */ + if (unlikely(op+length > oend-LASTLITERALS)) { + goto _output_error; /* doesn't respect parsing restriction */ + } if (length <= (size_t)(lowPrefix-match)) { /* match can be copied as a single segment from external dictionary */ @@ -819,11 +932,14 @@ FORCE_INLINE int LZ4_decompress_generic( if (restSize > (size_t)(op-lowPrefix)) { /* overlap copy */ BYTE* const endOfMatch = op + restSize; const BYTE* copyFrom = lowPrefix; - while (op < endOfMatch) *op++ = *copyFrom++; + while (op < endOfMatch) { + *op++ = *copyFrom++; + } } else { memcpy(op, lowPrefix, restSize); op += restSize; - } } + } + } continue; } @@ -838,31 +954,40 @@ FORCE_INLINE int LZ4_decompress_generic( match += dec32table[offset]; memcpy(op+4, match, 4); match -= dec64; - } else { LZ4_copy8(op, match); match+=8; } + } else { + LZ4_copy8(op, match); + match+=8; + } op += 8; if (unlikely(cpy>oend-12)) { BYTE* const oCopyLimit = oend-(WILDCOPYLENGTH-1); - if (cpy > oend-LASTLITERALS) goto _output_error; /* Error : last LASTLITERALS bytes must be literals (uncompressed) */ + if (cpy > oend-LASTLITERALS) { + goto _output_error; /* Error : last LASTLITERALS bytes must be literals (uncompressed) */ + } if (op < oCopyLimit) { LZ4_wildCopy(op, match, oCopyLimit); match += oCopyLimit - op; op = oCopyLimit; } - while (op16) LZ4_wildCopy(op+8, match+8, cpy); + if (length>16) { + LZ4_wildCopy(op+8, match+8, cpy); + } } op=cpy; /* correction */ } /* end of decoding */ - if (endOnInput) + if (endOnInput) { return (int) (((char*)op)-dest); /* Nb of output bytes decoded */ - else + } else { return (int) (((const char*)ip)-source); /* Nb of input bytes read */ - + } /* Overflow error detected */ _output_error: return (int) (-(((const char*)ip)-source))-1; @@ -931,8 +1056,9 @@ void Packet::armor(const void *key,bool encryptPayload,const AES aesKeys[2]) uint8_t *const payload = data + ZT_PACKET_IDX_VERB; const unsigned int payloadLen = size() - ZT_PACKET_IDX_VERB; - if (encryptPayload) + if (encryptPayload) { s20.crypt12(payload,payload,payloadLen); + } uint64_t mac[2]; Poly1305::compute(mac,payload,payloadLen,macKey); @@ -977,14 +1103,17 @@ bool Packet::dearmor(const void *key,const AES aesKeys[2]) uint64_t mac[2]; Poly1305::compute(mac,payload,payloadLen,keyStream); #ifdef ZT_NO_TYPE_PUNNING - if (!Utils::secureEq(mac,data + ZT_PACKET_IDX_MAC,8)) + if (!Utils::secureEq(mac,data + ZT_PACKET_IDX_MAC,8)) { return false; + } #else - if ((*reinterpret_cast(data + ZT_PACKET_IDX_MAC)) != mac[0]) // also secure, constant time + if ((*reinterpret_cast(data + ZT_PACKET_IDX_MAC)) != mac[0]) { // also secure, constant time return false; + } #endif - if (cs == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) + if (cs == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) { Salsa20::memxor(data + ZT_PACKET_IDX_VERB,reinterpret_cast(keyStream + 8),payloadLen); + } } else { Salsa20 s20(mangledKey,data + ZT_PACKET_IDX_IV); uint64_t macKey[4]; @@ -992,14 +1121,17 @@ bool Packet::dearmor(const void *key,const AES aesKeys[2]) uint64_t mac[2]; Poly1305::compute(mac,payload,payloadLen,macKey); #ifdef ZT_NO_TYPE_PUNNING - if (!Utils::secureEq(mac,data + ZT_PACKET_IDX_MAC,8)) + if (!Utils::secureEq(mac,data + ZT_PACKET_IDX_MAC,8)) { return false; + } #else - if ((*reinterpret_cast(data + ZT_PACKET_IDX_MAC)) != mac[0]) // also secure, constant time + if ((*reinterpret_cast(data + ZT_PACKET_IDX_MAC)) != mac[0]) { // also secure, constant time return false; + } #endif - if (cs == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) + if (cs == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) { s20.crypt12(payload,payload,payloadLen); + } } return true; } @@ -1011,7 +1143,9 @@ void Packet::cryptField(const void *key,unsigned int start,unsigned int len) { uint8_t *const data = reinterpret_cast(unsafeData()); uint8_t iv[8]; - for(int i=0;i<8;++i) iv[i] = data[i]; + for(int i=0;i<8;++i) { + iv[i] = data[i]; + } iv[7] &= 0xf8; // mask off least significant 3 bits of packet ID / IV since this is unset when this function gets called Salsa20 s20(key,iv); s20.crypt12(data + start,data + start,len); diff --git a/node/Packet.hpp b/node/Packet.hpp index d40e5eb43..e28fec6ab 100644 --- a/node/Packet.hpp +++ b/node/Packet.hpp @@ -461,8 +461,9 @@ public: */ inline void init(const Packet &p,unsigned int fragStart,unsigned int fragLen,unsigned int fragNo,unsigned int fragTotal) { - if ((fragStart + fragLen) > p.size()) + if ((fragStart + fragLen) > p.size()) { throw ZT_EXCEPTION_OUT_OF_BOUNDS; + } setSize(fragLen + ZT_PROTO_MIN_FRAGMENT_LENGTH); // NOTE: this copies both the IV/packet ID and the destination address. @@ -1217,9 +1218,11 @@ public: */ inline void setFragmented(bool f) { - if (f) + if (f) { (*this)[ZT_PACKET_IDX_FLAGS] |= (char)ZT_PROTO_FLAG_FRAGMENTED; - else (*this)[ZT_PACKET_IDX_FLAGS] &= (char)(~ZT_PROTO_FLAG_FRAGMENTED); + } else { + (*this)[ZT_PACKET_IDX_FLAGS] &= (char)(~ZT_PROTO_FLAG_FRAGMENTED); + } } /** @@ -1265,9 +1268,11 @@ public: unsigned char &b = (*this)[ZT_PACKET_IDX_FLAGS]; b = (b & 0xc7) | (unsigned char)((c << 3) & 0x38); // bits: FFCCCHHH // Set DEPRECATED "encrypted" flag -- used by pre-1.0.3 peers - if (c == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) + if (c == ZT_PROTO_CIPHER_SUITE__C25519_POLY1305_SALSA2012) { b |= ZT_PROTO_FLAG_ENCRYPTED; - else b &= (~ZT_PROTO_FLAG_ENCRYPTED); + } else { + b &= (~ZT_PROTO_FLAG_ENCRYPTED); + } } /** @@ -1405,8 +1410,9 @@ private: // IV and source/destination addresses. Using the addresses divides the // key space into two halves-- A->B and B->A (since order will change). - for(unsigned int i=0;i<18;++i) // 8 + (ZT_ADDRESS_LENGTH * 2) == 18 + for(unsigned int i=0;i<18;++i) { // 8 + (ZT_ADDRESS_LENGTH * 2) == 18 out[i] = in[i] ^ d[i]; + } // Flags, but with hop count masked off. Hop count is altered by forwarding // nodes. It's one of the only parts of a packet modifiable by people @@ -1419,8 +1425,9 @@ private: out[20] = in[20] ^ (unsigned char)((size() >> 8) & 0xff); // little endian // Rest of raw key is used unchanged - for(unsigned int i=21;i<32;++i) + for(unsigned int i=21;i<32;++i) { out[i] = in[i]; + } } }; diff --git a/node/Path.hpp b/node/Path.hpp index eb268695d..b7694920e 100644 --- a/node/Path.hpp +++ b/node/Path.hpp @@ -89,6 +89,7 @@ public: _latencyVariance(0.0), _packetLossRatio(0.0), _packetErrorRatio(0.0), + _assignedFlowCount(0), _valid(true), _eligible(false), _bonded(false), @@ -110,6 +111,7 @@ public: _latencyVariance(0.0), _packetLossRatio(0.0), _packetErrorRatio(0.0), + _assignedFlowCount(0), _valid(true), _eligible(false), _bonded(false), @@ -165,8 +167,7 @@ public: unsigned int pl = _latency; if (pl < 0xffff) { _latency = (pl + l) / 2; - } - else { + } else { _latency = l; } } @@ -230,8 +231,9 @@ public: // tunnels due to very spotty performance and low MTU issues over // these IPv6 tunnel links. const uint8_t *ipd = reinterpret_cast(reinterpret_cast(&a)->sin6_addr.s6_addr); - if ((ipd[0] == 0x20)&&(ipd[1] == 0x01)&&(ipd[2] == 0x04)&&(ipd[3] == 0x70)) + if ((ipd[0] == 0x20)&&(ipd[1] == 0x01)&&(ipd[2] == 0x04)&&(ipd[3] == 0x70)) { return false; + } } return true; default: @@ -303,48 +305,53 @@ public: /** * @return Mean latency as reported by the bonding layer */ - inline unsigned int latencyMean() const { return _latencyMean; } + inline float latencyMean() const { return _latencyMean; } /** * @return Latency variance as reported by the bonding layer */ - inline unsigned int latencyVariance() const { return _latencyVariance; } + inline float latencyVariance() const { return _latencyVariance; } /** * @return Packet Loss Ratio as reported by the bonding layer */ - inline unsigned int packetLossRatio() const { return _packetLossRatio; } + inline float packetLossRatio() const { return _packetLossRatio; } /** * @return Packet Error Ratio as reported by the bonding layer */ - inline unsigned int packetErrorRatio() const { return _packetErrorRatio; } + inline float packetErrorRatio() const { return _packetErrorRatio; } + + /** + * @return Number of flows assigned to this path + */ + inline unsigned int assignedFlowCount() const { return _assignedFlowCount; } /** * @return Whether this path is valid as reported by the bonding layer. The bonding layer * actually checks with Phy to see if the interface is still up */ - inline unsigned int valid() const { return _valid; } + inline bool valid() const { return _valid; } /** * @return Whether this path is eligible for use in a bond as reported by the bonding layer */ - inline unsigned int eligible() const { return _eligible; } + inline bool eligible() const { return _eligible; } /** * @return Whether this path is bonded as reported by the bonding layer */ - inline unsigned int bonded() const { return _bonded; } + inline bool bonded() const { return _bonded; } /** * @return Whether the user-specified MTU for this path (determined by MTU for parent link) */ - inline unsigned int mtu() const { return _mtu; } + inline uint16_t mtu() const { return _mtu; } /** * @return Given link capacity as reported by the bonding layer */ - inline unsigned int givenLinkSpeed() const { return _givenLinkSpeed; } + inline uint32_t givenLinkSpeed() const { return _givenLinkSpeed; } /** * @return Path's quality as reported by the bonding layer @@ -374,6 +381,7 @@ private: volatile float _latencyVariance; volatile float _packetLossRatio; volatile float _packetErrorRatio; + volatile uint16_t _assignedFlowCount; volatile bool _valid; volatile bool _eligible; volatile bool _bonded; diff --git a/node/Peer.cpp b/node/Peer.cpp index 5cb55fa4b..2040a3b4d 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -22,37 +22,47 @@ #include "InetAddress.hpp" #include "RingBuffer.hpp" #include "Utils.hpp" +#include "Metrics.hpp" namespace ZeroTier { static unsigned char s_freeRandomByteCounter = 0; -Peer::Peer(const RuntimeEnvironment *renv,const Identity &myIdentity,const Identity &peerIdentity) : - RR(renv), - _lastReceive(0), - _lastNontrivialReceive(0), - _lastTriedMemorizedPath(0), - _lastDirectPathPushSent(0), - _lastDirectPathPushReceive(0), - _lastCredentialRequestSent(0), - _lastWhoisRequestReceived(0), - _lastCredentialsReceived(0), - _lastTrustEstablishedPacketReceived(0), - _lastSentFullHello(0), - _lastEchoCheck(0), - _freeRandomByte((unsigned char)((uintptr_t)this >> 4) ^ ++s_freeRandomByteCounter), - _vProto(0), - _vMajor(0), - _vMinor(0), - _vRevision(0), - _id(peerIdentity), - _directPathPushCutoffCount(0), - _echoRequestCutoffCount(0), - _localMultipathSupported(false), - _lastComputedAggregateMeanLatency(0) +Peer::Peer(const RuntimeEnvironment *renv,const Identity &myIdentity,const Identity &peerIdentity) + : RR(renv) + , _lastReceive(0) + , _lastNontrivialReceive(0) + , _lastTriedMemorizedPath(0) + , _lastDirectPathPushSent(0) + , _lastDirectPathPushReceive(0) + , _lastCredentialRequestSent(0) + , _lastWhoisRequestReceived(0) + , _lastCredentialsReceived(0) + , _lastTrustEstablishedPacketReceived(0) + , _lastSentFullHello(0) + , _lastEchoCheck(0) + , _freeRandomByte((unsigned char)((uintptr_t)this >> 4) ^ ++s_freeRandomByteCounter) + , _vProto(0) + , _vMajor(0) + , _vMinor(0) + , _vRevision(0) + , _id(peerIdentity) + , _directPathPushCutoffCount(0) + , _echoRequestCutoffCount(0) + , _localMultipathSupported(false) + , _lastComputedAggregateMeanLatency(0) +#ifndef ZT_NO_PEER_METRICS + , _peer_latency{Metrics::peer_latency.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}}, std::vector{1,3,6,10,30,60,100,300,600,1000})} + , _alive_path_count{Metrics::peer_path_count.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())},{"status","alive"}})} + , _dead_path_count{Metrics::peer_path_count.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())},{"status","dead"}})} + , _incoming_packet{Metrics::peer_packets.Add({{"direction", "rx"},{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})} + , _outgoing_packet{Metrics::peer_packets.Add({{"direction", "tx"},{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})} + , _packet_errors{Metrics::peer_packet_errors.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})} +#endif { - if (!myIdentity.agree(peerIdentity,_key)) + if (!myIdentity.agree(peerIdentity,_key)) { throw ZT_EXCEPTION_INVALID_ARGUMENT; + } uint8_t ktmp[ZT_SYMMETRIC_KEY_SIZE]; KBKDFHMACSHA384(_key,ZT_KBKDF_LABEL_AES_GMAC_SIV_K0,0,0,ktmp); @@ -89,7 +99,9 @@ void Peer::received( default: break; } - +#ifndef ZT_NO_PEER_METRICS + _incoming_packet++; +#endif recordIncomingPacket(path, packetId, payloadLength, verb, flowId, now); if (trustEstablished) { @@ -145,8 +157,7 @@ void Peer::received( } } } - } - else { + } else { replacePath = i; break; } @@ -199,10 +210,8 @@ void Peer::received( if (sinceLastPush >= ((hops == 0) ? ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH * timerScale : ZT_DIRECT_PATH_PUSH_INTERVAL)) { _lastDirectPathPushSent = now; std::vector pathsToPush(RR->node->directPaths()); - if (! lowBandwidth) { - std::vector ma = RR->sa->whoami(); - pathsToPush.insert(pathsToPush.end(), ma.begin(), ma.end()); - } + std::vector ma = RR->sa->whoami(); + pathsToPush.insert(pathsToPush.end(), ma.begin(), ma.end()); if (!pathsToPush.empty()) { std::vector::const_iterator p(pathsToPush.begin()); while (p != pathsToPush.end()) { @@ -233,9 +242,11 @@ void Peer::received( ++p; } if (count) { + Metrics::pkt_push_direct_paths_out++; outp->setAt(ZT_PACKET_IDX_PAYLOAD,(uint16_t)count); outp->compress(); outp->armor(_key,true,aesKeysIfSupported()); + Metrics::pkt_push_direct_paths_out++; path->send(RR,tPtr,outp->data(),outp->size(),now); } delete outp; @@ -267,7 +278,9 @@ SharedPtr Peer::getAppropriatePath(int64_t now, bool includeExpired, int32 bestPath = i; } } - } else break; + } else { + break; + } } if (bestPath != ZT_MAX_PEER_NETWORK_PATHS) { return _paths[bestPath].p; @@ -316,7 +329,9 @@ void Peer::introduce(void *const tPtr,const int64_t now,const SharedPtr &o } break; } - } else break; + } else { + break; + } } Mutex::Lock _l2(other->_paths_m); @@ -339,7 +354,9 @@ void Peer::introduce(void *const tPtr,const int64_t now,const SharedPtr &o } break; } - } else break; + } else { + break; + } } unsigned int mine = ZT_MAX_PEER_NETWORK_PATHS; @@ -375,6 +392,7 @@ void Peer::introduce(void *const tPtr,const int64_t now,const SharedPtr &o outp.append(other->_paths[theirs].p->address().rawIpData(),4); } outp.armor(_key,true,aesKeysIfSupported()); + Metrics::pkt_rendezvous_out++; _paths[mine].p->send(RR,tPtr,outp.data(),outp.size(),now); } else { Packet outp(other->_id.address(),RR->identity.address(),Packet::VERB_RENDEZVOUS); @@ -389,6 +407,7 @@ void Peer::introduce(void *const tPtr,const int64_t now,const SharedPtr &o outp.append(_paths[mine].p->address().rawIpData(),4); } outp.armor(other->_key,true,other->aesKeysIfSupported()); + Metrics::pkt_rendezvous_out++; other->_paths[theirs].p->send(RR,tPtr,outp.data(),outp.size(),now); } ++alt; @@ -429,6 +448,8 @@ void Peer::sendHELLO(void *tPtr,const int64_t localSocket,const InetAddress &atA outp.cryptField(_key,startCryptedPortionAt,outp.size() - startCryptedPortionAt); + Metrics::pkt_hello_out++; + if (atAddress) { outp.armor(_key,false,nullptr); // false == don't encrypt full payload, but add MAC RR->node->expectReplyTo(outp.packetId()); @@ -444,6 +465,7 @@ void Peer::attemptToContactAt(void *tPtr,const int64_t localSocket,const InetAdd if ( (!sendFullHello) && (_vProto >= 5) && (!((_vMajor == 1)&&(_vMinor == 1)&&(_vRevision == 0))) ) { Packet outp(_id.address(),RR->identity.address(),Packet::VERB_ECHO); outp.armor(_key,true,aesKeysIfSupported()); + Metrics::pkt_echo_out++; RR->node->expectReplyTo(outp.packetId()); RR->node->putPacket(tPtr,localSocket,atAddress,outp.data(),outp.size()); } else { @@ -465,20 +487,29 @@ void Peer::tryMemorizedPath(void *tPtr,int64_t now) void Peer::performMultipathStateCheck(void *tPtr, int64_t now) { Mutex::Lock _l(_bond_m); - if (_bond) { - // Once enabled the Bond object persists, no need to update state - return; - } /** * Check for conditions required for multipath bonding and create a bond * if allowed. */ int numAlivePaths = 0; + bool atLeastOneNonExpired = false; for(unsigned int i=0;ialive(now)) { - numAlivePaths++; + if (_paths[i].p) { + if(_paths[i].p->alive(now)) { + numAlivePaths++; + } + if ((now - _paths[i].lr) < ZT_PEER_PATH_EXPIRATION) { + atLeastOneNonExpired = true; + } } } + if (_bond) { + if (numAlivePaths == 0 && !atLeastOneNonExpired) { + _bond = SharedPtr(); + RR->bc->destroyBond(_id.address().toInt()); + } + return; + } _localMultipathSupported = ((numAlivePaths >= 1) && (RR->bc->inUse()) && (ZT_PROTO_VERSION > 9)); if (_localMultipathSupported && !_bond) { if (RR->bc) { @@ -500,56 +531,74 @@ void Peer::performMultipathStateCheck(void *tPtr, int64_t now) unsigned int Peer::doPingAndKeepalive(void *tPtr,int64_t now) { unsigned int sent = 0; - Mutex::Lock _l(_paths_m); + { + Mutex::Lock _l(_paths_m); - performMultipathStateCheck(tPtr, now); + performMultipathStateCheck(tPtr, now); - const bool sendFullHello = ((now - _lastSentFullHello) >= ZT_PEER_PING_PERIOD); - if (sendFullHello) { - _lastSentFullHello = now; - } - - // Right now we only keep pinging links that have the maximum priority. The - // priority is used to track cluster redirections, meaning that when a cluster - // redirects us its redirect target links override all other links and we - // let those old links expire. - long maxPriority = 0; - for(unsigned int i=0;i= ZT_PEER_PING_PERIOD); + if (sendFullHello) { + _lastSentFullHello = now; } - else { - break; - } - } - bool deletionOccurred = false; - for(unsigned int i=0;ineedsHeartbeat(now))) { - attemptToContactAt(tPtr,_paths[i].p->localSocket(),_paths[i].p->address(),now,sendFullHello); - _paths[i].p->sent(now); - sent |= (_paths[i].p->address().ss_family == AF_INET) ? 0x1 : 0x2; + // Right now we only keep pinging links that have the maximum priority. The + // priority is used to track cluster redirections, meaning that when a cluster + // redirects us its redirect target links override all other links and we + // let those old links expire. + long maxPriority = 0; + for(unsigned int i=0;ineedsHeartbeat(now))) { + attemptToContactAt(tPtr,_paths[i].p->localSocket(),_paths[i].p->address(),now,sendFullHello); + _paths[i].p->sent(now); + sent |= (_paths[i].p->address().ss_family == AF_INET) ? 0x1 : 0x2; + } + } else { + _paths[i] = _PeerPath(); + deletionOccurred = true; } } - else { - _paths[i] = _PeerPath(); - deletionOccurred = true; + if (!_paths[i].p || deletionOccurred) { + for(unsigned int j=i;jalive(now)) { + alive_path_count_tmp++; + } + else { + dead_path_count_tmp++; } } - deletionOccurred = false; } + _alive_path_count = alive_path_count_tmp; + _dead_path_count = dead_path_count_tmp; +#endif } +#ifndef ZT_NO_PEER_METRICS + _peer_latency.Observe(latency(now)); +#endif return sent; } @@ -571,7 +620,9 @@ void Peer::clusterRedirect(void *tPtr,const SharedPtr &originatingPath,con newPriority = _paths[i].priority; break; } - } else break; + } else { + break; + } } newPriority += 2; @@ -581,8 +632,9 @@ void Peer::clusterRedirect(void *tPtr,const SharedPtr &originatingPath,con for(unsigned int i=0;i= newPriority)&&(!_paths[i].p->address().ipsEqual2(remoteAddress))) { - if (i != j) + if (i != j) { _paths[j] = _paths[i]; + } ++j; } } @@ -612,13 +664,18 @@ void Peer::resetWithinScope(void *tPtr,InetAddress::IpScope scope,int inetAddres _paths[i].p->sent(now); _paths[i].lr = 0; // path will not be used unless it speaks again } - } else break; + } else { + break; + } } } void Peer::recordOutgoingPacket(const SharedPtr &path, const uint64_t packetId, uint16_t payloadLength, const Packet::Verb verb, const int32_t flowId, int64_t now) { +#ifndef ZT_NO_PEER_METRICS + _outgoing_packet++; +#endif if (_localMultipathSupported && _bond) { _bond->recordOutgoingPacket(path, packetId, payloadLength, verb, flowId, now); } @@ -626,6 +683,9 @@ void Peer::recordOutgoingPacket(const SharedPtr &path, const uint64_t pack void Peer::recordIncomingInvalidPacket(const SharedPtr& path) { +#ifndef ZT_NO_PEER_METRICS + _packet_errors++; +#endif if (_localMultipathSupported && _bond) { _bond->recordIncomingInvalidPacket(path); } diff --git a/node/Peer.hpp b/node/Peer.hpp index 668bbbee9..e29975b19 100644 --- a/node/Peer.hpp +++ b/node/Peer.hpp @@ -34,6 +34,7 @@ #include "Mutex.hpp" #include "Bond.hpp" #include "AES.hpp" +#include "Metrics.hpp" #define ZT_PEER_MAX_SERIALIZED_STATE_SIZE (sizeof(Peer) + 32 + (sizeof(Path) * 2)) @@ -50,12 +51,11 @@ class Peer friend class Bond; private: - Peer() {} // disabled to prevent bugs -- should not be constructed uninitialized + Peer() = delete; // disabled to prevent bugs -- should not be constructed uninitialized public: ~Peer() { Utils::burn(_key,sizeof(_key)); - RR->bc->destroyBond(_id.address().toInt()); } /** @@ -119,9 +119,12 @@ public: Mutex::Lock _l(_paths_m); for(unsigned int i=0;iaddress() == addr)) + if (((now - _paths[i].lr) < ZT_PEER_PATH_EXPIRATION)&&(_paths[i].p->address() == addr)) { return true; - } else break; + } + } else { + break; + } } return false; } @@ -139,8 +142,9 @@ public: inline bool sendDirect(void *tPtr,const void *data,unsigned int len,int64_t now,bool force) { SharedPtr bp(getAppropriatePath(now,force)); - if (bp) + if (bp) { return bp->send(RR,tPtr,data,len,now); + } return false; } @@ -281,7 +285,9 @@ public: std::vector< SharedPtr > pp; Mutex::Lock _l(_paths_m); for(unsigned int i=0;i bp(getAppropriatePath(now,false)); if (bp) { - return bp->latency(); + return (unsigned int)bp->latency(); } return 0xffff; } @@ -334,11 +340,13 @@ public: inline unsigned int relayQuality(const int64_t now) { const uint64_t tsr = now - _lastReceive; - if (tsr >= ZT_PEER_ACTIVITY_TIMEOUT) + if (tsr >= ZT_PEER_ACTIVITY_TIMEOUT) { return (~(unsigned int)0); + } unsigned int l = latency(now); - if (!l) + if (!l) { l = 0xffff; + } return (l * (((unsigned int)tsr / (ZT_PEER_PING_PERIOD + 1000)) + 1)); } @@ -380,9 +388,11 @@ public: */ inline bool rateGatePushDirectPaths(const int64_t now) { - if ((now - _lastDirectPathPushReceive) <= ZT_PUSH_DIRECT_PATHS_CUTOFF_TIME) + if ((now - _lastDirectPathPushReceive) <= ZT_PUSH_DIRECT_PATHS_CUTOFF_TIME) { ++_directPathPushCutoffCount; - else _directPathPushCutoffCount = 0; + } else { + _directPathPushCutoffCount = 0; + } _lastDirectPathPushReceive = now; return (_directPathPushCutoffCount < ZT_PUSH_DIRECT_PATHS_CUTOFF_LIMIT); } @@ -423,6 +433,64 @@ public: return false; } + /** + * See definition in Bond + */ + inline bool rateGateQoS(int64_t now, SharedPtr& path) + { + Mutex::Lock _l(_bond_m); + if(_bond) { + return _bond->rateGateQoS(now, path); + } + return false; // Default behavior. If there is no bond, we drop these + } + + /** + * See definition in Bond + */ + void receivedQoS(const SharedPtr& path, int64_t now, int count, uint64_t* rx_id, uint16_t* rx_ts) + { + Mutex::Lock _l(_bond_m); + if(_bond) { + _bond->receivedQoS(path, now, count, rx_id, rx_ts); + } + } + + /** + * See definition in Bond + */ + void processIncomingPathNegotiationRequest(uint64_t now, SharedPtr& path, int16_t remoteUtility) + { + Mutex::Lock _l(_bond_m); + if(_bond) { + _bond->processIncomingPathNegotiationRequest(now, path, remoteUtility); + } + } + + /** + * See definition in Bond + */ + inline bool rateGatePathNegotiation(int64_t now, SharedPtr& path) + { + Mutex::Lock _l(_bond_m); + if(_bond) { + return _bond->rateGatePathNegotiation(now, path); + } + return false; // Default behavior. If there is no bond, we drop these + } + + /** + * See definition in Bond + */ + bool flowHashingSupported() + { + Mutex::Lock _l(_bond_m); + if(_bond) { + return _bond->flowHashingSupported(); + } + return false; + } + /** * Serialize a peer for storage in local cache * @@ -444,13 +512,16 @@ public: Mutex::Lock _l(_paths_m); unsigned int pc = 0; for(unsigned int i=0;iaddress().serialize(b); + } } } @@ -459,31 +530,39 @@ public: { try { unsigned int ptr = 0; - if (b[ptr++] != 2) + if (b[ptr++] != 2) { return SharedPtr(); + } Identity id; ptr += id.deserialize(b,ptr); - if (!id) + if (!id) { return SharedPtr(); + } SharedPtr p(new Peer(renv,renv->identity,id)); - p->_vProto = b.template at(ptr); ptr += 2; - p->_vMajor = b.template at(ptr); ptr += 2; - p->_vMinor = b.template at(ptr); ptr += 2; - p->_vRevision = b.template at(ptr); ptr += 2; + p->_vProto = b.template at(ptr); + ptr += 2; + p->_vMajor = b.template at(ptr); + ptr += 2; + p->_vMinor = b.template at(ptr); + ptr += 2; + p->_vRevision = b.template at(ptr); + ptr += 2; // When we deserialize from the cache we don't actually restore paths. We // just try them and then re-learn them if they happen to still be up. // Paths are fairly ephemeral in the real world in most cases. - const unsigned int tryPathCount = b.template at(ptr); ptr += 2; + const unsigned int tryPathCount = b.template at(ptr); + ptr += 2; for(unsigned int i=0;iattemptToContactAt(tPtr,-1,inaddr,now,true); + } } catch ( ... ) { break; } @@ -504,13 +583,35 @@ public: * @return The bonding policy used to reach this peer */ inline int8_t bondingPolicy() { - Mutex::Lock _l(_paths_m); + Mutex::Lock _l(_bond_m); if (_bond) { return _bond->policy(); } return ZT_BOND_POLICY_NONE; } + /** + * @return the number of links in this bond which are considered alive + */ + inline uint8_t getNumAliveLinks() { + Mutex::Lock _l(_paths_m); + if (_bond) { + return _bond->getNumAliveLinks(); + } + return 0; + } + + /** + * @return the number of links in this bond + */ + inline uint8_t getNumTotalLinks() { + Mutex::Lock _l(_paths_m); + if (_bond) { + return _bond->getNumTotalLinks(); + } + return 0; + } + //inline const AES *aesKeysIfSupported() const //{ return (const AES *)0; } @@ -576,6 +677,15 @@ private: int32_t _lastComputedAggregateMeanLatency; SharedPtr _bond; + +#ifndef ZT_NO_PEER_METRICS + prometheus::Histogram &_peer_latency; + prometheus::simpleapi::gauge_metric_t _alive_path_count; + prometheus::simpleapi::gauge_metric_t _dead_path_count; + prometheus::simpleapi::counter_metric_t _incoming_packet; + prometheus::simpleapi::counter_metric_t _outgoing_packet; + prometheus::simpleapi::counter_metric_t _packet_errors; +#endif }; } // namespace ZeroTier diff --git a/node/Poly1305.cpp b/node/Poly1305.cpp index c670e5d05..382465135 100644 --- a/node/Poly1305.cpp +++ b/node/Poly1305.cpp @@ -192,8 +192,9 @@ static inline void poly1305_finish(poly1305_context *ctx, unsigned char mac[16]) if (st->leftover) { size_t i = st->leftover; st->buffer[i] = 1; - for (i = i + 1; i < poly1305_block_size; i++) + for (i = i + 1; i < poly1305_block_size; i++) { st->buffer[i] = 0; + } st->final = 1; poly1305_blocks(st, st->buffer, poly1305_block_size); } @@ -391,8 +392,9 @@ poly1305_finish(poly1305_context *ctx, unsigned char mac[16]) { if (st->leftover) { size_t i = st->leftover; st->buffer[i++] = 1; - for (; i < poly1305_block_size; i++) + for (; i < poly1305_block_size; i++) { st->buffer[i] = 0; + } st->final = 1; poly1305_blocks(st, st->buffer, poly1305_block_size); } @@ -477,15 +479,18 @@ static inline void poly1305_update(poly1305_context *ctx, const unsigned char *m /* handle leftover */ if (st->leftover) { size_t want = (poly1305_block_size - st->leftover); - if (want > bytes) + if (want > bytes) { want = bytes; - for (i = 0; i < want; i++) + } + for (i = 0; i < want; i++) { st->buffer[st->leftover + i] = m[i]; + } bytes -= want; m += want; st->leftover += want; - if (st->leftover < poly1305_block_size) + if (st->leftover < poly1305_block_size) { return; + } poly1305_blocks(st, st->buffer, poly1305_block_size); st->leftover = 0; } @@ -500,8 +505,9 @@ static inline void poly1305_update(poly1305_context *ctx, const unsigned char *m /* store leftover */ if (bytes) { - for (i = 0; i < bytes; i++) + for (i = 0; i < bytes; i++) { st->buffer[st->leftover + i] = m[i]; + } st->leftover += bytes; } } diff --git a/node/Revocation.cpp b/node/Revocation.cpp index f196b43c7..9af6d5681 100644 --- a/node/Revocation.cpp +++ b/node/Revocation.cpp @@ -23,8 +23,9 @@ namespace ZeroTier { int Revocation::verify(const RuntimeEnvironment *RR,void *tPtr) const { - if ((!_signedBy)||(_signedBy != Network::controllerFor(_networkId))) + if ((!_signedBy)||(_signedBy != Network::controllerFor(_networkId))) { return -1; + } const Identity id(RR->topology->getIdentity(tPtr,_signedBy)); if (!id) { RR->sw->requestWhois(tPtr,RR->node->now(),_signedBy); diff --git a/node/Revocation.hpp b/node/Revocation.hpp index e1c4e18fc..dd717168d 100644 --- a/node/Revocation.hpp +++ b/node/Revocation.hpp @@ -118,7 +118,9 @@ public: template inline void serialize(Buffer &b,const bool forSign = false) const { - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } b.append((uint32_t)0); // 4 unused bytes, currently set to 0 b.append(_id); @@ -140,7 +142,9 @@ public: // This is the size of any additional fields, currently 0. b.append((uint16_t)0); - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } } template @@ -151,14 +155,21 @@ public: unsigned int p = startAt; p += 4; // 4 bytes, currently unused - _id = b.template at(p); p += 4; - _networkId = b.template at(p); p += 8; + _id = b.template at(p); + p += 4; + _networkId = b.template at(p); + p += 8; p += 4; // 4 bytes, currently unused - _credentialId = b.template at(p); p += 4; - _threshold = (int64_t)b.template at(p); p += 8; - _flags = b.template at(p); p += 8; - _target.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; - _signedBy.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; + _credentialId = b.template at(p); + p += 4; + _threshold = (int64_t)b.template at(p); + p += 8; + _flags = b.template at(p); + p += 8; + _target.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); + p += ZT_ADDRESS_LENGTH; + _signedBy.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); + p += ZT_ADDRESS_LENGTH; _type = (Credential::Type)b[p++]; if (b[p++] == 1) { @@ -166,14 +177,17 @@ public: p += 2; memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); p += ZT_C25519_SIGNATURE_LEN; - } else throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN; + } else { + throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN; + } } else { p += 2 + b.template at(p); } p += 2 + b.template at(p); - if (p > b.size()) + if (p > b.size()) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } return (p - startAt); } diff --git a/node/RingBuffer.hpp b/node/RingBuffer.hpp index e2b90ce5c..53834b4f7 100644 --- a/node/RingBuffer.hpp +++ b/node/RingBuffer.hpp @@ -193,11 +193,9 @@ public: { if (end == begin) { return wrap ? S : 0; - } - else if (end > begin) { + } else if (end > begin) { return end - begin; - } - else { + } else { return S + end - begin; } } diff --git a/node/SHA512.cpp b/node/SHA512.cpp index 2fe126a84..bd81647d0 100644 --- a/node/SHA512.cpp +++ b/node/SHA512.cpp @@ -58,12 +58,15 @@ static ZT_INLINE void sha512_compress(sha512_state *const md,uint8_t *const buf) uint64_t S[8], W[80], t0, t1; int i; - for (i = 0; i < 8; i++) + for (i = 0; i < 8; i++) { S[i] = md->state[i]; - for (i = 0; i < 16; i++) + } + for (i = 0; i < 16; i++) { LOAD64H(W[i], buf + (8*i)); - for (i = 16; i < 80; i++) + } + for (i = 16; i < 80; i++) { W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16]; + } #define RND(a,b,c,d,e,f,g,h,i) \ t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \ @@ -82,8 +85,9 @@ static ZT_INLINE void sha512_compress(sha512_state *const md,uint8_t *const buf) RND(S[1],S[2],S[3],S[4],S[5],S[6],S[7],S[0],i+7); } - for (i = 0; i < 8; i++) + for (i = 0; i < 8; i++) { md->state[i] = md->state[i] + S[i]; + } } static ZT_INLINE void sha384_init(sha512_state *const md) diff --git a/node/Salsa20.cpp b/node/Salsa20.cpp index ca9e47185..63573546e 100644 --- a/node/Salsa20.cpp +++ b/node/Salsa20.cpp @@ -121,8 +121,9 @@ void Salsa20::crypt12(const void *in,void *out,unsigned int bytes) uint32_t j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15; #endif - if (!bytes) + if (!bytes) { return; + } #ifndef ZT_SALSA20_SSE j0 = _state.i[0]; @@ -145,8 +146,9 @@ void Salsa20::crypt12(const void *in,void *out,unsigned int bytes) for (;;) { if (bytes < 64) { - for (i = 0;i < bytes;++i) + for (i = 0;i < bytes;++i) { tmp[i] = m[i]; + } m = tmp; ctarget = c; c = tmp; @@ -589,8 +591,9 @@ void Salsa20::crypt12(const void *in,void *out,unsigned int bytes) if (bytes <= 64) { if (bytes < 64) { - for (i = 0;i < bytes;++i) + for (i = 0;i < bytes;++i) { ctarget[i] = c[i]; + } } #ifndef ZT_SALSA20_SSE @@ -620,8 +623,9 @@ void Salsa20::crypt20(const void *in,void *out,unsigned int bytes) uint32_t j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15; #endif - if (!bytes) + if (!bytes) { return; + } #ifndef ZT_SALSA20_SSE j0 = _state.i[0]; @@ -644,8 +648,9 @@ void Salsa20::crypt20(const void *in,void *out,unsigned int bytes) for (;;) { if (bytes < 64) { - for (i = 0;i < bytes;++i) + for (i = 0;i < bytes;++i) { tmp[i] = m[i]; + } m = tmp; ctarget = c; c = tmp; @@ -1320,8 +1325,9 @@ void Salsa20::crypt20(const void *in,void *out,unsigned int bytes) if (bytes <= 64) { if (bytes < 64) { - for (i = 0;i < bytes;++i) + for (i = 0;i < bytes;++i) { ctarget[i] = c[i]; + } } #ifndef ZT_SALSA20_SSE diff --git a/node/SelfAwareness.cpp b/node/SelfAwareness.cpp index 45bc25410..c87f4e3e8 100644 --- a/node/SelfAwareness.cpp +++ b/node/SelfAwareness.cpp @@ -61,8 +61,9 @@ void SelfAwareness::iam(void *tPtr,const Address &reporter,const int64_t receive { const InetAddress::IpScope scope = myPhysicalAddress.ipScope(); - if ((scope != reporterPhysicalAddress.ipScope())||(scope == InetAddress::IP_SCOPE_NONE)||(scope == InetAddress::IP_SCOPE_LOOPBACK)||(scope == InetAddress::IP_SCOPE_MULTICAST)) + if ((scope != reporterPhysicalAddress.ipScope())||(scope == InetAddress::IP_SCOPE_NONE)||(scope == InetAddress::IP_SCOPE_LOOPBACK)||(scope == InetAddress::IP_SCOPE_MULTICAST)) { return; + } Mutex::Lock _l(_phy_m); PhySurfaceEntry &entry = _phy[PhySurfaceKey(reporter,receivedOnLocalSocket,reporterPhysicalAddress,scope)]; @@ -83,8 +84,9 @@ void SelfAwareness::iam(void *tPtr,const Address &reporter,const int64_t receive PhySurfaceKey *k = (PhySurfaceKey *)0; PhySurfaceEntry *e = (PhySurfaceEntry *)0; while (i.next(k,e)) { - if ((k->reporterPhysicalAddress != reporterPhysicalAddress)&&(k->scope == scope)) + if ((k->reporterPhysicalAddress != reporterPhysicalAddress)&&(k->scope == scope)) { _phy.erase(*k); + } } } @@ -121,8 +123,9 @@ void SelfAwareness::clean(int64_t now) PhySurfaceKey *k = (PhySurfaceKey *)0; PhySurfaceEntry *e = (PhySurfaceEntry *)0; while (i.next(k,e)) { - if ((now - e->ts) >= ZT_SELFAWARENESS_ENTRY_TIMEOUT) + if ((now - e->ts) >= ZT_SELFAWARENESS_ENTRY_TIMEOUT) { _phy.erase(*k); + } } } diff --git a/node/SharedPtr.hpp b/node/SharedPtr.hpp index dff0fa4e9..1116be40a 100644 --- a/node/SharedPtr.hpp +++ b/node/SharedPtr.hpp @@ -37,8 +37,9 @@ public: ~SharedPtr() { if (_ptr) { - if (--_ptr->__refCount <= 0) + if (--_ptr->__refCount <= 0) { delete _ptr; + } } } @@ -47,8 +48,9 @@ public: if (_ptr != sp._ptr) { T *p = sp._getAndInc(); if (_ptr) { - if (--_ptr->__refCount <= 0) + if (--_ptr->__refCount <= 0) { delete _ptr; + } } _ptr = p; } @@ -97,8 +99,9 @@ public: inline void zero() { if (_ptr) { - if (--_ptr->__refCount <= 0) + if (--_ptr->__refCount <= 0) { delete _ptr; + } _ptr = (T *)0; } } @@ -108,8 +111,9 @@ public: */ inline int references() { - if (_ptr) + if (_ptr) { return _ptr->__refCount.load(); + } return 0; } @@ -123,8 +127,9 @@ public: private: inline T *_getAndInc() const { - if (_ptr) + if (_ptr) { ++_ptr->__refCount; + } return _ptr; } T *_ptr; diff --git a/node/Switch.cpp b/node/Switch.cpp index 9a81e532e..5cbbeff85 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -31,6 +31,7 @@ #include "SelfAwareness.hpp" #include "Packet.hpp" #include "Trace.hpp" +#include "Metrics.hpp" namespace ZeroTier { @@ -45,8 +46,9 @@ Switch::Switch(const RuntimeEnvironment *renv) : // Returns true if packet appears valid; pos and proto will be set static bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLen,unsigned int &pos,unsigned int &proto) { - if (frameLen < 40) + if (frameLen < 40) { return false; + } pos = 40; proto = frameData[6]; while (pos <= frameLen) { @@ -55,8 +57,9 @@ static bool _ipv6GetPayload(const uint8_t *frameData,unsigned int frameLen,unsig case 43: // routing case 60: // destination options case 135: // mobility options - if ((pos + 8) > frameLen) + if ((pos + 8) > frameLen) { return false; // invalid! + } proto = frameData[pos]; pos += ((unsigned int)frameData[pos + 1] * 8) + 8; break; @@ -87,16 +90,19 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre * locate peers with versions <1.0.4. */ const Address beaconAddr(reinterpret_cast(data) + 8,5); - if (beaconAddr == RR->identity.address()) + if (beaconAddr == RR->identity.address()) { return; - if (!RR->node->shouldUsePathForZeroTierTraffic(tPtr,beaconAddr,localSocket,fromAddr)) + } + if (!RR->node->shouldUsePathForZeroTierTraffic(tPtr,beaconAddr,localSocket,fromAddr)) { return; + } const SharedPtr peer(RR->topology->getPeer(tPtr,beaconAddr)); if (peer) { // we'll only respond to beacons from known peers if ((now - _lastBeaconResponse) >= 2500) { // limit rate of responses _lastBeaconResponse = now; Packet outp(peer->address(),RR->identity.address(),Packet::VERB_NOP); outp.armor(peer->key(),true,peer->aesKeysIfSupported()); + Metrics::pkt_nop_out++; path->send(RR,tPtr,outp.data(),outp.size(),now); } } @@ -109,8 +115,9 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre const Address destination(fragment.destination()); if (destination != RR->identity.address()) { - if ( (!RR->topology->amUpstream()) && (!path->trustEstablished(now)) ) + if ( (!RR->topology->amUpstream()) && (!path->trustEstablished(now)) ) { return; + } if (fragment.hops() < ZT_RELAY_MAX_HOPS) { fragment.incrementHops(); @@ -121,8 +128,9 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre if ((!relayTo)||(!relayTo->sendDirect(tPtr,fragment.data(),fragment.size(),now,false))) { // Don't know peer or no direct path -- so relay via someone upstream relayTo = RR->topology->getUpstreamPeer(); - if (relayTo) + if (relayTo) { relayTo->sendDirect(tPtr,fragment.data(),fragment.size(),now,true); + } } } } else { @@ -158,8 +166,9 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre if (Utils::countBits(rq->haveFragments |= (1 << fragmentNumber)) == totalFragments) { // We have all fragments -- assemble and process full Packet - for(unsigned int f=1;ffrag0.append(rq->frags[f - 1].payload(),rq->frags[f - 1].payloadLength()); + } if (rq->frag0.tryDecode(RR,tPtr,flowId)) { rq->timestamp = 0; // packet decoded, free entry @@ -178,12 +187,14 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre const Address destination(reinterpret_cast(data) + 8,ZT_ADDRESS_LENGTH); const Address source(reinterpret_cast(data) + 13,ZT_ADDRESS_LENGTH); - if (source == RR->identity.address()) + if (source == RR->identity.address()) { return; + } if (destination != RR->identity.address()) { - if ( (!RR->topology->amUpstream()) && (!path->trustEstablished(now)) && (source != RR->identity.address()) ) + if ( (!RR->topology->amUpstream()) && (!path->trustEstablished(now)) && (source != RR->identity.address()) ) { return; + } Packet packet(data,len); @@ -193,16 +204,18 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre if ((relayTo)&&(relayTo->sendDirect(tPtr,packet.data(),packet.size(),now,false))) { if ((source != RR->identity.address())&&(_shouldUnite(now,source,destination))) { const SharedPtr sourcePeer(RR->topology->getPeer(tPtr,source)); - if (sourcePeer) + if (sourcePeer) { relayTo->introduce(tPtr,now,sourcePeer); + } } } else { relayTo = RR->topology->getUpstreamPeer(); if ((relayTo)&&(relayTo->address() != source)) { if (relayTo->sendDirect(tPtr,packet.data(),packet.size(),now,true)) { const SharedPtr sourcePeer(RR->topology->getPeer(tPtr,source)); - if (sourcePeer) + if (sourcePeer) { relayTo->introduce(tPtr,now,sourcePeer); + } } } } @@ -240,8 +253,9 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre // We have all fragments -- assemble and process full Packet rq->frag0.init(data,len,path,now); - for(unsigned int f=1;ftotalFragments;++f) + for(unsigned int f=1;ftotalFragments;++f) { rq->frag0.append(rq->frags[f - 1].payload(),rq->frags[f - 1].payloadLength()); + } if (rq->frag0.tryDecode(RR,tPtr,flowId)) { rq->timestamp = 0; // packet decoded, free entry @@ -277,8 +291,9 @@ void Switch::onRemotePacket(void *tPtr,const int64_t localSocket,const InetAddre void Switch::onLocalEthernet(void *tPtr,const SharedPtr &network,const MAC &from,const MAC &to,unsigned int etherType,unsigned int vlanId,const void *data,unsigned int len) { - if (!network->hasConfig()) + if (!network->hasConfig()) { return; + } // Check if this packet is from someone other than the tap -- i.e. bridged in bool fromBridged; @@ -401,8 +416,9 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr &network,const if ((sipNetmaskBits == 88)&&(my6[0] == 0xfd)&&(my6[9] == 0x99)&&(my6[10] == 0x93)) { // ZT-RFC4193 /88 ??? unsigned int ptr = 0; while (ptr != 11) { - if (pkt6[ptr] != my6[ptr]) + if (pkt6[ptr] != my6[ptr]) { break; + } ++ptr; } if (ptr == 11) { // prefix match! @@ -414,8 +430,9 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr &network,const if ( (my6[0] == 0xfc) && (my6[1] == (uint8_t)((nwid32 >> 24) & 0xff)) && (my6[2] == (uint8_t)((nwid32 >> 16) & 0xff)) && (my6[3] == (uint8_t)((nwid32 >> 8) & 0xff)) && (my6[4] == (uint8_t)(nwid32 & 0xff))) { unsigned int ptr = 0; while (ptr != 5) { - if (pkt6[ptr] != my6[ptr]) + if (pkt6[ptr] != my6[ptr]) { break; + } ++ptr; } if (ptr == 5) { // prefix match! @@ -431,27 +448,63 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr &network,const const MAC peerMac(v6EmbeddedAddress,network->id()); uint8_t adv[72]; - adv[0] = 0x60; adv[1] = 0x00; adv[2] = 0x00; adv[3] = 0x00; - adv[4] = 0x00; adv[5] = 0x20; - adv[6] = 0x3a; adv[7] = 0xff; - for(int i=0;i<16;++i) adv[8 + i] = pkt6[i]; - for(int i=0;i<16;++i) adv[24 + i] = my6[i]; - adv[40] = 0x88; adv[41] = 0x00; - adv[42] = 0x00; adv[43] = 0x00; // future home of checksum - adv[44] = 0x60; adv[45] = 0x00; adv[46] = 0x00; adv[47] = 0x00; - for(int i=0;i<16;++i) adv[48 + i] = pkt6[i]; - adv[64] = 0x02; adv[65] = 0x01; - adv[66] = peerMac[0]; adv[67] = peerMac[1]; adv[68] = peerMac[2]; adv[69] = peerMac[3]; adv[70] = peerMac[4]; adv[71] = peerMac[5]; + adv[0] = 0x60; + adv[1] = 0x00; + adv[2] = 0x00; + adv[3] = 0x00; + adv[4] = 0x00; + adv[5] = 0x20; + adv[6] = 0x3a; + adv[7] = 0xff; + for(int i=0;i<16;++i) { + adv[8 + i] = pkt6[i]; + } + for(int i=0;i<16;++i) { + adv[24 + i] = my6[i]; + } + adv[40] = 0x88; + adv[41] = 0x00; + adv[42] = 0x00; + adv[43] = 0x00; // future home of checksum + adv[44] = 0x60; + adv[45] = 0x00; + adv[46] = 0x00; + adv[47] = 0x00; + for(int i=0;i<16;++i) { + adv[48 + i] = pkt6[i]; + } + adv[64] = 0x02; + adv[65] = 0x01; + adv[66] = peerMac[0]; + adv[67] = peerMac[1]; + adv[68] = peerMac[2]; + adv[69] = peerMac[3]; + adv[70] = peerMac[4]; + adv[71] = peerMac[5]; uint16_t pseudo_[36]; uint8_t *const pseudo = reinterpret_cast(pseudo_); - for(int i=0;i<32;++i) pseudo[i] = adv[8 + i]; - pseudo[32] = 0x00; pseudo[33] = 0x00; pseudo[34] = 0x00; pseudo[35] = 0x20; - pseudo[36] = 0x00; pseudo[37] = 0x00; pseudo[38] = 0x00; pseudo[39] = 0x3a; - for(int i=0;i<32;++i) pseudo[40 + i] = adv[40 + i]; + for(int i=0;i<32;++i) { + pseudo[i] = adv[8 + i]; + } + pseudo[32] = 0x00; + pseudo[33] = 0x00; + pseudo[34] = 0x00; + pseudo[35] = 0x20; + pseudo[36] = 0x00; + pseudo[37] = 0x00; + pseudo[38] = 0x00; + pseudo[39] = 0x3a; + for(int i=0;i<32;++i) { + pseudo[40 + i] = adv[40 + i]; + } uint32_t checksum = 0; - for(int i=0;i<36;++i) checksum += Utils::hton(pseudo_[i]); - while ((checksum >> 16)) checksum = (checksum & 0xffff) + (checksum >> 16); + for(int i=0;i<36;++i) { + checksum += Utils::hton(pseudo_[i]); + } + while ((checksum >> 16)) { + checksum = (checksum & 0xffff) + (checksum >> 16); + } checksum = ~checksum; adv[42] = (checksum >> 8) & 0xff; adv[43] = checksum & 0xff; @@ -472,8 +525,9 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr &network,const * Note that some OSes, most notably Linux, do this for you by learning * multicast addresses on bridge interfaces and subscribing each slave. * But in that case this does no harm, as the sets are just merged. */ - if (fromBridged) + if (fromBridged) { network->learnBridgedMulticastGroup(tPtr,multicastGroup,RR->node->now()); + } // First pass sets noTee to false, but noTee is set to true in OutboundMulticast to prevent duplicates. if (!network->filterOutgoingPacket(tPtr,false,RR->identity.address(),Address(),from,to,(const uint8_t *)data,len,etherType,vlanId,qosBucket)) { @@ -562,12 +616,15 @@ void Switch::onLocalEthernet(void *tPtr,const SharedPtr &network,const } else { // Otherwise pick a random set of them while (numBridges < ZT_MAX_BRIDGE_SPAM) { - if (ab == activeBridges.end()) + if (ab == activeBridges.end()) { ab = activeBridges.begin(); + } if (((unsigned long)RR->node->prng() % (unsigned long)activeBridges.size()) == 0) { bridges[numBridges++] = *ab; ++ab; - } else ++ab; + } else { + ++ab; + } } } } @@ -626,11 +683,13 @@ void Switch::aqm_enqueue(void *tPtr, const SharedPtr &network, Packet & if (nqcb->oldQueues[i]->id == qosBucket) { selectedQueue = nqcb->oldQueues[i]; } - } if (i < nqcb->newQueues.size()) { // search new queues (this would imply not often-used queues) + } + if (i < nqcb->newQueues.size()) { // search new queues (this would imply not often-used queues) if (nqcb->newQueues[i]->id == qosBucket) { selectedQueue = nqcb->newQueues[i]; } - } if (i < nqcb->inactiveQueues.size()) { // search inactive queues + } + if (i < nqcb->inactiveQueues.size()) { // search inactive queues if (nqcb->inactiveQueues[i]->id == qosBucket) { selectedQueue = nqcb->inactiveQueues[i]; // move queue to end of NEW queue list @@ -642,6 +701,7 @@ void Switch::aqm_enqueue(void *tPtr, const SharedPtr &network, Packet & } } if (!selectedQueue) { + _aqm_m.unlock(); return; } @@ -653,8 +713,7 @@ void Switch::aqm_enqueue(void *tPtr, const SharedPtr &network, Packet & // Drop a packet if necessary ManagedQueue *selectedQueueToDropFrom = nullptr; - if (nqcb->_currEnqueuedPackets > ZT_AQM_MAX_ENQUEUED_PACKETS) - { + if (nqcb->_currEnqueuedPackets > ZT_AQM_MAX_ENQUEUED_PACKETS) { // DEBUG_INFO("too many enqueued packets (%d), finding packet to drop", nqcb->_currEnqueuedPackets); int maxQueueLength = 0; for (size_t i=0; i &network, Packet & maxQueueLength = nqcb->oldQueues[i]->byteLength; selectedQueueToDropFrom = nqcb->oldQueues[i]; } - } if (i < nqcb->newQueues.size()) { + } + if (i < nqcb->newQueues.size()) { if (nqcb->newQueues[i]->byteLength > maxQueueLength) { maxQueueLength = nqcb->newQueues[i]->byteLength; selectedQueueToDropFrom = nqcb->newQueues[i]; } - } if (i < nqcb->inactiveQueues.size()) { + } + if (i < nqcb->inactiveQueues.size()) { if (nqcb->inactiveQueues[i]->byteLength > maxQueueLength) { maxQueueLength = nqcb->inactiveQueues[i]->byteLength; selectedQueueToDropFrom = nqcb->inactiveQueues[i]; @@ -783,8 +844,7 @@ void Switch::aqm_dequeue(void *tPtr) // DEBUG_INFO("moving q=%p from NEW to OLD list", queueAtFrontOfList); oldQueues->push_back(queueAtFrontOfList); currQueues->erase(currQueues->begin()); - } - else { + } else { int len = entryToEmit->packet.payloadLength(); queueAtFrontOfList->byteLength -= len; queueAtFrontOfList->byteCredit -= len; @@ -816,8 +876,7 @@ void Switch::aqm_dequeue(void *tPtr) // Move to inactive list of queues inactiveQueues->push_back(queueAtFrontOfList); currQueues->erase(currQueues->begin()); - } - else { + } else { int len = entryToEmit->packet.payloadLength(); queueAtFrontOfList->byteLength -= len; queueAtFrontOfList->byteCredit -= len; @@ -849,8 +908,10 @@ void Switch::removeNetworkQoSControlBlock(uint64_t nwid) void Switch::send(void *tPtr,Packet &packet,bool encrypt,int32_t flowId) { const Address dest(packet.destination()); - if (dest == RR->identity.address()) + if (dest == RR->identity.address()) { return; + } + _recordOutgoingPacketMetrics(packet); if (!_trySend(tPtr,packet,encrypt,flowId)) { { Mutex::Lock _l(_txQueue_m); @@ -859,22 +920,26 @@ void Switch::send(void *tPtr,Packet &packet,bool encrypt,int32_t flowId) } _txQueue.push_back(TXQueueEntry(dest,RR->node->now(),packet,encrypt,flowId)); } - if (!RR->topology->getPeer(tPtr,dest)) + if (!RR->topology->getPeer(tPtr,dest)) { requestWhois(tPtr,RR->node->now(),dest); + } } } void Switch::requestWhois(void *tPtr,const int64_t now,const Address &addr) { - if (addr == RR->identity.address()) + if (addr == RR->identity.address()) { return; + } { Mutex::Lock _l(_lastSentWhoisRequest_m); int64_t &last = _lastSentWhoisRequest[addr]; - if ((now - last) < ZT_WHOIS_RETRY_DELAY) + if ((now - last) < ZT_WHOIS_RETRY_DELAY) { return; - else last = now; + } else { + last = now; + } } const SharedPtr upstream(RR->topology->getUpstreamPeer()); @@ -898,8 +963,9 @@ void Switch::doAnythingWaitingForPeer(void *tPtr,const SharedPtr &peer) RXQueueEntry *const rq = &(_rxQueue[ptr]); Mutex::Lock rql(rq->lock); if ((rq->timestamp)&&(rq->complete)) { - if ((rq->frag0.tryDecode(RR,tPtr,rq->flowId))||((now - rq->timestamp) > ZT_RECEIVE_QUEUE_TIMEOUT)) + if ((rq->frag0.tryDecode(RR,tPtr,rq->flowId))||((now - rq->timestamp) > ZT_RECEIVE_QUEUE_TIMEOUT)) { rq->timestamp = 0; + } } } @@ -922,8 +988,9 @@ void Switch::doAnythingWaitingForPeer(void *tPtr,const SharedPtr &peer) unsigned long Switch::doTimerTasks(void *tPtr,int64_t now) { const uint64_t timeSinceLastCheck = now - _lastCheckedQueues; - if (timeSinceLastCheck < ZT_WHOIS_RETRY_DELAY) + if (timeSinceLastCheck < ZT_WHOIS_RETRY_DELAY) { return (unsigned long)(ZT_WHOIS_RETRY_DELAY - timeSinceLastCheck); + } _lastCheckedQueues = now; std::vector
    needWhois; @@ -936,14 +1003,16 @@ unsigned long Switch::doTimerTasks(void *tPtr,int64_t now) } else if ((now - txi->creationTime) > ZT_TRANSMIT_QUEUE_TIMEOUT) { _txQueue.erase(txi++); } else { - if (!RR->topology->getPeer(tPtr,txi->dest)) + if (!RR->topology->getPeer(tPtr,txi->dest)) { needWhois.push_back(txi->dest); + } ++txi; } } } - for(std::vector
    ::const_iterator i(needWhois.begin());i!=needWhois.end();++i) + for(std::vector
    ::const_iterator i(needWhois.begin());i!=needWhois.end();++i) { requestWhois(tPtr,now,*i); + } for(unsigned int ptr=0;ptrtimestamp = 0; } else { const Address src(rq->frag0.source()); - if (!RR->topology->getPeer(tPtr,src)) + if (!RR->topology->getPeer(tPtr,src)) { requestWhois(tPtr,now,src); + } } } } @@ -965,8 +1035,9 @@ unsigned long Switch::doTimerTasks(void *tPtr,int64_t now) _LastUniteKey *k = (_LastUniteKey *)0; uint64_t *v = (uint64_t *)0; while (i.next(k,v)) { - if ((now - *v) >= (ZT_MIN_UNITE_INTERVAL * 8)) + if ((now - *v) >= (ZT_MIN_UNITE_INTERVAL * 8)) { _lastUniteAttempt.erase(*k); + } } } @@ -976,8 +1047,9 @@ unsigned long Switch::doTimerTasks(void *tPtr,int64_t now) Address *a = (Address *)0; int64_t *ts = (int64_t *)0; while (i.next(a,ts)) { - if ((now - *ts) > (ZT_WHOIS_RETRY_DELAY * 2)) + if ((now - *ts) > (ZT_WHOIS_RETRY_DELAY * 2)) { _lastSentWhoisRequest.erase(*a); + } } } @@ -1014,15 +1086,15 @@ bool Switch::_trySend(void *tPtr,Packet &packet,bool encrypt,int32_t flowId) } } return true; - } - else { + } else { viaPath = peer->getAppropriatePath(now,false,flowId); if (!viaPath) { peer->tryMemorizedPath(tPtr,now); // periodically attempt memorized or statically defined paths, if any are known const SharedPtr relay(RR->topology->getUpstreamPeer()); if ( (!relay) || (!(viaPath = relay->getAppropriatePath(now,false,flowId))) ) { - if (!(viaPath = peer->getAppropriatePath(now,true,flowId))) + if (!(viaPath = peer->getAppropriatePath(now,true,flowId))) { return false; + } } } if (viaPath) { @@ -1064,8 +1136,9 @@ void Switch::_sendViaSpecificPath(void *tPtr,SharedPtr peer,SharedPtr peer,SharedPtr peer,SharedPtr viaPath,uint16_t userSpecifiedMtu, int64_t now,Packet &packet,bool encrypt,int32_t flowId); + void _recordOutgoingPacketMetrics(const Packet &p); const RuntimeEnvironment *const RR; int64_t _lastBeaconResponse; @@ -240,8 +241,9 @@ private: const unsigned int current = static_cast(_rxQueuePtr.load()); for(unsigned int k=1;k<=ZT_RX_QUEUE_SIZE;++k) { RXQueueEntry *rq = &(_rxQueue[(current - k) % ZT_RX_QUEUE_SIZE]); - if ((rq->packetId == packetId)&&(rq->timestamp)) + if ((rq->packetId == packetId)&&(rq->timestamp)) { return rq; + } } ++_rxQueuePtr; return &(_rxQueue[static_cast(current) % ZT_RX_QUEUE_SIZE]); diff --git a/node/Tag.cpp b/node/Tag.cpp index 78f5d1f3c..537da11c9 100644 --- a/node/Tag.cpp +++ b/node/Tag.cpp @@ -23,8 +23,9 @@ namespace ZeroTier { int Tag::verify(const RuntimeEnvironment *RR,void *tPtr) const { - if ((!_signedBy)||(_signedBy != Network::controllerFor(_networkId))) + if ((!_signedBy)||(_signedBy != Network::controllerFor(_networkId))) { return -1; + } const Identity id(RR->topology->getIdentity(tPtr,_signedBy)); if (!id) { RR->sw->requestWhois(tPtr,RR->node->now(),_signedBy); diff --git a/node/Tag.hpp b/node/Tag.hpp index cad8a5c31..c8d00b0c6 100644 --- a/node/Tag.hpp +++ b/node/Tag.hpp @@ -116,7 +116,9 @@ public: template inline void serialize(Buffer &b,const bool forSign = false) const { - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } b.append(_networkId); b.append(_ts); @@ -133,7 +135,9 @@ public: b.append((uint16_t)0); // length of additional fields, currently 0 - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } } template @@ -143,26 +147,35 @@ public: *this = Tag(); - _networkId = b.template at(p); p += 8; - _ts = b.template at(p); p += 8; - _id = b.template at(p); p += 4; + _networkId = b.template at(p); + p += 8; + _ts = b.template at(p); + p += 8; + _id = b.template at(p); + p += 4; - _value = b.template at(p); p += 4; + _value = b.template at(p); + p += 4; - _issuedTo.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; - _signedBy.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); p += ZT_ADDRESS_LENGTH; + _issuedTo.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); + p += ZT_ADDRESS_LENGTH; + _signedBy.setTo(b.field(p,ZT_ADDRESS_LENGTH),ZT_ADDRESS_LENGTH); + p += ZT_ADDRESS_LENGTH; if (b[p++] == 1) { - if (b.template at(p) != ZT_C25519_SIGNATURE_LEN) + if (b.template at(p) != ZT_C25519_SIGNATURE_LEN) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN; + } p += 2; - memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); p += ZT_C25519_SIGNATURE_LEN; + memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); + p += ZT_C25519_SIGNATURE_LEN; } else { p += 2 + b.template at(p); } p += 2 + b.template at(p); - if (p > b.size()) + if (p > b.size()) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } return (p - startAt); } diff --git a/node/Topology.cpp b/node/Topology.cpp index 6a6675ab2..c2e5bb4b3 100644 --- a/node/Topology.cpp +++ b/node/Topology.cpp @@ -32,7 +32,8 @@ Topology::Topology(const RuntimeEnvironment *renv,void *tPtr) : { uint8_t tmp[ZT_WORLD_MAX_SERIALIZED_LENGTH]; uint64_t idtmp[2]; - idtmp[0] = 0; idtmp[1] = 0; + idtmp[0] = 0; + idtmp[1] = 0; int n = RR->node->stateObjectGet(tPtr,ZT_STATE_OBJECT_PLANET,idtmp,tmp,sizeof(tmp)); if (n > 0) { try { @@ -55,8 +56,9 @@ Topology::~Topology() Hashtable< Address,SharedPtr >::Iterator i(_peers); Address *a = (Address *)0; SharedPtr *p = (SharedPtr *)0; - while (i.next(a,p)) + while (i.next(a,p)) { _savePeer((void *)0,*p); + } } SharedPtr Topology::addPeer(void *tPtr,const SharedPtr &peer) @@ -65,8 +67,9 @@ SharedPtr Topology::addPeer(void *tPtr,const SharedPtr &peer) { Mutex::Lock _l(_peers_m); SharedPtr &hp = _peers[peer->address()]; - if (!hp) + if (!hp) { hp = peer; + } np = hp; } return np; @@ -74,26 +77,31 @@ SharedPtr Topology::addPeer(void *tPtr,const SharedPtr &peer) SharedPtr Topology::getPeer(void *tPtr,const Address &zta) { - if (zta == RR->identity.address()) + if (zta == RR->identity.address()) { return SharedPtr(); + } { Mutex::Lock _l(_peers_m); const SharedPtr *const ap = _peers.get(zta); - if (ap) + if (ap) { return *ap; + } } try { Buffer buf; - uint64_t idbuf[2]; idbuf[0] = zta.toInt(); idbuf[1] = 0; + uint64_t idbuf[2]; + idbuf[0] = zta.toInt(); + idbuf[1] = 0; int len = RR->node->stateObjectGet(tPtr,ZT_STATE_OBJECT_PEER,idbuf,buf.unsafeData(),ZT_PEER_MAX_SERIALIZED_STATE_SIZE); if (len > 0) { buf.setSize(len); Mutex::Lock _l(_peers_m); SharedPtr &ap = _peers[zta]; - if (ap) + if (ap) { return ap; + } ap = Peer::deserializeFromCache(RR->node->now(),tPtr,buf,RR); if (!ap) { _peers.erase(zta); @@ -112,8 +120,9 @@ Identity Topology::getIdentity(void *tPtr,const Address &zta) } else { Mutex::Lock _l(_peers_m); const SharedPtr *const ap = _peers.get(zta); - if (ap) + if (ap) { return (*ap)->identity(); + } } return Identity(); } @@ -138,8 +147,9 @@ SharedPtr Topology::getUpstreamPeer() } } - if (!best) + if (!best) { return SharedPtr(); + } return *best; } @@ -152,11 +162,13 @@ bool Topology::isUpstream(const Identity &id) const bool Topology::shouldAcceptWorldUpdateFrom(const Address &addr) const { Mutex::Lock _l(_upstreams_m); - if (std::find(_upstreamAddresses.begin(),_upstreamAddresses.end(),addr) != _upstreamAddresses.end()) + if (std::find(_upstreamAddresses.begin(),_upstreamAddresses.end(),addr) != _upstreamAddresses.end()) { return true; + } for(std::vector< std::pair< uint64_t,Address> >::const_iterator s(_moonSeeds.begin());s!=_moonSeeds.end();++s) { - if (s->second == addr) + if (s->second == addr) { return true; + } } return false; } @@ -166,8 +178,9 @@ ZT_PeerRole Topology::role(const Address &ztaddr) const Mutex::Lock _l(_upstreams_m); if (std::find(_upstreamAddresses.begin(),_upstreamAddresses.end(),ztaddr) != _upstreamAddresses.end()) { for(std::vector::const_iterator i(_planet.roots().begin());i!=_planet.roots().end();++i) { - if (i->identity.address() == ztaddr) + if (i->identity.address() == ztaddr) { return ZT_PEER_ROLE_PLANET; + } } return ZT_PEER_ROLE_MOON; } @@ -183,22 +196,26 @@ bool Topology::isProhibitedEndpoint(const Address &ztaddr,const InetAddress &ipa if (std::find(_upstreamAddresses.begin(),_upstreamAddresses.end(),ztaddr) != _upstreamAddresses.end()) { for(std::vector::const_iterator r(_planet.roots().begin());r!=_planet.roots().end();++r) { if (r->identity.address() == ztaddr) { - if (r->stableEndpoints.empty()) + if (r->stableEndpoints.empty()) { return false; // no stable endpoints specified, so allow dynamic paths + } for(std::vector::const_iterator e(r->stableEndpoints.begin());e!=r->stableEndpoints.end();++e) { - if (ipaddr.ipsEqual(*e)) + if (ipaddr.ipsEqual(*e)) { return false; + } } } } for(std::vector::const_iterator m(_moons.begin());m!=_moons.end();++m) { for(std::vector::const_iterator r(m->roots().begin());r!=m->roots().end();++r) { if (r->identity.address() == ztaddr) { - if (r->stableEndpoints.empty()) + if (r->stableEndpoints.empty()) { return false; // no stable endpoints specified, so allow dynamic paths + } for(std::vector::const_iterator e(r->stableEndpoints.begin());e!=r->stableEndpoints.end();++e) { - if (ipaddr.ipsEqual(*e)) + if (ipaddr.ipsEqual(*e)) { return false; + } } } } @@ -211,8 +228,9 @@ bool Topology::isProhibitedEndpoint(const Address &ztaddr,const InetAddress &ipa bool Topology::addWorld(void *tPtr,const World &newWorld,bool alwaysAcceptNew) { - if ((newWorld.type() != World::TYPE_PLANET)&&(newWorld.type() != World::TYPE_MOON)) + if ((newWorld.type() != World::TYPE_PLANET)&&(newWorld.type() != World::TYPE_MOON)) { return false; + } Mutex::Lock _l2(_peers_m); Mutex::Lock _l1(_upstreams_m); @@ -235,9 +253,11 @@ bool Topology::addWorld(void *tPtr,const World &newWorld,bool alwaysAcceptNew) } if (existing) { - if (existing->shouldBeReplacedBy(newWorld)) + if (existing->shouldBeReplacedBy(newWorld)) { *existing = newWorld; - else return false; + } else { + return false; + } } else if (newWorld.type() == World::TYPE_MOON) { if (alwaysAcceptNew) { _moons.push_back(newWorld); @@ -253,13 +273,15 @@ bool Topology::addWorld(void *tPtr,const World &newWorld,bool alwaysAcceptNew) break; } } - if (existing) + if (existing) { break; + } } } } - if (!existing) + if (!existing) { return false; + } } else { return false; } @@ -268,7 +290,8 @@ bool Topology::addWorld(void *tPtr,const World &newWorld,bool alwaysAcceptNew) Buffer sbuf; existing->serialize(sbuf,false); uint64_t idtmp[2]; - idtmp[0] = existing->id(); idtmp[1] = 0; + idtmp[0] = existing->id(); + idtmp[1] = 0; RR->node->stateObjectPut(tPtr,(existing->type() == World::TYPE_PLANET) ? ZT_STATE_OBJECT_PLANET : ZT_STATE_OBJECT_MOON,idtmp,sbuf.data(),sbuf.size()); } catch ( ... ) {} @@ -281,7 +304,8 @@ void Topology::addMoon(void *tPtr,const uint64_t id,const Address &seed) { char tmp[ZT_WORLD_MAX_SERIALIZED_LENGTH]; uint64_t idtmp[2]; - idtmp[0] = id; idtmp[1] = 0; + idtmp[0] = id; + idtmp[1] = 0; int n = RR->node->stateObjectGet(tPtr,ZT_STATE_OBJECT_MOON,idtmp,tmp,sizeof(tmp)); if (n > 0) { try { @@ -296,8 +320,9 @@ void Topology::addMoon(void *tPtr,const uint64_t id,const Address &seed) if (seed) { Mutex::Lock _l(_upstreams_m); - if (std::find(_moonSeeds.begin(),_moonSeeds.end(),std::pair(id,seed)) == _moonSeeds.end()) + if (std::find(_moonSeeds.begin(),_moonSeeds.end(),std::pair(id,seed)) == _moonSeeds.end()) { _moonSeeds.push_back(std::pair(id,seed)); + } } } @@ -312,7 +337,8 @@ void Topology::removeMoon(void *tPtr,const uint64_t id) nm.push_back(*m); } else { uint64_t idtmp[2]; - idtmp[0] = id; idtmp[1] = 0; + idtmp[0] = id; + idtmp[1] = 0; RR->node->stateObjectDelete(tPtr,ZT_STATE_OBJECT_MOON,idtmp); } } @@ -320,8 +346,9 @@ void Topology::removeMoon(void *tPtr,const uint64_t id) std::vector< std::pair > cm; for(std::vector< std::pair >::const_iterator m(_moonSeeds.begin());m!=_moonSeeds.end();++m) { - if (m->first != id) + if (m->first != id) { cm.push_back(*m); + } } _moonSeeds.swap(cm); @@ -350,8 +377,9 @@ void Topology::doPeriodicTasks(void *tPtr,int64_t now) Path::HashKey *k = (Path::HashKey *)0; SharedPtr *p = (SharedPtr *)0; while (i.next(k,p)) { - if (p->references() <= 1) + if (p->references() <= 1) { _paths.erase(*k); + } } } } @@ -382,8 +410,9 @@ void Topology::_memoizeUpstreams(void *tPtr) } else if (std::find(_upstreamAddresses.begin(),_upstreamAddresses.end(),i->identity.address()) == _upstreamAddresses.end()) { _upstreamAddresses.push_back(i->identity.address()); SharedPtr &hp = _peers[i->identity.address()]; - if (!hp) + if (!hp) { hp = new Peer(RR,RR->identity,i->identity); + } } } } @@ -396,7 +425,9 @@ void Topology::_savePeer(void *tPtr,const SharedPtr &peer) try { Buffer buf; peer->serializeForCache(buf); - uint64_t tmpid[2]; tmpid[0] = peer->address().toInt(); tmpid[1] = 0; + uint64_t tmpid[2]; + tmpid[0] = peer->address().toInt(); + tmpid[1] = 0; RR->node->stateObjectPut(tPtr,ZT_STATE_OBJECT_PEER,tmpid,buf.data(),buf.size()); } catch ( ... ) {} // sanity check, discard invalid entries } diff --git a/node/Topology.hpp b/node/Topology.hpp index 2d4e5d92c..248b11782 100644 --- a/node/Topology.hpp +++ b/node/Topology.hpp @@ -89,8 +89,9 @@ public: { Mutex::Lock _l(_peers_m); const SharedPtr *const ap = _peers.get(zta); - if (ap) + if (ap) { return *ap; + } return SharedPtr(); } @@ -105,8 +106,9 @@ public: { Mutex::Lock _l(_paths_m); SharedPtr &p = _paths[Path::HashKey(l,r)]; - if (!p) + if (!p) { p.set(new Path(l,r)); + } return p; } @@ -163,8 +165,9 @@ public: if (i->identity != RR->identity) { std::vector &ips = eps[i->identity.address()]; for(std::vector::const_iterator j(i->stableEndpoints.begin());j!=i->stableEndpoints.end();++j) { - if (std::find(ips.begin(),ips.end(),*j) == ips.end()) + if (std::find(ips.begin(),ips.end(),*j) == ips.end()) { ips.push_back(*j); + } } } } @@ -173,14 +176,16 @@ public: if (i->identity != RR->identity) { std::vector &ips = eps[i->identity.address()]; for(std::vector::const_iterator j(i->stableEndpoints.begin());j!=i->stableEndpoints.end();++j) { - if (std::find(ips.begin(),ips.end(),*j) == ips.end()) + if (std::find(ips.begin(),ips.end(),*j) == ips.end()) { ips.push_back(*j); + } } } } } - for(std::vector< std::pair >::const_iterator m(_moonSeeds.begin());m!=_moonSeeds.end();++m) + for(std::vector< std::pair >::const_iterator m(_moonSeeds.begin());m!=_moonSeeds.end();++m) { eps[m->second]; + } } /** @@ -209,8 +214,9 @@ public: Mutex::Lock _l(_upstreams_m); std::vector mw; for(std::vector< std::pair >::const_iterator s(_moonSeeds.begin());s!=_moonSeeds.end();++s) { - if (std::find(mw.begin(),mw.end(),s->first) == mw.end()) + if (std::find(mw.begin(),mw.end(),s->first) == mw.end()) { mw.push_back(s->first); + } } return mw; } @@ -287,8 +293,9 @@ public: SharedPtr *p = (SharedPtr *)0; while (i.next(a,p)) { const SharedPtr pp((*p)->getAppropriatePath(now,false)); - if (pp) + if (pp) { ++cnt; + } } return cnt; } @@ -354,8 +361,9 @@ public: inline unsigned int getOutboundPathMtu(const InetAddress &physicalAddress) { for(unsigned int i=0,j=_numConfiguredPhysicalPaths;i cpaths; - for(unsigned int i=0,j=_numConfiguredPhysicalPaths;i ZT_MAX_PHYSMTU) + } else if (pc.mtu > ZT_MAX_PHYSMTU) { pc.mtu = ZT_MAX_PHYSMTU; + } cpaths[*(reinterpret_cast(pathNetwork))] = pc; } else { diff --git a/node/Trace.cpp b/node/Trace.cpp index 8443a1217..8a9b7b284 100644 --- a/node/Trace.cpp +++ b/node/Trace.cpp @@ -59,38 +59,47 @@ void Trace::resettingPathsInScope(void *const tPtr,const Address &reporter,const d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_PHYADDR,myPhysicalAddress.toString(tmp)); d.add(ZT_REMOTE_TRACE_FIELD__IP_SCOPE,(uint64_t)scope); - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); + } _spamToAllNetworks(tPtr,d,Trace::LEVEL_NORMAL); } void Trace::peerConfirmingUnknownPath(void *const tPtr,const uint64_t networkId,Peer &peer,const SharedPtr &path,const uint64_t packetId,const Packet::Verb verb) { char tmp[128]; - if (!path) return; // sanity check + if (!path) { + return; // sanity check + } ZT_LOCAL_TRACE(tPtr,RR,"trying unknown path %s to %.10llx (packet %.16llx verb %d local socket %lld network %.16llx)",path->address().toString(tmp),peer.address().toInt(),packetId,verb,path->localSocket(),networkId); std::pair byn; - if (networkId) { Mutex::Lock l(_byNet_m); _byNet.get(networkId,byn); } + if (networkId) { + Mutex::Lock l(_byNet_m); + _byNet.get(networkId,byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; d.add(ZT_REMOTE_TRACE_FIELD__EVENT,ZT_REMOTE_TRACE_EVENT__PEER_CONFIRMING_UNKNOWN_PATH_S); d.add(ZT_REMOTE_TRACE_FIELD__PACKET_ID,packetId); d.add(ZT_REMOTE_TRACE_FIELD__PACKET_VERB,(uint64_t)verb); - if (networkId) + if (networkId) { d.add(ZT_REMOTE_TRACE_FIELD__NETWORK_ID,networkId); + } d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_ZTADDR,peer.address()); if (path) { d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_PHYADDR,path->address().toString(tmp)); d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_SOCKET,path->localSocket()); } - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } @@ -102,53 +111,69 @@ void Trace::bondStateMessage(void *const tPtr,char *msg) void Trace::peerLearnedNewPath(void *const tPtr,const uint64_t networkId,Peer &peer,const SharedPtr &newPath,const uint64_t packetId) { char tmp[128]; - if (!newPath) return; // sanity check + if (!newPath) { + return; // sanity check + } ZT_LOCAL_TRACE(tPtr,RR,"learned new path %s to %.10llx (packet %.16llx local socket %lld network %.16llx)",newPath->address().toString(tmp),peer.address().toInt(),packetId,newPath->localSocket(),networkId); std::pair byn; - if (networkId) { Mutex::Lock l(_byNet_m); _byNet.get(networkId,byn); } + if (networkId) { + Mutex::Lock l(_byNet_m); + _byNet.get(networkId,byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; d.add(ZT_REMOTE_TRACE_FIELD__EVENT,ZT_REMOTE_TRACE_EVENT__PEER_LEARNED_NEW_PATH_S); d.add(ZT_REMOTE_TRACE_FIELD__PACKET_ID,packetId); - if (networkId) - d.add(ZT_REMOTE_TRACE_FIELD__NETWORK_ID,networkId); + if (networkId) { + d.add(ZT_REMOTE_TRACE_FIELD__NETWORK_ID, networkId); + } d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_ZTADDR,peer.address()); d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_PHYADDR,newPath->address().toString(tmp)); d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_SOCKET,newPath->localSocket()); - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } void Trace::peerRedirected(void *const tPtr,const uint64_t networkId,Peer &peer,const SharedPtr &newPath) { char tmp[128]; - if (!newPath) return; // sanity check + if (!newPath) { + return; // sanity check + } ZT_LOCAL_TRACE(tPtr,RR,"explicit redirect from %.10llx to path %s",peer.address().toInt(),newPath->address().toString(tmp)); std::pair byn; - if (networkId) { Mutex::Lock l(_byNet_m); _byNet.get(networkId,byn); } + if (networkId) { + Mutex::Lock l(_byNet_m); + _byNet.get(networkId,byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; d.add(ZT_REMOTE_TRACE_FIELD__EVENT,ZT_REMOTE_TRACE_EVENT__PEER_REDIRECTED_S); - if (networkId) + if (networkId) { d.add(ZT_REMOTE_TRACE_FIELD__NETWORK_ID,networkId); + } d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_ZTADDR,peer.address()); d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_PHYADDR,newPath->address().toString(tmp)); d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_SOCKET,newPath->localSocket()); - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } @@ -157,7 +182,9 @@ void Trace::outgoingNetworkFrameDropped(void *const tPtr,const SharedPtr %s etherType %.4x size %u (%s)",network->id(),sourceMac.toString(tmp),destMac.toString(tmp2),etherType,frameLen,(reason) ? reason : "unknown reason"); @@ -173,20 +200,25 @@ void Trace::outgoingNetworkFrameDropped(void *const tPtr,const SharedPtr= (int)Trace::LEVEL_VERBOSE)) + if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_VERBOSE)) { _send(tPtr,d,_globalTarget); - if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_VERBOSE)) + } + if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_VERBOSE)) { _send(tPtr,d,byn.first); + } } } void Trace::incomingNetworkAccessDenied(void *const tPtr,const SharedPtr &network,const SharedPtr &path,const uint64_t packetId,const unsigned int packetLength,const Address &source,const Packet::Verb verb,bool credentialsRequested) { char tmp[128]; - if (!network) return; // sanity check + if (!network) { + return; // sanity check + } ZT_LOCAL_TRACE(tPtr,RR,"%.16llx DENIED packet from %.10llx(%s) verb %d size %u%s",network->id(),source.toInt(),(path) ? (path->address().toString(tmp)) : "???",(int)verb,packetLength,credentialsRequested ? " (credentials requested)" : " (credentials not requested)"); @@ -205,17 +237,21 @@ void Trace::incomingNetworkAccessDenied(void *const tPtr,const SharedPtrid()); - if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_VERBOSE)) + if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_VERBOSE)) { _send(tPtr,d,_globalTarget); - if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_VERBOSE)) + } + if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_VERBOSE)) { _send(tPtr,d,byn.first); + } } } void Trace::incomingNetworkFrameDropped(void *const tPtr,const SharedPtr &network,const SharedPtr &path,const uint64_t packetId,const unsigned int packetLength,const Address &source,const Packet::Verb verb,const MAC &sourceMac,const MAC &destMac,const char *reason) { char tmp[128]; - if (!network) return; // sanity check + if (!network) { + return; // sanity check + } ZT_LOCAL_TRACE(tPtr,RR,"%.16llx DROPPED frame from %.10llx(%s) verb %d size %u",network->id(),source.toInt(),(path) ? (path->address().toString(tmp)) : "???",(int)verb,packetLength); @@ -235,13 +271,16 @@ void Trace::incomingNetworkFrameDropped(void *const tPtr,const SharedPtrid()); d.add(ZT_REMOTE_TRACE_FIELD__SOURCE_MAC,sourceMac.toInt()); d.add(ZT_REMOTE_TRACE_FIELD__DEST_MAC,destMac.toInt()); - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } - if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_VERBOSE)) + if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_VERBOSE)) { _send(tPtr,d,_globalTarget); - if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_VERBOSE)) + } + if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_VERBOSE)) { _send(tPtr,d,byn.first); + } } } @@ -261,8 +300,9 @@ void Trace::incomingPacketMessageAuthenticationFailure(void *const tPtr,const Sh d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_PHYADDR,path->address().toString(tmp)); d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_SOCKET,path->localSocket()); } - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } _send(tPtr,d,_globalTarget); } @@ -285,8 +325,9 @@ void Trace::incomingPacketInvalid(void *const tPtr,const SharedPtr &path,c d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_SOCKET,path->localSocket()); } d.add(ZT_REMOTE_TRACE_FIELD__PACKET_HOPS,(uint64_t)hops); - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } _send(tPtr,d,_globalTarget); } @@ -307,8 +348,9 @@ void Trace::incomingPacketDroppedHELLO(void *const tPtr,const SharedPtr &p d.add(ZT_REMOTE_TRACE_FIELD__REMOTE_PHYADDR,path->address().toString(tmp)); d.add(ZT_REMOTE_TRACE_FIELD__LOCAL_SOCKET,path->localSocket()); } - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } _send(tPtr,d,_globalTarget); } @@ -361,25 +403,33 @@ void Trace::networkFilter( d.add(ZT_REMOTE_TRACE_FIELD__FILTER_FLAG_INBOUND,inbound ? "1" : "0"); d.add(ZT_REMOTE_TRACE_FIELD__FILTER_RESULT,(int64_t)accept); d.add(ZT_REMOTE_TRACE_FIELD__FILTER_BASE_RULE_LOG,(const char *)primaryRuleSetLog.data(),(int)primaryRuleSetLog.sizeBytes()); - if (matchingCapabilityRuleSetLog) + if (matchingCapabilityRuleSetLog) { d.add(ZT_REMOTE_TRACE_FIELD__FILTER_CAP_RULE_LOG,(const char *)matchingCapabilityRuleSetLog->data(),(int)matchingCapabilityRuleSetLog->sizeBytes()); - if (matchingCapability) + } + if (matchingCapability) { d.add(ZT_REMOTE_TRACE_FIELD__FILTER_CAP_ID,(uint64_t)matchingCapability->id()); + } d.add(ZT_REMOTE_TRACE_FIELD__FRAME_LENGTH,(uint64_t)frameLen); - if (frameLen > 0) + if (frameLen > 0) { d.add(ZT_REMOTE_TRACE_FIELD__FRAME_DATA,(const char *)frameData,(frameLen > 256) ? (int)256 : (int)frameLen); + } - if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_RULES)) + if ((_globalTarget)&&((int)_globalLevel >= (int)Trace::LEVEL_RULES)) { _send(tPtr,d,_globalTarget); - if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_RULES)) + } + if ((byn.first)&&((int)byn.second >= (int)Trace::LEVEL_RULES)) { _send(tPtr,d,byn.first); + } } } void Trace::credentialRejected(void *const tPtr,const CertificateOfMembership &c,const char *reason) { std::pair byn; - if (c.networkId()) { Mutex::Lock l(_byNet_m); _byNet.get(c.networkId(),byn); } + if (c.networkId()) { + Mutex::Lock l(_byNet_m); + _byNet.get(c.networkId(),byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; @@ -389,20 +439,26 @@ void Trace::credentialRejected(void *const tPtr,const CertificateOfMembership &c d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ID,(uint64_t)c.id()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_TIMESTAMP,c.timestamp()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ISSUED_TO,c.issuedTo()); - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } void Trace::credentialRejected(void *const tPtr,const CertificateOfOwnership &c,const char *reason) { std::pair byn; - if (c.networkId()) { Mutex::Lock l(_byNet_m); _byNet.get(c.networkId(),byn); } + if (c.networkId()) { + Mutex::Lock l(_byNet_m); + _byNet.get(c.networkId(),byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; @@ -412,20 +468,26 @@ void Trace::credentialRejected(void *const tPtr,const CertificateOfOwnership &c, d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ID,(uint64_t)c.id()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_TIMESTAMP,c.timestamp()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ISSUED_TO,c.issuedTo()); - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } void Trace::credentialRejected(void *const tPtr,const Capability &c,const char *reason) { std::pair byn; - if (c.networkId()) { Mutex::Lock l(_byNet_m); _byNet.get(c.networkId(),byn); } + if (c.networkId()) { + Mutex::Lock l(_byNet_m); + _byNet.get(c.networkId(),byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; @@ -435,20 +497,26 @@ void Trace::credentialRejected(void *const tPtr,const Capability &c,const char * d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ID,(uint64_t)c.id()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_TIMESTAMP,c.timestamp()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ISSUED_TO,c.issuedTo()); - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } void Trace::credentialRejected(void *const tPtr,const Tag &c,const char *reason) { std::pair byn; - if (c.networkId()) { Mutex::Lock l(_byNet_m); _byNet.get(c.networkId(),byn); } + if (c.networkId()) { + Mutex::Lock l(_byNet_m); + _byNet.get(c.networkId(),byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; @@ -459,20 +527,26 @@ void Trace::credentialRejected(void *const tPtr,const Tag &c,const char *reason) d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_TIMESTAMP,c.timestamp()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ISSUED_TO,c.issuedTo()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_INFO,(uint64_t)c.value()); - if (reason) + if (reason) { d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + } - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } void Trace::credentialRejected(void *const tPtr,const Revocation &c,const char *reason) { std::pair byn; - if (c.networkId()) { Mutex::Lock l(_byNet_m); _byNet.get(c.networkId(),byn); } + if (c.networkId()) { + Mutex::Lock l(_byNet_m); + _byNet.get(c.networkId(),byn); + } if ((_globalTarget)||(byn.first)) { Dictionary d; @@ -481,13 +555,16 @@ void Trace::credentialRejected(void *const tPtr,const Revocation &c,const char * d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_TYPE,(uint64_t)c.credentialType()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_ID,(uint64_t)c.id()); d.add(ZT_REMOTE_TRACE_FIELD__CREDENTIAL_REVOCATION_TARGET,c.target()); - if (reason) - d.add(ZT_REMOTE_TRACE_FIELD__REASON,reason); + if (reason) { + d.add(ZT_REMOTE_TRACE_FIELD__REASON, reason); + } - if (_globalTarget) + if (_globalTarget) { _send(tPtr,d,_globalTarget); - if (byn.first) + } + if (byn.first) { _send(tPtr,d,byn.first); + } } } @@ -525,8 +602,9 @@ void Trace::_spamToAllNetworks(void *const tPtr,const Dictionary *v = (std::pair *)0; while (i.next(k,v)) { - if ((v)&&(v->first)&&((int)v->second >= (int)level)) + if ((v)&&(v->first)&&((int)v->second >= (int)level)) { _send(tPtr,d,v->first); + } } } diff --git a/node/Utils.cpp b/node/Utils.cpp index a0bf07077..be39aa0aa 100644 --- a/node/Utils.cpp +++ b/node/Utils.cpp @@ -188,18 +188,22 @@ const Utils::CPUIDRegisters Utils::CPUID; static void _Utils_doBurn(volatile uint8_t *ptr,unsigned int len) { volatile uint8_t *const end = ptr + len; - while (ptr != end) *(ptr++) = (uint8_t)0; + while (ptr != end) { + *(ptr++) = (uint8_t)0; + } } static void (*volatile _Utils_doBurn_ptr)(volatile uint8_t *,unsigned int) = _Utils_doBurn; void Utils::burn(void *ptr,unsigned int len) { (_Utils_doBurn_ptr)((volatile uint8_t *)ptr,len); } static unsigned long _Utils_itoa(unsigned long n,char *s) { - if (n == 0) + if (n == 0) { return 0; + } unsigned long pos = _Utils_itoa(n / 10,s); - if (pos >= 22) // sanity check, should be impossible + if (pos >= 22) { // sanity check, should be impossible pos = 22; + } s[pos] = '0' + (char)(n % 10); return pos + 1; } @@ -288,7 +292,9 @@ void Utils::getSecureRandom(void *buf,unsigned int bytes) exit(1); return; } - } else break; + } else { + break; + } } randomPtr = 0; s20.crypt12(randomBuf,randomBuf,sizeof(randomBuf)); diff --git a/node/Utils.hpp b/node/Utils.hpp index 685fdf591..d13674c1f 100644 --- a/node/Utils.hpp +++ b/node/Utils.hpp @@ -102,10 +102,17 @@ public: */ static inline unsigned int log2(uint32_t v) { - uint32_t r = (v > 0xffff) << 4; v >>= r; - uint32_t shift = (v > 0xff) << 3; v >>= shift; r |= shift; - shift = (v > 0xf) << 2; v >>= shift; r |= shift; - shift = (v > 0x3) << 1; v >>= shift; r |= shift; + uint32_t r = (v > 0xffff) << 4; + v >>= r; + uint32_t shift = (v > 0xff) << 3; + v >>= shift; + r |= shift; + shift = (v > 0xf) << 2; + v >>= shift; + r |= shift; + shift = (v > 0x3) << 1; + v >>= shift; + r |= shift; r |= (v >> 1); return (unsigned int)r; } @@ -121,8 +128,9 @@ public: static inline bool secureEq(const void *a,const void *b,unsigned int len) { uint8_t diff = 0; - for(unsigned int i=0;i(a))[i] ^ (reinterpret_cast(b))[i] ); + } return (diff == 0); } @@ -225,26 +233,32 @@ public: unsigned int l = 0; while (l < buflen) { uint8_t hc = *(reinterpret_cast(h++)); - if (!hc) break; + if (!hc) { + break; + } uint8_t c = 0; - if ((hc >= 48)&&(hc <= 57)) // 0..9 + if ((hc >= 48)&&(hc <= 57)) { // 0..9 c = hc - 48; - else if ((hc >= 97)&&(hc <= 102)) // a..f + } else if ((hc >= 97)&&(hc <= 102)) { // a..f c = hc - 87; - else if ((hc >= 65)&&(hc <= 70)) // A..F + } else if ((hc >= 65)&&(hc <= 70)) { // A..F c = hc - 55; + } hc = *(reinterpret_cast(h++)); - if (!hc) break; + if (!hc) { + break; + } c <<= 4; - if ((hc >= 48)&&(hc <= 57)) + if ((hc >= 48)&&(hc <= 57)) { c |= hc - 48; - else if ((hc >= 97)&&(hc <= 102)) + } else if ((hc >= 97)&&(hc <= 102)) { c |= hc - 87; - else if ((hc >= 65)&&(hc <= 70)) + } else if ((hc >= 65)&&(hc <= 70)) { c |= hc - 55; + } reinterpret_cast(buf)[l++] = c; } @@ -256,29 +270,39 @@ public: unsigned int l = 0; const char *hend = h + hlen; while (l < buflen) { - if (h == hend) break; + if (h == hend) { + break; + } uint8_t hc = *(reinterpret_cast(h++)); - if (!hc) break; + if (!hc) { + break; + } uint8_t c = 0; - if ((hc >= 48)&&(hc <= 57)) + if ((hc >= 48)&&(hc <= 57)) { c = hc - 48; - else if ((hc >= 97)&&(hc <= 102)) + } else if ((hc >= 97)&&(hc <= 102)) { c = hc - 87; - else if ((hc >= 65)&&(hc <= 70)) + } else if ((hc >= 65)&&(hc <= 70)) { c = hc - 55; + } - if (h == hend) break; + if (h == hend) { + break; + } hc = *(reinterpret_cast(h++)); - if (!hc) break; + if (!hc) { + break; + } c <<= 4; - if ((hc >= 48)&&(hc <= 57)) + if ((hc >= 48)&&(hc <= 57)) { c |= hc - 48; - else if ((hc >= 97)&&(hc <= 102)) + } else if ((hc >= 97)&&(hc <= 102)) { c |= hc - 87; - else if ((hc >= 65)&&(hc <= 70)) + } else if ((hc >= 65)&&(hc <= 70)) { c |= hc - 55; + } reinterpret_cast(buf)[l++] = c; } @@ -375,8 +399,9 @@ public: */ static inline bool scopy(char *dest,unsigned int len,const char *src) { - if (!len) + if (!len) { return false; // sanity check + } if (!src) { *dest = (char)0; return true; @@ -428,8 +453,9 @@ public: static inline bool isZero(const void *p,unsigned int len) { for(unsigned int i=0;i(&tmp)[i] = reinterpret_cast(p)[i]; + } return tmp; #else return *reinterpret_cast(p); @@ -672,8 +699,9 @@ public: static ZT_INLINE void storeMachineEndian(void *const p, const I i) noexcept { #ifdef ZT_NO_UNALIGNED_ACCESS - for(unsigned int k=0;k(p)[k] = reinterpret_cast(&i)[k]; + } #else *reinterpret_cast(p) = i; #endif diff --git a/node/World.hpp b/node/World.hpp index a8b80e0ca..a13d59a25 100644 --- a/node/World.hpp +++ b/node/World.hpp @@ -148,8 +148,9 @@ public: */ inline bool shouldBeReplacedBy(const World &update) { - if ((_id == 0)||(_type == TYPE_NULL)) + if ((_id == 0)||(_type == TYPE_NULL)) { return true; + } if ((_id == update._id)&&(_ts < update._ts)&&(_type == update._type)) { Buffer tmp; update.serialize(tmp,true); @@ -166,25 +167,32 @@ public: template inline void serialize(Buffer &b,bool forSign = false) const { - if (forSign) b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + if (forSign) { + b.append((uint64_t)0x7f7f7f7f7f7f7f7fULL); + } b.append((uint8_t)_type); b.append((uint64_t)_id); b.append((uint64_t)_ts); b.append(_updatesMustBeSignedBy.data,ZT_C25519_PUBLIC_KEY_LEN); - if (!forSign) + if (!forSign) { b.append(_signature.data,ZT_C25519_SIGNATURE_LEN); + } b.append((uint8_t)_roots.size()); for(std::vector::const_iterator r(_roots.begin());r!=_roots.end();++r) { r->identity.serialize(b); b.append((uint8_t)r->stableEndpoints.size()); - for(std::vector::const_iterator ep(r->stableEndpoints.begin());ep!=r->stableEndpoints.end();++ep) + for(std::vector::const_iterator ep(r->stableEndpoints.begin());ep!=r->stableEndpoints.end();++ep) { ep->serialize(b); + } } - if (_type == TYPE_MOON) + if (_type == TYPE_MOON) { b.append((uint16_t)0); // no attached dictionary (for future use) + } - if (forSign) b.append((uint64_t)0xf7f7f7f7f7f7f7f7ULL); + if (forSign) { + b.append((uint64_t)0xf7f7f7f7f7f7f7f7ULL); + } } template @@ -195,34 +203,47 @@ public: _roots.clear(); switch((Type)b[p++]) { - case TYPE_NULL: _type = TYPE_NULL; break; // shouldn't ever really happen in serialized data but it's not invalid - case TYPE_PLANET: _type = TYPE_PLANET; break; - case TYPE_MOON: _type = TYPE_MOON; break; + case TYPE_NULL: // shouldn't ever really happen in serialized data but it's not invalid + _type = TYPE_NULL; + break; + case TYPE_PLANET: + _type = TYPE_PLANET; + break; + case TYPE_MOON: + _type = TYPE_MOON; + break; default: throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_TYPE; } - _id = b.template at(p); p += 8; - _ts = b.template at(p); p += 8; - memcpy(_updatesMustBeSignedBy.data,b.field(p,ZT_C25519_PUBLIC_KEY_LEN),ZT_C25519_PUBLIC_KEY_LEN); p += ZT_C25519_PUBLIC_KEY_LEN; - memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); p += ZT_C25519_SIGNATURE_LEN; + _id = b.template at(p); + p += 8; + _ts = b.template at(p); + p += 8; + memcpy(_updatesMustBeSignedBy.data,b.field(p,ZT_C25519_PUBLIC_KEY_LEN),ZT_C25519_PUBLIC_KEY_LEN); + p += ZT_C25519_PUBLIC_KEY_LEN; + memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN); + p += ZT_C25519_SIGNATURE_LEN; const unsigned int numRoots = (unsigned int)b[p++]; - if (numRoots > ZT_WORLD_MAX_ROOTS) + if (numRoots > ZT_WORLD_MAX_ROOTS) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } for(unsigned int k=0;k ZT_WORLD_MAX_STABLE_ENDPOINTS_PER_ROOT) + if (numStableEndpoints > ZT_WORLD_MAX_STABLE_ENDPOINTS_PER_ROOT) { throw ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW; + } for(unsigned int kk=0;kk(p) + 2; + } return (p - startAt); } diff --git a/objects.mk b/objects.mk index 61df844bc..d07578fb3 100644 --- a/objects.mk +++ b/objects.mk @@ -10,6 +10,7 @@ CORE_OBJS=\ node/IncomingPacket.o \ node/InetAddress.o \ node/Membership.o \ + node/Metrics.o \ node/Multicaster.o \ node/Network.o \ node/NetworkConfig.o \ diff --git a/one.cpp b/one.cpp index ba5be9b18..4c7dd9cc1 100644 --- a/one.cpp +++ b/one.cpp @@ -171,7 +171,7 @@ static int cli(int argc,char **argv) #endif { unsigned int port = 0; - std::string homeDir,command,arg1,arg2,authToken; + std::string homeDir,command,arg1,arg2,arg3,arg4,authToken; std::string ip("127.0.0.1"); bool json = false; for(int i=1;i */ + requestHeaders["Content-Type"] = "application/json"; + requestHeaders["Content-Length"] = "2"; + if (argc == 8) { + arg2 = argv[5]; + arg3 = argv[6]; + arg4 = argv[7]; + } + unsigned int scode = Http::POST( + 1024 * 1024 * 16, + 60000, + (const struct sockaddr *)&addr, + (std::string("/bond/") + arg1 + "/" + arg2 + "/" + arg3 + "/" + arg4).c_str(), + requestHeaders, + "{}", + 2, + responseHeaders, + responseBody); + if (scode == 200) { + printf("200 setmtu OK" ZT_EOL_S); + return 0; + } else { + printf("no link match found, new MTU was not applied" ZT_EOL_S); + return 1; + } + return 0; + } else if (arg1.length() == 10) { if (arg2 == "rotate") { /* zerotier-cli bond rotate */ - fprintf(stderr, "zerotier-cli bond rotate\n"); requestHeaders["Content-Type"] = "application/json"; requestHeaders["Content-Length"] = "2"; unsigned int scode = Http::POST( @@ -588,7 +614,7 @@ static int cli(int argc,char **argv) if (json) { printf("%s",cliFixJsonCRs(responseBody).c_str()); } else { - printf("200 bond OK" ZT_EOL_S); + printf("200 rotate OK" ZT_EOL_S); } return 0; } else { diff --git a/osdep/BSDEthernetTap.cpp b/osdep/BSDEthernetTap.cpp index efba03147..b2e1a8760 100644 --- a/osdep/BSDEthernetTap.cpp +++ b/osdep/BSDEthernetTap.cpp @@ -74,7 +74,8 @@ BSDEthernetTap::BSDEthernetTap( _mtu(mtu), _metric(metric), _fd(0), - _enabled(true) + _enabled(true), + _lastIfAddrsUpdate(0) { static Mutex globalTapCreateLock; char devpath[64],ethaddr[64],mtustr[32],metstr[32],tmpdevname[32]; @@ -287,6 +288,13 @@ bool BSDEthernetTap::removeIp(const InetAddress &ip) std::vector BSDEthernetTap::ips() const { + uint64_t now = OSUtils::now(); + + if ((now - _lastIfAddrsUpdate) <= GETIFADDRS_CACHE_TIME) { + return _ifaddrs; + } + _lastIfAddrsUpdate = now; + struct ifaddrs *ifa = (struct ifaddrs *)0; if (getifaddrs(&ifa)) return std::vector(); @@ -320,6 +328,8 @@ std::vector BSDEthernetTap::ips() const std::sort(r.begin(),r.end()); std::unique(r.begin(),r.end()); + _ifaddrs = r; + return r; } diff --git a/osdep/BSDEthernetTap.hpp b/osdep/BSDEthernetTap.hpp index c66fb6f79..fc4e4908e 100644 --- a/osdep/BSDEthernetTap.hpp +++ b/osdep/BSDEthernetTap.hpp @@ -71,6 +71,8 @@ private: int _fd; int _shutdownSignalPipe[2]; volatile bool _enabled; + mutable std::vector _ifaddrs; + mutable uint64_t _lastIfAddrsUpdate; }; } // namespace ZeroTier diff --git a/osdep/Binder.hpp b/osdep/Binder.hpp index 41046e867..fe08f5195 100644 --- a/osdep/Binder.hpp +++ b/osdep/Binder.hpp @@ -42,7 +42,7 @@ #if (defined(__unix__) || defined(__APPLE__)) && !defined(__LINUX__) && !defined(ZT_SDK) #include -#if defined(TARGET_OS_OSX) +#if TARGET_OS_OSX #include #endif #include @@ -320,7 +320,7 @@ class Binder { // (void)gotViaProc; -#if ! (defined(ZT_SDK) || defined(__ANDROID__)) // getifaddrs() freeifaddrs() not available on Android +#if ! defined(__ANDROID__) // getifaddrs() freeifaddrs() not available on Android if (! gotViaProc) { struct ifaddrs* ifatbl = (struct ifaddrs*)0; struct ifaddrs* ifa; @@ -333,7 +333,7 @@ class Binder { while (ifa) { if ((ifa->ifa_name) && (ifa->ifa_addr)) { InetAddress ip = *(ifa->ifa_addr); -#if (defined(__unix__) || defined(__APPLE__)) && !defined(__LINUX__) && !defined(ZT_SDK) && defined(TARGET_OS_OSX) +#if (defined(__unix__) || defined(__APPLE__)) && !defined(__LINUX__) && !defined(ZT_SDK) && TARGET_OS_OSX // Check if the address is an IPv6 Temporary Address, macOS/BSD version if (ifa->ifa_addr->sa_family == AF_INET6) { struct sockaddr_in6* sa6 = (struct sockaddr_in6*)ifa->ifa_addr; diff --git a/osdep/BlockingQueue.hpp b/osdep/BlockingQueue.hpp index cce37a04a..c3695e708 100644 --- a/osdep/BlockingQueue.hpp +++ b/osdep/BlockingQueue.hpp @@ -116,6 +116,10 @@ public: return OK; } + inline size_t size() const { + return q.size(); + } + private: std::queue q; mutable std::mutex m; diff --git a/osdep/EthernetTap.hpp b/osdep/EthernetTap.hpp index 43beb440d..893e70c34 100644 --- a/osdep/EthernetTap.hpp +++ b/osdep/EthernetTap.hpp @@ -23,6 +23,8 @@ #include #include +#define GETIFADDRS_CACHE_TIME 1000 + namespace ZeroTier { class EthernetTap diff --git a/osdep/LinuxEthernetTap.cpp b/osdep/LinuxEthernetTap.cpp index 8995b102b..a888db9d9 100644 --- a/osdep/LinuxEthernetTap.cpp +++ b/osdep/LinuxEthernetTap.cpp @@ -126,12 +126,14 @@ LinuxEthernetTap::LinuxEthernetTap( _mtu(mtu), _fd(0), _enabled(true), - _run(true) + _run(true), + _lastIfAddrsUpdate(0) { static std::mutex s_tapCreateLock; char procpath[128],nwids[32]; struct stat sbuf; + // Create only one tap at a time globally. std::lock_guard tapCreateLock(s_tapCreateLock); @@ -438,6 +440,14 @@ bool LinuxEthernetTap::removeIp(const InetAddress &ip) std::vector LinuxEthernetTap::ips() const { + + uint64_t now = OSUtils::now(); + + if ((now - _lastIfAddrsUpdate) <= GETIFADDRS_CACHE_TIME) { + return _ifaddrs; + } + _lastIfAddrsUpdate = now; + struct ifaddrs *ifa = (struct ifaddrs *)0; if (getifaddrs(&ifa)) return std::vector(); @@ -471,6 +481,8 @@ std::vector LinuxEthernetTap::ips() const std::sort(r.begin(),r.end()); r.erase(std::unique(r.begin(),r.end()),r.end()); + _ifaddrs = r; + return r; } diff --git a/osdep/LinuxEthernetTap.hpp b/osdep/LinuxEthernetTap.hpp index 3603740d4..424a6d37e 100644 --- a/osdep/LinuxEthernetTap.hpp +++ b/osdep/LinuxEthernetTap.hpp @@ -57,6 +57,9 @@ public: virtual void setMtu(unsigned int mtu); virtual void setDns(const char *domain, const std::vector &servers) {} + + + private: void (*_handler)(void *,void *,uint64_t,const MAC &,const MAC &,unsigned int,unsigned int,const void *,unsigned int); void *_arg; @@ -71,6 +74,8 @@ private: std::atomic_bool _enabled; std::atomic_bool _run; std::thread _tapReaderThread; + mutable std::vector _ifaddrs; + mutable uint64_t _lastIfAddrsUpdate; }; } // namespace ZeroTier diff --git a/osdep/LinuxNetLink.cpp b/osdep/LinuxNetLink.cpp index 348aa96e3..d5886dfa6 100644 --- a/osdep/LinuxNetLink.cpp +++ b/osdep/LinuxNetLink.cpp @@ -546,7 +546,7 @@ void LinuxNetLink::_requestIPv4Routes() la.nl_pid = 0; //getpid(); la.nl_groups = RTMGRP_IPV4_ROUTE; if(bind(fd, (struct sockaddr*)&la, sizeof(la))) { - fprintf(stderr, "Error binding RTNETLINK (_requiestIPv4Routes #1): %s\n", strerror(errno)); + fprintf(stderr, "Error binding RTNETLINK (_requestIPv4Routes #1): %s\n", strerror(errno)); close(fd); return; } diff --git a/osdep/MacDNSHelper.hpp b/osdep/MacDNSHelper.hpp index 2fa283621..fafbeec54 100644 --- a/osdep/MacDNSHelper.hpp +++ b/osdep/MacDNSHelper.hpp @@ -12,8 +12,10 @@ class MacDNSHelper public: static void setDNS(uint64_t nwid, const char *domain, const std::vector &servers); static void removeDNS(uint64_t nwid); - static bool addIps(uint64_t nwid, const MAC mac, const char *dev, const std::vector &addrs); - static bool removeIps(uint64_t nwid); + static bool addIps4(uint64_t nwid, const MAC mac, const char *dev, const std::vector &addrs); + static bool addIps6(uint64_t nwid, const MAC mac, const char *dev, const std::vector &addrs); + static bool removeIps4(uint64_t nwid); + static bool removeIps6(uint64_t nwid); }; } diff --git a/osdep/MacDNSHelper.mm b/osdep/MacDNSHelper.mm index 8a5bebd92..5e170e172 100644 --- a/osdep/MacDNSHelper.mm +++ b/osdep/MacDNSHelper.mm @@ -25,19 +25,23 @@ void MacDNSHelper::setDNS(uint64_t nwid, const char *domain, const std::vector& addrs) -{ +// +// As of Monterey we need IPv4 set up too. +bool MacDNSHelper::addIps4(uint64_t nwid, const MAC mac, const char *dev, const std::vector& addrs) +{ + const char* ipStr = {0}; + char buf2[256] = {0}; + + bool hasV4 = false; + for (unsigned int i = 0; i < addrs.size(); ++i) { + if (addrs[i].isV4()) { + hasV4 = true; + + ipStr = addrs[i].toIpString(buf2); + + break; + } + } + + if (!hasV4) { + MacDNSHelper::removeIps4(nwid); + return true; + } + + + SCDynamicStoreRef ds = SCDynamicStoreCreate(NULL, CFSTR("zerotier"), NULL, NULL); + char buf[256] = { 0 }; + sprintf(buf, "State:/Network/Service/%.16llx/IPv4", nwid); + + + CFStringRef key = CFStringCreateWithCString(NULL, buf, kCFStringEncodingUTF8); + + CFStringRef cfaddr = CFStringCreateWithCString(NULL, ipStr, kCFStringEncodingUTF8); + CFArrayRef addrArray = CFArrayCreate(NULL, (const void**)&cfaddr, 1, &kCFTypeArrayCallBacks); + + CFStringRef cfdev = CFStringCreateWithCString(NULL, dev, kCFStringEncodingUTF8); + + CFStringRef cfserver = CFStringCreateWithCString(NULL, "127.0.0.1", kCFStringEncodingUTF8); + // using the ip from the zerotier network breaks routing on the mac + CFStringRef cfrouter = CFStringCreateWithCString(NULL, "127.0.0.1", kCFStringEncodingUTF8); + + const int SIZE = 4; + CFStringRef keys[SIZE]; + keys[0] = CFSTR("Addresses"); + keys[1] = CFSTR("InterfaceName"); + keys[2] = CFSTR("ServerAddress"); + keys[3] = CFSTR("Router"); + + CFTypeRef values[SIZE]; + values[0] = addrArray; + values[1] = cfdev; + values[2] = cfserver; + values[3] = cfrouter; + + + CFDictionaryRef dict = CFDictionaryCreate(NULL, + (const void**)keys, (const void**)values, SIZE, &kCFCopyStringDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks); + + // CFDictionaryApplyFunction(dict, printKeys, NULL); + + CFArrayRef list = SCDynamicStoreCopyKeyList(ds, key); + CFIndex i = 0, j = CFArrayGetCount(list); + bool addrsChanged = true; + CFPropertyListRef oldAddrs = NULL; + + bool ret = TRUE; + if (j > 0) { + oldAddrs = SCDynamicStoreCopyValue(ds, (CFStringRef)CFArrayGetValueAtIndex(list, i)); + addrsChanged = !CFEqual(oldAddrs,dict); + } + if (addrsChanged) { + if (j <= 0) { + ret &= SCDynamicStoreAddValue(ds, key, dict); + } else { + ret &= SCDynamicStoreSetValue(ds, (CFStringRef)CFArrayGetValueAtIndex(list, i), dict); + } + if (!ret) { + fprintf(stderr, "Error writing IPv6 configuration\n"); + } + } + if (oldAddrs != NULL) { + CFRelease(oldAddrs); + } + + CFRelease(cfaddr); + + CFRelease(addrArray); + CFRelease(cfdev); + CFRelease(cfserver); + CFRelease(cfrouter); + + CFRelease(ds); + CFRelease(key); + + // for (unsigned int i = 0; i < SIZE; ++i) { + // values[i] = NULL; + // } + + CFRelease(list); + CFRelease(dict); + + return ret; + +} +bool MacDNSHelper::addIps6(uint64_t nwid, const MAC mac, const char *dev, const std::vector& addrs) +{ bool hasV6 = false; for (unsigned int i = 0; i < addrs.size(); ++i) { if (addrs[i].isV6()) { @@ -107,7 +217,7 @@ bool MacDNSHelper::addIps(uint64_t nwid, const MAC mac, const char *dev, const s } if (!hasV6) { - MacDNSHelper::removeIps(nwid); + MacDNSHelper::removeIps6(nwid); return true; } @@ -122,21 +232,16 @@ bool MacDNSHelper::addIps(uint64_t nwid, const MAC mac, const char *dev, const s CFStringRef key = CFStringCreateWithCString(NULL, buf, kCFStringEncodingUTF8); - CFStringRef* cfaddrs = new CFStringRef[1]; - CFStringRef* cfprefixes = new CFStringRef[1]; - CFStringRef* cfdestaddrs = new CFStringRef[1]; - CFStringRef* cfflags = new CFStringRef[1]; + CFStringRef cfaddr = CFStringCreateWithCString(NULL, llStr, kCFStringEncodingUTF8); + CFStringRef cfprefixes = CFStringCreateWithCString(NULL, "64", kCFStringEncodingUTF8); + CFStringRef cfdestaddrs = CFStringCreateWithCString(NULL, "::ffff:ffff:ffff:ffff:0:0", kCFStringEncodingUTF8); + CFStringRef cfflags = CFStringCreateWithCString(NULL, "0", kCFStringEncodingUTF8); - cfaddrs[0] = CFStringCreateWithCString(NULL, llStr, kCFStringEncodingUTF8); - cfprefixes[0] = CFStringCreateWithCString(NULL, "64", kCFStringEncodingUTF8); - cfdestaddrs[0] = CFStringCreateWithCString(NULL, "::ffff:ffff:ffff:ffff:0:0", kCFStringEncodingUTF8); - cfflags[0] = CFStringCreateWithCString(NULL, "0", kCFStringEncodingUTF8); - - CFArrayRef addrArray = CFArrayCreate(NULL, (const void**)cfaddrs, 1, &kCFTypeArrayCallBacks); - CFArrayRef prefixArray = CFArrayCreate(NULL, (const void**)cfprefixes, 1, &kCFTypeArrayCallBacks); - CFArrayRef destArray = CFArrayCreate(NULL, (const void**)cfdestaddrs, 1, &kCFTypeArrayCallBacks); - CFArrayRef flagsArray = CFArrayCreate(NULL, (const void**)cfflags, 1, &kCFTypeArrayCallBacks); + CFArrayRef addrArray = CFArrayCreate(NULL, (const void**)&cfaddr, 1, &kCFTypeArrayCallBacks); + CFArrayRef prefixArray = CFArrayCreate(NULL, (const void**)&cfprefixes, 1, &kCFTypeArrayCallBacks); + CFArrayRef destArray = CFArrayCreate(NULL, (const void**)&cfdestaddrs, 1, &kCFTypeArrayCallBacks); + CFArrayRef flagsArray = CFArrayCreate(NULL, (const void**)&cfflags, 1, &kCFTypeArrayCallBacks); CFStringRef cfdev = CFStringCreateWithCString(NULL, dev, kCFStringEncodingUTF8); const int SIZE = 5; @@ -182,6 +287,14 @@ bool MacDNSHelper::addIps(uint64_t nwid, const MAC mac, const char *dev, const s fprintf(stderr, "Error writing IPv6 configuration\n"); } } + if (oldAddrs != NULL) { + CFRelease(oldAddrs); + } + + CFRelease(cfaddr); + CFRelease(cfprefixes); + CFRelease(cfdestaddrs); + CFRelease(cfflags); CFRelease(addrArray); CFRelease(prefixArray); @@ -189,20 +302,19 @@ bool MacDNSHelper::addIps(uint64_t nwid, const MAC mac, const char *dev, const s CFRelease(flagsArray); CFRelease(cfdev); - CFRelease(list); - CFRelease(dict); - CFRelease(ds); CFRelease(key); - delete[] cfaddrs; - delete[] cfprefixes; - delete[] cfdestaddrs; - delete[] cfflags; + // for (unsigned int i = 0; i < SIZE; ++i) { + // values[i] = NULL; + // } + + CFRelease(list); + CFRelease(dict); return ret; } -bool MacDNSHelper::removeIps(uint64_t nwid) +bool MacDNSHelper::removeIps6(uint64_t nwid) { SCDynamicStoreRef ds = SCDynamicStoreCreate(NULL, CFSTR("zerotier"), NULL, NULL); @@ -216,4 +328,20 @@ bool MacDNSHelper::removeIps(uint64_t nwid) return res; } + +bool MacDNSHelper::removeIps4(uint64_t nwid) +{ + SCDynamicStoreRef ds = SCDynamicStoreCreate(NULL, CFSTR("zerotier"), NULL, NULL); + + char buf[256] = {0}; + sprintf(buf, "State:/Network/Service/%.16llx/IPv4", nwid); + CFStringRef key = CFStringCreateWithCString(NULL, buf, kCFStringEncodingUTF8); + bool res = SCDynamicStoreRemoveValue(ds, key); + CFRelease(key); + CFRelease(ds); + + return res; +} + + } diff --git a/osdep/MacEthernetTap.cpp b/osdep/MacEthernetTap.cpp index 55822fd5a..37f27f87a 100644 --- a/osdep/MacEthernetTap.cpp +++ b/osdep/MacEthernetTap.cpp @@ -90,7 +90,8 @@ MacEthernetTap::MacEthernetTap( _agentStdout2(-1), _agentStderr2(-1), _agentPid(-1), - _enabled(true) + _enabled(true), + _lastIfAddrsUpdate(0) { char ethaddr[64],mtustr[16],devnostr[16],devstr[16],metricstr[16]; OSUtils::ztsnprintf(ethaddr,sizeof(ethaddr),"%.2x:%.2x:%.2x:%.2x:%.2x:%.2x",(int)mac[0],(int)mac[1],(int)mac[2],(int)mac[3],(int)mac[4],(int)mac[5]); @@ -244,7 +245,8 @@ MacEthernetTap::~MacEthernetTap() pid_t pid0,pid1; MacDNSHelper::removeDNS(_nwid); - MacDNSHelper::removeIps(_nwid); + MacDNSHelper::removeIps4(_nwid); + MacDNSHelper::removeIps6(_nwid); Mutex::Lock _gl(globalTapCreateLock); ::write(_shutdownSignalPipe[1],"\0",1); // causes thread to exit @@ -341,8 +343,16 @@ bool MacEthernetTap::removeIp(const InetAddress &ip) std::vector MacEthernetTap::ips() const { + uint64_t now = OSUtils::now(); + + if ((now - _lastIfAddrsUpdate) <= GETIFADDRS_CACHE_TIME) { + return _ifaddrs; + } + _lastIfAddrsUpdate = now; + struct ifaddrs *ifa = (struct ifaddrs *)0; std::vector r; + if (!getifaddrs(&ifa)) { struct ifaddrs *p = ifa; while (p) { @@ -368,6 +378,9 @@ std::vector MacEthernetTap::ips() const } std::sort(r.begin(),r.end()); r.erase(std::unique(r.begin(),r.end()),r.end()); + + _ifaddrs = r; + return r; } diff --git a/osdep/MacEthernetTap.hpp b/osdep/MacEthernetTap.hpp index 4b02999b9..8ba378022 100644 --- a/osdep/MacEthernetTap.hpp +++ b/osdep/MacEthernetTap.hpp @@ -77,6 +77,9 @@ private: int _agentStdin,_agentStdout,_agentStderr,_agentStdin2,_agentStdout2,_agentStderr2; long _agentPid; volatile bool _enabled; + mutable std::vector _ifaddrs; + mutable uint64_t _lastIfAddrsUpdate; + }; } // namespace ZeroTier diff --git a/osdep/ManagedRoute.cpp b/osdep/ManagedRoute.cpp index a8f996839..a06ba11a3 100644 --- a/osdep/ManagedRoute.cpp +++ b/osdep/ManagedRoute.cpp @@ -12,6 +12,7 @@ /****/ #include "../node/Constants.hpp" +#include "../osdep/OSUtils.hpp" #include #include @@ -94,6 +95,7 @@ struct _RTE char device[128]; int metric; bool ifscope; + bool isDefault; }; #ifdef __BSD__ // ------------------------------------------------------------ @@ -127,6 +129,7 @@ static std::vector<_RTE> _getRTEs(const InetAddress &target,bool contains) InetAddress sa_t,sa_v; int deviceIndex = -9999; + bool isDefault = false; if (((rtm->rtm_flags & RTF_LLINFO) == 0)&&((rtm->rtm_flags & RTF_HOST) == 0)&&((rtm->rtm_flags & RTF_UP) != 0)&&((rtm->rtm_flags & RTF_MULTICAST) == 0)) { int which = 0; @@ -160,6 +163,13 @@ static std::vector<_RTE> _getRTEs(const InetAddress &target,bool contains) if (!sin6->sin6_scope_id) sin6->sin6_scope_id = interfaceIndex; } + +#ifdef __APPLE__ + isDefault = IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) && !(rtm->rtm_flags & RTF_IFSCOPE); +#endif + } else { + struct sockaddr_in *sin4 = (struct sockaddr_in *)sa; + isDefault = sin4->sin_addr.s_addr == 0; } sa_t = *sa; break; @@ -167,8 +177,7 @@ static std::vector<_RTE> _getRTEs(const InetAddress &target,bool contains) //printf("RTA_GATEWAY\n"); switch(sa->sa_family) { case AF_LINK: - deviceIndex = (int)((const struct sockaddr_dl *)sa)->sdl_index; - break; + // deviceIndex = (int)((const struct sockaddr_dl *)sa)->sdl_index; case AF_INET: case AF_INET6: sa_v = *sa; @@ -211,10 +220,15 @@ static std::vector<_RTE> _getRTEs(const InetAddress &target,bool contains) saptr += salen; } + + deviceIndex = rtm->rtm_index; + + if (((contains)&&(sa_t.containsAddress(target)))||(sa_t == target)) { rtes.push_back(_RTE()); rtes.back().target = sa_t; rtes.back().via = sa_v; + rtes.back().isDefault = isDefault; if (deviceIndex >= 0) { if_indextoname(deviceIndex,rtes.back().device); } else { @@ -238,7 +252,7 @@ static std::vector<_RTE> _getRTEs(const InetAddress &target,bool contains) static void _routeCmd(const char *op,const InetAddress &target,const InetAddress &via,const char *ifscope,const char *localInterface) { - //char f1[1024],f2[1024]; printf("%s %s %s %s %s\n",op,target.toString(f1),via.toString(f2),ifscope,localInterface); + // char f1[1024],f2[1024]; printf("cmd %s %s %s %s %s\n",op,target.toString(f1),via.toString(f2),ifscope,localInterface); long p = (long)fork(); if (p > 0) { int exitcode = -1; @@ -457,70 +471,81 @@ bool ManagedRoute::sync() return false; } - // Find lowest metric system route that this route should override (if any) - InetAddress newSystemVia; - char newSystemDevice[128]; - newSystemDevice[0] = (char)0; - int systemMetric = 9999999; std::vector<_RTE> rtes(_getRTEs(_target,false)); + + bool hasRoute = false; for(std::vector<_RTE>::iterator r(rtes.begin());r!=rtes.end();++r) { - if (r->via) { - if ( ((!newSystemVia)||(r->metric < systemMetric)) && (strcmp(r->device,_device) != 0) ) { - newSystemVia = r->via; - Utils::scopy(newSystemDevice,sizeof(newSystemDevice),r->device); - systemMetric = r->metric; + hasRoute = _target == r->target && _via.ipOnly() == r->via.ipOnly() && (strcmp(r->device,_device) == 0); + if (hasRoute) { break; } + } + + // char buf[255]; + // fprintf(stderr, "hasRoute %d %s\n", !!hasRoute, _target.toString(buf)); + + + if (!hasRoute) { + if (_target && _target.netmaskBits() == 0) { + InetAddress newSystemVia; + char newSystemDevice[128]; + newSystemDevice[0] = (char)0; + + // If macos has a network hiccup, it deletes what _systemVia we had set. + // Then we don't know how to set the default route again. + // So use the one we had set previously. Don't overwrite it. + if (!_systemVia) { + // Find system default route that this route should override + // We need to put it back when default route is turned off + for(std::vector<_RTE>::iterator r(rtes.begin());r!=rtes.end();++r) { + if (r->via) { + if ( !_systemVia && r->isDefault == 1 && (strcmp(r->device,_device) != 0) ) { + + newSystemVia = r->via; + Utils::scopy(newSystemDevice,sizeof(newSystemDevice),r->device); + } + } + } + if (newSystemVia) { _systemVia = newSystemVia; } } - } - } - // Get device corresponding to route if we don't have that already - if ((newSystemVia)&&(!newSystemDevice[0])) { - rtes = _getRTEs(newSystemVia,true); - for(std::vector<_RTE>::iterator r(rtes.begin());r!=rtes.end();++r) { - if ( (r->device[0]) && (strcmp(r->device,_device) != 0) && r->target.netmaskBits() != 0) { - Utils::scopy(newSystemDevice,sizeof(newSystemDevice),r->device); - break; + + // char buf1[255], buf2[255]; + // fprintf(stderr, "_systemVia %s new %s\n", _systemVia.toString(buf1), newSystemVia.toString(buf2)); + if (!_systemVia) { return false; } + + if (!_systemDevice[0]) { + // Get device corresponding to route if we don't have that already + if ((newSystemVia)&&(!newSystemDevice[0])) { + rtes = _getRTEs(newSystemVia,true); + for(std::vector<_RTE>::iterator r(rtes.begin());r!=rtes.end();++r) { + if ( (r->device[0]) && (strcmp(r->device,_device) != 0) && r->target.netmaskBits() != 0) { + Utils::scopy(newSystemDevice,sizeof(newSystemDevice),r->device); + break; + } + } + } + + if (newSystemDevice[0]) { + Utils::scopy(_systemDevice,sizeof(_systemDevice),newSystemDevice); + } } - } - } - if (!newSystemDevice[0]) - newSystemVia.zero(); + // fprintf(stderr, "_systemDevice %s new %s\n", _systemDevice, newSystemDevice); + if (!_systemDevice[0]) { return false; } - // Shadow system route if it exists, also delete any obsolete shadows - // and replace them with the new state. sync() is called periodically to - // allow us to do that if underlying connectivity changes. - if ((_systemVia != newSystemVia)||(strcmp(_systemDevice,newSystemDevice) != 0)) { - if (_systemVia) { - _routeCmd("delete",leftt,_systemVia,_systemDevice,(const char *)0); - if (rightt) - _routeCmd("delete",rightt,_systemVia,_systemDevice,(const char *)0); - } - _systemVia = newSystemVia; - Utils::scopy(_systemDevice,sizeof(_systemDevice),newSystemDevice); + // Do Default Route route commands + _routeCmd("delete",_target,_systemVia,(const char *)0,(const char *)0); + _routeCmd("add",_target,_via,(const char *)0,(const char *)0); + _routeCmd("add",_target,_systemVia,_systemDevice,(const char *)0); - if (_systemVia) { - _routeCmd("add",leftt,_systemVia,_systemDevice,(const char *)0); - //_routeCmd("change",leftt,_systemVia,_systemDevice,(const char *)0); - if (rightt) { - _routeCmd("add",rightt,_systemVia,_systemDevice,(const char *)0); - //_routeCmd("change",rightt,_systemVia,_systemDevice,(const char *)0); - } + _applied[_target] = true; + + } else { + // Do Non-Default route commands + _applied[_target] = true; + _routeCmd("add",leftt,_via,(const char *)0,(_via) ? (const char *)0 : _device); } } - //if (!_applied.count(leftt)) { - _applied[leftt] = !_via; - //_routeCmd("delete",leftt,_via,(const char *)0,(_via) ? (const char *)0 : _device); - _routeCmd("add",leftt,_via,(const char *)0,(_via) ? (const char *)0 : _device); - //_routeCmd("change",leftt,_via,(const char *)0,(_via) ? (const char *)0 : _device); - //} - if (rightt) { - _applied[rightt] = !_via; - //_routeCmd("delete",rightt,_via,(const char *)0,(_via) ? (const char *)0 : _device); - _routeCmd("add",rightt,_via,(const char *)0,(_via) ? (const char *)0 : _device); - //_routeCmd("change",rightt,_via,(const char *)0,(_via) ? (const char *)0 : _device); - } #endif // __BSD__ ------------------------------------------------------------ @@ -565,18 +590,22 @@ void ManagedRoute::remove() #endif #ifdef __BSD__ - if (_systemVia) { - InetAddress leftt,rightt; - _forkTarget(_target,leftt,rightt); - _routeCmd("delete",leftt,_systemVia,_systemDevice,(const char *)0); - if (rightt) - _routeCmd("delete",rightt,_systemVia,_systemDevice,(const char *)0); - } #endif // __BSD__ ------------------------------------------------------------ for(std::map::iterator r(_applied.begin());r!=_applied.end();++r) { #ifdef __BSD__ // ------------------------------------------------------------ - _routeCmd("delete",r->first,_via,r->second ? _device : (const char *)0,(_via) ? (const char *)0 : _device); + if (_target && _target.netmaskBits() == 0) { + if (_systemVia) { + _routeCmd("delete",_target,_via,(const char *)0,(const char *)0); + _routeCmd("delete",_target,_systemVia,_systemDevice,(const char *)0); + + _routeCmd("add",_target,_systemVia,(const char *)0,(const char *)0); + + } + } else { + _routeCmd("delete",_target,_via, (const char *)0, _via ? (const char *)0 : _device); + } + break; #endif // __BSD__ ------------------------------------------------------------ #ifdef __LINUX__ // ---------------------------------------------------------- diff --git a/osdep/OSUtils.cpp b/osdep/OSUtils.cpp index e237325c4..67536c56a 100644 --- a/osdep/OSUtils.cpp +++ b/osdep/OSUtils.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "../node/Constants.hpp" #include "../node/Utils.hpp" @@ -66,6 +67,18 @@ unsigned int OSUtils::ztsnprintf(char *buf,unsigned int len,const char *fmt,...) return (unsigned int)n; } +std::string OSUtils::networkIDStr(const uint64_t nwid) { + char tmp[32] = {}; + ztsnprintf(tmp, sizeof(tmp), "%.16" PRIx64, nwid); + return std::string(tmp); +} + +std::string OSUtils::nodeIDStr(const uint64_t nid) { + char tmp[32] = {}; + ztsnprintf(tmp, sizeof(tmp), "%.10" PRIx64, nid); + return std::string(tmp); +} + #ifdef __UNIX_LIKE__ bool OSUtils::redirectUnixOutputs(const char *stdoutPath,const char *stderrPath) throw() diff --git a/osdep/OSUtils.hpp b/osdep/OSUtils.hpp index 021b3876f..43df98cb8 100644 --- a/osdep/OSUtils.hpp +++ b/osdep/OSUtils.hpp @@ -68,6 +68,22 @@ public: */ static unsigned int ztsnprintf(char *buf,unsigned int len,const char *fmt,...); + /** + * Converts a uint64_t network ID into a string + * + * @param nwid network ID + * @throws std::length_error buf[] too short (buf[] will still be left null-terminated) + */ + static std::string networkIDStr(const uint64_t nwid); + + /** + * Converts a uint64_t node ID into a string + * + * @param nid node ID + * @throws std::length_error buf[] too short (buf[] will still be left null-terminated) + */ + static std::string nodeIDStr(const uint64_t nid); + #ifdef __UNIX_LIKE__ /** * Close STDOUT_FILENO and STDERR_FILENO and replace them with output to given path diff --git a/osdep/Phy.hpp b/osdep/Phy.hpp index 7be6546fe..456238a89 100644 --- a/osdep/Phy.hpp +++ b/osdep/Phy.hpp @@ -50,6 +50,8 @@ #include #include +#include "../node/Metrics.hpp" + #if defined(__linux__) || defined(linux) || defined(__LINUX__) || defined(__linux) #ifndef IPV6_DONTFRAG #define IPV6_DONTFRAG 62 @@ -451,11 +453,33 @@ public: inline bool udpSend(PhySocket *sock,const struct sockaddr *remoteAddress,const void *data,unsigned long len) { PhySocketImpl &sws = *(reinterpret_cast(sock)); + bool sent = false; #if defined(_WIN32) || defined(_WIN64) - return ((long)::sendto(sws.sock,reinterpret_cast(data),len,0,remoteAddress,(remoteAddress->sa_family == AF_INET6) ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) == (long)len); + sent = ((long)::sendto( + sws.sock, + reinterpret_cast(data), + len, + 0, + remoteAddress, + (remoteAddress->sa_family == AF_INET6) ? + sizeof(struct sockaddr_in6) : + sizeof(struct sockaddr_in)) == (long)len); #else - return ((long)::sendto(sws.sock,data,len,0,remoteAddress,(remoteAddress->sa_family == AF_INET6) ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) == (long)len); + sent = ((long)::sendto( + sws.sock, + data, + len, + 0, + remoteAddress, + (remoteAddress->sa_family == AF_INET6) ? + sizeof(struct sockaddr_in6) : + sizeof(struct sockaddr_in)) == (long)len); #endif + if (sent) { + Metrics::udp_send += len; + } + + return sent; } #ifdef __UNIX_LIKE__ @@ -964,18 +988,61 @@ public: break; case ZT_PHY_SOCKET_UDP: - if (FD_ISSET(s->sock,&rfds)) { - for(int k=0;k<1024;++k) { - memset(&ss,0,sizeof(ss)); + if (FD_ISSET(s->sock, &rfds)) { +#if (defined(__linux__) || defined(linux) || defined(__linux)) && defined(MSG_WAITFORONE) +#define RECVMMSG_WINDOW_SIZE 128 +#define RECVMMSG_BUF_SIZE 1500 + iovec iovs[RECVMMSG_WINDOW_SIZE]; + uint8_t bufs[RECVMMSG_WINDOW_SIZE][RECVMMSG_BUF_SIZE]; + sockaddr_storage addrs[RECVMMSG_WINDOW_SIZE]; + memset(addrs, 0, sizeof(addrs)); + mmsghdr mm[RECVMMSG_WINDOW_SIZE]; + memset(mm, 0, sizeof(mm)); + for (int i = 0; i < RECVMMSG_WINDOW_SIZE; ++i) { + iovs[i].iov_base = (void*)bufs[i]; + iovs[i].iov_len = RECVMMSG_BUF_SIZE; + mm[i].msg_hdr.msg_name = (void*)&(addrs[i]); + mm[i].msg_hdr.msg_iov = &(iovs[i]); + mm[i].msg_hdr.msg_iovlen = 1; + } + for (int k = 0; k < 1024; ++k) { + for (int i = 0; i < RECVMMSG_WINDOW_SIZE; ++i) { + mm[i].msg_hdr.msg_namelen = sizeof(sockaddr_storage); + mm[i].msg_len = 0; + } + int received_count = recvmmsg(s->sock, mm, RECVMMSG_WINDOW_SIZE, MSG_WAITFORONE, nullptr); + if (received_count > 0) { + for (int i = 0; i < received_count; ++i) { + long n = (long)mm[i].msg_len; + if (n > 0) { + try { + _handler->phyOnDatagram((PhySocket*)&(*s), &(s->uptr), (const struct sockaddr*)&(s->saddr), (const struct sockaddr*)&(addrs[i]), bufs[i], (unsigned long)n); + } + catch (...) { + } + } + } + } + else { + break; + } + } +#else + for (int k = 0; k < 1024; ++k) { + memset(&ss, 0, sizeof(ss)); socklen_t slen = sizeof(ss); - long n = (long)::recvfrom(s->sock,buf,sizeof(buf),0,(struct sockaddr *)&ss,&slen); + long n = (long)::recvfrom(s->sock, buf, sizeof(buf), 0, (struct sockaddr*)&ss, &slen); if (n > 0) { try { - _handler->phyOnDatagram((PhySocket *)&(*s),&(s->uptr),(const struct sockaddr *)&(s->saddr),(const struct sockaddr *)&ss,(void *)buf,(unsigned long)n); - } catch ( ... ) {} - } else if (n < 0) + _handler->phyOnDatagram((PhySocket*)&(*s), &(s->uptr), (const struct sockaddr*)&(s->saddr), (const struct sockaddr*)&ss, (void*)buf, (unsigned long)n); + } + catch (...) { + } + } + else if (n < 0) break; } +#endif } break; diff --git a/osdep/PortMapper.cpp b/osdep/PortMapper.cpp index 6418464db..1228a95a2 100644 --- a/osdep/PortMapper.cpp +++ b/osdep/PortMapper.cpp @@ -79,6 +79,7 @@ public: throw() { int mode = 0; // 0 == NAT-PMP, 1 == UPnP + int retrytime = 500; #ifdef ZT_PORTMAPPER_TRACE fprintf(stderr,"PortMapper: started for UDP port %d" ZT_EOL_S,localPort); @@ -86,6 +87,26 @@ public: while (run) { + { + // use initnatpmp to check if we can bind a port at all + natpmp_t _natpmp; + int result = initnatpmp(&_natpmp,0,0); + if (result == NATPMP_ERR_CANNOTGETGATEWAY || result == NATPMP_ERR_SOCKETERROR) { + closenatpmp(&_natpmp); +#ifdef ZT_PORTMAPPER_TRACE + PM_TRACE("PortMapper: init failed %d. You might not have an internet connection yet. Trying again in %d" ZT_EOL_S, result, retrytime); +#endif + Thread::sleep(retrytime); + retrytime = retrytime * 2; + if (retrytime > ZT_PORTMAPPER_REFRESH_DELAY / 10) { + retrytime = ZT_PORTMAPPER_REFRESH_DELAY / 10; + } + continue; + } else { + closenatpmp(&_natpmp); + retrytime = 500; + } + } // --------------------------------------------------------------------- // NAT-PMP mode (preferred) // --------------------------------------------------------------------- @@ -172,6 +193,7 @@ public: #ifdef ZT_PORTMAPPER_TRACE PM_TRACE("PortMapper: NAT-PMP: request failed, switching to UPnP mode" ZT_EOL_S); #endif + continue; } } // --------------------------------------------------------------------- @@ -207,7 +229,8 @@ public: memset(&data,0,sizeof(data)); OSUtils::ztsnprintf(inport,sizeof(inport),"%d",localPort); - if ((UPNP_GetValidIGD(devlist,&urls,&data,lanaddr,sizeof(lanaddr)))&&(lanaddr[0])) { + int foundValidIGD = 0; + if ((foundValidIGD = UPNP_GetValidIGD(devlist,&urls,&data,lanaddr,sizeof(lanaddr)))&&(lanaddr[0])) { #ifdef ZT_PORTMAPPER_TRACE PM_TRACE("PortMapper: UPnP: my LAN IP address: %s" ZT_EOL_S,lanaddr); #endif @@ -282,9 +305,11 @@ public: PM_TRACE("PortMapper: UPnP: UPNP_GetValidIGD failed, returning to NAT-PMP mode" ZT_EOL_S); #endif } - freeUPNPDevlist(devlist); + if(foundValidIGD) { + FreeUPNPUrls(&urls); + } } else { mode = 0; #ifdef ZT_PORTMAPPER_TRACE diff --git a/osdep/WindowsEthernetTap.cpp b/osdep/WindowsEthernetTap.cpp index db65bbf41..d41b1155b 100644 --- a/osdep/WindowsEthernetTap.cpp +++ b/osdep/WindowsEthernetTap.cpp @@ -78,7 +78,7 @@ public: { #ifdef _WIN64 is64Bit = TRUE; - tapDriverPath = "\\tap-windows\\x64\\zttap300.inf"; + //tapDriverPath = "\\tap-windows\\x64\\zttap300.inf"; #else is64Bit = FALSE; IsWow64Process(GetCurrentProcess(),&is64Bit); @@ -86,9 +86,10 @@ public: fprintf(stderr,"FATAL: you must use the 64-bit ZeroTier One service on 64-bit Windows systems\r\n"); _exit(1); } - tapDriverPath = "\\tap-windows\\x86\\zttap300.inf"; + //tapDriverPath = "\\tap-windows\\x86\\zttap300.inf"; #endif tapDriverName = "zttap300"; + tapDriverPath = "\\zttap300.inf"; setupApiMod = LoadLibraryA("setupapi.dll"); if (!setupApiMod) { @@ -467,7 +468,8 @@ WindowsEthernetTap::WindowsEthernetTap( _pathToHelpers(hp), _run(true), _initialized(false), - _enabled(true) + _enabled(true), + _lastIfAddrsUpdate(0) { char subkeyName[1024]; char subkeyClass[1024]; @@ -749,6 +751,14 @@ std::vector WindowsEthernetTap::ips() const if (!_initialized) return addrs; + uint64_t now = OSUtils::now(); + + if ((now - _lastIfAddrsUpdate) <= GETIFADDRS_CACHE_TIME) { + return _ifaddrs; + } + + _lastIfAddrsUpdate = now; + try { MIB_UNICASTIPADDRESS_TABLE *ipt = (MIB_UNICASTIPADDRESS_TABLE *)0; if (GetUnicastIpAddressTable(AF_UNSPEC,&ipt) == NO_ERROR) { @@ -777,6 +787,8 @@ std::vector WindowsEthernetTap::ips() const std::sort(addrs.begin(),addrs.end()); addrs.erase(std::unique(addrs.begin(),addrs.end()),addrs.end()); + _ifaddrs = addrs; + return addrs; } diff --git a/osdep/WindowsEthernetTap.hpp b/osdep/WindowsEthernetTap.hpp index a08042d44..a79dac0ec 100644 --- a/osdep/WindowsEthernetTap.hpp +++ b/osdep/WindowsEthernetTap.hpp @@ -152,6 +152,9 @@ private: volatile bool _run; volatile bool _initialized; volatile bool _enabled; + + mutable std::vector _ifaddrs; + mutable uint64_t _lastIfAddrsUpdate; }; } // namespace ZeroTier diff --git a/pkg/synology/dsm7-docker/build.sh b/pkg/synology/dsm7-docker/build.sh index f8478157b..acec5e0c9 100755 --- a/pkg/synology/dsm7-docker/build.sh +++ b/pkg/synology/dsm7-docker/build.sh @@ -1,19 +1,18 @@ #!/bin/bash -ZTO_VER=$(git describe --abbrev=0 --tags) +ZTO_VER=$(git describe --tags $(git rev-list --tags --max-count=1)) ZTO_COMMIT=$(git rev-parse HEAD) -build-and-push() +build() { - # build - sudo docker build --load --rm -t zerotier-synology . --build-arg ZTO_COMMIT=${ZTO_COMMIT} --build-arg ZTO_VER=${ZTO_VER} LATEST_DOCKER_IMAGE_HASH=$(sudo docker images -q zerotier-synology) sudo docker tag ${LATEST_DOCKER_IMAGE_HASH} zerotier/zerotier-synology:${ZTO_VER} sudo docker tag ${LATEST_DOCKER_IMAGE_HASH} zerotier/zerotier-synology:latest +} - # push - +push() +{ sudo docker login --username=${DOCKERHUB_USERNAME} sudo docker push zerotier/zerotier-synology:${ZTO_VER} sudo docker push zerotier/zerotier-synology:latest diff --git a/service/OneService.cpp b/service/OneService.cpp index 5864f2075..b5e5c1924 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -11,6 +11,7 @@ */ /****/ +#include #include #include #include @@ -53,6 +54,8 @@ #include "OneService.hpp" #include "SoftwareUpdater.hpp" +#include + #if ZT_SSO_ENABLED #include #endif @@ -87,6 +90,8 @@ #include "../ext/http-parser/http_parser.h" #endif +#include "../node/Metrics.hpp" + #if ZT_VAULT_SUPPORT extern "C" { #include @@ -196,11 +201,83 @@ std::string ssoResponseTemplate = R"""( )"""; +bool bearerTokenValid(const std::string authHeader, const std::string &checkToken) { + std::vector tokens = OSUtils::split(authHeader.c_str(), " ", NULL, NULL); + if (tokens.size() != 2) { + return false; + } + + std::string bearer = tokens[0]; + std::string token = tokens[1]; + std::transform(bearer.begin(), bearer.end(), bearer.begin(), [](unsigned char c){return std::tolower(c);}); + if (bearer != "bearer") { + return false; + } + + if (token != checkToken) { + return false; + } + + return true; +} + +#if ZT_DEBUG==1 +std::string dump_headers(const httplib::Headers &headers) { + std::string s; + char buf[BUFSIZ]; + + for (auto it = headers.begin(); it != headers.end(); ++it) { + const auto &x = *it; + snprintf(buf, sizeof(buf), "%s: %s\n", x.first.c_str(), x.second.c_str()); + s += buf; + } + + return s; +} + +std::string http_log(const httplib::Request &req, const httplib::Response &res) { + std::string s; + char buf[BUFSIZ]; + + s += "================================\n"; + + snprintf(buf, sizeof(buf), "%s %s %s", req.method.c_str(), + req.version.c_str(), req.path.c_str()); + s += buf; + + std::string query; + for (auto it = req.params.begin(); it != req.params.end(); ++it) { + const auto &x = *it; + snprintf(buf, sizeof(buf), "%c%s=%s", + (it == req.params.begin()) ? '?' : '&', x.first.c_str(), + x.second.c_str()); + query += buf; + } + snprintf(buf, sizeof(buf), "%s\n", query.c_str()); + s += buf; + + s += dump_headers(req.headers); + + s += "--------------------------------\n"; + + snprintf(buf, sizeof(buf), "%d %s\n", res.status, res.version.c_str()); + s += buf; + s += dump_headers(res.headers); + s += "\n"; + + if (!res.body.empty()) { s += res.body; } + + s += "\n"; + + return s; +} +#endif + // Configured networks class NetworkState { public: - NetworkState() + NetworkState() : _webPort(9993) , _tap((EthernetTap *)0) #if ZT_SSO_ENABLED @@ -280,7 +357,7 @@ public: bool allowDNS() const { return _settings.allowDNS; } - + std::vector allowManagedWhitelist() const { return _settings.allowManagedWhitelist; } @@ -349,15 +426,6 @@ public: return _managedRoutes; } - const char* getAuthURL() { -#if ZT_SSO_ENABLED - if (_idc != nullptr) { - return zeroidc::zeroidc_get_auth_url(_idc); - } - fprintf(stderr, "_idc is null\n"); -#endif - return ""; - } char* doTokenExchange(const char *code) { char *ret = nullptr; @@ -515,7 +583,7 @@ static void _networkToJson(nlohmann::json &nj,NetworkState &ns) } nj["dns"] = m; if (ns.config().ssoEnabled) { - const char* authURL = ns.getAuthURL(); + const char* authURL = ns.config().authenticationURL; //fprintf(stderr, "Auth URL: %s\n", authURL); nj["authenticationURL"] = authURL; nj["authenticationExpiryTime"] = (ns.getExpiryTime()*1000); @@ -576,6 +644,7 @@ static void _peerToJson(nlohmann::json &pj,const ZT_Peer *peer, SharedPtr j["latencyVariance"] = peer->paths[i].latencyVariance; j["packetLossRatio"] = peer->paths[i].packetLossRatio; j["packetErrorRatio"] = peer->paths[i].packetErrorRatio; + j["assignedFlowCount"] = peer->paths[i].assignedFlowCount; j["lastInAge"] = (now - lastReceive); j["lastOutAge"] = (now - lastSend); j["bonded"] = peer->paths[i].bonded; @@ -705,6 +774,7 @@ public: const std::string _homePath; std::string _authToken; + std::string _metricsToken; std::string _controllerDbPath; const std::string _networksPath; const std::string _moonsPath; @@ -713,10 +783,13 @@ public: Phy _phy; Node *_node; SoftwareUpdater *_updater; - PhySocket *_localControlSocket4; - PhySocket *_localControlSocket6; bool _updateAutoApply; - bool _allowTcpFallbackRelay; + + httplib::Server _controlPlane; + std::thread _serverThread; + bool _serverThreadRunning; + + bool _allowTcpFallbackRelay; bool _forceTcpRelay; bool _allowSecondaryPort; @@ -766,7 +839,7 @@ public: // Deadline for the next background task service function volatile int64_t _nextBackgroundTaskDeadline; - + std::map _nets; Mutex _nets_m; @@ -813,9 +886,10 @@ public: ,_phy(this,false,true) ,_node((Node *)0) ,_updater((SoftwareUpdater *)0) - ,_localControlSocket4((PhySocket *)0) - ,_localControlSocket6((PhySocket *)0) ,_updateAutoApply(false) + ,_controlPlane() + ,_serverThread() + ,_serverThreadRunning(false) ,_forceTcpRelay(false) ,_primaryPort(port) ,_udpPortPickerCounter(0) @@ -846,6 +920,10 @@ public: _ports[1] = 0; _ports[2] = 0; + prometheus::simpleapi::saver.set_registry(prometheus::simpleapi::registry_ptr); + prometheus::simpleapi::saver.set_delay(std::chrono::seconds(5)); + prometheus::simpleapi::saver.set_out_file(_homePath + ZT_PATH_SEPARATOR + "metrics.prom"); + #if ZT_VAULT_SUPPORT curl_global_init(CURL_GLOBAL_DEFAULT); #endif @@ -853,18 +931,19 @@ public: virtual ~OneServiceImpl() { -#ifdef __WINDOWS__ +#ifdef __WINDOWS__ WinFWHelper::removeICMPRules(); #endif _binder.closeAll(_phy); - _phy.close(_localControlSocket4); - _phy.close(_localControlSocket6); #if ZT_VAULT_SUPPORT curl_global_cleanup(); #endif - + _controlPlane.stop(); + if (_serverThreadRunning) { + _serverThread.join(); + } #ifdef ZT_USE_MINIUPNPC delete _portMapper; @@ -896,6 +975,26 @@ public: _authToken = _trimString(_authToken); } + { + const std::string metricsTokenPath(_homePath + ZT_PATH_SEPARATOR_S "metricstoken.secret"); + if (!OSUtils::readFile(metricsTokenPath.c_str(),_metricsToken)) { + unsigned char foo[24]; + Utils::getSecureRandom(foo,sizeof(foo)); + _metricsToken = ""; + for(unsigned int i=0;isetNetconfMaster((void *)_controller); + startHTTPControlPlane(); + // Join existing networks in networks.d { std::vector networksDotD(OSUtils::listDirectory((_homePath + ZT_PATH_SEPARATOR_S "networks.d").c_str())); @@ -1179,6 +1263,51 @@ public: Mutex::Lock _l(_termReason_m); _termReason = ONE_UNRECOVERABLE_ERROR; _fatalErrorMessage = std::string("unexpected exception in main thread: ")+e.what(); + } catch (int e) { + Mutex::Lock _l(_termReason_m); + _termReason = ONE_UNRECOVERABLE_ERROR; + switch (e) { + case ZT_EXCEPTION_OUT_OF_BOUNDS: { + _fatalErrorMessage = "out of bounds exception"; + break; + } + case ZT_EXCEPTION_OUT_OF_MEMORY: { + _fatalErrorMessage = "out of memory"; + break; + } + case ZT_EXCEPTION_PRIVATE_KEY_REQUIRED: { + _fatalErrorMessage = "private key required"; + break; + } + case ZT_EXCEPTION_INVALID_ARGUMENT: { + _fatalErrorMessage = "invalid argument"; + break; + } + case ZT_EXCEPTION_INVALID_IDENTITY: { + _fatalErrorMessage = "invalid identity loaded from disk. Please remove identity.public and identity.secret from " + _homePath + " and try again"; + break; + } + case ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_TYPE: { + _fatalErrorMessage = "invalid serialized data: invalid type"; + break; + } + case ZT_EXCEPTION_INVALID_SERIALIZED_DATA_OVERFLOW: { + _fatalErrorMessage = "invalid serialized data: overflow"; + break; + } + case ZT_EXCEPTION_INVALID_SERIALIZED_DATA_INVALID_CRYPTOGRAPHIC_TOKEN: { + _fatalErrorMessage = "invalid serialized data: invalid cryptographic token"; + break; + } + case ZT_EXCEPTION_INVALID_SERIALIZED_DATA_BAD_ENCODING: { + _fatalErrorMessage = "invalid serialized data: bad encoding"; + break; + } + default: { + _fatalErrorMessage = "unexpected exception code: " + std::to_string(e); + break; + } + } } catch ( ... ) { Mutex::Lock _l(_termReason_m); _termReason = ONE_UNRECOVERABLE_ERROR; @@ -1396,551 +1525,626 @@ public: return true; } - // ========================================================================= - // Internal implementation methods for control plane, route setup, etc. - // ========================================================================= + // Internal HTTP Control Plane + void startHTTPControlPlane() { + std::vector noAuthEndpoints { "/sso", "/health" }; - inline unsigned int handleControlPlaneHttpRequest( - const InetAddress &fromAddress, - unsigned int httpMethod, - const std::string &path, - const std::map &headers, - const std::string &body, - std::string &responseBody, - std::string &responseContentType) - { - char tmp[256]; - unsigned int scode = 404; - json res; - std::vector ps(OSUtils::split(path.c_str(),"/","","")); - std::map urlArgs; - - /* Note: this is kind of restricted in what it'll take. It does not support - * URL encoding, and /'s in URL args will screw it up. But the only URL args - * it really uses in ?jsonp=functionName, and otherwise it just takes simple - * paths to simply-named resources. */ - if (!ps.empty()) { - std::size_t qpos = ps[ps.size() - 1].find('?'); - if (qpos != std::string::npos) { - std::string args(ps[ps.size() - 1].substr(qpos + 1)); - ps[ps.size() - 1] = ps[ps.size() - 1].substr(0,qpos); - std::vector asplit(OSUtils::split(args.c_str(),"&","","")); - for(std::vector::iterator a(asplit.begin());a!=asplit.end();++a) { - std::size_t eqpos = a->find('='); - if (eqpos == std::string::npos) - urlArgs[*a] = ""; - else urlArgs[a->substr(0,eqpos)] = a->substr(eqpos + 1); + auto setContent = [=] (const httplib::Request &req, httplib::Response &res, std::string content) { + if (req.has_param("jsonp")) { + if (content.length() > 0) { + res.set_content(req.get_param_value("jsonp") + "(" + content + ");", "application/javascript"); + } else { + res.set_content(req.get_param_value("jsonp") + "(null);", "application/javascript"); + } + } else { + if (content.length() > 0) { + res.set_content(content, "application/json"); + } else { + res.set_content("{}", "application/json"); } } - } else { - return 404; - } + }; - bool isAuth = false; - { - std::map::const_iterator ah(headers.find("x-zt1-auth")); - if ((ah != headers.end())&&(_authToken == ah->second)) { - isAuth = true; + + auto authCheck = [=] (const httplib::Request &req, httplib::Response &res) { + if (req.path == "/metrics") { + + if (req.has_header("x-zt1-auth")) { + std::string token = req.get_header_value("x-zt1-auth"); + if (token == _metricsToken || token == _authToken) { + return httplib::Server::HandlerResponse::Unhandled; + } + } else if (req.has_param("auth")) { + std::string token = req.get_param_value("auth"); + if (token == _metricsToken || token == _authToken) { + return httplib::Server::HandlerResponse::Unhandled; + } + } else if (req.has_header("authorization")) { + std::string auth = req.get_header_value("authorization"); + if (bearerTokenValid(auth, _metricsToken) || bearerTokenValid(auth, _authToken)) { + return httplib::Server::HandlerResponse::Unhandled; + } + } + + setContent(req, res, "{}"); + res.status = 401; + return httplib::Server::HandlerResponse::Handled; } else { - ah = urlArgs.find("auth"); - if ((ah != urlArgs.end())&&(_authToken == ah->second)) - isAuth = true; - } - } + std::string r = req.remote_addr; + InetAddress remoteAddr(r.c_str()); -#ifdef __SYNOLOGY__ - // Authenticate via Synology's built-in cgi script - if (!isAuth) { - int synotoken_pos = path.find("SynoToken"); - int argpos = path.find('?'); - if(synotoken_pos != std::string::npos && argpos != std::string::npos) { - std::string cookie = path.substr(argpos+1, synotoken_pos-(argpos+1)); - std::string synotoken = path.substr(synotoken_pos); - std::string cookie_val = cookie.substr(cookie.find('=')+1); - std::string synotoken_val = synotoken.substr(synotoken.find('=')+1); - // Set necessary env for auth script - std::map::const_iterator ah2(headers.find("x-forwarded-for")); - setenv("HTTP_COOKIE", cookie_val.c_str(), true); - setenv("HTTP_X_SYNO_TOKEN", synotoken_val.c_str(), true); - setenv("REMOTE_ADDR", ah2->second.c_str(),true); - char user[256], buf[1024]; - FILE *fp = NULL; - bzero(user, 256); - fp = popen("/usr/syno/synoman/webman/modules/authenticate.cgi", "r"); - if(!fp) - isAuth = false; - else { - bzero(buf, sizeof(buf)); - fread(buf, 1024, 1, fp); - if(strlen(buf) > 0) { - snprintf(user, 256, "%s", buf); + bool ipAllowed = false; + bool isAuth = false; + // If localhost, allow + if (remoteAddr.ipScope() == InetAddress::IP_SCOPE_LOOPBACK) { + ipAllowed = true; + } + + if (!ipAllowed) { + for (auto i = _allowManagementFrom.begin(); i != _allowManagementFrom.end(); ++i) { + if (i->containsAddress(remoteAddr)) { + ipAllowed = true; + break; + } + } + } + + + if (ipAllowed) { + // auto-pass endpoints in `noAuthEndpoints`. No auth token required + if (std::find(noAuthEndpoints.begin(), noAuthEndpoints.end(), req.path) != noAuthEndpoints.end()) { isAuth = true; } - } - pclose(fp); - } - } -#endif - if (httpMethod == HTTP_GET) { - if (isAuth) { - if (ps[0] == "bond") { - if (_node->bondController()->inUse()) { - if (ps.size() == 3) { - if (ps[2].length() == 10) { - // check if hex string - ZT_PeerList *pl = _node->peers(); - if (pl) { - uint64_t wantp = Utils::hexStrToU64(ps[2].c_str()); - for(unsigned long i=0;ipeerCount;++i) { - if (pl->peers[i].address == wantp) { - if (ps[1] == "show") { - SharedPtr bond = _node->bondController()->getBondByPeerId(wantp); - if (bond) { - _peerToJson(res,&(pl->peers[i]),bond,(_tcpFallbackTunnel != (TcpConnection *)0)); - scode = 200; - } else { - scode = 400; - } - } - } - } - } - _node->freeQueryResult((void *)pl); + if (!isAuth) { + // check auth token + if (req.has_header("x-zt1-auth")) { + std::string token = req.get_header_value("x-zt1-auth"); + if (token == _authToken) { + isAuth = true; } + } else if (req.has_param("auth")) { + std::string token = req.get_param_value("auth"); + if (token == _authToken) { + isAuth = true; + } + } else if (req.has_header("authorization")) { + std::string auth = req.get_header_value("authorization"); + isAuth = bearerTokenValid(auth, _authToken); } - } else { - scode = 400; /* bond controller is not enabled */ } - } else if (ps[0] == "config") { - Mutex::Lock lc(_localConfig_m); - res = _localConfig; - scode = 200; - } else if (ps[0] == "status") { - ZT_NodeStatus status; - _node->status(&status); + } - OSUtils::ztsnprintf(tmp,sizeof(tmp),"%.10llx",status.address); - res["address"] = tmp; - res["publicIdentity"] = status.publicIdentity; - res["online"] = (bool)(status.online != 0); - res["tcpFallbackActive"] = (_tcpFallbackTunnel != (TcpConnection *)0); - res["versionMajor"] = ZEROTIER_ONE_VERSION_MAJOR; - res["versionMinor"] = ZEROTIER_ONE_VERSION_MINOR; - res["versionRev"] = ZEROTIER_ONE_VERSION_REVISION; - res["versionBuild"] = ZEROTIER_ONE_VERSION_BUILD; - OSUtils::ztsnprintf(tmp,sizeof(tmp),"%d.%d.%d",ZEROTIER_ONE_VERSION_MAJOR,ZEROTIER_ONE_VERSION_MINOR,ZEROTIER_ONE_VERSION_REVISION); - res["version"] = tmp; - res["clock"] = OSUtils::now(); + if (ipAllowed && isAuth) { + return httplib::Server::HandlerResponse::Unhandled; + } + setContent(req, res, "{}"); + res.status = 401; + return httplib::Server::HandlerResponse::Handled; + } + }; - { - Mutex::Lock _l(_localConfig_m); - res["config"] = _localConfig; + + + _controlPlane.Get("/bond/show/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + if (!_node->bondController()->inUse()) { + setContent(req, res, ""); + res.status = 400; + return; + } + + ZT_PeerList *pl = _node->peers(); + if (pl) { + auto id = req.matches[1]; + auto out = json::object(); + uint64_t wantp = Utils::hexStrToU64(id.str().c_str()); + for(unsigned long i=0;ipeerCount;++i) { + if (pl->peers[i].address == wantp) { + SharedPtr bond = _node->bondController()->getBondByPeerId(wantp); + if (bond) { + _peerToJson(out,&(pl->peers[i]),bond,(_tcpFallbackTunnel != (TcpConnection *)0)); + setContent(req, res, out.dump()); + } else { + setContent(req, res, ""); + res.status = 400; + } } - json &settings = res["config"]["settings"]; - settings["allowTcpFallbackRelay"] = OSUtils::jsonBool(settings["allowTcpFallbackRelay"],_allowTcpFallbackRelay); - settings["forceTcpRelay"] = OSUtils::jsonBool(settings["forceTcpRelay"],_forceTcpRelay); - settings["primaryPort"] = OSUtils::jsonInt(settings["primaryPort"],(uint64_t)_primaryPort) & 0xffff; - settings["secondaryPort"] = OSUtils::jsonInt(settings["secondaryPort"],(uint64_t)_secondaryPort) & 0xffff; - settings["tertiaryPort"] = OSUtils::jsonInt(settings["tertiaryPort"],(uint64_t)_tertiaryPort) & 0xffff; - // Enumerate all local address/port pairs that this node is listening on - std::vector boundAddrs(_binder.allBoundLocalInterfaceAddresses()); - auto boundAddrArray = json::array(); - for (int i = 0; i < boundAddrs.size(); i++) { - char ipBuf[64] = { 0 }; - boundAddrs[i].toString(ipBuf); - boundAddrArray.push_back(ipBuf); + } + } + _node->freeQueryResult((void *)pl); + }); + + auto bondRotate = [&, setContent](const httplib::Request &req, httplib::Response &res) { + if (!_node->bondController()->inUse()) { + setContent(req, res, ""); + res.status = 400; + return; + } + auto bondID = req.matches[1]; + uint64_t id = Utils::hexStrToU64(bondID.str().c_str()); + SharedPtr bond = _node->bondController()->getBondByPeerId(id); + if (bond) { + if (bond->abForciblyRotateLink()) { + res.status = 200; + } else { + res.status = 400; + } + } else { + fprintf(stderr, "unable to find bond to peer %llx\n", (unsigned long long)id); + res.status = 400; + } + setContent(req, res, "{}"); + }; + _controlPlane.Post("/bond/rotate/([0-9a-fA-F]{10})", bondRotate); + _controlPlane.Put("/bond/rotate/([0-9a-fA-F]{10})", bondRotate); + + auto setMtu = [&, setContent](const httplib::Request &req, httplib::Response &res) { + if (!_node->bondController()->inUse()) { + setContent(req, res, ""); + res.status = 400; + return; + } + uint16_t mtu = atoi(req.matches[1].str().c_str()); + res.status = _node->bondController()->setAllMtuByTuple(mtu, req.matches[2].str().c_str(), req.matches[3].str().c_str()) ? 200 : 400; + setContent(req, res, "{}"); + }; + _controlPlane.Post("/bond/setmtu/([0-9]{3,5})/([a-zA-Z0-9_]{1,16})/([0-9a-fA-F\\.\\:]{1,39})", setMtu); + _controlPlane.Put("/bond/setmtu/([0-9]{3,5})/([a-zA-Z0-9_]{1,16})/([0-9a-fA-F\\.\\:]{1,39})", setMtu); + + _controlPlane.Get("/config", [&, setContent](const httplib::Request &req, httplib::Response &res) { + std::string config; + { + Mutex::Lock lc(_localConfig_m); + config = _localConfig.dump(); + } + if (config == "null") { + config = "{}"; + } + setContent(req, res, config); + }); + + auto configPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { + json j(OSUtils::jsonParse(req.body)); + if (j.is_object()) { + Mutex::Lock lcl(_localConfig_m); + json lc(_localConfig); + for(json::const_iterator s(j.begin()); s != j.end(); ++s) { + lc["settings"][s.key()] = s.value(); + } + std::string lcStr = OSUtils::jsonDump(lc, 4); + if (OSUtils::writeFile((_homePath + ZT_PATH_SEPARATOR_S "local.conf").c_str(), lcStr)) { + _localConfig = lc; + } + } + setContent(req, res, "{}"); + }; + _controlPlane.Post("/config/settings", configPost); + _controlPlane.Put("/config/settings", configPost); + + _controlPlane.Get("/health", [&, setContent](const httplib::Request &req, httplib::Response &res) { + json out = json::object(); + + char tmp[256]; + + ZT_NodeStatus status; + _node->status(&status); + + out["online"] = (bool)(status.online != 0); + out["versionMajor"] = ZEROTIER_ONE_VERSION_MAJOR; + out["versionMinor"] = ZEROTIER_ONE_VERSION_MINOR; + out["versionRev"] = ZEROTIER_ONE_VERSION_REVISION; + out["versionBuild"] = ZEROTIER_ONE_VERSION_BUILD; + OSUtils::ztsnprintf(tmp,sizeof(tmp),"%d.%d.%d",ZEROTIER_ONE_VERSION_MAJOR,ZEROTIER_ONE_VERSION_MINOR,ZEROTIER_ONE_VERSION_REVISION); + out["version"] = tmp; + out["clock"] = OSUtils::now(); + + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/moon", [&, setContent](const httplib::Request &req, httplib::Response &res) { + std::vector moons(_node->moons()); + + auto out = json::array(); + for (auto i = moons.begin(); i != moons.end(); ++i) { + json mj; + _moonToJson(mj, *i); + out.push_back(mj); + } + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/moon/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res){ + std::vector moons(_node->moons()); + auto input = req.matches[1]; + auto out = json::object(); + const uint64_t id = Utils::hexStrToU64(input.str().c_str()); + for (auto i = moons.begin(); i != moons.end(); ++i) { + if (i->id() == id) { + _moonToJson(out, *i); + break; + } + } + setContent(req, res, out.dump()); + }); + + auto moonPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto input = req.matches[1]; + uint64_t seed = 0; + try { + json j(OSUtils::jsonParse(req.body)); + if (j.is_object()) { + seed = Utils::hexStrToU64(OSUtils::jsonString(j["seed"],"0").c_str()); + } + } catch ( ... ) { + // discard invalid JSON + } + + std::vector moons(_node->moons()); + const uint64_t id = Utils::hexStrToU64(input.str().c_str()); + bool found = false; + auto out = json::object(); + for(std::vector::const_iterator m(moons.begin());m!=moons.end();++m) { + if (m->id() == id) { + _moonToJson(out,*m); + found = true; + break; + } + } + + if (!found && seed != 0) { + char tmp[64]; + OSUtils::ztsnprintf(tmp,sizeof(tmp),"%.16llx",id); + out["id"] = tmp; + out["roots"] = json::array(); + out["timestamp"] = 0; + out["signature"] = json(); + out["updatesMustBeSignedBy"] = json(); + out["waiting"] = true; + _node->orbit((void *)0,id,seed); + } + setContent(req, res, out.dump()); + }; + _controlPlane.Post("/moon/([0-9a-fA-F]{10})", moonPost); + _controlPlane.Put("/moon/([0-9a-fA-F]{10})", moonPost); + + _controlPlane.Delete("/moon/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto input = req.matches[1]; + uint64_t id = Utils::hexStrToU64(input.str().c_str()); + auto out = json::object(); + _node->deorbit((void*)0,id); + out["result"] = true; + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/network", [&, setContent](const httplib::Request &req, httplib::Response &res) { + Mutex::Lock _l(_nets_m); + auto out = json::array(); + + for (auto it = _nets.begin(); it != _nets.end(); ++it) { + NetworkState &ns = it->second; + json nj; + _networkToJson(nj, ns); + out.push_back(nj); + } + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + Mutex::Lock _l(_nets_m); + + auto input = req.matches[1]; + const uint64_t nwid = Utils::hexStrToU64(input.str().c_str()); + if (_nets.find(nwid) != _nets.end()) { + auto out = json::object(); + NetworkState &ns = _nets[nwid]; + _networkToJson(out, ns); + setContent(req, res, out.dump()); + return; + } + setContent(req, res, ""); + res.status = 404; + }); + + auto networkPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto input = req.matches[1]; + uint64_t wantnw = Utils::hexStrToU64(input.str().c_str()); + _node->join(wantnw, (void*)0, (void*)0); + auto out = json::object(); + Mutex::Lock l(_nets_m); + bool allowDefault = false; + + if (!_nets.empty()) { + NetworkState &ns = _nets[wantnw]; + try { + json j(OSUtils::jsonParse(req.body)); + + json &allowManaged = j["allowManaged"]; + if (allowManaged.is_boolean()) { + ns.setAllowManaged((bool)allowManaged); } - settings["listeningOn"] = boundAddrArray; - // Enumerate all external address/port pairs that are reported for this node - std::vector surfaceAddrs = _node->SurfaceAddresses(); - auto surfaceAddrArray = json::array(); - for (int i = 0; i < surfaceAddrs.size(); i++) { - char ipBuf[64] = { 0 }; - surfaceAddrs[i].toString(ipBuf); - surfaceAddrArray.push_back(ipBuf); + json& allowGlobal = j["allowGlobal"]; + if (allowGlobal.is_boolean()) { + ns.setAllowGlobal((bool)allowGlobal); } - settings["surfaceAddresses"] = surfaceAddrArray; + json& _allowDefault = j["allowDefault"]; + if (_allowDefault.is_boolean()) { + allowDefault = _allowDefault; + ns.setAllowDefault((bool)allowDefault); + } + json& allowDNS = j["allowDNS"]; + if (allowDNS.is_boolean()) { + ns.setAllowDNS((bool)allowDNS); + } + } catch (...) { + // discard invalid JSON + } + setNetworkSettings(wantnw, ns.settings()); + if (ns.tap()) { + syncManagedStuff(ns,true,true,true); + } + + _networkToJson(out, ns); + } +#ifdef __FreeBSD__ + if(!!allowDefault){ + res.status = 400; + setContent(req, res, "Allow Default does not work properly on FreeBSD. See #580"); + } else { + setContent(req, res, out.dump()); + + } +#else + setContent(req, res, out.dump()); +#endif + }; + _controlPlane.Post("/network/([0-9a-fA-F]{16})", networkPost); + _controlPlane.Put("/network/([0-9a-fA-F]){16}", networkPost); + + _controlPlane.Delete("/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto input = req.matches[1]; + auto out = json::object(); + ZT_VirtualNetworkList *nws = _node->networks(); + uint64_t wantnw = Utils::hexStrToU64(input.str().c_str()); + for(unsigned long i=0; i < nws->networkCount; ++i) { + if (nws->networks[i].nwid == wantnw) { + _node->leave(wantnw, (void**)0, (void*)0); + out["result"] = true; + } + } + _node->freeQueryResult((void*)nws); + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/peer", [&, setContent](const httplib::Request &req, httplib::Response &res) { + ZT_PeerList *pl = _node->peers(); + auto out = nlohmann::json::array(); + + for(unsigned long i=0;ipeerCount;++i) { + nlohmann::json pj; + SharedPtr bond = SharedPtr(); + if (pl->peers[i].isBonded) { + const uint64_t id = pl->peers[i].address; + bond = _node->bondController()->getBondByPeerId(id); + } + _peerToJson(pj,&(pl->peers[i]),bond,(_tcpFallbackTunnel != (TcpConnection *)0)); + out.push_back(pj); + } + _node->freeQueryResult((void*)pl); + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/peer/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + ZT_PeerList *pl = _node->peers(); + + auto input = req.matches[1]; + uint64_t wantp = Utils::hexStrToU64(input.str().c_str()); + auto out = json::object(); + for(unsigned long i=0;ipeerCount;++i) { + if (pl->peers[i].address == wantp) { + SharedPtr bond = SharedPtr(); + if (pl->peers[i].isBonded) { + bond = _node->bondController()->getBondByPeerId(wantp); + } + _peerToJson(out,&(pl->peers[i]),bond,(_tcpFallbackTunnel != (TcpConnection *)0)); + break; + } + } + _node->freeQueryResult((void*)pl); + setContent(req, res, out.dump()); + }); + + _controlPlane.Get("/status", [&, setContent](const httplib::Request &req, httplib::Response &res) { + ZT_NodeStatus status; + _node->status(&status); + + auto out = json::object(); + char tmp[256] = {}; + + OSUtils::ztsnprintf(tmp,sizeof(tmp),"%.10llx",status.address); + out["address"] = tmp; + out["publicIdentity"] = status.publicIdentity; + out["online"] = (bool)(status.online != 0); + out["tcpFallbackActive"] = (_tcpFallbackTunnel != (TcpConnection *)0); + out["versionMajor"] = ZEROTIER_ONE_VERSION_MAJOR; + out["versionMinor"] = ZEROTIER_ONE_VERSION_MINOR; + out["versionRev"] = ZEROTIER_ONE_VERSION_REVISION; + out["versionBuild"] = ZEROTIER_ONE_VERSION_BUILD; + OSUtils::ztsnprintf(tmp,sizeof(tmp),"%d.%d.%d",ZEROTIER_ONE_VERSION_MAJOR,ZEROTIER_ONE_VERSION_MINOR,ZEROTIER_ONE_VERSION_REVISION); + out["version"] = tmp; + out["clock"] = OSUtils::now(); + + { + Mutex::Lock _l(_localConfig_m); + out["config"] = _localConfig; + } + json &settings = out["config"]["settings"]; + settings["allowTcpFallbackRelay"] = OSUtils::jsonBool(settings["allowTcpFallbackRelay"],_allowTcpFallbackRelay); + settings["forceTcpRelay"] = OSUtils::jsonBool(settings["forceTcpRelay"],_forceTcpRelay); + settings["primaryPort"] = OSUtils::jsonInt(settings["primaryPort"],(uint64_t)_primaryPort) & 0xffff; + settings["secondaryPort"] = OSUtils::jsonInt(settings["secondaryPort"],(uint64_t)_secondaryPort) & 0xffff; + settings["tertiaryPort"] = OSUtils::jsonInt(settings["tertiaryPort"],(uint64_t)_tertiaryPort) & 0xffff; + // Enumerate all local address/port pairs that this node is listening on + std::vector boundAddrs(_binder.allBoundLocalInterfaceAddresses()); + auto boundAddrArray = json::array(); + for (int i = 0; i < boundAddrs.size(); i++) { + char ipBuf[64] = { 0 }; + boundAddrs[i].toString(ipBuf); + boundAddrArray.push_back(ipBuf); + } + settings["listeningOn"] = boundAddrArray; + // Enumerate all external address/port pairs that are reported for this node + std::vector surfaceAddrs = _node->SurfaceAddresses(); + auto surfaceAddrArray = json::array(); + for (int i = 0; i < surfaceAddrs.size(); i++) { + char ipBuf[64] = { 0 }; + surfaceAddrs[i].toString(ipBuf); + surfaceAddrArray.push_back(ipBuf); + } + settings["surfaceAddresses"] = surfaceAddrArray; #ifdef ZT_USE_MINIUPNPC - settings["portMappingEnabled"] = OSUtils::jsonBool(settings["portMappingEnabled"],true); + settings["portMappingEnabled"] = OSUtils::jsonBool(settings["portMappingEnabled"],true); #else - settings["portMappingEnabled"] = false; // not supported in build + settings["portMappingEnabled"] = false; // not supported in build #endif #ifndef ZT_SDK - settings["softwareUpdate"] = OSUtils::jsonString(settings["softwareUpdate"],ZT_SOFTWARE_UPDATE_DEFAULT); - settings["softwareUpdateChannel"] = OSUtils::jsonString(settings["softwareUpdateChannel"],ZT_SOFTWARE_UPDATE_DEFAULT_CHANNEL); + settings["softwareUpdate"] = OSUtils::jsonString(settings["softwareUpdate"],ZT_SOFTWARE_UPDATE_DEFAULT); + settings["softwareUpdateChannel"] = OSUtils::jsonString(settings["softwareUpdateChannel"],ZT_SOFTWARE_UPDATE_DEFAULT_CHANNEL); #endif - const World planet(_node->planet()); - res["planetWorldId"] = planet.id(); - res["planetWorldTimestamp"] = planet.timestamp(); + const World planet(_node->planet()); + out["planetWorldId"] = planet.id(); + out["planetWorldTimestamp"] = planet.timestamp(); - scode = 200; - } else if (ps[0] == "moon") { - std::vector moons(_node->moons()); - if (ps.size() == 1) { - // Return [array] of all moons + setContent(req, res, out.dump()); + }); - res = json::array(); - for(std::vector::const_iterator m(moons.begin());m!=moons.end();++m) { - json mj; - _moonToJson(mj,*m); - res.push_back(mj); - } - - scode = 200; - } else { - // Return a single moon by ID - - const uint64_t id = Utils::hexStrToU64(ps[1].c_str()); - for(std::vector::const_iterator m(moons.begin());m!=moons.end();++m) { - if (m->id() == id) { - _moonToJson(res,*m); - scode = 200; - break; - } - } - - } - } else if (ps[0] == "network") { - Mutex::Lock _l(_nets_m); - if (ps.size() == 1) { - // Return [array] of all networks - - res = nlohmann::json::array(); - - for (auto it = _nets.begin(); it != _nets.end(); ++it) { - NetworkState &ns = it->second; - nlohmann::json nj; - _networkToJson(nj, ns); - res.push_back(nj); - } - - scode = 200; - } else if (ps.size() == 2) { - // Return a single network by ID or 404 if not found - - const uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str()); - if (_nets.find(wantnw) != _nets.end()) { - res = json::object(); - NetworkState& ns = _nets[wantnw]; - _networkToJson(res, ns); - scode = 200; - } - } else { - scode = 404; - } - } else if (ps[0] == "peer") { - ZT_PeerList *pl = _node->peers(); - if (pl) { - if (ps.size() == 1) { - // Return [array] of all peers - - res = nlohmann::json::array(); - for(unsigned long i=0;ipeerCount;++i) { - nlohmann::json pj; - SharedPtr bond = SharedPtr(); - if (pl->peers[i].isBonded) { - const uint64_t id = pl->peers[i].address; - bond = _node->bondController()->getBondByPeerId(id); - } - _peerToJson(pj,&(pl->peers[i]),bond,(_tcpFallbackTunnel != (TcpConnection *)0)); - res.push_back(pj); - } - - scode = 200; - } else if (ps.size() == 2) { - // Return a single peer by ID or 404 if not found - - uint64_t wantp = Utils::hexStrToU64(ps[1].c_str()); - for(unsigned long i=0;ipeerCount;++i) { - if (pl->peers[i].address == wantp) { - SharedPtr bond = SharedPtr(); - if (pl->peers[i].isBonded) { - bond = _node->bondController()->getBondByPeerId(wantp); - } - _peerToJson(res,&(pl->peers[i]),bond,(_tcpFallbackTunnel != (TcpConnection *)0)); - scode = 200; - break; - } - } - - } else scode = 404; - _node->freeQueryResult((void *)pl); - } else scode = 500; - } else { - if (_controller) { - scode = _controller->handleControlPlaneHttpGET(std::vector(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); - } else scode = 404; - } #if ZT_SSO_ENABLED - } else if (ps[0] == "sso") { - std::string htmlTemplatePath = _homePath + ZT_PATH_SEPARATOR + "sso-auth.template.html"; - std::string htmlTemplate; - if (!OSUtils::readFile(htmlTemplatePath.c_str(), htmlTemplate)) { - htmlTemplate = ssoResponseTemplate; - } + _controlPlane.Get("/sso", [this](const httplib::Request &req, httplib::Response &res) { + std::string htmlTemplatePath = _homePath + ZT_PATH_SEPARATOR + "sso-auth.template.html"; + std::string htmlTemplate; + if (!OSUtils::readFile(htmlTemplatePath.c_str(), htmlTemplate)) { + htmlTemplate = ssoResponseTemplate; + } - responseContentType = "text/html"; - json outData; + std::string responseContentType = "text/html"; + std::string responseBody = ""; + json outData; - char *error = zeroidc::zeroidc_get_url_param_value("error", path.c_str()); - if (error != nullptr) { - char *desc = zeroidc::zeroidc_get_url_param_value("error_description", path.c_str()); - scode = 500; - json data; - outData["isError"] = true; - outData["messageText"] = (std::string("ERROR ") + error + std::string(": ") + desc); - responseBody = inja::render(htmlTemplate, outData); + if (req.has_param("error")) { + std::string error = req.get_param_value("error"); + std::string desc = req.get_param_value("error_description"); - zeroidc::free_cstr(desc); - zeroidc::free_cstr(error); + json data; + outData["isError"] = true; + outData["messageText"] = (std::string("ERROR ") + error + std::string(": ") + desc); + responseBody = inja::render(htmlTemplate, outData); - return scode; - } + res.set_content(responseBody, responseContentType); + res.status = 500; + return; + } - // SSO redirect handling - char* state = zeroidc::zeroidc_get_url_param_value("state", path.c_str()); - char* nwid = zeroidc::zeroidc_network_id_from_state(state); + // SSO redirect handling + std::string state = req.get_param_value("state"); + char* nwid = zeroidc::zeroidc_network_id_from_state(state.c_str()); - outData["networkId"] = std::string(nwid); + outData["networkId"] = std::string(nwid); - const uint64_t id = Utils::hexStrToU64(nwid); - - zeroidc::free_cstr(nwid); - zeroidc::free_cstr(state); + const uint64_t id = Utils::hexStrToU64(nwid); - Mutex::Lock l(_nets_m); - if (_nets.find(id) != _nets.end()) { - NetworkState& ns = _nets[id]; - char* code = zeroidc::zeroidc_get_url_param_value("code", path.c_str()); - char *ret = ns.doTokenExchange(code); - json ssoResult = json::parse(ret); - if (ssoResult.is_object()) { - if (ssoResult.contains("errorMessage")) { - outData["isError"] = true; - outData["messageText"] = ssoResult["errorMessage"]; - responseBody = inja::render(htmlTemplate, outData); - scode = 500; - } else { - scode = 200; - outData["isError"] = false; - outData["messageText"] = "Authentication Successful. You may now access the network."; - responseBody = inja::render(htmlTemplate, outData); - } - } else { - // not an object? We got a problem - outData["isError"] = true; - outData["messageText"] = "ERROR: Unkown SSO response. Please contact your administrator."; - responseBody = inja::render(htmlTemplate, outData); - scode= 500; - } + zeroidc::free_cstr(nwid); - zeroidc::free_cstr(code); - zeroidc::free_cstr(ret); + Mutex::Lock l(_nets_m); + if (_nets.find(id) != _nets.end()) { + NetworkState& ns = _nets[id]; + std::string code = req.get_param_value("code"); + char *ret = ns.doTokenExchange(code.c_str()); + json ssoResult = json::parse(ret); + if (ssoResult.is_object()) { + if (ssoResult.contains("errorMessage")) { + outData["isError"] = true; + outData["messageText"] = ssoResult["errorMessage"]; + responseBody = inja::render(htmlTemplate, outData); + res.set_content(responseBody, responseContentType); + res.status = 500; + } else { + outData["isError"] = false; + outData["messageText"] = "Authentication Successful. You may now access the network."; + responseBody = inja::render(htmlTemplate, outData); + res.set_content(responseBody, responseContentType); + } + } else { + // not an object? We got a problem + outData["isError"] = true; + outData["messageText"] = "ERROR: Unkown SSO response. Please contact your administrator."; + responseBody = inja::render(htmlTemplate, outData); + res.set_content(responseBody, responseContentType); + res.status = 500; + } - return scode; - } else { - scode = 404; - } + zeroidc::free_cstr(ret); + } + }); #endif - } else { - scode = 401; // isAuth == false && !sso + + _controlPlane.Get("/metrics", [this](const httplib::Request &req, httplib::Response &res) { + std::string statspath = _homePath + ZT_PATH_SEPARATOR + "metrics.prom"; + std::string metrics; + if (OSUtils::readFile(statspath.c_str(), metrics)) { + res.set_content(metrics, "text/plain"); + } else { + res.set_content("{}", "application/json"); + res.status = 500; + } + }); + + _controlPlane.set_exception_handler([&, setContent](const httplib::Request &req, httplib::Response &res, std::exception_ptr ep) { + char buf[1024]; + auto fmt = "{\"error\": %d, \"description\": \"%s\"}"; + try { + std::rethrow_exception(ep); + } catch (std::exception &e) { + snprintf(buf, sizeof(buf), fmt, 500, e.what()); + } catch (...) { + snprintf(buf, sizeof(buf), fmt, 500, "Unknown Exception"); } - } else if ((httpMethod == HTTP_POST)||(httpMethod == HTTP_PUT)) { - if (isAuth) { - if (ps[0] == "bond") { - if (_node->bondController()->inUse()) { - if (ps.size() == 3) { - if (ps[2].length() == 10) { - // check if hex string - const uint64_t id = Utils::hexStrToU64(ps[2].c_str()); - if (ps[1] == "rotate") { - exit(0); - SharedPtr bond = _node->bondController()->getBondByPeerId(id); - if (bond) { - scode = bond->abForciblyRotateLink() ? 200 : 400; - } else { - fprintf(stderr, "unable to find bond to peer %llx\n", (unsigned long long)id); - scode = 400; - } - } - } - } - } else { - scode = 400; /* bond controller is not enabled */ - } - } else if (ps[0] == "config") { - // Right now we only support writing the things the UI supports changing. - if (ps.size() == 2) { - if (ps[1] == "settings") { - try { - json j(OSUtils::jsonParse(body)); - if (j.is_object()) { - Mutex::Lock lcl(_localConfig_m); - json lc(_localConfig); - for(json::const_iterator s(j.begin());s!=j.end();++s) { - lc["settings"][s.key()] = s.value(); - } - std::string lcStr = OSUtils::jsonDump(lc, 4); - if (OSUtils::writeFile((_homePath + ZT_PATH_SEPARATOR_S "local.conf").c_str(), lcStr)) { - _localConfig = lc; - } - } else { - scode = 400; - } - } catch ( ... ) { - scode = 400; - } - } else { - scode = 404; - } - } else { - scode = 404; - } - } else if (ps[0] == "moon") { - if (ps.size() == 2) { + setContent(req, res, buf); + res.status = 500; + }); - uint64_t seed = 0; - try { - json j(OSUtils::jsonParse(body)); - if (j.is_object()) { - seed = Utils::hexStrToU64(OSUtils::jsonString(j["seed"],"0").c_str()); - } - } catch ( ... ) { - // discard invalid JSON - } + if (_controller) { + _controller->configureHTTPControlPlane(_controlPlane, setContent); + } - std::vector moons(_node->moons()); - const uint64_t id = Utils::hexStrToU64(ps[1].c_str()); - for(std::vector::const_iterator m(moons.begin());m!=moons.end();++m) { - if (m->id() == id) { - _moonToJson(res,*m); - scode = 200; - break; - } - } + _controlPlane.set_pre_routing_handler(authCheck); - if ((scode != 200)&&(seed != 0)) { - char tmp[64]; - OSUtils::ztsnprintf(tmp,sizeof(tmp),"%.16llx",id); - res["id"] = tmp; - res["roots"] = json::array(); - res["timestamp"] = 0; - res["signature"] = json(); - res["updatesMustBeSignedBy"] = json(); - res["waiting"] = true; - _node->orbit((void *)0,id,seed); - scode = 200; - } +#if ZT_DEBUG==1 + _controlPlane.set_logger([](const httplib::Request &req, const httplib::Response &res) { + fprintf(stderr, "%s", http_log(req, res).c_str()); + }); +#endif + if (_primaryPort==0) { + fprintf(stderr, "unable to determine local control port"); + exit(-1); + } - } else scode = 404; - } else if (ps[0] == "network") { - if (ps.size() == 2) { + if(!_controlPlane.bind_to_port("0.0.0.0", _primaryPort)) { + fprintf(stderr, "Error binding control plane to port %d\n", _primaryPort); + exit(-1); + } - uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str()); - _node->join(wantnw,(void *)0,(void *)0); // does nothing if we are a member - Mutex::Lock l(_nets_m); - if (!_nets.empty()) { - if (_nets.find(wantnw) != _nets.end()) { - NetworkState& ns = _nets[wantnw]; - try { - json j(OSUtils::jsonParse(body)); - - json &allowManaged = j["allowManaged"]; - if (allowManaged.is_boolean()) { - ns.setAllowManaged((bool)allowManaged); - } - json& allowGlobal = j["allowGlobal"]; - if (allowGlobal.is_boolean()) { - ns.setAllowGlobal((bool)allowGlobal); - } - json& allowDefault = j["allowDefault"]; - if (allowDefault.is_boolean()) { - ns.setAllowDefault((bool)allowDefault); - } - json& allowDNS = j["allowDNS"]; - if (allowDNS.is_boolean()) { - ns.setAllowDNS((bool)allowDNS); - } - } catch (...) { - // discard invalid JSON - } - setNetworkSettings(wantnw, ns.settings()); - if (ns.tap()) { - syncManagedStuff(ns,true,true,true); - } - - _networkToJson(res, ns); - - scode = 200; - } - } else scode = 500; - - } else scode = 404; - } else { - if (_controller) - scode = _controller->handleControlPlaneHttpPOST(std::vector(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); - else scode = 404; - } - } else { - scode = 401; // isAuth == false + _serverThread = std::thread([&] { + _serverThreadRunning = true; + fprintf(stderr, "Starting Control Plane...\n"); + if(!_controlPlane.listen_after_bind()) { + fprintf(stderr, "Error on listen_after_bind()\n"); } - } else if (httpMethod == HTTP_DELETE) { - if (isAuth) { + fprintf(stderr, "Control Plane Stopped\n"); + _serverThreadRunning = false; + }); - if (ps[0] == "moon") { - if (ps.size() == 2) { - _node->deorbit((void *)0,Utils::hexStrToU64(ps[1].c_str())); - res["result"] = true; - scode = 200; - } // else 404 - } else if (ps[0] == "network") { - ZT_VirtualNetworkList *nws = _node->networks(); - if (nws) { - if (ps.size() == 2) { - uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str()); - for(unsigned long i=0;inetworkCount;++i) { - if (nws->networks[i].nwid == wantnw) { - _node->leave(wantnw,(void **)0,(void *)0); - res["result"] = true; - scode = 200; - break; - } - } - } // else 404 - _node->freeQueryResult((void *)nws); - } else scode = 500; - } else { - if (_controller) - scode = _controller->handleControlPlaneHttpDELETE(std::vector(ps.begin()+1,ps.end()),urlArgs,headers,body,responseBody,responseContentType); - else scode = 404; - } - } else scode = 401; // isAuth = false - } else { - scode = 400; - } - - if (responseBody.length() == 0) { - if ((res.is_object())||(res.is_array())) - responseBody = OSUtils::jsonDump(res); - else responseBody = "{}"; - responseContentType = "application/json"; - } - - // Wrap result in jsonp function call if the user included a jsonp= url argument. - // Also double-check isAuth since forbidding this without auth feels safer. - std::map::const_iterator jsonp(urlArgs.find("jsonp")); - if ((isAuth)&&(jsonp != urlArgs.end())&&(responseContentType == "application/json")) { - if (responseBody.length() > 0) - responseBody = jsonp->second + "(" + responseBody + ");"; - else responseBody = jsonp->second + "(null);"; - responseContentType = "application/javascript"; - } - - return scode; - } + } // Must be called after _localConfig is read or modified void applyLocalConfig() @@ -2338,8 +2542,13 @@ public: } #ifdef __APPLE__ - if (!MacDNSHelper::addIps(n.config().nwid, n.config().mac, n.tap()->deviceName().c_str(), newManagedIps)) + if (!MacDNSHelper::addIps6(n.config().nwid, n.config().mac, n.tap()->deviceName().c_str(), newManagedIps)) { fprintf(stderr, "ERROR: unable to add v6 addresses to system configuration" ZT_EOL_S); + } + + if (!MacDNSHelper::addIps4(n.config().nwid, n.config().mac, n.tap()->deviceName().c_str(), newManagedIps)) { + fprintf(stderr, "ERROR: unable to add v4 addresses to system configuration" ZT_EOL_S); + } #endif n.setManagedIps(newManagedIps); } @@ -2419,8 +2628,9 @@ public: r->second->sync(); } for(std::map< InetAddress, SharedPtr >::iterator r(n.managedRoutes().begin());r!=n.managedRoutes().end();++r) { - if (r->second->via()) + if (r->second->via() && (!r->second->target().isDefaultRoute() || _node->online())) { r->second->sync(); + } } } @@ -2456,9 +2666,11 @@ public: if (_forceTcpRelay) { return; } + Metrics::udp_recv += len; const uint64_t now = OSUtils::now(); - if ((len >= 16)&&(reinterpret_cast(from)->ipScope() == InetAddress::IP_SCOPE_GLOBAL)) + if ((len >= 16)&&(reinterpret_cast(from)->ipScope() == InetAddress::IP_SCOPE_GLOBAL)) { _lastDirectReceiveFromGlobal = now; + } const ZT_ResultCode rc = _node->processWirePacket(nullptr,now,reinterpret_cast(sock),reinterpret_cast(from),data,len,&_nextBackgroundTaskDeadline); if (ZT_ResultCode_isFatal(rc)) { char tmp[256]; @@ -2545,47 +2757,11 @@ public: { try { if (!len) return; // sanity check, should never happen + Metrics::tcp_recv += len; TcpConnection *tc = reinterpret_cast(*uptr); tc->lastReceive = OSUtils::now(); switch(tc->type) { - case TcpConnection::TCP_UNCATEGORIZED_INCOMING: - switch(reinterpret_cast(data)[0]) { - // HTTP: GET, PUT, POST, HEAD, DELETE - case 'G': - case 'P': - case 'D': - case 'H': { - // This is only allowed from IPs permitted to access the management - // backplane, which is just 127.0.0.1/::1 unless otherwise configured. - bool allow; - { - Mutex::Lock _l(_localConfig_m); - if (_allowManagementFrom.empty()) { - allow = (tc->remoteAddr.ipScope() == InetAddress::IP_SCOPE_LOOPBACK); - } else { - allow = false; - for(std::vector::const_iterator i(_allowManagementFrom.begin());i!=_allowManagementFrom.end();++i) { - if (i->containsAddress(tc->remoteAddr)) { - allow = true; - break; - } - } - } - } - if (allow) { - tc->type = TcpConnection::TCP_HTTP_INCOMING; - phyOnTcpData(sock,uptr,data,len); - } else { - _phy.close(sock); - } - } break; - - // Drop unknown protocols - default: - _phy.close(sock); - break; - } return; case TcpConnection::TCP_HTTP_INCOMING: @@ -2683,6 +2859,7 @@ public: Mutex::Lock _l(tc->writeq_m); if (tc->writeq.length() > 0) { long sent = (long)_phy.streamSend(sock,tc->writeq.data(),(unsigned long)tc->writeq.length(),true); + Metrics::tcp_send += sent; if (sent > 0) { if ((unsigned long)sent >= (unsigned long)tc->writeq.length()) { tc->writeq.clear(); @@ -3190,7 +3367,7 @@ public: void *tmpptr = (void *)_tcpFallbackTunnel; phyOnTcpWritable(_tcpFallbackTunnel->sock,&tmpptr); } - } else if (_forceTcpRelay || (((now - _lastSendToGlobalV4) < ZT_TCP_FALLBACK_AFTER)&&((now - _lastSendToGlobalV4) > (ZT_PING_CHECK_INVERVAL / 2)))) { + } else if (_forceTcpRelay || (((now - _lastSendToGlobalV4) < ZT_TCP_FALLBACK_AFTER)&&((now - _lastSendToGlobalV4) > (ZT_PING_CHECK_INTERVAL / 2)))) { const InetAddress addr(_fallbackRelayAddress); TcpConnection *tc = new TcpConnection(); { @@ -3221,9 +3398,13 @@ public: // working we can instantly "fail forward" to it and stop using TCP // proxy fallback, which is slow. if ((localSocket != -1)&&(localSocket != 0)&&(_binder.isUdpSocketValid((PhySocket *)((uintptr_t)localSocket)))) { - if ((ttl)&&(addr->ss_family == AF_INET)) _phy.setIp4UdpTtl((PhySocket *)((uintptr_t)localSocket),ttl); + if ((ttl)&&(addr->ss_family == AF_INET)) { + _phy.setIp4UdpTtl((PhySocket *)((uintptr_t)localSocket),ttl); + } const bool r = _phy.udpSend((PhySocket *)((uintptr_t)localSocket),(const struct sockaddr *)addr,data,len); - if ((ttl)&&(addr->ss_family == AF_INET)) _phy.setIp4UdpTtl((PhySocket *)((uintptr_t)localSocket),255); + if ((ttl)&&(addr->ss_family == AF_INET)) { + _phy.setIp4UdpTtl((PhySocket *)((uintptr_t)localSocket),255); + } return ((r) ? 0 : -1); } else { return ((_binder.udpSendAll(_phy,addr,data,len,ttl)) ? 0 : -1); @@ -3313,56 +3494,6 @@ public: _node->processVirtualNetworkFrame((void*)0, OSUtils::now(), nwid, from.toInt(), to.toInt(), etherType, vlanId, data, len, &_nextBackgroundTaskDeadline); } - inline void onHttpRequestToServer(TcpConnection* tc) - { - char tmpn[4096]; - std::string data; - std::string contentType("text/plain"); // default if not changed in handleRequest() - unsigned int scode = 404; - - // Note that we check allowed IP ranges when HTTP connections are first detected in - // phyOnTcpData(). If we made it here the source IP is okay. - - try { - scode = handleControlPlaneHttpRequest(tc->remoteAddr, tc->parser.method, tc->url, tc->headers, tc->readq, data, contentType); - } - catch (std::exception& exc) { - fprintf(stderr, "WARNING: unexpected exception processing control HTTP request: %s" ZT_EOL_S, exc.what()); - scode = 500; - } - catch (...) { - fprintf(stderr, "WARNING: unexpected exception processing control HTTP request: unknown exception" ZT_EOL_S); - scode = 500; - } - - const char* scodestr; - switch (scode) { - case 200: scodestr = "OK"; break; - case 400: scodestr = "Bad Request"; break; - case 401: scodestr = "Unauthorized"; break; - case 403: scodestr = "Forbidden"; break; - case 404: scodestr = "Not Found"; break; - case 500: scodestr = "Internal Server Error"; break; - case 501: scodestr = "Not Implemented"; break; - case 503: scodestr = "Service Unavailable"; break; - default: scodestr = "Error"; break; - } - - OSUtils::ztsnprintf(tmpn, sizeof(tmpn), "HTTP/1.1 %.3u %s\r\nCache-Control: no-cache\r\nPragma: no-cache\r\nContent-Type: %s\r\nContent-Length: %lu\r\nConnection: close\r\n\r\n", - scode, - scodestr, - contentType.c_str(), - (unsigned long)data.length()); - { - Mutex::Lock _l(tc->writeq_m); - tc->writeq = tmpn; - if (tc->parser.method != HTTP_HEAD) - tc->writeq.append(data); - } - - _phy.setNotifyWritable(tc->sock, true); - } - inline void onHttpResponseFromClient(TcpConnection* tc) { _phy.close(tc->sock); @@ -3577,7 +3708,6 @@ static int ShttpOnMessageComplete(http_parser *parser) { TcpConnection *tc = reinterpret_cast(parser->data); if (tc->type == TcpConnection::TCP_HTTP_INCOMING) { - tc->parent->onHttpRequestToServer(tc); } else { tc->parent->onHttpResponseFromClient(tc); } diff --git a/tcp-proxy/Makefile b/tcp-proxy/Makefile index af4e71e3a..ff77d2b6b 100644 --- a/tcp-proxy/Makefile +++ b/tcp-proxy/Makefile @@ -1,7 +1,9 @@ CXX=$(shell which clang++ g++ c++ 2>/dev/null | head -n 1) +INCLUDES?=-I../ext/prometheus-cpp-lite-1.0/core/include -I../ext/prometheus-cpp-lite-1.0/simpleapi/include + all: - $(CXX) -O3 -fno-rtti -o tcp-proxy tcp-proxy.cpp + $(CXX) -O3 -fno-rtti $(INCLUDES) -std=c++11 -frtti -o tcp-proxy tcp-proxy.cpp ../node/Metrics.cpp clean: rm -f *.o tcp-proxy *.dSYM diff --git a/tcp-proxy/tcp-proxy.cpp b/tcp-proxy/tcp-proxy.cpp index d57351987..44bc5eab0 100644 --- a/tcp-proxy/tcp-proxy.cpp +++ b/tcp-proxy/tcp-proxy.cpp @@ -43,6 +43,8 @@ #include "../osdep/Phy.hpp" +#include "../node/Metrics.hpp" + #define ZT_TCP_PROXY_CONNECTION_TIMEOUT_SECONDS 300 #define ZT_TCP_PROXY_TCP_PORT 443 diff --git a/version.h b/version.h index 6feff8bf2..cd4d29061 100644 --- a/version.h +++ b/version.h @@ -22,12 +22,12 @@ /** * Minor version */ -#define ZEROTIER_ONE_VERSION_MINOR 10 +#define ZEROTIER_ONE_VERSION_MINOR 12 /** * Revision */ -#define ZEROTIER_ONE_VERSION_REVISION 6 +#define ZEROTIER_ONE_VERSION_REVISION 0 /** * Build version diff --git a/windows/TapDriver6/tap.h b/windows/TapDriver6/tap.h index 76df77980..f241d80e3 100644 --- a/windows/TapDriver6/tap.h +++ b/windows/TapDriver6/tap.h @@ -25,10 +25,11 @@ #define __TAP_H #ifndef NDIS_SUPPORT_NDIS6 -#define NDIS_SUPPORT_NDIS6 1 -#define NDIS_SUPPORT_NDIS61 1 -#define NDIS_WDM1 1 -#define NDIS61_MINIPORT 1 +#define NDIS_MINIPORT_DRIVER 1 +#define NDIS_SUPPORT_NDIS6 1 +#define NDIS_SUPPORT_NDIS630 1 +#define NDIS_WDM1 1 +#define NDIS630_MINIPORT 1 #endif #include diff --git a/windows/TapDriver6/zttap300.inf b/windows/TapDriver6/zttap300.inf index 8b12a1b3c..8e74daab1 100644 --- a/windows/TapDriver6/zttap300.inf +++ b/windows/TapDriver6/zttap300.inf @@ -35,7 +35,8 @@ Provider = "ZeroTier" [Manufacturer] %Provider%=zttap300,NTx86 -;%Provider%=zttap300,NTamd64 +%Provider%=zttap300,NTamd64 +%Provider%=zttap300,NTarm64 [zttap300.NTx86] %DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated @@ -45,6 +46,10 @@ Provider = "ZeroTier" %DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated %DeviceDescription% = zttap300.ndi, zttap300 ; Legacy +[zttap300.NTarm64] +%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated +%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy + ;----------------- Characteristics ------------ ; NCF_PHYSICAL = 0x04 ; NCF_VIRTUAL = 0x01 diff --git a/windows/ZeroTierOne/ZeroTierOne.vcxproj b/windows/ZeroTierOne/ZeroTierOne.vcxproj index 36e50ffac..9fb4aa0e8 100644 --- a/windows/ZeroTierOne/ZeroTierOne.vcxproj +++ b/windows/ZeroTierOne/ZeroTierOne.vcxproj @@ -81,6 +81,7 @@ + @@ -210,6 +211,7 @@ + @@ -412,10 +414,10 @@ Level3 Disabled true - $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) + $(SolutionDir)\..\ext;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\core\include;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\simpleapi\include;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;NOMINMAX;STATICLIB;WIN32;ZT_TRACE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="disable";%(PreprocessorDefinitions) 4996 - false + true stdcpp17 true stdc11 @@ -434,10 +436,10 @@ Level3 Disabled true - $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) + $(SolutionDir)\..\ext;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\core\include;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\simpleapi\include;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;NOMINMAX;STATICLIB;WIN32;ZT_TRACE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="disable";%(PreprocessorDefinitions) 4996 - false + true stdcpp17 stdc11 true @@ -455,15 +457,15 @@ Level3 Disabled true - $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) + $(SolutionDir)\..\ext;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\core\include;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\simpleapi\include;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;NOMINMAX;STATICLIB;WIN32;ZT_TRACE;ZT_RULES_ENGINE_DEBUGGING;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="disable";%(PreprocessorDefinitions) true 4996 - false stdcpp17 stdc11 false false + true true @@ -501,15 +503,15 @@ Level3 Disabled true - $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) + $(SolutionDir)\..\ext;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\core\include;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\simpleapi\include;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;NOMINMAX;STATICLIB;WIN32;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="disable";%(PreprocessorDefinitions) true 4996 - false stdcpp17 stdc11 false false + true true @@ -547,7 +549,7 @@ false true true - $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) + $(SolutionDir)\..\ext;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\core\include;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\simpleapi\include;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;STATICLIB;ZT_SALSA20_SSE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;WIN32;NOMINMAX;ZT_SOFTWARE_UPDATE_DEFAULT="apply";ZT_BUILD_PLATFORM=2;ZT_BUILD_ARCHITECTURE=1;%(PreprocessorDefinitions) MultiThreaded true @@ -556,7 +558,7 @@ true 4996 Guard - false + true stdcpp17 None false @@ -583,7 +585,7 @@ false true true - $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) + $(SolutionDir)\..\ext;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\core\include;$(SolutionDir)\..\ext\prometheus-cpp-lite-1.0\simpleapi\include;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="apply";ZT_SALSA20_SSE;ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;WIN32;NOMINMAX;ZT_BUILD_PLATFORM=2;ZT_BUILD_ARCHITECTURE=2;%(PreprocessorDefinitions) MultiThreaded NotSet @@ -595,7 +597,6 @@ Guard false Cdecl - false stdcpp17 None false @@ -604,6 +605,7 @@ stdc11 false false + true false @@ -622,7 +624,7 @@ true true $(SolutionDir)\..\ext;$(SolutionDir)\..\zeroidc\target;%(AdditionalIncludeDirectories) - ZT_EXPORT;FD_SETSIZE=1024;STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="apply";ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;WIN32;NOMINMAX;ZT_BUILD_PLATFORM=2;ZT_BUILD_ARCHITECTURE=2;%(PreprocessorDefinitions) + ZT_SSO_ENABLED=1;ZT_EXPORT;FD_SETSIZE=1024;STATICLIB;ZT_SOFTWARE_UPDATE_DEFAULT="apply";ZT_USE_MINIUPNPC;MINIUPNP_STATICLIB;WIN32;NOMINMAX;ZT_BUILD_PLATFORM=2;ZT_BUILD_ARCHITECTURE=2;%(PreprocessorDefinitions) MultiThreaded NotSet true diff --git a/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters b/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters index ecf664f82..de9c97fec 100644 --- a/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters +++ b/windows/ZeroTierOne/ZeroTierOne.vcxproj.filters @@ -291,6 +291,9 @@ Source Files\osdep + + Source Files\node + @@ -557,6 +560,9 @@ Header Files\osdep + + Header Files\node + diff --git a/zeroidc/Cargo.lock b/zeroidc/Cargo.lock index e6373783c..b01e68e2d 100644 --- a/zeroidc/Cargo.lock +++ b/zeroidc/Cargo.lock @@ -2,6 +2,27 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -37,6 +58,21 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "backtrace" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base64" version = "0.13.1" @@ -45,9 +81,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] name = "bitflags" @@ -56,19 +92,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] -name = "block-buffer" -version = "0.10.3" +name = "bitflags" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "bytes" @@ -90,16 +132,19 @@ dependencies = [ "quote", "serde", "serde_json", - "syn", + "syn 1.0.109", "tempfile", "toml", ] [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -109,12 +154,12 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", - "num-integer", "num-traits", "serde", "winapi", @@ -128,23 +173,13 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap", "unicode-width", "vec_map", ] -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "core-foundation" version = "0.9.3" @@ -157,15 +192,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -180,50 +215,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "cxx" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "darling" version = "0.13.4" @@ -245,7 +236,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn", + "syn 1.0.109", ] [[package]] @@ -256,14 +247,20 @@ checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core", "quote", - "syn", + "syn 1.0.109", ] [[package]] -name = "digest" -version = "0.10.6" +name = "deranged" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", @@ -272,9 +269,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "encoding_rs" @@ -287,13 +284,13 @@ dependencies = [ [[package]] name = "errno" -version = "0.2.8" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", - "winapi", + "windows-sys", ] [[package]] @@ -308,12 +305,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "fnv" @@ -338,51 +332,51 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] [[package]] name = "futures-channel" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-core", "futures-io", @@ -395,9 +389,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -405,9 +399,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "js-sys", @@ -417,10 +411,16 @@ dependencies = [ ] [[package]] -name = "h2" -version = "0.3.16" +name = "gimli" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" + +[[package]] +name = "h2" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" dependencies = [ "bytes", "fnv", @@ -461,12 +461,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hmac" @@ -507,15 +504,15 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.24" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -528,7 +525,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -550,26 +547,25 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -580,9 +576,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -590,38 +586,19 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" -dependencies = [ - "libc", - "windows-sys 0.45.0", -] - [[package]] name = "ipnet" -version = "2.7.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "itertools" @@ -634,15 +611,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -669,33 +646,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" - -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "linux-raw-sys" -version = "0.1.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "log" -version = "0.4.17" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "memchr" @@ -705,20 +670,28 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "mime" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] @@ -762,28 +735,28 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] [[package]] name = "oauth2" -version = "4.3.0" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaf26a72311c087f8c5ba617c96fac67a5c04f430e716ac8d8ab2de62e23368" +checksum = "09a6e2a2b13a56ebeabba9142f911745be6456163fd6c3d361274ebcd891a80c" dependencies = [ "base64 0.13.1", "chrono", @@ -800,16 +773,25 @@ dependencies = [ ] [[package]] -name = "once_cell" -version = "1.17.1" +name = "object" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "openidconnect" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a0f47b0f1499d08c4a8480c963d49c5ec77f4249c2b6869780979415f45809" +checksum = "98dd5b7049bac4fdd2233b8c9767d42c05da8006fdb79cc903258556d2b18009" dependencies = [ "base64 0.13.1", "chrono", @@ -834,11 +816,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.45" +version = "0.10.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" +checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "foreign-types", "libc", @@ -849,13 +831,13 @@ dependencies = [ [[package]] name = "openssl-macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.29", ] [[package]] @@ -866,11 +848,10 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.80" +version = "0.9.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" +checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" dependencies = [ - "autocfg", "cc", "libc", "pkg-config", @@ -888,15 +869,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -906,9 +887,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "ppv-lite86" @@ -918,18 +899,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.23" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -966,20 +947,20 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "reqwest" -version = "0.11.14" +version = "0.11.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", "bytes", "encoding_rs", "futures-core", @@ -1026,47 +1007,46 @@ dependencies = [ ] [[package]] -name = "rustix" -version = "0.36.8" +name = "rustc-demangle" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.38.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" dependencies = [ - "bitflags", + "bitflags 2.4.0", "errno", - "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.42.0", + "windows-sys", ] -[[package]] -name = "scratch" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" - [[package]] name = "security-framework" -version = "2.8.2" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -1075,9 +1055,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -1085,9 +1065,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.152" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] @@ -1104,20 +1084,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.29", ] [[package]] name = "serde_json" -version = "1.0.93" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ "itoa", "ryu", @@ -1126,10 +1106,11 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.9" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b04f22b563c91331a10074bda3dd5492e3cc39d56bd557e91c0af42b6c7341" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ + "itoa", "serde", ] @@ -1173,14 +1154,14 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if", "cpufeatures", @@ -1198,14 +1179,24 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys", +] + [[package]] name = "spin" version = "0.5.2" @@ -1226,9 +1217,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" @@ -1242,25 +1233,27 @@ dependencies = [ ] [[package]] -name = "tempfile" -version = "3.4.0" +name = "syn" +version = "2.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ "cfg-if", "fastrand", "redox_syscall", "rustix", - "windows-sys 0.42.0", -] - -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", + "windows-sys", ] [[package]] @@ -1274,30 +1267,31 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.29", ] [[package]] name = "time" -version = "0.3.20" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -1306,15 +1300,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -1336,19 +1330,18 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.26.0" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", "pin-project-lite", - "socket2", - "windows-sys 0.45.0", + "socket2 0.5.3", + "windows-sys", ] [[package]] @@ -1363,9 +1356,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" dependencies = [ "bytes", "futures-core", @@ -1403,9 +1396,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", ] @@ -1424,15 +1417,15 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "unicode-bidi" -version = "0.3.10" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -1463,9 +1456,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", "idna", @@ -1493,11 +1486,10 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -1509,9 +1501,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1519,24 +1511,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn", + "syn 2.0.29", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -1546,9 +1538,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1556,28 +1548,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.29", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -1599,15 +1591,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -1615,34 +1598,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows-targets", ] [[package]] name = "windows-sys" -version = "0.45.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ "windows-targets", ] [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -1655,45 +1632,45 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winreg" @@ -1708,7 +1685,7 @@ dependencies = [ name = "zeroidc" version = "0.1.0" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", "bytes", "cbindgen", "jwt", diff --git a/zeroidc/Cargo.toml b/zeroidc/Cargo.toml index 0e3c812af..33af91b0c 100644 --- a/zeroidc/Cargo.toml +++ b/zeroidc/Cargo.toml @@ -15,7 +15,7 @@ url = "2.3" reqwest = "0.11" jwt = {version = "0.16", git = "https://github.com/glimberg/rust-jwt"} serde = "1.0" -time = { version = "0.3", features = ["formatting"] } +time = { version = "~0.3", features = ["formatting"] } bytes = "1.3" thiserror = "1" tokio = { version = ">=1.24" } diff --git a/zeroidc/src/ext.rs b/zeroidc/src/ext.rs index d87724a78..fd1e2e96b 100644 --- a/zeroidc/src/ext.rs +++ b/zeroidc/src/ext.rs @@ -89,7 +89,7 @@ pub extern "C" fn zeroidc_delete(ptr: *mut ZeroIDC) { idc.stop(); unsafe { - Box::from_raw(ptr); + let _ = Box::from_raw(ptr); } } diff --git a/zeroidc/src/lib.rs b/zeroidc/src/lib.rs index 21319481f..0c63cb946 100644 --- a/zeroidc/src/lib.rs +++ b/zeroidc/src/lib.rs @@ -35,6 +35,7 @@ use std::str::from_utf8; use std::sync::{Arc, Mutex}; use std::thread::{sleep, spawn, JoinHandle}; use std::time::{Duration, SystemTime, UNIX_EPOCH}; +#[cfg(debug_assertions)] use time::{format_description, OffsetDateTime}; use url::Url; @@ -59,7 +60,6 @@ pub struct ZeroIDC { ))] struct Inner { running: bool, - issuer: String, auth_endpoint: String, provider: String, oidc_thread: Option>, @@ -123,7 +123,6 @@ impl ZeroIDC { let idc = ZeroIDC { inner: Arc::new(Mutex::new(Inner { running: false, - issuer: issuer.to_string(), provider: provider.to_string(), auth_endpoint: auth_ep.to_string(), oidc_thread: None, diff --git a/zerotier-one.spec b/zerotier-one.spec index 8ad75cfac..dc9547003 100644 --- a/zerotier-one.spec +++ b/zerotier-one.spec @@ -1,9 +1,9 @@ Name: zerotier-one -Version: 1.10.6 +Version: 1.12.0 Release: 1%{?dist} Summary: ZeroTier network virtualization service -License: ZeroTier BSL 1.1 +License: ZeroTier BUSL 1.1 URL: https://www.zerotier.com # Fedora @@ -26,6 +26,12 @@ Requires: systemd openssl1.1 Requires(pre): /usr/sbin/useradd, /usr/bin/getent %endif +%if "%{?dist}" == ".fc38" +BuildRequires: systemd clang openssl1.1 openssl1.1-devel +Requires: systemd openssl1.1 +Requires(pre): /usr/sbin/useradd, /usr/bin/getent +%endif + # RHEL %if "%{?dist}" == ".el6" @@ -84,7 +90,7 @@ ln -s %{getenv:PWD} %{name}-%{version} mkdir -p SOURCES tar --exclude=%{name}-%{version}/.git --exclude=%{name}-%{version}/%{name}-%{version} -czf SOURCES/%{name}-%{version}.tar.gz %{name}-%{version}/* rm -f %{name}-%{version} -cp -a %{getenv:PWD}/* . +# cp -a %{getenv:PWD}/* . %endif %build @@ -137,19 +143,22 @@ chmod 0755 $RPM_BUILD_ROOT/etc/init.d/zerotier-one %endif %changelog +* Thu Aug 17 2023 Adam Ierymenko - 1.12.0 +- see https://github.com/zerotier/ZeroTierOne for release notes + * Tue Mar 21 2023 Adam Ierymenko - 1.10.6 - see https://github.com/zerotier/ZeroTierOne for release notes -* Sat Mar 10 2023 Adam Ierymenko - 1.10.5 +* Fri Mar 10 2023 Adam Ierymenko - 1.10.5 - see https://github.com/zerotier/ZeroTierOne for release notes -* Sat Mar 06 2023 Adam Ierymenko - 1.10.4 +* Mon Mar 06 2023 Adam Ierymenko - 1.10.4 - see https://github.com/zerotier/ZeroTierOne for release notes * Sat Jan 21 2023 Adam Ierymenko - 1.10.3 - see https://github.com/zerotier/ZeroTierOne for release notes -* Mon Oct 13 2022 Adam Ierymenko - 1.10.2 +* Thu Oct 13 2022 Adam Ierymenko - 1.10.2 - see https://github.com/zerotier/ZeroTierOne for release notes * Mon Jun 27 2022 Adam Ierymenko - 1.10.1 From 464bca5d20068bcf37acf496ac941efc908c248b Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 25 Aug 2023 19:03:03 -0400 Subject: [PATCH 3/3] 1.12.1 (#2112) * Fix primary port binding issue in 1.12 (#2107) * Add test for primary port bindings to validator - See #2105 * Add delay to binding test * Remove TCP binding logic from Binder to fix #2105 * add second control plane socket for ipv6 * fix controller network post endpoint * exit if we can't bind at least one of IPV4 or IPV6 for control plane port --------- Co-authored-by: Grant Limberg * Version bump, Linux version stuff, Debian dependencies from 1.12.0 rebuild, release notes. * macOS version bump in installer * Windows version bump. --------- Co-authored-by: Joseph Henry Co-authored-by: Grant Limberg --- .github/workflows/validate-linux.sh | 42 ++++- RELEASE-NOTES.md | 6 + controller/EmbeddedNetworkController.cpp | 74 ++++++-- controller/EmbeddedNetworkController.hpp | 1 + debian/changelog | 6 + debian/control | 2 +- debian/control.wheezy | 2 +- debian/rules | 0 debian/rules.wheezy | 0 ext/installfiles/mac/ZeroTier One.pkgproj | 2 +- ext/installfiles/windows/ZeroTier One.aip | 8 +- osdep/Binder.hpp | 20 +-- service/OneService.cpp | 203 ++++++++++++++++------ version.h | 2 +- zerotier-one.spec | 5 +- 15 files changed, 273 insertions(+), 100 deletions(-) mode change 100755 => 100644 debian/rules mode change 100755 => 100644 debian/rules.wheezy diff --git a/.github/workflows/validate-linux.sh b/.github/workflows/validate-linux.sh index 61670d670..a661f6f6c 100755 --- a/.github/workflows/validate-linux.sh +++ b/.github/workflows/validate-linux.sh @@ -20,6 +20,9 @@ mkdir $TEST_DIR_PREFIX # How long we will wait for ZT to come online before considering it a failure MAX_WAIT_SECS=30 +ZT_PORT_NODE_1=9996 +ZT_PORT_NODE_2=9997 + ################################################################################ # Multi-node connectivity and performance test # ################################################################################ @@ -99,14 +102,19 @@ test() { --xml=yes \ --xml-file=$FILENAME_MEMORY_LOG \ --leak-check=full \ - ./zerotier-one node1 -p9996 -U >>node_1.log 2>&1 & + ./zerotier-one node1 -p$ZT_PORT_NODE_1 -U >>node_1.log 2>&1 & # Second instance, not run in memory profiler # Don't set up internet access until _after_ zerotier is running # This has been a source of stuckness in the past. $NS2 ip addr del 192.168.1.2/24 dev veth3 - $NS2 sudo ./zerotier-one node2 -U -p9997 >>node_2.log 2>&1 & - sleep 1; + $NS2 sudo ./zerotier-one node2 -U -p$ZT_PORT_NODE_2 >>node_2.log 2>&1 & + + sleep 10; # New HTTP control plane is a bit sluggish, so we delay here + + check_bind_to_correct_ports $ZT_PORT_NODE_1 + check_bind_to_correct_ports $ZT_PORT_NODE_2 + $NS2 ip addr add 192.168.1.2/24 dev veth3 $NS2 ip route add default via 192.168.1.1 @@ -458,4 +466,32 @@ check_exit_on_invalid_identity() { fi } +################################################################################ +# Check that we're binding to the primary port for TCP/TCP6/UDP # +################################################################################ + +check_bind_to_correct_ports() { + PORT_NUMBER=$1 + echo "Checking bound ports:" + sudo netstat -anp | grep "$PORT_NUMBER" | grep "zerotier" + if [[ $(sudo netstat -anp | grep "$PORT_NUMBER" | grep "zerotier" | grep "tcp") ]]; + then + : + else + exit_test_and_generate_report $TEST_FAIL "ZeroTier did not bind to tcp/$1" + fi + if [[ $(sudo netstat -anp | grep "$PORT_NUMBER" | grep "zerotier" | grep "tcp6") ]]; + then + : + else + exit_test_and_generate_report $TEST_FAIL "ZeroTier did not bind to tcp6/$1" + fi + if [[ $(sudo netstat -anp | grep "$PORT_NUMBER" | grep "zerotier" | grep "udp") ]]; + then + : + else + exit_test_and_generate_report $TEST_FAIL "ZeroTier did not bind to udp/$1" + fi +} + test "$@" diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 1585aeead..86f3f1e8c 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,6 +1,12 @@ ZeroTier Release Notes ====== +# 2023-08-25 -- Version 1.12.1 + + * Minor release to fix a port binding issue in Linux. + * Update Debian dependencies. + * No changes for other platforms. + # 2023-08-23 -- Version 1.12.0 * Experimental Windows ARM64 support diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp index b60c375c4..ac1947ce4 100644 --- a/controller/EmbeddedNetworkController.cpp +++ b/controller/EmbeddedNetworkController.cpp @@ -863,9 +863,17 @@ std::string EmbeddedNetworkController::networkUpdateFromPostData(uint64_t networ void EmbeddedNetworkController::configureHTTPControlPlane( httplib::Server &s, + httplib::Server &sv6, const std::function setContent) { - s.Get("/controller/network", [&, setContent](const httplib::Request &req, httplib::Response &res) { + // Control plane Endpoints + std::string networkListPath = "/controller/network"; + std::string networkPath = "/controller/network/([0-9a-fA-F]{16})"; + std::string oldAndBustedNetworkCreatePath = "/controller/network/([0-9a-fA-F]{10})______"; + std::string memberListPath = "/controller/network/([0-9a-fA-F]{16})/member"; + std::string memberPath = "/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})"; + + auto networkListGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { std::set networkIds; _db.networks(networkIds); char tmp[64]; @@ -877,9 +885,11 @@ void EmbeddedNetworkController::configureHTTPControlPlane( } setContent(req, res, out.dump()); - }); + }; + s.Get(networkListPath, networkListGet); + sv6.Get(networkListPath, networkListGet); - s.Get("/controller/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto networkID = req.matches[1]; uint64_t nwid = Utils::hexStrToU64(networkID.str().c_str()); json network; @@ -889,7 +899,9 @@ void EmbeddedNetworkController::configureHTTPControlPlane( } setContent(req, res, network.dump()); - }); + }; + s.Get(networkPath, networkGet); + sv6.Get(networkPath, networkGet); auto createNewNetwork = [&, setContent](const httplib::Request &req, httplib::Response &res) { fprintf(stderr, "creating new network (new style)\n"); @@ -912,8 +924,10 @@ void EmbeddedNetworkController::configureHTTPControlPlane( setContent(req, res, networkUpdateFromPostData(nwid, req.body)); }; - s.Put("/controller/network", createNewNetwork); - s.Post("/controller/network", createNewNetwork); + s.Put(networkListPath, createNewNetwork); + s.Post(networkListPath, createNewNetwork); + sv6.Put(networkListPath, createNewNetwork); + sv6.Post(networkListPath, createNewNetwork); auto createNewNetworkOldAndBusted = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto inID = req.matches[1].str(); @@ -941,10 +955,24 @@ void EmbeddedNetworkController::configureHTTPControlPlane( } setContent(req, res, networkUpdateFromPostData(nwid, req.body)); }; - s.Put("/controller/network/([0-9a-fA-F]{10})______", createNewNetworkOldAndBusted); - s.Post("/controller/network/([0-9a-fA-F]{10})______", createNewNetworkOldAndBusted); + s.Put(oldAndBustedNetworkCreatePath, createNewNetworkOldAndBusted); + s.Post(oldAndBustedNetworkCreatePath, createNewNetworkOldAndBusted); + sv6.Put(oldAndBustedNetworkCreatePath, createNewNetworkOldAndBusted); + sv6.Post(oldAndBustedNetworkCreatePath, createNewNetworkOldAndBusted); - s.Delete("/controller/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkID = req.matches[1].str(); + uint64_t nwid = Utils::hexStrToU64(networkID.c_str()); + + res.status = 200; + setContent(req, res, networkUpdateFromPostData(nwid, req.body)); + }; + s.Put(networkPath, networkPost); + s.Post(networkPath, networkPost); + sv6.Put(networkPath, networkPost); + sv6.Post(networkPath, networkPost); + + auto networkDelete = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto networkID = req.matches[1].str(); uint64_t nwid = Utils::hexStrToU64(networkID.c_str()); @@ -956,9 +984,11 @@ void EmbeddedNetworkController::configureHTTPControlPlane( _db.eraseNetwork(nwid); setContent(req, res, network.dump()); - }); + }; + s.Delete(networkPath, networkDelete); + sv6.Delete(networkPath, networkDelete); - s.Get("/controller/network/([0-9a-fA-F]{16})/member", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto memberListGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto networkID = req.matches[1]; uint64_t nwid = Utils::hexStrToU64(networkID.str().c_str()); json network; @@ -982,9 +1012,11 @@ void EmbeddedNetworkController::configureHTTPControlPlane( } setContent(req, res, out.dump()); - }); + }; + s.Get(memberListPath, memberListGet); + sv6.Get(memberListPath, memberListGet); - s.Get("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto memberGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto networkID = req.matches[1]; auto memberID = req.matches[2]; uint64_t nwid = Utils::hexStrToU64(networkID.str().c_str()); @@ -997,7 +1029,9 @@ void EmbeddedNetworkController::configureHTTPControlPlane( } setContent(req, res, member.dump()); - }); + }; + s.Get(memberPath, memberGet); + sv6.Get(memberPath, memberGet); auto memberPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto networkID = req.matches[1].str(); @@ -1102,10 +1136,12 @@ void EmbeddedNetworkController::configureHTTPControlPlane( setContent(req, res, member.dump()); }; - s.Put("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", memberPost); - s.Post("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", memberPost); + s.Put(memberPath, memberPost); + s.Post(memberPath, memberPost); + sv6.Put(memberPath, memberPost); + sv6.Post(memberPath, memberPost); - s.Delete("/controller/network/([0-9a-fA-F]{16})/member/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto memberDelete = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto networkID = req.matches[1].str(); auto memberID = req.matches[2].str(); @@ -1126,7 +1162,9 @@ void EmbeddedNetworkController::configureHTTPControlPlane( _db.eraseMember(nwid, address); setContent(req, res, member.dump()); - }); + }; + s.Delete(memberPath, memberDelete); + sv6.Delete(memberPath, memberDelete); } void EmbeddedNetworkController::handleRemoteTrace(const ZT_RemoteTrace &rt) diff --git a/controller/EmbeddedNetworkController.hpp b/controller/EmbeddedNetworkController.hpp index ef369be39..4ea00b65a 100644 --- a/controller/EmbeddedNetworkController.hpp +++ b/controller/EmbeddedNetworkController.hpp @@ -70,6 +70,7 @@ public: void configureHTTPControlPlane( httplib::Server &s, + httplib::Server &sV6, const std::function); void handleRemoteTrace(const ZT_RemoteTrace &rt); diff --git a/debian/changelog b/debian/changelog index e03a94a20..0ba464399 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +zerotier-one (1.12.1) unstable; urgency=medium + + * See RELEASE-NOTES.md for release notes. + + -- Adam Ierymenko Fri, 25 Aug 2023 01:00:00 -0700 + zerotier-one (1.12.0) unstable; urgency=medium * See RELEASE-NOTES.md for release notes. diff --git a/debian/control b/debian/control index 195acefd7..b0c178ab1 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Homepage: https://www.zerotier.com/ Package: zerotier-one Architecture: any -Depends: iproute2, adduser, libstdc++6 (>= 5), openssl +Depends: adduser, libstdc++6 (>= 5), openssl Homepage: https://www.zerotier.com/ Description: ZeroTier network virtualization service ZeroTier One lets you join ZeroTier virtual networks and diff --git a/debian/control.wheezy b/debian/control.wheezy index a8e240847..fbbc40d93 100644 --- a/debian/control.wheezy +++ b/debian/control.wheezy @@ -10,7 +10,7 @@ Homepage: https://www.zerotier.com/ Package: zerotier-one Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, iproute, libstdc++6 +Depends: ${shlibs:Depends}, ${misc:Depends}, libstdc++6 Homepage: https://www.zerotier.com/ Description: ZeroTier network virtualization service ZeroTier One lets you join ZeroTier virtual networks and diff --git a/debian/rules b/debian/rules old mode 100755 new mode 100644 diff --git a/debian/rules.wheezy b/debian/rules.wheezy old mode 100755 new mode 100644 diff --git a/ext/installfiles/mac/ZeroTier One.pkgproj b/ext/installfiles/mac/ZeroTier One.pkgproj index efae3e02b..67a4fd452 100755 --- a/ext/installfiles/mac/ZeroTier One.pkgproj +++ b/ext/installfiles/mac/ZeroTier One.pkgproj @@ -701,7 +701,7 @@ USE_HFS+_COMPRESSION VERSION - 1.12.0 + 1.12.1 TYPE 0 diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index 08ac17ecf..cd016670a 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -24,10 +24,10 @@ - + - + @@ -62,7 +62,7 @@ - + @@ -498,7 +498,7 @@ - + diff --git a/osdep/Binder.hpp b/osdep/Binder.hpp index fe08f5195..614c6e725 100644 --- a/osdep/Binder.hpp +++ b/osdep/Binder.hpp @@ -87,11 +87,10 @@ namespace ZeroTier { class Binder { private: struct _Binding { - _Binding() : udpSock((PhySocket*)0), tcpListenSock((PhySocket*)0) + _Binding() : udpSock((PhySocket*)0) { } PhySocket* udpSock; - PhySocket* tcpListenSock; InetAddress address; char ifname[256] = {}; }; @@ -111,7 +110,6 @@ class Binder { Mutex::Lock _l(_lock); for (unsigned int b = 0, c = _bindingCount; b < c; ++b) { phy.close(_bindings[b].udpSock, false); - phy.close(_bindings[b].tcpListenSock, false); } _bindingCount = 0; } @@ -133,7 +131,7 @@ class Binder { template void refresh(Phy& phy, unsigned int* ports, unsigned int portCount, const std::vector explicitBind, INTERFACE_CHECKER& ifChecker) { std::map localIfAddrs; - PhySocket *udps, *tcps; + PhySocket *udps; Mutex::Lock _l(_lock); bool interfacesEnumerated = true; @@ -419,11 +417,8 @@ class Binder { } else { PhySocket* const udps = _bindings[b].udpSock; - PhySocket* const tcps = _bindings[b].tcpListenSock; _bindings[b].udpSock = (PhySocket*)0; - _bindings[b].tcpListenSock = (PhySocket*)0; phy.close(udps, false); - phy.close(tcps, false); } } @@ -437,24 +432,20 @@ class Binder { } if (bi == _bindingCount) { udps = phy.udpBind(reinterpret_cast(&(ii->first)), (void*)0, ZT_UDP_DESIRED_BUF_SIZE); - tcps = phy.tcpListen(reinterpret_cast(&(ii->first)), (void*)0); - if ((udps) && (tcps)) { + if (udps) { #ifdef __LINUX__ // Bind Linux sockets to their device so routes that we manage do not override physical routes (wish all platforms had this!) if (ii->second.length() > 0) { char tmp[256]; Utils::scopy(tmp, sizeof(tmp), ii->second.c_str()); int fd = (int)Phy::getDescriptor(udps); - if (fd >= 0) - setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, tmp, strlen(tmp)); - fd = (int)Phy::getDescriptor(tcps); - if (fd >= 0) + if (fd >= 0) { setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, tmp, strlen(tmp)); + } } #endif // __LINUX__ if (_bindingCount < ZT_BINDER_MAX_BINDINGS) { _bindings[_bindingCount].udpSock = udps; - _bindings[_bindingCount].tcpListenSock = tcps; _bindings[_bindingCount].address = ii->first; memcpy(_bindings[_bindingCount].ifname, (char*)ii->second.c_str(), (int)ii->second.length()); ++_bindingCount; @@ -462,7 +453,6 @@ class Binder { } else { phy.close(udps, false); - phy.close(tcps, false); } } } diff --git a/service/OneService.cpp b/service/OneService.cpp index b5e5c1924..dfa5df056 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -786,8 +786,11 @@ public: bool _updateAutoApply; httplib::Server _controlPlane; + httplib::Server _controlPlaneV6; std::thread _serverThread; + std::thread _serverThreadV6; bool _serverThreadRunning; + bool _serverThreadRunningV6; bool _allowTcpFallbackRelay; bool _forceTcpRelay; @@ -888,8 +891,11 @@ public: ,_updater((SoftwareUpdater *)0) ,_updateAutoApply(false) ,_controlPlane() + ,_controlPlaneV6() ,_serverThread() + ,_serverThreadV6() ,_serverThreadRunning(false) + ,_serverThreadRunningV6(false) ,_forceTcpRelay(false) ,_primaryPort(port) ,_udpPortPickerCounter(0) @@ -944,6 +950,10 @@ public: if (_serverThreadRunning) { _serverThread.join(); } + _controlPlaneV6.stop(); + if (_serverThreadRunningV6) { + _serverThreadV6.join(); + } #ifdef ZT_USE_MINIUPNPC delete _portMapper; @@ -1527,6 +1537,22 @@ public: // Internal HTTP Control Plane void startHTTPControlPlane() { + // control plane endpoints + std::string bondShowPath = "/bond/show/([0-9a-fA-F]{10})"; + std::string bondRotatePath = "/bond/rotate/([0-9a-fA-F]{10})"; + std::string setBondMtuPath = "/bond/setmtu/([0-9]{3,5})/([a-zA-Z0-9_]{1,16})/([0-9a-fA-F\\.\\:]{1,39})"; + std::string configPath = "/config"; + std::string configPostPath = "/config/settings"; + std::string healthPath = "/health"; + std::string moonListPath = "/moon"; + std::string moonPath = "/moon/([0-9a-fA-F]{10})"; + std::string networkListPath = "/network"; + std::string networkPath = "/network/([0-9a-fA-F]{16})"; + std::string peerListPath = "/peer"; + std::string peerPath = "/peer/([0-9a-fA-F]{10})"; + std::string statusPath = "/status"; + std::string metricsPath = "/metrics"; + std::vector noAuthEndpoints { "/sso", "/health" }; auto setContent = [=] (const httplib::Request &req, httplib::Response &res, std::string content) { @@ -1625,8 +1651,7 @@ public: }; - - _controlPlane.Get("/bond/show/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto bondShow = [&, setContent](const httplib::Request &req, httplib::Response &res) { if (!_node->bondController()->inUse()) { setContent(req, res, ""); res.status = 400; @@ -1652,7 +1677,9 @@ public: } } _node->freeQueryResult((void *)pl); - }); + }; + _controlPlane.Get(bondShowPath, bondShow); + _controlPlaneV6.Get(bondShowPath, bondShow); auto bondRotate = [&, setContent](const httplib::Request &req, httplib::Response &res) { if (!_node->bondController()->inUse()) { @@ -1675,8 +1702,10 @@ public: } setContent(req, res, "{}"); }; - _controlPlane.Post("/bond/rotate/([0-9a-fA-F]{10})", bondRotate); - _controlPlane.Put("/bond/rotate/([0-9a-fA-F]{10})", bondRotate); + _controlPlane.Post(bondRotatePath, bondRotate); + _controlPlane.Put(bondRotatePath, bondRotate); + _controlPlaneV6.Post(bondRotatePath, bondRotate); + _controlPlaneV6.Put(bondRotatePath, bondRotate); auto setMtu = [&, setContent](const httplib::Request &req, httplib::Response &res) { if (!_node->bondController()->inUse()) { @@ -1688,10 +1717,12 @@ public: res.status = _node->bondController()->setAllMtuByTuple(mtu, req.matches[2].str().c_str(), req.matches[3].str().c_str()) ? 200 : 400; setContent(req, res, "{}"); }; - _controlPlane.Post("/bond/setmtu/([0-9]{3,5})/([a-zA-Z0-9_]{1,16})/([0-9a-fA-F\\.\\:]{1,39})", setMtu); - _controlPlane.Put("/bond/setmtu/([0-9]{3,5})/([a-zA-Z0-9_]{1,16})/([0-9a-fA-F\\.\\:]{1,39})", setMtu); + _controlPlane.Post(setBondMtuPath, setMtu); + _controlPlane.Put(setBondMtuPath, setMtu); + _controlPlaneV6.Post(setBondMtuPath, setMtu); + _controlPlaneV6.Put(setBondMtuPath, setMtu); - _controlPlane.Get("/config", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto getConfig = [&, setContent](const httplib::Request &req, httplib::Response &res) { std::string config; { Mutex::Lock lc(_localConfig_m); @@ -1701,7 +1732,9 @@ public: config = "{}"; } setContent(req, res, config); - }); + }; + _controlPlane.Get(configPath, getConfig); + _controlPlaneV6.Get(configPath, getConfig); auto configPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { json j(OSUtils::jsonParse(req.body)); @@ -1718,10 +1751,12 @@ public: } setContent(req, res, "{}"); }; - _controlPlane.Post("/config/settings", configPost); - _controlPlane.Put("/config/settings", configPost); + _controlPlane.Post(configPostPath, configPost); + _controlPlane.Put(configPostPath, configPost); + _controlPlaneV6.Post(configPostPath, configPost); + _controlPlaneV6.Put(configPostPath, configPost); - _controlPlane.Get("/health", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto healthGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { json out = json::object(); char tmp[256]; @@ -1739,9 +1774,11 @@ public: out["clock"] = OSUtils::now(); setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(healthPath, healthGet); + _controlPlaneV6.Get(healthPath, healthGet); - _controlPlane.Get("/moon", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto moonListGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { std::vector moons(_node->moons()); auto out = json::array(); @@ -1751,9 +1788,11 @@ public: out.push_back(mj); } setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(moonListPath, moonListGet); + _controlPlaneV6.Get(moonListPath, moonListGet); - _controlPlane.Get("/moon/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res){ + auto moonGet = [&, setContent](const httplib::Request &req, httplib::Response &res){ std::vector moons(_node->moons()); auto input = req.matches[1]; auto out = json::object(); @@ -1765,7 +1804,9 @@ public: } } setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(moonPath, moonGet); + _controlPlaneV6.Get(moonPath, moonGet); auto moonPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto input = req.matches[1]; @@ -1804,19 +1845,22 @@ public: } setContent(req, res, out.dump()); }; - _controlPlane.Post("/moon/([0-9a-fA-F]{10})", moonPost); - _controlPlane.Put("/moon/([0-9a-fA-F]{10})", moonPost); + _controlPlane.Post(moonPath, moonPost); + _controlPlane.Put(moonPath, moonPost); + _controlPlaneV6.Post(moonPath, moonPost); + _controlPlaneV6.Put(moonPath, moonPost); - _controlPlane.Delete("/moon/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto moonDelete = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto input = req.matches[1]; uint64_t id = Utils::hexStrToU64(input.str().c_str()); auto out = json::object(); _node->deorbit((void*)0,id); out["result"] = true; setContent(req, res, out.dump()); - }); + }; + _controlPlane.Delete(moonPath, moonDelete); - _controlPlane.Get("/network", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkListGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { Mutex::Lock _l(_nets_m); auto out = json::array(); @@ -1827,9 +1871,11 @@ public: out.push_back(nj); } setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(networkListPath, networkListGet); + _controlPlaneV6.Get(networkListPath, networkListGet); - _controlPlane.Get("/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { Mutex::Lock _l(_nets_m); auto input = req.matches[1]; @@ -1843,7 +1889,9 @@ public: } setContent(req, res, ""); res.status = 404; - }); + }; + _controlPlane.Get(networkPath, networkGet); + _controlPlaneV6.Get(networkPath, networkGet); auto networkPost = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto input = req.matches[1]; @@ -1897,10 +1945,12 @@ public: setContent(req, res, out.dump()); #endif }; - _controlPlane.Post("/network/([0-9a-fA-F]{16})", networkPost); - _controlPlane.Put("/network/([0-9a-fA-F]){16}", networkPost); + _controlPlane.Post(networkPath, networkPost); + _controlPlane.Put(networkPath, networkPost); + _controlPlaneV6.Post(networkPath, networkPost); + _controlPlaneV6.Put(networkPath, networkPost); - _controlPlane.Delete("/network/([0-9a-fA-F]{16})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto networkDelete = [&, setContent](const httplib::Request &req, httplib::Response &res) { auto input = req.matches[1]; auto out = json::object(); ZT_VirtualNetworkList *nws = _node->networks(); @@ -1913,9 +1963,11 @@ public: } _node->freeQueryResult((void*)nws); setContent(req, res, out.dump()); - }); + }; + _controlPlane.Delete(networkPath, networkDelete); + _controlPlaneV6.Delete(networkPath, networkDelete); - _controlPlane.Get("/peer", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto peerListGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { ZT_PeerList *pl = _node->peers(); auto out = nlohmann::json::array(); @@ -1931,9 +1983,11 @@ public: } _node->freeQueryResult((void*)pl); setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(peerListPath, peerListGet); + _controlPlaneV6.Get(peerListPath, peerListGet); - _controlPlane.Get("/peer/([0-9a-fA-F]{10})", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto peerGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { ZT_PeerList *pl = _node->peers(); auto input = req.matches[1]; @@ -1951,9 +2005,11 @@ public: } _node->freeQueryResult((void*)pl); setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(peerPath, peerGet); + _controlPlaneV6.Get(peerPath, peerGet); - _controlPlane.Get("/status", [&, setContent](const httplib::Request &req, httplib::Response &res) { + auto statusGet = [&, setContent](const httplib::Request &req, httplib::Response &res) { ZT_NodeStatus status; _node->status(&status); @@ -2016,10 +2072,13 @@ public: out["planetWorldTimestamp"] = planet.timestamp(); setContent(req, res, out.dump()); - }); + }; + _controlPlane.Get(statusPath, statusGet); + _controlPlaneV6.Get(statusPath, statusGet); #if ZT_SSO_ENABLED - _controlPlane.Get("/sso", [this](const httplib::Request &req, httplib::Response &res) { + std::string ssoPath = "/sso"; + auto ssoGet = [this](const httplib::Request &req, httplib::Response &res) { std::string htmlTemplatePath = _homePath + ZT_PATH_SEPARATOR + "sso-auth.template.html"; std::string htmlTemplate; if (!OSUtils::readFile(htmlTemplatePath.c_str(), htmlTemplate)) { @@ -2085,10 +2144,11 @@ public: zeroidc::free_cstr(ret); } - }); + }; + _controlPlane.Get(ssoPath, ssoGet); + _controlPlaneV6.Get(ssoPath, ssoGet); #endif - - _controlPlane.Get("/metrics", [this](const httplib::Request &req, httplib::Response &res) { + auto metricsGet = [this](const httplib::Request &req, httplib::Response &res) { std::string statspath = _homePath + ZT_PATH_SEPARATOR + "metrics.prom"; std::string metrics; if (OSUtils::readFile(statspath.c_str(), metrics)) { @@ -2097,9 +2157,11 @@ public: res.set_content("{}", "application/json"); res.status = 500; } - }); + }; + _controlPlane.Get(metricsPath, metricsGet); + _controlPlaneV6.Get(metricsPath, metricsGet); - _controlPlane.set_exception_handler([&, setContent](const httplib::Request &req, httplib::Response &res, std::exception_ptr ep) { + auto exceptionHandler = [&, setContent](const httplib::Request &req, httplib::Response &res, std::exception_ptr ep) { char buf[1024]; auto fmt = "{\"error\": %d, \"description\": \"%s\"}"; try { @@ -2111,39 +2173,70 @@ public: } setContent(req, res, buf); res.status = 500; - }); + }; + _controlPlane.set_exception_handler(exceptionHandler); + _controlPlaneV6.set_exception_handler(exceptionHandler); if (_controller) { - _controller->configureHTTPControlPlane(_controlPlane, setContent); + _controller->configureHTTPControlPlane(_controlPlane, _controlPlaneV6, setContent); } _controlPlane.set_pre_routing_handler(authCheck); + _controlPlaneV6.set_pre_routing_handler(authCheck); #if ZT_DEBUG==1 _controlPlane.set_logger([](const httplib::Request &req, const httplib::Response &res) { fprintf(stderr, "%s", http_log(req, res).c_str()); }); + _controlPlaneV6.set_logger([](const httplib::Request &req, const httplib::Response &res) { + fprintf(stderr, "%s", http_log(req, res).c_str()); + }); #endif if (_primaryPort==0) { fprintf(stderr, "unable to determine local control port"); exit(-1); } - if(!_controlPlane.bind_to_port("0.0.0.0", _primaryPort)) { - fprintf(stderr, "Error binding control plane to port %d\n", _primaryPort); - exit(-1); + bool v4controlPlaneBound = false; + _controlPlane.set_address_family(AF_INET); + if(_controlPlane.bind_to_port("0.0.0.0", _primaryPort)) { + _serverThread = std::thread([&] { + _serverThreadRunning = true; + fprintf(stderr, "Starting Control Plane...\n"); + if(!_controlPlane.listen_after_bind()) { + fprintf(stderr, "Error on listen_after_bind()\n"); + } + fprintf(stderr, "Control Plane Stopped\n"); + _serverThreadRunning = false; + }); + v4controlPlaneBound = true; + } else { + fprintf(stderr, "Error binding control plane to 0.0.0.0:%d\n", _primaryPort); + v4controlPlaneBound = false; } - _serverThread = std::thread([&] { - _serverThreadRunning = true; - fprintf(stderr, "Starting Control Plane...\n"); - if(!_controlPlane.listen_after_bind()) { - fprintf(stderr, "Error on listen_after_bind()\n"); - } - fprintf(stderr, "Control Plane Stopped\n"); - _serverThreadRunning = false; - }); + bool v6controlPlaneBound = false; + _controlPlaneV6.set_address_family(AF_INET6); + if(_controlPlaneV6.bind_to_port("::", _primaryPort)) { + _serverThreadV6 = std::thread([&] { + _serverThreadRunningV6 = true; + fprintf(stderr, "Starting V6 Control Plane...\n"); + if(!_controlPlaneV6.listen_after_bind()) { + fprintf(stderr, "Error on V6 listen_after_bind()\n"); + } + fprintf(stderr, "V6 Control Plane Stopped\n"); + _serverThreadRunningV6 = false; + }); + v6controlPlaneBound = true; + } else { + fprintf(stderr, "Error binding control plane to [::]:%d\n", _primaryPort); + v6controlPlaneBound = false; + } + if (!v4controlPlaneBound && !v6controlPlaneBound) { + fprintf(stderr, "ERROR: Could not bind control plane. Exiting...\n"); + exit(-1); + } } // Must be called after _localConfig is read or modified diff --git a/version.h b/version.h index cd4d29061..8c3a6c879 100644 --- a/version.h +++ b/version.h @@ -27,7 +27,7 @@ /** * Revision */ -#define ZEROTIER_ONE_VERSION_REVISION 0 +#define ZEROTIER_ONE_VERSION_REVISION 1 /** * Build version diff --git a/zerotier-one.spec b/zerotier-one.spec index dc9547003..a6ae2faf7 100644 --- a/zerotier-one.spec +++ b/zerotier-one.spec @@ -1,5 +1,5 @@ Name: zerotier-one -Version: 1.12.0 +Version: 1.12.1 Release: 1%{?dist} Summary: ZeroTier network virtualization service @@ -143,6 +143,9 @@ chmod 0755 $RPM_BUILD_ROOT/etc/init.d/zerotier-one %endif %changelog +* Fri Aug 25 2023 Adam Ierymenko - 1.12.1 +- see https://github.com/zerotier/ZeroTierOne for release notes + * Thu Aug 17 2023 Adam Ierymenko - 1.12.0 - see https://github.com/zerotier/ZeroTierOne for release notes

    ivXajRV#mIx?DpNs@XUKp$C`vsWt^cm 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q1N_I+nt^WOM$u)2uU z-B63dGwHLwm;7p(5j9^Y?b*N8VdB5V>%XPFaXql~x5Li8%Xi!}SDD`U?eT*fA0Jrc z|DUwrnfig^|AzM0&wnjvX1OjnAyz}g?oMyRsqc;F`kmy?EZEayGoiz!Kx+3~o_pTK z@hJxJUJd%cj6btB{xbU1$Qzr_@~hk7+IfWo84o#5FZdX3znt~FYc&7i~ zKht);W6$!1=T6QKeqMbv_^Cohk>tV?W>{MS9+j$Y4jeZ*WN+I93RB?9A zp6GqQ`->n;uP$?|>U>FMnO(O;XIXhncvhd0$>gcxelpWhc4d?GePMfD2X3L4Tf5v$ zq76Ex2Ule@PY6wO(zX%u6p1h1$s+eLEtTD&zWKnCqXC~&kCe;q-SvIbTOXC%5*uC` zEmSM?F#M=6)%L*^l_jzL5qd9ACdHM_nm4iXa4*N=)fd_SeypFx>hHL|_C?5(dn&Vd zia3RKZf`%aXZ3+q*C&)SFMNJaq_@yxXSKt!mnXK1E_gQ4W821n&z~RJWJ_MDXE~7~ zk!8=ewO&f{n!iTx@mY*_PRo4_I2gF%ZiM5^=>ZGhS1PQUyhu+uaAI&^_r19``m^UX z%u-Lk6Ya(S!If(rhtsPKft7-f)}ENTV*A<^TQ9HJY@%_odL>hcZOEO~FB+|++qFL5 z3+r%iohxwCg!k1Gb}bDyC4~#W-4YtsDa}9TuzH)*+P*{2Cm*d%md`qIdd0oHkEXZl$6YRHQl)f$lkduA+hI~1T87be^O>cg{=V~dUaI&?lsi9Wo0c11(h zkK=py1S(C;5uN$f=G%YPE9Z7Ef2caC>c(G>H+#$d4|}V4Uf7%cXy38wi80L+y)??K zcy5*o{5kUZdBug7oR5Vzbx!wT$~3g#Zj3e;T3IUc?S}Fd+Y@V_AKm^W&Ow~{fm!N? z$J+03r>8}~g*I2*`?mhdE#_Tjek!*s9QiaC9ov%<&GX0Mz^dE@ z>2aHS|N1N|{I5JaPN-zor~5yyyfRTN4@40HboDNB~Ny)h{4m@t0+4Ep&Xuw*FDk?SwG=f6z}K2{ifi&*y?0&#p|#8OgF4mD<0w7~d31O?iHoxq`on zkEuRn;|hfr94dz$6DG{OaIbX11ee#d6!w3=@Ic|?m3Q|`ubEzq{&&v4O8d+FyIVzT zr!rjn=JDiXR36nn{d=}Sh6%$NI*Cq_7aj&9{w;Z(QK)wuGxS!Bb>+8s_- zKb~y8zPoYf-i=f5{V`f{jzLqvHb!EO5Kqv`hPY`C+9LA=o93-!f6l?YbxUKtOH)kM z0oO$ro*sUn8s|2nD{nq`SLfgSOjE%%)gn>_QC9q`cCzjFoES7Q@v_Uj4|9&I|5iNB z)?pIO=8~g)vQ7E;w~7BhhtKzO<_%iN^nRjcSEqHtfB))xyPd_l_4?h*tG~Mk{hR6V z*OiU;*BqzQ4O{=OPXBv-i{$_Fdn$kJ{}CY?P7Zwng0|PJ8TGi`2R_3;33}Re@FQzKkUeSWaryp!R|C+ z`72JfPa#Jyi=3BEw*MS3NsdYP*;e)z>a_$o_X&-B{%K zvV{S&6EDnoaK8NA9_yXK|4;9Y`N+di_gr-YL*emlGeX(+sdrkJ-rGCdEzIJNe$buY z{hQhvCoMWE%llGpTDi z%U73W-2&&iesP?VQh)dTtn0DpwDrRNJ$sh3dn&ocJFQn&u3XY|@X}jxCB|Pe_38&c zz7rHLzSZ&juF;>`aaX40D@2rc(|JObK7rUQz;p488 z2Vd;cdST7PwB_O1g)jEIDI6@=vE_aJ|DX5k|9zkT|L^nv-~a!KKhyU9!*wBd9cS-1 z5tTMmvVYG%J7eQ?+eE(<%`>*f(>A8~PFbqtt zPHJ9U=Bqh%%92L`T{*h<(%lw6{Ic))-^br8&%futF8_4r`rkXB?VA64*Z%wOOa0g6 zA5zP~g8tP~K^SU3b4CAoydcbSbxa&xV(gCH128^p1CNeR%6uw_nu=AmL^29F*sCaE7EV6babTy#L!ZKZ@BCc2yjnnL3(A~TDt{_i?ufJGE>QiW=xRBYRj10P)%oz*bk_ihFQJP*u&6Fj zDDl?xj*ghrnUdfdz&829Ci{K!WtsXy++mrv<-MyK}N5w}^Gh6w#&( zoo7l`y{S#JPcN9&DSP50-+^ZT$#+;Xf+yPSPzrGo2w)d}* zeKYxI^xe$aaj_>ieSQ7As?vG7b<*vwtktiN1v`ni{`OyY^72W}w>p1!RJ~t#eC=JM z*2Zj;Wig@k=eiSY@2zKmN?j-msbd^`VKEohMtFTgbnT z+&?E{YUTH3_bzikTpDqD53hcg?FIE)dh<5%Lg^51m{(6GdL9To$u%) z(>Kz>Cr+j+hOpjXPJ2}>zqWrj=dQTZoYjfJ)>nQfM}09fXW7(tP2x(ZXzR*5pKn~d zu=UWL#}-Vh>V7cF?UDJVv~ct$fin#&v|7EA3qJ_v%vzDNGGHNB?Hdm+!=@uk zHYJ~3p~JU9zL)*EaQzWstIo%V|61{V5MI{f%z1vRu#~ozBcos+!?OmBzMh8Fk{rsL z7hd4xX5rHZdVy}cl+ zMsB_Qvbewtyc42tG!|J;S{%0Re(m!MH$7HXWW9X7)%&6D^=&iwKAN4~dOPa+4I}ec z_ZSxbaAbe{w|CjK^V=Tg#Mb`i`NHiJd2rQ}ZO`W&elI=!L+>G*usKU5p61?3{8Djn zW7FO8U$PeAwX>R*XwMT|o3UEg>EOm!k>4k;{v^ET%KRD2tHWh)%${xWqk8eXbHc%! z-_8AgqMSLhzf`nXCr9hV(Si9p(iRkxgON- z3TVmHm@_ZkWY?ebzif|QJKg0W8}U+L>$lt|y$RENgE*~h%PQVkEO7q#z~JA+THCK` zYhNv~V{+pZ-d*-M?0NQT-m_W# zpU3;!|Mq^R`>R?kpDy#By(Ou7l6&zzapZ)<%&s=vSfLrLE2H7~ZP-#*(heWicJr^%Z^X?3};cfct~U8u$I$LY(R!M0yr(e3{JB(j;YKBDu)8$!5aT8>Sp$ zq8B$k$_;1|VJVk5`j=}*b3pCF)Yi{GnAa6#mOjzHayT+3)ZcTTz2@HwKkNR=q#fPf zYuI>e?};gvGyRSCJ%|ZY4oRGv_1Y^{`>I}Sh1zXz$xpEtuLS>zah}Mba7#@Z6S}&iL7n-ftftYD z$^zwC?wXOSzC65hqIL7{{6BH?m(R4X-1F{XSfB4N_5R<^NA!CBHXpBFrd`(KeVuKB zyP81HienZ^3@LYR2n2K$&(M)k?GrwkaxvV|-Mr8Du%YBdPZpyMGLc$!COhPt<@}R3 zYF@OESDV~i+{n?rZ;qd=Gb`mn>G0bZwaDDRxcl!atQi_uq92 z8c2ACe7Aqs*?sx`soC7!pT&QlJ%9fc*UUq@KQ6C-uJUKc-BZa&-UbE!v28O*`o^_h z`k|KGG4XXahIZ-KJZSi?7z20J#`D$(S@vW<* zHXBv#y6?^}b3ZkA+q+Ea{t8lZPQkN z4`08=ReHMRo;dydfVn*zze`P7sc=?yU*_)*pI658PxIZqyyoBHxl2C1IJ$L8y5#%) z@pl9dc)i#g8}VKCx8>zmLD!avn)>ctD#!nR&*8L|Y55+TZp^9hnY<(Rz0pO_?2S$n zYcuaYSUgi+ODf(xMVnUl*@IR6GZ)s}p2DA#)ZbYi!k?J?FT zrJ99_$zM*-Y*E~``?lTvlf2~Y_7-_Oe4UN@?^wZIOx4M| z^BaP#_PHKEz5C^|prkFvi+}r^Wk~HjpZ$iQE`q{L||Ks0lb5Eoi z#WlTeGt@e=p6_O#Zs_j%`fs#v2^Vs2kv+3w>#H_*OjQOBXy z4VRe@`Aw3rmftpY&ict^H~6nR`xbxt#a;F<`GyjUtv1s{4=GmLMWzaZokvs(9rix0o@1r-HC#`p{iJ!gHcCDklI5XS)?DhHO z26Nm$^#$JkV|CUr_tr&k_mr)#mY%;c)&HWo)P*G7Ii<3@PckGMTRd4L{#;DE+{&cF z+HLkzIfu_$jyEj7eYaDeWGs8jhwr=2wcS%Mt$Aa*qU7<49=9#>st^9Tx17BC>5>1% zs;|GFh?*|$U*2|cf93MHdvBaI`11A~{FuqxF)!@t_P$Et*f$32lcH?aZod5K@;aS$ zjVHHrTe?4d!mfH*ws_;dyT=$;HhNnJ-JM%^`^L4HZwDTPY+9V3aLG)b=~lM-rLV7K zty9uj-%LKcWtLIe?e@vDi;sRN=l!L0)ge#hUCW`*^{gd*$_G+;*EF;?s3?5+Xy4F% z*i5u6fK!P<`0e%=vWcft5;IRFI_Gt99J=BnpmwHOr>pmUn6Qe1Dc6OAJe(d^fBsy& z=vwie^-R&7+rpF_x#oT<=e!j0-*irt*MXOcsTCLZU9r+_o8`Ac_hH5)Rh`Ico;m-7 z^6MFw7k`^pGGCWN_r}}0?H4XQ-hO-eIoY(MK_A!F9Xolgc+dTHOBXV4kKwto$64<3 zijsRl^&VYmzsF7tub=trk*wcUQNBOswe@Re=bEQ?Rt3Cvyv?@D@o;{2RFKlOHrdr5 z%!2P;p0+$($Yy17>cq5PuhaKMe_Ym*t{l83;e`&6beY`t?9e1jtEzDC>(J9!TsCz-L!fhy?VwclWJQUss(%| z=6ro}yhJqNmH&JZ$H0Fm|ifyIJ$a{^~VjS9NGClo!8F}Uwvg6&%Q?o-|qYVvyNlsg<3~R zfoC>d%MP&>C5PO}<|@7Wb4@^Vb(!`#s~c8i5vvg4P9)hjQRC-6?4Y4>r7*K_{+uf<+wyvVGs z++BC@{S4vDK3C1_PQEqEuCILMQsbsuGd=ai?OgW#wNcK7&J!L<%zSRkJ4yFL=rmCU zr!edPw+g;3eOCEpTG-!cZ6%R=XXm_JBo(mRY=7*BjUP`Rl9X)pi2iBr{cK)F`3Kc_ zEr}l!T1>q6ugZUWXKG?xSa!kDnLoEwCG5X-D{u8~?aOC#FUOyXd-^<_SNqJI`j`vR ziGta(omTO0->E;3toXBd&lcZ9AJ*B=aeFsc@zgxNz-@o{PfeRP`^&Q1r}ZW)zK#86 zxb17tlZ{iFG-lgwV+(av;#uXm^X3qUzrbIs9_khT$!9*B*Is*% z?oxZ{9rq{gc1S%o<#SkGSI<4w@Cojpw>;|HxAKYiyW-vNP4}el?Vk1Z-OV$TJ~;dN zX6t?w*Rp@WXS>(Vezh~-^NdBG)CwYHU%iP7yI%A2_D4Scch4vE-(B~Pd%uGHTBX0X z`&Xnz<~iSaXz?cUyu;bs655NE@BE9Lt#5a&@=D>V?@Rti-B*6?ebD5(O#JZ)FR!Uz zS;b~xbW5N6Ug6;5%>^?q-#idwp3b5wDaug8j>JiltDXN&e-cX;{T=Gg@!g|oG2YeEgW*jvCRk_qtD!A*1 zN0;W*T&!bOx-hIR``5sqyB?W zsxxXuJy?DTomrby27`kNj%p=SOGg&ofw+!eBR)~Y{Y zdV27u*Zd{&^UXMn*Pq?@ey{(wYkf8me^fqC6n-7N`>|X43Ld`RQ-Ery|K{y(~_>m0fq~@{I2C5Z1v2j z*DSj7Y3+&R;(v7!4WHL!dQ5bDc~&K>=bFf=WiI9qUjCZ=qjPD=MpM>~`n??4X$@7| zb9@DD?|-~|@XI^rfE($}QmzRctWlZ_BNG@ji8ZisYPET^edlFlXIjuCR%p;9mdnJ* zXvlBC%f^||=E0cC%)-RT%3x5=#-+{1$imoU&cw*FAk!e-zz9i1&On8Uk%>j%qW}*$ zC=Y;11~(=~24rMlh-NH{0;hrE^*Tl^G1Zm73WTPHNu5&swW>Km`o;J6t9o5FurFWG z#M*Dr#M*7p#8SL~nTe5!iHGZXJmZa5TP03N{AUH32lW6WH!Fido*}mZCmVAp3!5;L zldGYmfjEf6B`n~clb@8B6P%fzr;t~sTbyXpkQ3)MGB7kSHZZg_H83@Z66ZBC zHZ(9cgmMiU?;FY*NP{fm=Mf1g$}CGPNmcMKN>9wotO6TvC}6+`l4ccVH#M^`vM?|= z6gCiKPRz+n%P-2y zOa#X!b0`bDFq>ylS!Q0Up}2u4$Wl&WK0`B0Lj~{Dl9JS-%)E4%1eY*hRBBOvNM>r0 zj)G@ivK~x=8C}AliBSnT5*S$-n41{+84Q{jxtN+585y>eI&9u`PJ3JQ^J|v&cGYb? z9;qFV4o$TV{r2Zz%UchozO2LMCp4wvLsG(oj?R&r5&vf6$C`OduRs34wIZTcLh6Y4 z-KO-S>+NE$kG{`)yS+o;ms-O4s>ti=cW=8!J9!uFUcUL4;F}hwHJ_W)jLavWKc#$Y zcgjXivpFsIS9`Oqd%9=m?4ZQy98p_WCofFSF!`|h+k!g^zqc*Yk$uy{u(s!z)wh!Q z$1VlN3!L4 z^@~%JON&zV(!q(iI5Ry@FF8L~KRGcuwWvfty*L$|Y?Jd-QbBUX8Hq;e#`(#`1$xOv zB?fkI^BCKVpyq)jjnIw5ZjM1H8*`|v0*jx4kAWi_CpcX$Fk)mfFflNKnaso}rUo*( z*h*i&yu2LU;G)!m{Nl`#{Gv*I19mpn^hO>=W^gW*6=q>FU@&k6*&xqiXJBJswZLM5 zS(^#SFe`oii-FS#hkKp13)^Zf;o{=d5s)25N+owXxT zV@~@djq3qx7R@~O-M-{V(48pu?YE80Q)^7)4b~jCy;!|}Zn>}cO_K?J`xnofUGcN? zhWwOuGE*x#uIZ*;ppi(GKhuK(?l2Ms35 z$Eu$k4S5-JaG3 znS#&8=?;@~^|K9|1UwCz1YDUI84c>_UE*RE|46mef;a;Kq*{r`5R|$k;Z+d^gLW;#uiACYx+&&+fZj;=*o_gLKD@@}qHblJ-h?vzbu^>k!gZI;WJb)E^Xa+6M7{V1wA==*^iOwrdSO1#wCRi@my+&Q?>Fi-cLQjLVe z@~n4rE4gPliu2D=?I~TRR&}|p^JDva;rUm!);yoP$jLeDrs9`U)?a5P?tftWWP8{p zzrEM$1b3|b8mX3=u5*B&rRj*~eiHX{t4NEU>O_{lKdn~&`Uyw_W`Cs?{{BL;6x7K#a+=%+E z#3IgKV`3$9IWEz2olow6%{d|4x|FSJ_b$d~Dp%I-FC0k!3;SKbFSd28}$G}|MS|{mzOh%h%lT{>~>!IZ{?@?Yf|~llU06y?v~&;GB7eQ zG&C|ZFflPPGLJG~W@40E(Ac)5vDu)p0kuMfR^MF0BEglpiFqZd$qLT-MFsgqkm_3= zT!64}3yZ;}LyAg^OBDQ4OUm<$vJDLl^g&fEv#kJ!j6j#~Cp$0Ak(?`poDf0Hp2oeXj)vCnT*7=| zsYRI}v!T^E!nrUB1ytu+8CZav%PnlEk*uj;WME*S08qvrKx3h12u?47M$@x=Po{`?YwkXDQ*)=@o8-+8&)ai{ zP56-{UH5t!`=fjHak&l_S0=JOcdV(DIemJq^!^)DCw~6$F6YPEX_k8R2i12}SRQRz z`u6Sm_P%qy$8%p@nz7YNUe0pv;V-jRd}(=j_bS(r)9KpVzeCZ@=;6s%);H)ueBePtJMl@osl8 z-xagzZ52lsn!{Q*P~9pFYVB|surV_JXJTY9NCSx}u*4h08bqUJ zZyy6?SjEl6C?*bS1ArP7DSE|~xyeb87EeL3fht@PlYyiZR%Jy6i3WNwWsHn0N(KrB zaxlIDW1A4jY*4cbY;+39XmHY%m1og6&^6Frpt(T3O%+8E#QsuPa@H-%&o9B%>fkWY z0C`f7MbSWhiL8M%xbe;$%EBxx0MGNfMg}Gpy2jwrLl)fpSf70D)MCHZq6f?OIDXb# zWKrKxnuOAP*;f85)5Cp!u+Y^*uh@;s*e_0JmqaTFm_aS>(pMXFubN247`guAdw9iv zS;fKp>#y$K@&CN=L}SPI<^7`195mNHi~X|bW>`u~p@G(2xkT|ag)p`mlD)BopMFf= z!}(WcqWj55FM64OpP8V4jVs5`_|3H~lTY|eNcOOFP&{(?T3+W2o2@gZzgWq(o%3XW zaJb_H{fBbCes@j@ROC42eb{#NM`BFSSHExBz2Cj6_I*D4m-+h5Z_F$B9|wQuDt&XT zRBu&UE6dF7KiI+_9^?D=V*RZ*vnAwL?R;#-u>V}wl+%p2=N-4$%^$S-;^QgI30%Gl z{;B7R82z!I?(lH`%+A|SEJgO-dUE;jEA6PwQzJrIYLCx)qs-jfs&(oAx|NBI22HHq z22Cu+u(I>Y)AhT~u-h+WRAy0f^u;JU2dr$76X!KFH#9Ob2A6r@zN4jqv5^t1&>Q%g zh+y%zp08`wk30J_t3$*K-8uL6+BE(s5iL)jFz4?*Kc;!!W#68f*`;1pQOGs;c~`di zrMb z$QF5or~0mEvT^wS<*t#%Wc#N&%RWacpKiD(?E6#TPI?t|4j^0QSu73A4NMmpFEDJ=hZbBV z#k!ylRCzI|lmoY1Kn0yXsC#H?rdv{6tecz&F2ck>Ca8jnY2>~W2WoN7-e6D;D?%9= zS+Wf>4YXi<1I9Kvgr%U)r5>8C2G(%3OvnyQ%uGaAitfPFBBF~^Go<2lsW9Wp`K@Q9 z^Tg!htqoUInlV(%q7CI5ZGm=@{6nbxAop(YF8C&A2y`dC9T=+rzbk==^W+t(SolES33UWt+ZIVkoWwSjkoM(RUKD4T5|Tj zJ7?RGKND3qNl$y(%JJgvtCEDggr#9syeC{D?mYYHAu{jj{(B62%QwytDH2h+e_T*U zp27aGx5%+{nKN>1izmd#gml|IHjZxMKf1k*$**w!%QRQ}GQ%dOD1#=ZFi>}|v3tOp zVoUkD3^5{(TF6AG=-te&P>M*9Y3yVPpjLAH#BD=BBn*@2+P`YqiRcU~VUk^2{iO}fWA|R*m@@G?YX!ug=6_4KgiyWN&#n5K$ z8vShtH?y6ZIn$DRoF_o+_p&*gpK+)eiGP~|K;A>9xa2%>(W**NimFq0Sf^DcG7n~ diff --git a/ext/bin/tap-windows-ndis6/zttap300.cer b/ext/bin/tap-windows-ndis6/zttap300.cer deleted file mode 100644 index ef74e041c3b79a7712ffe92ceb0ab0bec81e34f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1321 zcmXqLVpTP0V&PrD%*4pVB*4xi`0RtP&E!0GzbzjN9&a#HXd^3|XGSd_DVD4lW=5b9d z$=N-W4sDK?ZdkO8UW5*Ce0Ey@qcOf6FIOD!qSFUl@f@bPhm$ur}SH)vv1LJlBC zRtDxKMt%l^CPpr%CPqev3u{!rzW>s_F}|g3>xK%>3-T&~&2D*OQKwWMG0e=rSG4)( zj*s(KTUGVbejRs1t zGlCsrRV~+v?f=2SCHr8}Yw@Xj*73@nnZ8V%O=R_(!;-2;W8=BxXS^)u*rVe6W8=R$ z`M(nMWFOS#UC}q4D8P2OkJHfO5`(EH>&9j#W=00a#Z8Rs4VoBN8_2UUhsr9mNEnDU zh)nljel5z8y>nB9@|h`mACIM8O6fC@1u5WT5n~bIOsu-($9489i>9r`x!CO4xBf3H zG~feC^D{F3XJKJxVs8K^Jy}&29s@2m4sA9@R#tXqW`j(SB6*f1g9HP;1v(3~+B7ms zN(!v>^^=Qoj8T%Jenz5haYYGVDX>@@SQ?nKaVE5RFt+{8 zVP-VYGSGlIh>1~524sJ+mA*cDR?v422sUVJgDGWXWT`T!Fi?T<4H(-bKw7Qz_4AX9 z3s9V55CB)j)aC+Jm7EC5WW^{7^CE2r08#Y+=QC>Clq!(cW_t8+F7gqgz4$QpI-Bq z$j>+9FkXLl-}}A(+phK5MEp_tJW=>{@b1TM=_`2ndQVk4-d{2~oFhVWU1p=#YKD!w zB9nAoCeLfy@~7&h*AY?@vp*76%wE=<>Ukd$83rqh7P<%BQs_ zl8gVxKY00T@{i7?B^ymyJL>mxWT!P$ZO`!)w7viF V?!hnboC9v8H%qxDaIi*c0s!53&vF0& diff --git a/ext/central-controller-docker/Dockerfile b/ext/central-controller-docker/Dockerfile index c59aa8f5d..c134cbdcf 100644 --- a/ext/central-controller-docker/Dockerfile +++ b/ext/central-controller-docker/Dockerfile @@ -1,10 +1,10 @@ # Dockerfile for ZeroTier Central Controllers -FROM registry.zerotier.com/zerotier/controller-builder:latest as builder +FROM registry.zerotier.com/zerotier/ctlbuild:latest as builder MAINTAINER Adam Ierymekno , Grant Limberg ADD . /ZeroTierOne RUN export PATH=$PATH:~/.cargo/bin && cd ZeroTierOne && make clean && make central-controller -j8 -FROM registry.zerotier.com/zerotier/controller-run:latest +FROM registry.zerotier.com/zerotier/ctlrun:latest COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one RUN chmod a+x /usr/local/bin/zerotier-one RUN echo "/usr/local/lib64" > /etc/ld.so.conf.d/usr-local-lib64.conf && ldconfig diff --git a/ext/central-controller-docker/Makefile b/ext/central-controller-docker/Makefile new file mode 100644 index 000000000..46ec8ee16 --- /dev/null +++ b/ext/central-controller-docker/Makefile @@ -0,0 +1,16 @@ +registry = registry.zerotier.com/zerotier + +all: controller-builder controller-runbase + +buildx: + @echo "docker buildx create" + # docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + docker run --privileged --rm tonistiigi/binfmt --install all + @echo docker buildx create --name multiarch --driver docker-container --use + @echo docker buildx inspect --bootstrap + +controller-builder: buildx + docker buildx build --no-cache --platform linux/amd64,linux/arm64 -t $(registry)/ctlbuild:latest -f Dockerfile.builder . --push + +controller-runbase: buildx + docker buildx build --no-cache --platform linux/amd64,linux/arm64 -t $(registry)/ctlrun:latest -f Dockerfile.run_base . --push diff --git a/ext/central-controller-docker/main.sh b/ext/central-controller-docker/main.sh index 9db5e4f26..1ec8e10f2 100755 --- a/ext/central-controller-docker/main.sh +++ b/ext/central-controller-docker/main.sh @@ -58,9 +58,13 @@ mkdir -p /var/lib/zerotier-one pushd /var/lib/zerotier-one ln -s $ZT_IDENTITY_PATH/identity.public identity.public ln -s $ZT_IDENTITY_PATH/identity.secret identity.secret +if [ -f "$ZT_IDENTITY_PATH/authtoken.secret" ]; then + ln -s $ZT_IDENTITY_PATH/authtoken.secret authtoken.secret +fi popd DEFAULT_PORT=9993 +DEFAULT_LB_MODE=false APP_NAME="controller-$(cat /var/lib/zerotier-one/identity.public | cut -d ':' -f 1)" @@ -73,7 +77,9 @@ echo "{ \"inot\", \"nat64\" ], + \"lowBandwidthMode\": ${ZT_LB_MODE:-$DEFAULT_LB_MODE}, \"ssoRedirectURL\": \"${ZT_SSO_REDIRECT_URL}\", + \"allowManagementFrom\": [\"127.0.0.1\", \"::1\", \"10.0.0.0/8\"], ${REDIS} } } diff --git a/ext/cpp-httplib/httplib.h b/ext/cpp-httplib/httplib.h index 3947df060..28746000c 100644 --- a/ext/cpp-httplib/httplib.h +++ b/ext/cpp-httplib/httplib.h @@ -1,13 +1,15 @@ // // httplib.h // -// Copyright (c) 2020 Yuji Hirose. All rights reserved. +// Copyright (c) 2023 Yuji Hirose. All rights reserved. // MIT License // #ifndef CPPHTTPLIB_HTTPLIB_H #define CPPHTTPLIB_HTTPLIB_H +#define CPPHTTPLIB_VERSION "0.12.2" + /* * Configuration */ @@ -60,14 +62,26 @@ #define CPPHTTPLIB_REQUEST_URI_MAX_LENGTH 8192 #endif +#ifndef CPPHTTPLIB_HEADER_MAX_LENGTH +#define CPPHTTPLIB_HEADER_MAX_LENGTH 8192 +#endif + #ifndef CPPHTTPLIB_REDIRECT_MAX_COUNT #define CPPHTTPLIB_REDIRECT_MAX_COUNT 20 #endif +#ifndef CPPHTTPLIB_MULTIPART_FORM_DATA_FILE_MAX_COUNT +#define CPPHTTPLIB_MULTIPART_FORM_DATA_FILE_MAX_COUNT 1024 +#endif + #ifndef CPPHTTPLIB_PAYLOAD_MAX_LENGTH #define CPPHTTPLIB_PAYLOAD_MAX_LENGTH ((std::numeric_limits::max)()) #endif +#ifndef CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH +#define CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH 8192 +#endif + #ifndef CPPHTTPLIB_TCP_NODELAY #define CPPHTTPLIB_TCP_NODELAY false #endif @@ -87,6 +101,18 @@ : 0)) #endif +#ifndef CPPHTTPLIB_RECV_FLAGS +#define CPPHTTPLIB_RECV_FLAGS 0 +#endif + +#ifndef CPPHTTPLIB_SEND_FLAGS +#define CPPHTTPLIB_SEND_FLAGS 0 +#endif + +#ifndef CPPHTTPLIB_LISTEN_BACKLOG +#define CPPHTTPLIB_LISTEN_BACKLOG 5 +#endif + /* * Headers */ @@ -101,14 +127,16 @@ #endif //_CRT_NONSTDC_NO_DEPRECATE #if defined(_MSC_VER) +#if _MSC_VER < 1900 +#error Sorry, Visual Studio versions prior to 2015 are not supported +#endif + +#pragma comment(lib, "ws2_32.lib") + #ifdef _WIN64 using ssize_t = __int64; #else -using ssize_t = int; -#endif - -#if _MSC_VER < 1900 -#define snprintf _snprintf_s +using ssize_t = long; #endif #endif // _MSC_VER @@ -126,20 +154,12 @@ using ssize_t = int; #include #include - -#include #include #ifndef WSA_FLAG_NO_HANDLE_INHERIT #define WSA_FLAG_NO_HANDLE_INHERIT 0x80 #endif -#ifdef _MSC_VER -#pragma comment(lib, "ws2_32.lib") -#pragma comment(lib, "crypt32.lib") -#pragma comment(lib, "cryptui.lib") -#endif - #ifndef strcasecmp #define strcasecmp _stricmp #endif // strcasecmp @@ -152,8 +172,10 @@ using socket_t = SOCKET; #else // not _WIN32 #include -#include +#ifndef _AIX #include +#endif +#include #include #include #ifdef __linux__ @@ -167,22 +189,28 @@ using socket_t = SOCKET; #include #include #include +#include #include using socket_t = int; +#ifndef INVALID_SOCKET #define INVALID_SOCKET (-1) +#endif #endif //_WIN32 +#include #include #include #include #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -190,14 +218,37 @@ using socket_t = int; #include #include #include +#include #include #include #include #include #ifdef CPPHTTPLIB_OPENSSL_SUPPORT +#ifdef _WIN32 +#include + +// these are defined in wincrypt.h and it breaks compilation if BoringSSL is +// used +#undef X509_NAME +#undef X509_CERT_PAIR +#undef X509_EXTENSIONS +#undef PKCS7_SIGNER_INFO + +#ifdef _MSC_VER +#pragma comment(lib, "crypt32.lib") +#pragma comment(lib, "cryptui.lib") +#endif +#elif defined(CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN) && defined(__APPLE__) +#include +#if TARGET_OS_OSX +#include +#include +#endif // TARGET_OS_OSX +#endif // _WIN32 + #include -#include +#include #include #include @@ -205,20 +256,15 @@ using socket_t = int; #include #endif -#include #include #include #if OPENSSL_VERSION_NUMBER < 0x1010100fL #error Sorry, OpenSSL versions prior to 1.1.1 are not supported +#elif OPENSSL_VERSION_NUMBER < 0x30000000L +#define SSL_get1_peer_certificate SSL_get_peer_certificate #endif -#if OPENSSL_VERSION_NUMBER < 0x10100000L -#include -inline const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *asn1) { - return M_ASN1_STRING_data(asn1); -} -#endif #endif #ifdef CPPHTTPLIB_ZLIB_SUPPORT @@ -237,14 +283,65 @@ namespace httplib { namespace detail { +/* + * Backport std::make_unique from C++14. + * + * NOTE: This code came up with the following stackoverflow post: + * https://stackoverflow.com/questions/10149840/c-arrays-and-make-unique + * + */ + +template +typename std::enable_if::value, std::unique_ptr>::type +make_unique(Args &&...args) { + return std::unique_ptr(new T(std::forward(args)...)); +} + +template +typename std::enable_if::value, std::unique_ptr>::type +make_unique(std::size_t n) { + typedef typename std::remove_extent::type RT; + return std::unique_ptr(new RT[n]); +} + struct ci { bool operator()(const std::string &s1, const std::string &s2) const { - return std::lexicographical_compare( - s1.begin(), s1.end(), s2.begin(), s2.end(), - [](char c1, char c2) { return ::tolower(c1) < ::tolower(c2); }); + return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), + s2.end(), + [](unsigned char c1, unsigned char c2) { + return ::tolower(c1) < ::tolower(c2); + }); } }; +// This is based on +// "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4189". + +struct scope_exit { + explicit scope_exit(std::function &&f) + : exit_function(std::move(f)), execute_on_destruction{true} {} + + scope_exit(scope_exit &&rhs) + : exit_function(std::move(rhs.exit_function)), + execute_on_destruction{rhs.execute_on_destruction} { + rhs.release(); + } + + ~scope_exit() { + if (execute_on_destruction) { this->exit_function(); } + } + + void release() { this->execute_on_destruction = false; } + +private: + scope_exit(const scope_exit &) = delete; + void operator=(const scope_exit &) = delete; + scope_exit &operator=(scope_exit &&) = delete; + + std::function exit_function; + bool execute_on_destruction; +}; + } // namespace detail using Headers = std::multimap; @@ -275,9 +372,9 @@ public: DataSink(DataSink &&) = delete; DataSink &operator=(DataSink &&) = delete; - std::function write; + std::function write; std::function done; - std::function is_writable; + std::function done_with_trailer; std::ostream os; private: @@ -304,6 +401,20 @@ using ContentProvider = using ContentProviderWithoutLength = std::function; +using ContentProviderResourceReleaser = std::function; + +struct MultipartFormDataProvider { + std::string name; + ContentProviderWithoutLength provider; + std::string filename; + std::string content_type; +}; +using MultipartFormDataProviderItems = std::vector; + +using ContentReceiverWithProgress = + std::function; + using ContentReceiver = std::function; @@ -317,14 +428,17 @@ public: ContentReceiver receiver)>; ContentReader(Reader reader, MultipartReader multipart_reader) - : reader_(reader), multipart_reader_(multipart_reader) {} + : reader_(std::move(reader)), + multipart_reader_(std::move(multipart_reader)) {} bool operator()(MultipartContentHeader header, ContentReceiver receiver) const { - return multipart_reader_(header, receiver); + return multipart_reader_(std::move(header), std::move(receiver)); } - bool operator()(ContentReceiver receiver) const { return reader_(receiver); } + bool operator()(ContentReceiver receiver) const { + return reader_(std::move(receiver)); + } Reader reader_; MultipartReader multipart_reader_; @@ -341,6 +455,8 @@ struct Request { std::string remote_addr; int remote_port = -1; + std::string local_addr; + int local_port = -1; // for server std::string version; @@ -351,35 +467,35 @@ struct Request { Match matches; // for client - size_t redirect_count = CPPHTTPLIB_REDIRECT_MAX_COUNT; ResponseHandler response_handler; - ContentReceiver content_receiver; - size_t content_length = 0; - ContentProvider content_provider; + ContentReceiverWithProgress content_receiver; Progress progress; - #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - const SSL *ssl; + const SSL *ssl = nullptr; #endif - bool has_header(const char *key) const; - std::string get_header_value(const char *key, size_t id = 0) const; + bool has_header(const std::string &key) const; + std::string get_header_value(const std::string &key, size_t id = 0) const; template - T get_header_value(const char *key, size_t id = 0) const; - size_t get_header_value_count(const char *key) const; - void set_header(const char *key, const char *val); - void set_header(const char *key, const std::string &val); + T get_header_value(const std::string &key, size_t id = 0) const; + size_t get_header_value_count(const std::string &key) const; + void set_header(const std::string &key, const std::string &val); - bool has_param(const char *key) const; - std::string get_param_value(const char *key, size_t id = 0) const; - size_t get_param_value_count(const char *key) const; + bool has_param(const std::string &key) const; + std::string get_param_value(const std::string &key, size_t id = 0) const; + size_t get_param_value_count(const std::string &key) const; bool is_multipart_form_data() const; - bool has_file(const char *key) const; - MultipartFormData get_file_value(const char *key) const; + bool has_file(const std::string &key) const; + MultipartFormData get_file_value(const std::string &key) const; + std::vector get_file_values(const std::string &key) const; // private members... + size_t redirect_count_ = CPPHTTPLIB_REDIRECT_MAX_COUNT; + size_t content_length_ = 0; + ContentProvider content_provider_; + bool is_chunked_content_provider_ = false; size_t authorization_count_ = 0; }; @@ -389,31 +505,30 @@ struct Response { std::string reason; Headers headers; std::string body; + std::string location; // Redirect location - bool has_header(const char *key) const; - std::string get_header_value(const char *key, size_t id = 0) const; + bool has_header(const std::string &key) const; + std::string get_header_value(const std::string &key, size_t id = 0) const; template - T get_header_value(const char *key, size_t id = 0) const; - size_t get_header_value_count(const char *key) const; - void set_header(const char *key, const char *val); - void set_header(const char *key, const std::string &val); + T get_header_value(const std::string &key, size_t id = 0) const; + size_t get_header_value_count(const std::string &key) const; + void set_header(const std::string &key, const std::string &val); - void set_redirect(const char *url, int status = 302); void set_redirect(const std::string &url, int status = 302); - void set_content(const char *s, size_t n, const char *content_type); - void set_content(std::string s, const char *content_type); + void set_content(const char *s, size_t n, const std::string &content_type); + void set_content(const std::string &s, const std::string &content_type); void set_content_provider( - size_t length, const char *content_type, ContentProvider provider, - const std::function &resource_releaser = nullptr); + size_t length, const std::string &content_type, ContentProvider provider, + ContentProviderResourceReleaser resource_releaser = nullptr); void set_content_provider( - const char *content_type, ContentProviderWithoutLength provider, - const std::function &resource_releaser = nullptr); + const std::string &content_type, ContentProviderWithoutLength provider, + ContentProviderResourceReleaser resource_releaser = nullptr); void set_chunked_content_provider( - const char *content_type, ContentProviderWithoutLength provider, - const std::function &resource_releaser = nullptr); + const std::string &content_type, ContentProviderWithoutLength provider, + ContentProviderResourceReleaser resource_releaser = nullptr); Response() = default; Response(const Response &) = default; @@ -422,15 +537,16 @@ struct Response { Response &operator=(Response &&) = default; ~Response() { if (content_provider_resource_releaser_) { - content_provider_resource_releaser_(); + content_provider_resource_releaser_(content_provider_success_); } } // private members... size_t content_length_ = 0; ContentProvider content_provider_; - std::function content_provider_resource_releaser_; - bool is_chunked_content_provider = false; + ContentProviderResourceReleaser content_provider_resource_releaser_; + bool is_chunked_content_provider_ = false; + bool content_provider_success_ = false; }; class Stream { @@ -443,9 +559,11 @@ public: virtual ssize_t read(char *ptr, size_t size) = 0; virtual ssize_t write(const char *ptr, size_t size) = 0; virtual void get_remote_ip_and_port(std::string &ip, int &port) const = 0; + virtual void get_local_ip_and_port(std::string &ip, int &port) const = 0; + virtual socket_t socket() const = 0; template - ssize_t write_format(const char *fmt, const Args &... args); + ssize_t write_format(const char *fmt, const Args &...args); ssize_t write(const char *ptr); ssize_t write(const std::string &s); }; @@ -458,7 +576,7 @@ public: virtual void enqueue(std::function fn) = 0; virtual void shutdown() = 0; - virtual void on_idle(){}; + virtual void on_idle() {} }; class ThreadPool : public TaskQueue { @@ -474,8 +592,11 @@ public: ~ThreadPool() override = default; void enqueue(std::function fn) override { - std::unique_lock lock(mutex_); - jobs_.push_back(fn); + { + std::unique_lock lock(mutex_); + jobs_.push_back(std::move(fn)); + } + cond_.notify_one(); } @@ -509,7 +630,7 @@ private: if (pool_.shutdown_ && pool_.jobs_.empty()) { break; } - fn = pool_.jobs_.front(); + fn = std::move(pool_.jobs_.front()); pool_.jobs_.pop_front(); } @@ -535,29 +656,25 @@ using Logger = std::function; using SocketOptions = std::function; -inline void default_socket_options(socket_t sock) { - int yes = 1; -#ifdef _WIN32 - setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast(&yes), - sizeof(yes)); - setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, - reinterpret_cast(&yes), sizeof(yes)); -#else -#ifdef SO_REUSEPORT - setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, reinterpret_cast(&yes), - sizeof(yes)); -#else - setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast(&yes), - sizeof(yes)); -#endif -#endif -} +void default_socket_options(socket_t sock); class Server { public: using Handler = std::function; + + using ExceptionHandler = + std::function; + + enum class HandlerResponse { + Handled, + Unhandled, + }; + using HandlerWithResponse = + std::function; + using HandlerWithContentReader = std::function; + using Expect100ContinueHandler = std::function; @@ -567,46 +684,66 @@ public: virtual bool is_valid() const; - Server &Get(const char *pattern, Handler handler); - Server &Post(const char *pattern, Handler handler); - Server &Post(const char *pattern, HandlerWithContentReader handler); - Server &Put(const char *pattern, Handler handler); - Server &Put(const char *pattern, HandlerWithContentReader handler); - Server &Patch(const char *pattern, Handler handler); - Server &Patch(const char *pattern, HandlerWithContentReader handler); - Server &Delete(const char *pattern, Handler handler); - Server &Delete(const char *pattern, HandlerWithContentReader handler); - Server &Options(const char *pattern, Handler handler); + Server &Get(const std::string &pattern, Handler handler); + Server &Post(const std::string &pattern, Handler handler); + Server &Post(const std::string &pattern, HandlerWithContentReader handler); + Server &Put(const std::string &pattern, Handler handler); + Server &Put(const std::string &pattern, HandlerWithContentReader handler); + Server &Patch(const std::string &pattern, Handler handler); + Server &Patch(const std::string &pattern, HandlerWithContentReader handler); + Server &Delete(const std::string &pattern, Handler handler); + Server &Delete(const std::string &pattern, HandlerWithContentReader handler); + Server &Options(const std::string &pattern, Handler handler); - bool set_base_dir(const char *dir, const char *mount_point = nullptr); - bool set_mount_point(const char *mount_point, const char *dir); - bool remove_mount_point(const char *mount_point); - void set_file_extension_and_mimetype_mapping(const char *ext, - const char *mime); - void set_file_request_handler(Handler handler); + bool set_base_dir(const std::string &dir, + const std::string &mount_point = std::string()); + bool set_mount_point(const std::string &mount_point, const std::string &dir, + Headers headers = Headers()); + bool remove_mount_point(const std::string &mount_point); + Server &set_file_extension_and_mimetype_mapping(const std::string &ext, + const std::string &mime); + Server &set_file_request_handler(Handler handler); - void set_error_handler(Handler handler); - void set_expect_100_continue_handler(Expect100ContinueHandler handler); - void set_logger(Logger logger); + Server &set_error_handler(HandlerWithResponse handler); + Server &set_error_handler(Handler handler); + Server &set_exception_handler(ExceptionHandler handler); + Server &set_pre_routing_handler(HandlerWithResponse handler); + Server &set_post_routing_handler(Handler handler); - void set_tcp_nodelay(bool on); - void set_socket_options(SocketOptions socket_options); + Server &set_expect_100_continue_handler(Expect100ContinueHandler handler); + Server &set_logger(Logger logger); - void set_keep_alive_max_count(size_t count); - void set_keep_alive_timeout(time_t sec); - void set_read_timeout(time_t sec, time_t usec = 0); - void set_write_timeout(time_t sec, time_t usec = 0); - void set_idle_interval(time_t sec, time_t usec = 0); + Server &set_address_family(int family); + Server &set_tcp_nodelay(bool on); + Server &set_socket_options(SocketOptions socket_options); - void set_payload_max_length(size_t length); + Server &set_default_headers(Headers headers); - bool bind_to_port(const char *host, int port, int socket_flags = 0); - int bind_to_any_port(const char *host, int socket_flags = 0); + Server &set_keep_alive_max_count(size_t count); + Server &set_keep_alive_timeout(time_t sec); + + Server &set_read_timeout(time_t sec, time_t usec = 0); + template + Server &set_read_timeout(const std::chrono::duration &duration); + + Server &set_write_timeout(time_t sec, time_t usec = 0); + template + Server &set_write_timeout(const std::chrono::duration &duration); + + Server &set_idle_interval(time_t sec, time_t usec = 0); + template + Server &set_idle_interval(const std::chrono::duration &duration); + + Server &set_payload_max_length(size_t length); + + bool bind_to_port(const std::string &host, int port, int socket_flags = 0); + int bind_to_any_port(const std::string &host, int socket_flags = 0); bool listen_after_bind(); - bool listen(const char *host, int port, int socket_flags = 0); + bool listen(const std::string &host, int port, int socket_flags = 0); bool is_running() const; + void wait_until_ready() const; void stop(); std::function new_task_queue; @@ -616,7 +753,7 @@ protected: bool &connection_closed, const std::function &setup_request); - std::atomic svr_sock_; + std::atomic svr_sock_{INVALID_SOCKET}; size_t keep_alive_max_count_ = CPPHTTPLIB_KEEPALIVE_MAX_COUNT; time_t keep_alive_timeout_sec_ = CPPHTTPLIB_KEEPALIVE_TIMEOUT_SECOND; time_t read_timeout_sec_ = CPPHTTPLIB_READ_TIMEOUT_SECOND; @@ -632,13 +769,15 @@ private: using HandlersForContentReader = std::vector>; - socket_t create_server_socket(const char *host, int port, int socket_flags, + socket_t create_server_socket(const std::string &host, int port, + int socket_flags, SocketOptions socket_options) const; - int bind_internal(const char *host, int port, int socket_flags); + int bind_internal(const std::string &host, int port, int socket_flags); bool listen_internal(); bool routing(Request &req, Response &res, Stream &strm); - bool handle_file_request(Request &req, Response &res, bool head = false); + bool handle_file_request(const Request &req, Response &res, + bool head = false); bool dispatch_request(Request &req, Response &res, const Handlers &handlers); bool dispatch_request_for_content_reader(Request &req, Response &res, @@ -646,8 +785,15 @@ private: const HandlersForContentReader &handlers); bool parse_request_line(const char *s, Request &req); + void apply_ranges(const Request &req, Response &res, + std::string &content_type, std::string &boundary); bool write_response(Stream &strm, bool close_connection, const Request &req, Response &res); + bool write_response_with_content(Stream &strm, bool close_connection, + const Request &req, Response &res); + bool write_response_core(Stream &strm, bool close_connection, + const Request &req, Response &res, + bool need_apply_ranges); bool write_content_with_provider(Stream &strm, const Request &req, Response &res, const std::string &boundary, const std::string &content_type); @@ -659,13 +805,20 @@ private: ContentReceiver multipart_receiver); bool read_content_core(Stream &strm, Request &req, Response &res, ContentReceiver receiver, - MultipartContentHeader mulitpart_header, + MultipartContentHeader multipart_header, ContentReceiver multipart_receiver); virtual bool process_and_close_socket(socket_t sock); - std::atomic is_running_; - std::vector> base_dirs_; + struct MountPointEntry { + std::string mount_point; + std::string base_dir; + Headers headers; + }; + std::vector base_dirs_; + + std::atomic is_running_{false}; + std::atomic done_{false}; std::map file_extension_and_mimetype_map_; Handler file_request_handler_; Handlers get_handlers_; @@ -678,15 +831,21 @@ private: Handlers delete_handlers_; HandlersForContentReader delete_handlers_for_content_reader_; Handlers options_handlers_; - Handler error_handler_; + HandlerWithResponse error_handler_; + ExceptionHandler exception_handler_; + HandlerWithResponse pre_routing_handler_; + Handler post_routing_handler_; Logger logger_; Expect100ContinueHandler expect_100_continue_handler_; + int address_family_ = AF_UNSPEC; bool tcp_nodelay_ = CPPHTTPLIB_TCP_NODELAY; SocketOptions socket_options_ = default_socket_options; + + Headers default_headers_; }; -enum Error { +enum class Error { Success = 0, Unknown, Connection, @@ -697,24 +856,51 @@ enum Error { Canceled, SSLConnection, SSLLoadingCerts, - SSLServerVerification + SSLServerVerification, + UnsupportedMultipartBoundaryChars, + Compression, + ConnectionTimeout, + + // For internal use only + SSLPeerCouldBeClosed_, }; +std::string to_string(const Error error); + +std::ostream &operator<<(std::ostream &os, const Error &obj); + class Result { public: - Result(const std::shared_ptr &res, Error err) - : res_(res), err_(err) {} + Result(std::unique_ptr &&res, Error err, + Headers &&request_headers = Headers{}) + : res_(std::move(res)), err_(err), + request_headers_(std::move(request_headers)) {} + // Response operator bool() const { return res_ != nullptr; } bool operator==(std::nullptr_t) const { return res_ == nullptr; } bool operator!=(std::nullptr_t) const { return res_ != nullptr; } const Response &value() const { return *res_; } + Response &value() { return *res_; } const Response &operator*() const { return *res_; } + Response &operator*() { return *res_; } const Response *operator->() const { return res_.get(); } + Response *operator->() { return res_.get(); } + + // Error Error error() const { return err_; } + // Request Headers + bool has_request_header(const std::string &key) const; + std::string get_request_header_value(const std::string &key, + size_t id = 0) const; + template + T get_request_header_value(const std::string &key, size_t id = 0) const; + size_t get_request_header_value_count(const std::string &key) const; + private: - std::shared_ptr res_; + std::unique_ptr res_; Error err_; + Headers request_headers_; }; class ClientImpl { @@ -731,112 +917,206 @@ public: virtual bool is_valid() const; - Result Get(const char *path); - Result Get(const char *path, const Headers &headers); - Result Get(const char *path, Progress progress); - Result Get(const char *path, const Headers &headers, Progress progress); - Result Get(const char *path, ContentReceiver content_receiver); - Result Get(const char *path, const Headers &headers, - ContentReceiver content_receiver); - Result Get(const char *path, ContentReceiver content_receiver, + Result Get(const std::string &path); + Result Get(const std::string &path, const Headers &headers); + Result Get(const std::string &path, Progress progress); + Result Get(const std::string &path, const Headers &headers, Progress progress); - Result Get(const char *path, const Headers &headers, - ContentReceiver content_receiver, Progress progress); - Result Get(const char *path, ResponseHandler response_handler, + Result Get(const std::string &path, ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver); - Result Get(const char *path, const Headers &headers, + Result Get(const std::string &path, ContentReceiver content_receiver, + Progress progress); + Result Get(const std::string &path, const Headers &headers, + ContentReceiver content_receiver, Progress progress); + Result Get(const std::string &path, ResponseHandler response_handler, + ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver); - Result Get(const char *path, ResponseHandler response_handler, + Result Get(const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress); - Result Get(const char *path, const Headers &headers, + Result Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress); - Result Head(const char *path); - Result Head(const char *path, const Headers &headers); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ContentReceiver content_receiver, + Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress = nullptr); - Result Post(const char *path); - Result Post(const char *path, const std::string &body, - const char *content_type); - Result Post(const char *path, const Headers &headers, const std::string &body, - const char *content_type); - Result Post(const char *path, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Post(const char *path, const Headers &headers, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Post(const char *path, const Params ¶ms); - Result Post(const char *path, const Headers &headers, const Params ¶ms); - Result Post(const char *path, const MultipartFormDataItems &items); - Result Post(const char *path, const Headers &headers, + Result Head(const std::string &path); + Result Head(const std::string &path, const Headers &headers); + + Result Post(const std::string &path); + Result Post(const std::string &path, const Headers &headers); + Result Post(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Post(const std::string &path, const std::string &body, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Post(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Params ¶ms); + Result Post(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Post(const std::string &path, const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Put(const char *path); - Result Put(const char *path, const std::string &body, - const char *content_type); - Result Put(const char *path, const Headers &headers, const std::string &body, - const char *content_type); - Result Put(const char *path, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Put(const char *path, const Headers &headers, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Put(const char *path, const Params ¶ms); - Result Put(const char *path, const Headers &headers, const Params ¶ms); + Result Put(const std::string &path); + Result Put(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Put(const std::string &path, const std::string &body, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Put(const std::string &path, size_t content_length, + ContentProvider content_provider, const std::string &content_type); + Result Put(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Put(const std::string &path, const Params ¶ms); + Result Put(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Put(const std::string &path, const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Patch(const char *path, const std::string &body, - const char *content_type); - Result Patch(const char *path, const Headers &headers, - const std::string &body, const char *content_type); - Result Patch(const char *path, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Patch(const char *path, const Headers &headers, size_t content_length, - ContentProvider content_provider, const char *content_type); + Result Patch(const std::string &path); + Result Patch(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const std::string &body, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Patch(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); - Result Delete(const char *path); - Result Delete(const char *path, const std::string &body, - const char *content_type); - Result Delete(const char *path, const Headers &headers); - Result Delete(const char *path, const Headers &headers, - const std::string &body, const char *content_type); + Result Delete(const std::string &path); + Result Delete(const std::string &path, const Headers &headers); + Result Delete(const std::string &path, const char *body, + size_t content_length, const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Delete(const std::string &path, const std::string &body, + const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); - Result Options(const char *path); - Result Options(const char *path, const Headers &headers); + Result Options(const std::string &path); + Result Options(const std::string &path, const Headers &headers); - bool send(const Request &req, Response &res); + bool send(Request &req, Response &res, Error &error); + Result send(const Request &req); size_t is_socket_open() const; + socket_t socket() const; + void stop(); + void set_hostname_addr_map(std::map addr_map); + void set_default_headers(Headers headers); + void set_address_family(int family); void set_tcp_nodelay(bool on); void set_socket_options(SocketOptions socket_options); void set_connection_timeout(time_t sec, time_t usec = 0); - void set_read_timeout(time_t sec, time_t usec = 0); - void set_write_timeout(time_t sec, time_t usec = 0); + template + void + set_connection_timeout(const std::chrono::duration &duration); - void set_basic_auth(const char *username, const char *password); - void set_bearer_token_auth(const char *token); + void set_read_timeout(time_t sec, time_t usec = 0); + template + void set_read_timeout(const std::chrono::duration &duration); + + void set_write_timeout(time_t sec, time_t usec = 0); + template + void set_write_timeout(const std::chrono::duration &duration); + + void set_basic_auth(const std::string &username, const std::string &password); + void set_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_digest_auth(const char *username, const char *password); + void set_digest_auth(const std::string &username, + const std::string &password); #endif void set_keep_alive(bool on); void set_follow_location(bool on); + void set_url_encode(bool on); + void set_compress(bool on); void set_decompress(bool on); - void set_interface(const char *intf); + void set_interface(const std::string &intf); - void set_proxy(const char *host, int port); - void set_proxy_basic_auth(const char *username, const char *password); - void set_proxy_bearer_token_auth(const char *token); + void set_proxy(const std::string &host, int port); + void set_proxy_basic_auth(const std::string &username, + const std::string &password); + void set_proxy_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_proxy_digest_auth(const char *username, const char *password); + void set_proxy_digest_auth(const std::string &username, + const std::string &password); +#endif + +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + void set_ca_cert_path(const std::string &ca_cert_file_path, + const std::string &ca_cert_dir_path = std::string()); + void set_ca_cert_store(X509_STORE *ca_cert_store); #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT @@ -855,20 +1135,28 @@ protected: bool is_open() const { return sock != INVALID_SOCKET; } }; - virtual bool create_and_connect_socket(Socket &socket); - virtual void close_socket(Socket &socket, bool process_socket_ret); + virtual bool create_and_connect_socket(Socket &socket, Error &error); - bool process_request(Stream &strm, const Request &req, Response &res, - bool close_connection); + // All of: + // shutdown_ssl + // shutdown_socket + // close_socket + // should ONLY be called when socket_mutex_ is locked. + // Also, shutdown_ssl and close_socket should also NOT be called concurrently + // with a DIFFERENT thread sending requests using that socket. + virtual void shutdown_ssl(Socket &socket, bool shutdown_gracefully); + void shutdown_socket(Socket &socket); + void close_socket(Socket &socket); - Error get_last_error() const; + bool process_request(Stream &strm, Request &req, Response &res, + bool close_connection, Error &error); + + bool write_content_with_provider(Stream &strm, const Request &req, + Error &error); void copy_settings(const ClientImpl &rhs); - // Error state - mutable Error error_ = Error::Success; - - // Socket endoint information + // Socket endpoint information const std::string host_; const int port_; const std::string host_and_port_; @@ -878,6 +1166,14 @@ protected: mutable std::mutex socket_mutex_; std::recursive_mutex request_mutex_; + // These are all protected under socket_mutex + size_t socket_requests_in_flight_ = 0; + std::thread::id socket_requests_are_from_thread_ = std::thread::id(); + bool socket_should_be_closed_when_request_is_done_ = false; + + // Hostname-IP map + std::map addr_map_; + // Default headers Headers default_headers_; @@ -903,6 +1199,9 @@ protected: bool keep_alive_ = false; bool follow_location_ = false; + bool url_encode_ = true; + + int address_family_ = AF_UNSPEC; bool tcp_nodelay_ = CPPHTTPLIB_TCP_NODELAY; SocketOptions socket_options_ = nullptr; @@ -922,6 +1221,13 @@ protected: std::string proxy_digest_auth_password_; #endif +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + std::string ca_cert_file_path_; + std::string ca_cert_dir_path_; + + X509_STORE *ca_cert_store_ = nullptr; +#endif + #ifdef CPPHTTPLIB_OPENSSL_SUPPORT bool server_certificate_verification_ = true; #endif @@ -929,19 +1235,34 @@ protected: Logger logger_; private: - socket_t create_client_socket() const; - bool read_response_line(Stream &strm, Response &res); - bool write_request(Stream &strm, const Request &req, bool close_connection); - bool redirect(const Request &req, Response &res); - bool handle_request(Stream &strm, const Request &req, Response &res, - bool close_connection); - void stop_core(); - std::shared_ptr send_with_content_provider( - const char *method, const char *path, const Headers &headers, - const std::string &body, size_t content_length, - ContentProvider content_provider, const char *content_type); + bool send_(Request &req, Response &res, Error &error); + Result send_(Request &&req); - virtual bool process_socket(Socket &socket, + socket_t create_client_socket(Error &error) const; + bool read_response_line(Stream &strm, const Request &req, Response &res); + bool write_request(Stream &strm, Request &req, bool close_connection, + Error &error); + bool redirect(Request &req, Response &res, Error &error); + bool handle_request(Stream &strm, Request &req, Response &res, + bool close_connection, Error &error); + std::unique_ptr send_with_content_provider( + Request &req, const char *body, size_t content_length, + ContentProvider content_provider, + ContentProviderWithoutLength content_provider_without_length, + const std::string &content_type, Error &error); + Result send_with_content_provider( + const std::string &method, const std::string &path, + const Headers &headers, const char *body, size_t content_length, + ContentProvider content_provider, + ContentProviderWithoutLength content_provider_without_length, + const std::string &content_type); + ContentProviderWithoutLength get_multipart_content_provider( + const std::string &boundary, const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); + + std::string adjust_host_string(const std::string &host) const; + + virtual bool process_socket(const Socket &socket, std::function callback); virtual bool is_ssl() const; }; @@ -949,9 +1270,9 @@ private: class Client { public: // Universal interface - explicit Client(const char *scheme_host_port); + explicit Client(const std::string &scheme_host_port); - explicit Client(const char *scheme_host_port, + explicit Client(const std::string &scheme_host_port, const std::string &client_cert_path, const std::string &client_key_path); @@ -962,114 +1283,206 @@ public: const std::string &client_cert_path, const std::string &client_key_path); + Client(Client &&) = default; + ~Client(); bool is_valid() const; - Result Get(const char *path); - Result Get(const char *path, const Headers &headers); - Result Get(const char *path, Progress progress); - Result Get(const char *path, const Headers &headers, Progress progress); - Result Get(const char *path, ContentReceiver content_receiver); - Result Get(const char *path, const Headers &headers, - ContentReceiver content_receiver); - Result Get(const char *path, ContentReceiver content_receiver, + Result Get(const std::string &path); + Result Get(const std::string &path, const Headers &headers); + Result Get(const std::string &path, Progress progress); + Result Get(const std::string &path, const Headers &headers, Progress progress); - Result Get(const char *path, const Headers &headers, - ContentReceiver content_receiver, Progress progress); - Result Get(const char *path, ResponseHandler response_handler, + Result Get(const std::string &path, ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver); - Result Get(const char *path, const Headers &headers, + Result Get(const std::string &path, ContentReceiver content_receiver, + Progress progress); + Result Get(const std::string &path, const Headers &headers, + ContentReceiver content_receiver, Progress progress); + Result Get(const std::string &path, ResponseHandler response_handler, + ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver); - Result Get(const char *path, const Headers &headers, + Result Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress); - Result Get(const char *path, ResponseHandler response_handler, + Result Get(const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress); - Result Head(const char *path); - Result Head(const char *path, const Headers &headers); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ContentReceiver content_receiver, + Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress = nullptr); - Result Post(const char *path); - Result Post(const char *path, const std::string &body, - const char *content_type); - Result Post(const char *path, const Headers &headers, const std::string &body, - const char *content_type); - Result Post(const char *path, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Post(const char *path, const Headers &headers, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Post(const char *path, const Params ¶ms); - Result Post(const char *path, const Headers &headers, const Params ¶ms); - Result Post(const char *path, const MultipartFormDataItems &items); - Result Post(const char *path, const Headers &headers, + Result Head(const std::string &path); + Result Head(const std::string &path, const Headers &headers); + + Result Post(const std::string &path); + Result Post(const std::string &path, const Headers &headers); + Result Post(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Post(const std::string &path, const std::string &body, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Post(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Params ¶ms); + Result Post(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Post(const std::string &path, const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items); - Result Put(const char *path); - Result Put(const char *path, const std::string &body, - const char *content_type); - Result Put(const char *path, const Headers &headers, const std::string &body, - const char *content_type); - Result Put(const char *path, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Put(const char *path, const Headers &headers, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Put(const char *path, const Params ¶ms); - Result Put(const char *path, const Headers &headers, const Params ¶ms); - Result Patch(const char *path, const std::string &body, - const char *content_type); - Result Patch(const char *path, const Headers &headers, - const std::string &body, const char *content_type); - Result Patch(const char *path, size_t content_length, - ContentProvider content_provider, const char *content_type); - Result Patch(const char *path, const Headers &headers, size_t content_length, - ContentProvider content_provider, const char *content_type); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Delete(const char *path); - Result Delete(const char *path, const std::string &body, - const char *content_type); - Result Delete(const char *path, const Headers &headers); - Result Delete(const char *path, const Headers &headers, - const std::string &body, const char *content_type); + Result Put(const std::string &path); + Result Put(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Put(const std::string &path, const std::string &body, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Put(const std::string &path, size_t content_length, + ContentProvider content_provider, const std::string &content_type); + Result Put(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Put(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Put(const std::string &path, const Params ¶ms); + Result Put(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Put(const std::string &path, const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Options(const char *path); - Result Options(const char *path, const Headers &headers); + Result Patch(const std::string &path); + Result Patch(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const std::string &body, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Patch(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); - bool send(const Request &req, Response &res); + Result Delete(const std::string &path); + Result Delete(const std::string &path, const Headers &headers); + Result Delete(const std::string &path, const char *body, + size_t content_length, const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Delete(const std::string &path, const std::string &body, + const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + + Result Options(const std::string &path); + Result Options(const std::string &path, const Headers &headers); + + bool send(Request &req, Response &res, Error &error); + Result send(const Request &req); size_t is_socket_open() const; + socket_t socket() const; + void stop(); + void set_hostname_addr_map(std::map addr_map); + void set_default_headers(Headers headers); + void set_address_family(int family); void set_tcp_nodelay(bool on); void set_socket_options(SocketOptions socket_options); void set_connection_timeout(time_t sec, time_t usec = 0); - void set_read_timeout(time_t sec, time_t usec = 0); - void set_write_timeout(time_t sec, time_t usec = 0); + template + void + set_connection_timeout(const std::chrono::duration &duration); - void set_basic_auth(const char *username, const char *password); - void set_bearer_token_auth(const char *token); + void set_read_timeout(time_t sec, time_t usec = 0); + template + void set_read_timeout(const std::chrono::duration &duration); + + void set_write_timeout(time_t sec, time_t usec = 0); + template + void set_write_timeout(const std::chrono::duration &duration); + + void set_basic_auth(const std::string &username, const std::string &password); + void set_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_digest_auth(const char *username, const char *password); + void set_digest_auth(const std::string &username, + const std::string &password); #endif void set_keep_alive(bool on); void set_follow_location(bool on); + void set_url_encode(bool on); + void set_compress(bool on); void set_decompress(bool on); - void set_interface(const char *intf); + void set_interface(const std::string &intf); - void set_proxy(const char *host, int port); - void set_proxy_basic_auth(const char *username, const char *password); - void set_proxy_bearer_token_auth(const char *token); + void set_proxy(const std::string &host, int port); + void set_proxy_basic_auth(const std::string &username, + const std::string &password); + void set_proxy_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_proxy_digest_auth(const char *username, const char *password); + void set_proxy_digest_auth(const std::string &username, + const std::string &password); #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT @@ -1080,8 +1493,8 @@ public: // SSL #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_ca_cert_path(const char *ca_cert_file_path, - const char *ca_cert_dir_path = nullptr); + void set_ca_cert_path(const std::string &ca_cert_file_path, + const std::string &ca_cert_dir_path = std::string()); void set_ca_cert_store(X509_STORE *ca_cert_store); @@ -1091,27 +1504,33 @@ public: #endif private: - std::shared_ptr cli_; + std::unique_ptr cli_; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT bool is_ssl_ = false; #endif -}; // namespace httplib +}; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT class SSLServer : public Server { public: SSLServer(const char *cert_path, const char *private_key_path, const char *client_ca_cert_file_path = nullptr, - const char *client_ca_cert_dir_path = nullptr); + const char *client_ca_cert_dir_path = nullptr, + const char *private_key_password = nullptr); SSLServer(X509 *cert, EVP_PKEY *private_key, X509_STORE *client_ca_cert_store = nullptr); + SSLServer( + const std::function &setup_ssl_ctx_callback); + ~SSLServer() override; bool is_valid() const override; + SSL_CTX *ssl_context() const; + private: bool process_and_close_socket(socket_t sock) override; @@ -1136,9 +1555,6 @@ public: bool is_valid() const override; - void set_ca_cert_path(const char *ca_cert_file_path, - const char *ca_cert_dir_path = nullptr); - void set_ca_cert_store(X509_STORE *ca_cert_store); long get_openssl_verify_result() const; @@ -1146,15 +1562,17 @@ public: SSL_CTX *ssl_context() const; private: - bool create_and_connect_socket(Socket &socket) override; - void close_socket(Socket &socket, bool process_socket_ret) override; + bool create_and_connect_socket(Socket &socket, Error &error) override; + void shutdown_ssl(Socket &socket, bool shutdown_gracefully) override; + void shutdown_ssl_impl(Socket &socket, bool shutdown_socket); - bool process_socket(Socket &socket, + bool process_socket(const Socket &socket, std::function callback) override; bool is_ssl() const override; - bool connect_with_proxy(Socket &sock, Response &res, bool &success); - bool initialize_ssl(Socket &socket); + bool connect_with_proxy(Socket &sock, Response &res, bool &success, + Error &error); + bool initialize_ssl(Socket &socket, Error &error); bool load_certs(); @@ -1169,19 +1587,397 @@ private: std::vector host_components_; - std::string ca_cert_file_path_; - std::string ca_cert_dir_path_; - X509_STORE *ca_cert_store_ = nullptr; long verify_result_ = 0; friend class ClientImpl; }; #endif +/* + * Implementation of template methods. + */ + +namespace detail { + +template +inline void duration_to_sec_and_usec(const T &duration, U callback) { + auto sec = std::chrono::duration_cast(duration).count(); + auto usec = std::chrono::duration_cast( + duration - std::chrono::seconds(sec)) + .count(); + callback(static_cast(sec), static_cast(usec)); +} + +template +inline T get_header_value(const Headers & /*headers*/, + const std::string & /*key*/, size_t /*id*/ = 0, + uint64_t /*def*/ = 0) {} + +template <> +inline uint64_t get_header_value(const Headers &headers, + const std::string &key, size_t id, + uint64_t def) { + auto rng = headers.equal_range(key); + auto it = rng.first; + std::advance(it, static_cast(id)); + if (it != rng.second) { + return std::strtoull(it->second.data(), nullptr, 10); + } + return def; +} + +} // namespace detail + +template +inline T Request::get_header_value(const std::string &key, size_t id) const { + return detail::get_header_value(headers, key, id, 0); +} + +template +inline T Response::get_header_value(const std::string &key, size_t id) const { + return detail::get_header_value(headers, key, id, 0); +} + +template +inline ssize_t Stream::write_format(const char *fmt, const Args &...args) { + const auto bufsiz = 2048; + std::array buf{}; + + auto sn = snprintf(buf.data(), buf.size() - 1, fmt, args...); + if (sn <= 0) { return sn; } + + auto n = static_cast(sn); + + if (n >= buf.size() - 1) { + std::vector glowable_buf(buf.size()); + + while (n >= glowable_buf.size() - 1) { + glowable_buf.resize(glowable_buf.size() * 2); + n = static_cast( + snprintf(&glowable_buf[0], glowable_buf.size() - 1, fmt, args...)); + } + return write(&glowable_buf[0], n); + } else { + return write(buf.data(), n); + } +} + +inline void default_socket_options(socket_t sock) { + int yes = 1; +#ifdef _WIN32 + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast(&yes), + sizeof(yes)); + setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, + reinterpret_cast(&yes), sizeof(yes)); +#else +#ifdef SO_REUSEPORT + setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, reinterpret_cast(&yes), + sizeof(yes)); +#else + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast(&yes), + sizeof(yes)); +#endif +#endif +} + +template +inline Server & +Server::set_read_timeout(const std::chrono::duration &duration) { + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { set_read_timeout(sec, usec); }); + return *this; +} + +template +inline Server & +Server::set_write_timeout(const std::chrono::duration &duration) { + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { set_write_timeout(sec, usec); }); + return *this; +} + +template +inline Server & +Server::set_idle_interval(const std::chrono::duration &duration) { + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { set_idle_interval(sec, usec); }); + return *this; +} + +inline std::string to_string(const Error error) { + switch (error) { + case Error::Success: return "Success (no error)"; + case Error::Connection: return "Could not establish connection"; + case Error::BindIPAddress: return "Failed to bind IP address"; + case Error::Read: return "Failed to read connection"; + case Error::Write: return "Failed to write connection"; + case Error::ExceedRedirectCount: return "Maximum redirect count exceeded"; + case Error::Canceled: return "Connection handling canceled"; + case Error::SSLConnection: return "SSL connection failed"; + case Error::SSLLoadingCerts: return "SSL certificate loading failed"; + case Error::SSLServerVerification: return "SSL server verification failed"; + case Error::UnsupportedMultipartBoundaryChars: + return "Unsupported HTTP multipart boundary characters"; + case Error::Compression: return "Compression failed"; + case Error::ConnectionTimeout: return "Connection timed out"; + case Error::Unknown: return "Unknown"; + default: break; + } + + return "Invalid"; +} + +inline std::ostream &operator<<(std::ostream &os, const Error &obj) { + os << to_string(obj); + os << " (" << static_cast::type>(obj) << ')'; + return os; +} + +template +inline T Result::get_request_header_value(const std::string &key, + size_t id) const { + return detail::get_header_value(request_headers_, key, id, 0); +} + +template +inline void ClientImpl::set_connection_timeout( + const std::chrono::duration &duration) { + detail::duration_to_sec_and_usec(duration, [&](time_t sec, time_t usec) { + set_connection_timeout(sec, usec); + }); +} + +template +inline void ClientImpl::set_read_timeout( + const std::chrono::duration &duration) { + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { set_read_timeout(sec, usec); }); +} + +template +inline void ClientImpl::set_write_timeout( + const std::chrono::duration &duration) { + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { set_write_timeout(sec, usec); }); +} + +template +inline void Client::set_connection_timeout( + const std::chrono::duration &duration) { + cli_->set_connection_timeout(duration); +} + +template +inline void +Client::set_read_timeout(const std::chrono::duration &duration) { + cli_->set_read_timeout(duration); +} + +template +inline void +Client::set_write_timeout(const std::chrono::duration &duration) { + cli_->set_write_timeout(duration); +} + +/* + * Forward declarations and types that will be part of the .h file if split into + * .h + .cc. + */ + +std::string hosted_at(const std::string &hostname); + +void hosted_at(const std::string &hostname, std::vector &addrs); + +std::string append_query_params(const std::string &path, const Params ¶ms); + +std::pair make_range_header(Ranges ranges); + +std::pair +make_basic_authentication_header(const std::string &username, + const std::string &password, + bool is_proxy = false); + +namespace detail { + +std::string encode_query_param(const std::string &value); + +std::string decode_url(const std::string &s, bool convert_plus_to_space); + +void read_file(const std::string &path, std::string &out); + +std::string trim_copy(const std::string &s); + +void split(const char *b, const char *e, char d, + std::function fn); + +bool process_client_socket(socket_t sock, time_t read_timeout_sec, + time_t read_timeout_usec, time_t write_timeout_sec, + time_t write_timeout_usec, + std::function callback); + +socket_t create_client_socket( + const std::string &host, const std::string &ip, int port, + int address_family, bool tcp_nodelay, SocketOptions socket_options, + time_t connection_timeout_sec, time_t connection_timeout_usec, + time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, + time_t write_timeout_usec, const std::string &intf, Error &error); + +const char *get_header_value(const Headers &headers, const std::string &key, + size_t id = 0, const char *def = nullptr); + +std::string params_to_query_str(const Params ¶ms); + +void parse_query_text(const std::string &s, Params ¶ms); + +bool parse_multipart_boundary(const std::string &content_type, + std::string &boundary); + +bool parse_range_header(const std::string &s, Ranges &ranges); + +int close_socket(socket_t sock); + +ssize_t send_socket(socket_t sock, const void *ptr, size_t size, int flags); + +ssize_t read_socket(socket_t sock, void *ptr, size_t size, int flags); + +enum class EncodingType { None = 0, Gzip, Brotli }; + +EncodingType encoding_type(const Request &req, const Response &res); + +class BufferStream : public Stream { +public: + BufferStream() = default; + ~BufferStream() override = default; + + bool is_readable() const override; + bool is_writable() const override; + ssize_t read(char *ptr, size_t size) override; + ssize_t write(const char *ptr, size_t size) override; + void get_remote_ip_and_port(std::string &ip, int &port) const override; + void get_local_ip_and_port(std::string &ip, int &port) const override; + socket_t socket() const override; + + const std::string &get_buffer() const; + +private: + std::string buffer; + size_t position = 0; +}; + +class compressor { +public: + virtual ~compressor() = default; + + typedef std::function Callback; + virtual bool compress(const char *data, size_t data_length, bool last, + Callback callback) = 0; +}; + +class decompressor { +public: + virtual ~decompressor() = default; + + virtual bool is_valid() const = 0; + + typedef std::function Callback; + virtual bool decompress(const char *data, size_t data_length, + Callback callback) = 0; +}; + +class nocompressor : public compressor { +public: + virtual ~nocompressor() = default; + + bool compress(const char *data, size_t data_length, bool /*last*/, + Callback callback) override; +}; + +#ifdef CPPHTTPLIB_ZLIB_SUPPORT +class gzip_compressor : public compressor { +public: + gzip_compressor(); + ~gzip_compressor(); + + bool compress(const char *data, size_t data_length, bool last, + Callback callback) override; + +private: + bool is_valid_ = false; + z_stream strm_; +}; + +class gzip_decompressor : public decompressor { +public: + gzip_decompressor(); + ~gzip_decompressor(); + + bool is_valid() const override; + + bool decompress(const char *data, size_t data_length, + Callback callback) override; + +private: + bool is_valid_ = false; + z_stream strm_; +}; +#endif + +#ifdef CPPHTTPLIB_BROTLI_SUPPORT +class brotli_compressor : public compressor { +public: + brotli_compressor(); + ~brotli_compressor(); + + bool compress(const char *data, size_t data_length, bool last, + Callback callback) override; + +private: + BrotliEncoderState *state_ = nullptr; +}; + +class brotli_decompressor : public decompressor { +public: + brotli_decompressor(); + ~brotli_decompressor(); + + bool is_valid() const override; + + bool decompress(const char *data, size_t data_length, + Callback callback) override; + +private: + BrotliDecoderResult decoder_r; + BrotliDecoderState *decoder_s = nullptr; +}; +#endif + +// NOTE: until the read size reaches `fixed_buffer_size`, use `fixed_buffer` +// to store data. The call can set memory on stack for performance. +class stream_line_reader { +public: + stream_line_reader(Stream &strm, char *fixed_buffer, + size_t fixed_buffer_size); + const char *ptr() const; + size_t size() const; + bool end_with_crlf() const; + bool getline(); + +private: + void append(char c); + + Stream &strm_; + char *fixed_buffer_; + const size_t fixed_buffer_size_; + size_t fixed_buffer_used_size_ = 0; + std::string glowable_buffer_; +}; + +} // namespace detail + // ---------------------------------------------------------------------------- /* - * Implementation + * Implementation that will be part of the .cc file if split into .h + .cc. */ namespace detail { @@ -1227,14 +2023,6 @@ inline std::string from_i_to_hex(size_t n) { return ret; } -inline bool start_with(const std::string &a, const std::string &b) { - if (a.size() < b.size()) { return false; } - for (size_t i = 0; i < b.size(); i++) { - if (std::tolower(a[i]) != std::tolower(b[i])) { return false; } - } - return true; -} - inline size_t to_utf8(int code, char *buff) { if (code < 0x0080) { buff[0] = (code & 0x7F); @@ -1298,8 +2086,12 @@ inline std::string base64_encode(const std::string &in) { } inline bool is_file(const std::string &path) { +#ifdef _WIN32 + return _access_s(path.c_str(), 0) == 0; +#else struct stat st; return stat(path.c_str(), &st) >= 0 && S_ISREG(st.st_mode); +#endif } inline bool is_dir(const std::string &path) { @@ -1344,8 +2136,30 @@ inline bool is_valid_path(const std::string &path) { return true; } +inline std::string encode_query_param(const std::string &value) { + std::ostringstream escaped; + escaped.fill('0'); + escaped << std::hex; + + for (auto c : value) { + if (std::isalnum(static_cast(c)) || c == '-' || c == '_' || + c == '.' || c == '!' || c == '~' || c == '*' || c == '\'' || c == '(' || + c == ')') { + escaped << c; + } else { + escaped << std::uppercase; + escaped << '%' << std::setw(2) + << static_cast(static_cast(c)); + escaped << std::nouppercase; + } + } + + return escaped.str(); +} + inline std::string encode_url(const std::string &s) { std::string result; + result.reserve(s.size()); for (size_t i = 0; s[i]; i++) { switch (s[i]) { @@ -1446,7 +2260,8 @@ inline std::string trim_copy(const std::string &s) { return s.substr(r.first, r.second - r.first); } -template void split(const char *b, const char *e, char d, Fn fn) { +inline void split(const char *b, const char *e, char d, + std::function fn) { size_t i = 0; size_t beg = 0; @@ -1465,81 +2280,70 @@ template void split(const char *b, const char *e, char d, Fn fn) { } } -// NOTE: until the read size reaches `fixed_buffer_size`, use `fixed_buffer` -// to store data. The call can set memory on stack for performance. -class stream_line_reader { -public: - stream_line_reader(Stream &strm, char *fixed_buffer, size_t fixed_buffer_size) - : strm_(strm), fixed_buffer_(fixed_buffer), - fixed_buffer_size_(fixed_buffer_size) {} +inline stream_line_reader::stream_line_reader(Stream &strm, char *fixed_buffer, + size_t fixed_buffer_size) + : strm_(strm), fixed_buffer_(fixed_buffer), + fixed_buffer_size_(fixed_buffer_size) {} - const char *ptr() const { - if (glowable_buffer_.empty()) { - return fixed_buffer_; - } else { - return glowable_buffer_.data(); - } +inline const char *stream_line_reader::ptr() const { + if (glowable_buffer_.empty()) { + return fixed_buffer_; + } else { + return glowable_buffer_.data(); } +} - size_t size() const { - if (glowable_buffer_.empty()) { - return fixed_buffer_used_size_; - } else { - return glowable_buffer_.size(); - } +inline size_t stream_line_reader::size() const { + if (glowable_buffer_.empty()) { + return fixed_buffer_used_size_; + } else { + return glowable_buffer_.size(); } +} - bool end_with_crlf() const { - auto end = ptr() + size(); - return size() >= 2 && end[-2] == '\r' && end[-1] == '\n'; - } +inline bool stream_line_reader::end_with_crlf() const { + auto end = ptr() + size(); + return size() >= 2 && end[-2] == '\r' && end[-1] == '\n'; +} - bool getline() { - fixed_buffer_used_size_ = 0; - glowable_buffer_.clear(); +inline bool stream_line_reader::getline() { + fixed_buffer_used_size_ = 0; + glowable_buffer_.clear(); - for (size_t i = 0;; i++) { - char byte; - auto n = strm_.read(&byte, 1); + for (size_t i = 0;; i++) { + char byte; + auto n = strm_.read(&byte, 1); - if (n < 0) { + if (n < 0) { + return false; + } else if (n == 0) { + if (i == 0) { return false; - } else if (n == 0) { - if (i == 0) { - return false; - } else { - break; - } + } else { + break; } - - append(byte); - - if (byte == '\n') { break; } } - return true; + append(byte); + + if (byte == '\n') { break; } } -private: - void append(char c) { - if (fixed_buffer_used_size_ < fixed_buffer_size_ - 1) { - fixed_buffer_[fixed_buffer_used_size_++] = c; - fixed_buffer_[fixed_buffer_used_size_] = '\0'; - } else { - if (glowable_buffer_.empty()) { - assert(fixed_buffer_[fixed_buffer_used_size_] == '\0'); - glowable_buffer_.assign(fixed_buffer_, fixed_buffer_used_size_); - } - glowable_buffer_ += c; + return true; +} + +inline void stream_line_reader::append(char c) { + if (fixed_buffer_used_size_ < fixed_buffer_size_ - 1) { + fixed_buffer_[fixed_buffer_used_size_++] = c; + fixed_buffer_[fixed_buffer_used_size_] = '\0'; + } else { + if (glowable_buffer_.empty()) { + assert(fixed_buffer_[fixed_buffer_used_size_] == '\0'); + glowable_buffer_.assign(fixed_buffer_, fixed_buffer_used_size_); } + glowable_buffer_ += c; } - - Stream &strm_; - char *fixed_buffer_; - const size_t fixed_buffer_size_; - size_t fixed_buffer_used_size_ = 0; - std::string glowable_buffer_; -}; +} inline int close_socket(socket_t sock) { #ifdef _WIN32 @@ -1559,6 +2363,31 @@ template inline ssize_t handle_EINTR(T fn) { return res; } +inline ssize_t read_socket(socket_t sock, void *ptr, size_t size, int flags) { + return handle_EINTR([&]() { + return recv(sock, +#ifdef _WIN32 + static_cast(ptr), static_cast(size), +#else + ptr, size, +#endif + flags); + }); +} + +inline ssize_t send_socket(socket_t sock, const void *ptr, size_t size, + int flags) { + return handle_EINTR([&]() { + return send(sock, +#ifdef _WIN32 + static_cast(ptr), static_cast(size), +#else + ptr, size, +#endif + flags); + }); +} + inline ssize_t select_read(socket_t sock, time_t sec, time_t usec) { #ifdef CPPHTTPLIB_USE_POLL struct pollfd pfd_read; @@ -1569,6 +2398,10 @@ inline ssize_t select_read(socket_t sock, time_t sec, time_t usec) { return handle_EINTR([&]() { return poll(&pfd_read, 1, timeout); }); #else +#ifndef _WIN32 + if (sock >= FD_SETSIZE) { return 1; } +#endif + fd_set fds; FD_ZERO(&fds); FD_SET(sock, &fds); @@ -1593,6 +2426,10 @@ inline ssize_t select_write(socket_t sock, time_t sec, time_t usec) { return handle_EINTR([&]() { return poll(&pfd_read, 1, timeout); }); #else +#ifndef _WIN32 + if (sock >= FD_SETSIZE) { return 1; } +#endif + fd_set fds; FD_ZERO(&fds); FD_SET(sock, &fds); @@ -1607,7 +2444,8 @@ inline ssize_t select_write(socket_t sock, time_t sec, time_t usec) { #endif } -inline bool wait_until_socket_is_ready(socket_t sock, time_t sec, time_t usec) { +inline Error wait_until_socket_is_ready(socket_t sock, time_t sec, + time_t usec) { #ifdef CPPHTTPLIB_USE_POLL struct pollfd pfd_read; pfd_read.fd = sock; @@ -1617,15 +2455,23 @@ inline bool wait_until_socket_is_ready(socket_t sock, time_t sec, time_t usec) { auto poll_res = handle_EINTR([&]() { return poll(&pfd_read, 1, timeout); }); + if (poll_res == 0) { return Error::ConnectionTimeout; } + if (poll_res > 0 && pfd_read.revents & (POLLIN | POLLOUT)) { int error = 0; socklen_t len = sizeof(error); auto res = getsockopt(sock, SOL_SOCKET, SO_ERROR, reinterpret_cast(&error), &len); - return res >= 0 && !error; + auto successful = res >= 0 && !error; + return successful ? Error::Success : Error::Connection; } - return false; + + return Error::Connection; #else +#ifndef _WIN32 + if (sock >= FD_SETSIZE) { return Error::Connection; } +#endif + fd_set fdsr; FD_ZERO(&fdsr); FD_SET(sock, &fdsr); @@ -1641,17 +2487,31 @@ inline bool wait_until_socket_is_ready(socket_t sock, time_t sec, time_t usec) { return select(static_cast(sock + 1), &fdsr, &fdsw, &fdse, &tv); }); + if (ret == 0) { return Error::ConnectionTimeout; } + if (ret > 0 && (FD_ISSET(sock, &fdsr) || FD_ISSET(sock, &fdsw))) { int error = 0; socklen_t len = sizeof(error); - return getsockopt(sock, SOL_SOCKET, SO_ERROR, - reinterpret_cast(&error), &len) >= 0 && - !error; + auto res = getsockopt(sock, SOL_SOCKET, SO_ERROR, + reinterpret_cast(&error), &len); + auto successful = res >= 0 && !error; + return successful ? Error::Success : Error::Connection; } - return false; + return Error::Connection; #endif } +inline bool is_socket_alive(socket_t sock) { + const auto val = detail::select_read(sock, 0, 0); + if (val == 0) { + return true; + } else if (val < 0 && errno == EBADF) { + return false; + } + char buf[1]; + return detail::read_socket(sock, &buf[0], sizeof(buf), MSG_PEEK) > 0; +} + class SocketStream : public Stream { public: SocketStream(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, @@ -1663,6 +2523,8 @@ public: ssize_t read(char *ptr, size_t size) override; ssize_t write(const char *ptr, size_t size) override; void get_remote_ip_and_port(std::string &ip, int &port) const override; + void get_local_ip_and_port(std::string &ip, int &port) const override; + socket_t socket() const override; private: socket_t sock_; @@ -1670,6 +2532,12 @@ private: time_t read_timeout_usec_; time_t write_timeout_sec_; time_t write_timeout_usec_; + + std::vector read_buff_; + size_t read_buff_off_ = 0; + size_t read_buff_content_size_ = 0; + + static const size_t read_buff_size_ = 1024 * 4; }; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT @@ -1685,6 +2553,8 @@ public: ssize_t read(char *ptr, size_t size) override; ssize_t write(const char *ptr, size_t size) override; void get_remote_ip_and_port(std::string &ip, int &port) const override; + void get_local_ip_and_port(std::string &ip, int &port) const override; + socket_t socket() const override; private: socket_t sock_; @@ -1696,24 +2566,6 @@ private: }; #endif -class BufferStream : public Stream { -public: - BufferStream() = default; - ~BufferStream() override = default; - - bool is_readable() const override; - bool is_writable() const override; - ssize_t read(char *ptr, size_t size) override; - ssize_t write(const char *ptr, size_t size) override; - void get_remote_ip_and_port(std::string &ip, int &port) const override; - - const std::string &get_buffer() const; - -private: - std::string buffer; - size_t position = 0; -}; - inline bool keep_alive(socket_t sock, time_t keep_alive_timeout_sec) { using namespace std::chrono; auto start = steady_clock::now(); @@ -1735,12 +2587,14 @@ inline bool keep_alive(socket_t sock, time_t keep_alive_timeout_sec) { template inline bool -process_server_socket_core(socket_t sock, size_t keep_alive_max_count, +process_server_socket_core(const std::atomic &svr_sock, socket_t sock, + size_t keep_alive_max_count, time_t keep_alive_timeout_sec, T callback) { assert(keep_alive_max_count > 0); auto ret = false; auto count = keep_alive_max_count; - while (count > 0 && keep_alive(sock, keep_alive_timeout_sec)) { + while (svr_sock != INVALID_SOCKET && count > 0 && + keep_alive(sock, keep_alive_timeout_sec)) { auto close_connection = count == 1; auto connection_closed = false; ret = callback(close_connection, connection_closed); @@ -1752,12 +2606,13 @@ process_server_socket_core(socket_t sock, size_t keep_alive_max_count, template inline bool -process_server_socket(socket_t sock, size_t keep_alive_max_count, +process_server_socket(const std::atomic &svr_sock, socket_t sock, + size_t keep_alive_max_count, time_t keep_alive_timeout_sec, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, T callback) { return process_server_socket_core( - sock, keep_alive_max_count, keep_alive_timeout_sec, + svr_sock, sock, keep_alive_max_count, keep_alive_timeout_sec, [&](bool close_connection, bool &connection_closed) { SocketStream strm(sock, read_timeout_sec, read_timeout_usec, write_timeout_sec, write_timeout_usec); @@ -1765,11 +2620,11 @@ process_server_socket(socket_t sock, size_t keep_alive_max_count, }); } -template inline bool process_client_socket(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, - time_t write_timeout_usec, T callback) { + time_t write_timeout_usec, + std::function callback) { SocketStream strm(sock, read_timeout_sec, read_timeout_usec, write_timeout_sec, write_timeout_usec); return callback(strm); @@ -1784,23 +2639,61 @@ inline int shutdown_socket(socket_t sock) { } template -socket_t create_socket(const char *host, int port, int socket_flags, - bool tcp_nodelay, SocketOptions socket_options, +socket_t create_socket(const std::string &host, const std::string &ip, int port, + int address_family, int socket_flags, bool tcp_nodelay, + SocketOptions socket_options, BindOrConnect bind_or_connect) { // Get address info + const char *node = nullptr; struct addrinfo hints; struct addrinfo *result; memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = socket_flags; hints.ai_protocol = 0; + if (!ip.empty()) { + node = ip.c_str(); + // Ask getaddrinfo to convert IP in c-string to address + hints.ai_family = AF_UNSPEC; + hints.ai_flags = AI_NUMERICHOST; + } else { + if (!host.empty()) { node = host.c_str(); } + hints.ai_family = address_family; + hints.ai_flags = socket_flags; + } + +#ifndef _WIN32 + if (hints.ai_family == AF_UNIX) { + const auto addrlen = host.length(); + if (addrlen > sizeof(sockaddr_un::sun_path)) return INVALID_SOCKET; + + auto sock = socket(hints.ai_family, hints.ai_socktype, hints.ai_protocol); + if (sock != INVALID_SOCKET) { + sockaddr_un addr{}; + addr.sun_family = AF_UNIX; + std::copy(host.begin(), host.end(), addr.sun_path); + + hints.ai_addr = reinterpret_cast(&addr); + hints.ai_addrlen = static_cast( + sizeof(addr) - sizeof(addr.sun_path) + addrlen); + + fcntl(sock, F_SETFD, FD_CLOEXEC); + if (socket_options) { socket_options(sock); } + + if (!bind_or_connect(sock, hints)) { + close_socket(sock); + sock = INVALID_SOCKET; + } + } + return sock; + } +#endif + auto service = std::to_string(port); - if (getaddrinfo(host, service.c_str(), &hints, &result)) { -#ifdef __linux__ + if (getaddrinfo(node, service.c_str(), &hints, &result)) { +#if defined __linux__ && !defined __ANDROID__ res_init(); #endif return INVALID_SOCKET; @@ -1809,8 +2702,9 @@ socket_t create_socket(const char *host, int port, int socket_flags, for (auto rp = result; rp; rp = rp->ai_next) { // Create a socket #ifdef _WIN32 - auto sock = WSASocketW(rp->ai_family, rp->ai_socktype, rp->ai_protocol, - nullptr, 0, WSA_FLAG_NO_HANDLE_INHERIT); + auto sock = + WSASocketW(rp->ai_family, rp->ai_socktype, rp->ai_protocol, nullptr, 0, + WSA_FLAG_NO_HANDLE_INHERIT | WSA_FLAG_OVERLAPPED); /** * Since the WSA_FLAG_NO_HANDLE_INHERIT is only supported on Windows 7 SP1 * and above the socket creation fails on older Windows Systems. @@ -1834,7 +2728,10 @@ socket_t create_socket(const char *host, int port, int socket_flags, if (sock == INVALID_SOCKET) { continue; } #ifndef _WIN32 - if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) { continue; } + if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) { + close_socket(sock); + continue; + } #endif if (tcp_nodelay) { @@ -1883,7 +2780,7 @@ inline bool is_connection_error() { #endif } -inline bool bind_ip_address(socket_t sock, const char *host) { +inline bool bind_ip_address(socket_t sock, const std::string &host) { struct addrinfo hints; struct addrinfo *result; @@ -1892,7 +2789,7 @@ inline bool bind_ip_address(socket_t sock, const char *host) { hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = 0; - if (getaddrinfo(host, "0", &hints, &result)) { return false; } + if (getaddrinfo(host.c_str(), "0", &hints, &result)) { return false; } auto ret = false; for (auto rp = result; rp; rp = rp->ai_next) { @@ -1907,16 +2804,19 @@ inline bool bind_ip_address(socket_t sock, const char *host) { return ret; } -#if !defined _WIN32 && !defined ANDROID +#if !defined _WIN32 && !defined ANDROID && !defined _AIX #define USE_IF2IP #endif #ifdef USE_IF2IP -inline std::string if2ip(const std::string &ifn) { +inline std::string if2ip(int address_family, const std::string &ifn) { struct ifaddrs *ifap; getifaddrs(&ifap); + std::string addr_candidate; for (auto ifa = ifap; ifa; ifa = ifa->ifa_next) { - if (ifa->ifa_addr && ifn == ifa->ifa_name) { + if (ifa->ifa_addr && ifn == ifa->ifa_name && + (AF_UNSPEC == address_family || + ifa->ifa_addr->sa_family == address_family)) { if (ifa->ifa_addr->sa_family == AF_INET) { auto sa = reinterpret_cast(ifa->ifa_addr); char buf[INET_ADDRSTRLEN]; @@ -1924,48 +2824,94 @@ inline std::string if2ip(const std::string &ifn) { freeifaddrs(ifap); return std::string(buf, INET_ADDRSTRLEN); } + } else if (ifa->ifa_addr->sa_family == AF_INET6) { + auto sa = reinterpret_cast(ifa->ifa_addr); + if (!IN6_IS_ADDR_LINKLOCAL(&sa->sin6_addr)) { + char buf[INET6_ADDRSTRLEN] = {}; + if (inet_ntop(AF_INET6, &sa->sin6_addr, buf, INET6_ADDRSTRLEN)) { + // equivalent to mac's IN6_IS_ADDR_UNIQUE_LOCAL + auto s6_addr_head = sa->sin6_addr.s6_addr[0]; + if (s6_addr_head == 0xfc || s6_addr_head == 0xfd) { + addr_candidate = std::string(buf, INET6_ADDRSTRLEN); + } else { + freeifaddrs(ifap); + return std::string(buf, INET6_ADDRSTRLEN); + } + } + } } } } freeifaddrs(ifap); - return std::string(); + return addr_candidate; } #endif -inline socket_t create_client_socket(const char *host, int port, - bool tcp_nodelay, - SocketOptions socket_options, - time_t timeout_sec, time_t timeout_usec, - const std::string &intf, Error &error) { +inline socket_t create_client_socket( + const std::string &host, const std::string &ip, int port, + int address_family, bool tcp_nodelay, SocketOptions socket_options, + time_t connection_timeout_sec, time_t connection_timeout_usec, + time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, + time_t write_timeout_usec, const std::string &intf, Error &error) { auto sock = create_socket( - host, port, 0, tcp_nodelay, socket_options, - [&](socket_t sock, struct addrinfo &ai) -> bool { + host, ip, port, address_family, 0, tcp_nodelay, std::move(socket_options), + [&](socket_t sock2, struct addrinfo &ai) -> bool { if (!intf.empty()) { #ifdef USE_IF2IP - auto ip = if2ip(intf); - if (ip.empty()) { ip = intf; } - if (!bind_ip_address(sock, ip.c_str())) { + auto ip_from_if = if2ip(address_family, intf); + if (ip_from_if.empty()) { ip_from_if = intf; } + if (!bind_ip_address(sock2, ip_from_if.c_str())) { error = Error::BindIPAddress; return false; } #endif } - set_nonblocking(sock, true); + set_nonblocking(sock2, true); auto ret = - ::connect(sock, ai.ai_addr, static_cast(ai.ai_addrlen)); + ::connect(sock2, ai.ai_addr, static_cast(ai.ai_addrlen)); if (ret < 0) { - if (is_connection_error() || - !wait_until_socket_is_ready(sock, timeout_sec, timeout_usec)) { - close_socket(sock); + if (is_connection_error()) { error = Error::Connection; return false; } + error = wait_until_socket_is_ready(sock2, connection_timeout_sec, + connection_timeout_usec); + if (error != Error::Success) { return false; } + } + + set_nonblocking(sock2, false); + + { +#ifdef _WIN32 + auto timeout = static_cast(read_timeout_sec * 1000 + + read_timeout_usec / 1000); + setsockopt(sock2, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, + sizeof(timeout)); +#else + timeval tv; + tv.tv_sec = static_cast(read_timeout_sec); + tv.tv_usec = static_cast(read_timeout_usec); + setsockopt(sock2, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv)); +#endif + } + { + +#ifdef _WIN32 + auto timeout = static_cast(write_timeout_sec * 1000 + + write_timeout_usec / 1000); + setsockopt(sock2, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, + sizeof(timeout)); +#else + timeval tv; + tv.tv_sec = static_cast(write_timeout_sec); + tv.tv_usec = static_cast(write_timeout_usec); + setsockopt(sock2, SOL_SOCKET, SO_SNDTIMEO, (char *)&tv, sizeof(tv)); +#endif } - set_nonblocking(sock, false); error = Error::Success; return true; }); @@ -1979,21 +2925,34 @@ inline socket_t create_client_socket(const char *host, int port, return sock; } -inline void get_remote_ip_and_port(const struct sockaddr_storage &addr, - socklen_t addr_len, std::string &ip, - int &port) { +inline bool get_ip_and_port(const struct sockaddr_storage &addr, + socklen_t addr_len, std::string &ip, int &port) { if (addr.ss_family == AF_INET) { port = ntohs(reinterpret_cast(&addr)->sin_port); } else if (addr.ss_family == AF_INET6) { port = ntohs(reinterpret_cast(&addr)->sin6_port); + } else { + return false; } std::array ipstr{}; - if (!getnameinfo(reinterpret_cast(&addr), addr_len, - ipstr.data(), static_cast(ipstr.size()), nullptr, - 0, NI_NUMERICHOST)) { - ip = ipstr.data(); + if (getnameinfo(reinterpret_cast(&addr), addr_len, + ipstr.data(), static_cast(ipstr.size()), nullptr, + 0, NI_NUMERICHOST)) { + return false; + } + + ip = ipstr.data(); + return true; +} + +inline void get_local_ip_and_port(socket_t sock, std::string &ip, int &port) { + struct sockaddr_storage addr; + socklen_t addr_len = sizeof(addr); + if (!getsockname(sock, reinterpret_cast(&addr), + &addr_len)) { + get_ip_and_port(addr, addr_len, ip, port); } } @@ -2003,10 +2962,52 @@ inline void get_remote_ip_and_port(socket_t sock, std::string &ip, int &port) { if (!getpeername(sock, reinterpret_cast(&addr), &addr_len)) { - get_remote_ip_and_port(addr, addr_len, ip, port); +#ifndef _WIN32 + if (addr.ss_family == AF_UNIX) { +#if defined(__linux__) + struct ucred ucred; + socklen_t len = sizeof(ucred); + if (getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &ucred, &len) == 0) { + port = ucred.pid; + } +#elif defined(SOL_LOCAL) && defined(SO_PEERPID) // __APPLE__ + pid_t pid; + socklen_t len = sizeof(pid); + if (getsockopt(sock, SOL_LOCAL, SO_PEERPID, &pid, &len) == 0) { + port = pid; + } +#endif + return; + } +#endif + get_ip_and_port(addr, addr_len, ip, port); } } +inline constexpr unsigned int str2tag_core(const char *s, size_t l, + unsigned int h) { + return (l == 0) + ? h + : str2tag_core( + s + 1, l - 1, + // Unsets the 6 high bits of h, therefore no overflow happens + (((std::numeric_limits::max)() >> 6) & + h * 33) ^ + static_cast(*s)); +} + +inline unsigned int str2tag(const std::string &s) { + return str2tag_core(s.data(), s.size(), 0); +} + +namespace udl { + +inline constexpr unsigned int operator"" _t(const char *s, size_t l) { + return str2tag_core(s, l, 0); +} + +} // namespace udl + inline const char * find_content_type(const std::string &path, const std::map &user_data) { @@ -2015,36 +3016,60 @@ find_content_type(const std::string &path, auto it = user_data.find(ext); if (it != user_data.end()) { return it->second.c_str(); } - if (ext == "txt") { - return "text/plain"; - } else if (ext == "html" || ext == "htm") { - return "text/html"; - } else if (ext == "css") { - return "text/css"; - } else if (ext == "jpeg" || ext == "jpg") { - return "image/jpg"; - } else if (ext == "png") { - return "image/png"; - } else if (ext == "gif") { - return "image/gif"; - } else if (ext == "svg") { - return "image/svg+xml"; - } else if (ext == "ico") { - return "image/x-icon"; - } else if (ext == "json") { - return "application/json"; - } else if (ext == "pdf") { - return "application/pdf"; - } else if (ext == "js") { - return "application/javascript"; - } else if (ext == "wasm") { - return "application/wasm"; - } else if (ext == "xml") { - return "application/xml"; - } else if (ext == "xhtml") { - return "application/xhtml+xml"; + using udl::operator""_t; + + switch (str2tag(ext)) { + default: return nullptr; + case "css"_t: return "text/css"; + case "csv"_t: return "text/csv"; + case "htm"_t: + case "html"_t: return "text/html"; + case "js"_t: + case "mjs"_t: return "text/javascript"; + case "txt"_t: return "text/plain"; + case "vtt"_t: return "text/vtt"; + + case "apng"_t: return "image/apng"; + case "avif"_t: return "image/avif"; + case "bmp"_t: return "image/bmp"; + case "gif"_t: return "image/gif"; + case "png"_t: return "image/png"; + case "svg"_t: return "image/svg+xml"; + case "webp"_t: return "image/webp"; + case "ico"_t: return "image/x-icon"; + case "tif"_t: return "image/tiff"; + case "tiff"_t: return "image/tiff"; + case "jpg"_t: + case "jpeg"_t: return "image/jpeg"; + + case "mp4"_t: return "video/mp4"; + case "mpeg"_t: return "video/mpeg"; + case "webm"_t: return "video/webm"; + + case "mp3"_t: return "audio/mp3"; + case "mpga"_t: return "audio/mpeg"; + case "weba"_t: return "audio/webm"; + case "wav"_t: return "audio/wave"; + + case "otf"_t: return "font/otf"; + case "ttf"_t: return "font/ttf"; + case "woff"_t: return "font/woff"; + case "woff2"_t: return "font/woff2"; + + case "7z"_t: return "application/x-7z-compressed"; + case "atom"_t: return "application/atom+xml"; + case "pdf"_t: return "application/pdf"; + case "json"_t: return "application/json"; + case "rss"_t: return "application/rss+xml"; + case "tar"_t: return "application/x-tar"; + case "xht"_t: + case "xhtml"_t: return "application/xhtml+xml"; + case "xslt"_t: return "application/xslt+xml"; + case "xml"_t: return "application/xml"; + case "gz"_t: return "application/gzip"; + case "zip"_t: return "application/zip"; + case "wasm"_t: return "application/wasm"; } - return nullptr; } inline const char *status_message(int status) { @@ -2118,15 +3143,22 @@ inline const char *status_message(int status) { } inline bool can_compress_content_type(const std::string &content_type) { - return (!content_type.find("text/") && content_type != "text/event-stream") || - content_type == "image/svg+xml" || - content_type == "application/javascript" || - content_type == "application/json" || - content_type == "application/xml" || - content_type == "application/xhtml+xml"; -} + using udl::operator""_t; -enum class EncodingType { None = 0, Gzip, Brotli }; + auto tag = str2tag(content_type); + + switch (tag) { + case "image/svg+xml"_t: + case "application/javascript"_t: + case "application/json"_t: + case "application/xml"_t: + case "application/protobuf"_t: + case "application/xhtml+xml"_t: return true; + + default: + return !content_type.rfind("text/", 0) && tag != "text/event-stream"_t; + } +} inline EncodingType encoding_type(const Request &req, const Response &res) { auto ret = @@ -2151,120 +3183,109 @@ inline EncodingType encoding_type(const Request &req, const Response &res) { return EncodingType::None; } -class compressor { -public: - virtual ~compressor(){}; - - typedef std::function Callback; - virtual bool compress(const char *data, size_t data_length, bool last, - Callback callback) = 0; -}; - -class decompressor { -public: - virtual ~decompressor() {} - - virtual bool is_valid() const = 0; - - typedef std::function Callback; - virtual bool decompress(const char *data, size_t data_length, - Callback callback) = 0; -}; - -class nocompressor : public compressor { -public: - ~nocompressor(){}; - - bool compress(const char *data, size_t data_length, bool /*last*/, - Callback callback) override { - if (!data_length) { return true; } - return callback(data, data_length); - } -}; +inline bool nocompressor::compress(const char *data, size_t data_length, + bool /*last*/, Callback callback) { + if (!data_length) { return true; } + return callback(data, data_length); +} #ifdef CPPHTTPLIB_ZLIB_SUPPORT -class gzip_compressor : public compressor { -public: - gzip_compressor() { - std::memset(&strm_, 0, sizeof(strm_)); - strm_.zalloc = Z_NULL; - strm_.zfree = Z_NULL; - strm_.opaque = Z_NULL; +inline gzip_compressor::gzip_compressor() { + std::memset(&strm_, 0, sizeof(strm_)); + strm_.zalloc = Z_NULL; + strm_.zfree = Z_NULL; + strm_.opaque = Z_NULL; - is_valid_ = deflateInit2(&strm_, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 31, 8, - Z_DEFAULT_STRATEGY) == Z_OK; - } + is_valid_ = deflateInit2(&strm_, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 31, 8, + Z_DEFAULT_STRATEGY) == Z_OK; +} - ~gzip_compressor() { deflateEnd(&strm_); } +inline gzip_compressor::~gzip_compressor() { deflateEnd(&strm_); } - bool compress(const char *data, size_t data_length, bool last, - Callback callback) override { - assert(is_valid_); +inline bool gzip_compressor::compress(const char *data, size_t data_length, + bool last, Callback callback) { + assert(is_valid_); - auto flush = last ? Z_FINISH : Z_NO_FLUSH; + do { + constexpr size_t max_avail_in = + (std::numeric_limits::max)(); - strm_.avail_in = static_cast(data_length); + strm_.avail_in = static_cast( + (std::min)(data_length, max_avail_in)); strm_.next_in = const_cast(reinterpret_cast(data)); + data_length -= strm_.avail_in; + data += strm_.avail_in; + + auto flush = (last && data_length == 0) ? Z_FINISH : Z_NO_FLUSH; int ret = Z_OK; std::array buff{}; do { - strm_.avail_out = buff.size(); + strm_.avail_out = static_cast(buff.size()); strm_.next_out = reinterpret_cast(buff.data()); ret = deflate(&strm_, flush); - assert(ret != Z_STREAM_ERROR); + if (ret == Z_STREAM_ERROR) { return false; } if (!callback(buff.data(), buff.size() - strm_.avail_out)) { return false; } } while (strm_.avail_out == 0); - assert((last && ret == Z_STREAM_END) || (!last && ret == Z_OK)); + assert((flush == Z_FINISH && ret == Z_STREAM_END) || + (flush == Z_NO_FLUSH && ret == Z_OK)); assert(strm_.avail_in == 0); - return true; - } + } while (data_length > 0); -private: - bool is_valid_ = false; - z_stream strm_; -}; + return true; +} -class gzip_decompressor : public decompressor { -public: - gzip_decompressor() { - std::memset(&strm_, 0, sizeof(strm_)); - strm_.zalloc = Z_NULL; - strm_.zfree = Z_NULL; - strm_.opaque = Z_NULL; +inline gzip_decompressor::gzip_decompressor() { + std::memset(&strm_, 0, sizeof(strm_)); + strm_.zalloc = Z_NULL; + strm_.zfree = Z_NULL; + strm_.opaque = Z_NULL; - // 15 is the value of wbits, which should be at the maximum possible value - // to ensure that any gzip stream can be decoded. The offset of 32 specifies - // that the stream type should be automatically detected either gzip or - // deflate. - is_valid_ = inflateInit2(&strm_, 32 + 15) == Z_OK; - } + // 15 is the value of wbits, which should be at the maximum possible value + // to ensure that any gzip stream can be decoded. The offset of 32 specifies + // that the stream type should be automatically detected either gzip or + // deflate. + is_valid_ = inflateInit2(&strm_, 32 + 15) == Z_OK; +} - ~gzip_decompressor() { inflateEnd(&strm_); } +inline gzip_decompressor::~gzip_decompressor() { inflateEnd(&strm_); } - bool is_valid() const override { return is_valid_; } +inline bool gzip_decompressor::is_valid() const { return is_valid_; } - bool decompress(const char *data, size_t data_length, - Callback callback) override { - assert(is_valid_); +inline bool gzip_decompressor::decompress(const char *data, size_t data_length, + Callback callback) { + assert(is_valid_); - int ret = Z_OK; + int ret = Z_OK; - strm_.avail_in = static_cast(data_length); + do { + constexpr size_t max_avail_in = + (std::numeric_limits::max)(); + + strm_.avail_in = static_cast( + (std::min)(data_length, max_avail_in)); strm_.next_in = const_cast(reinterpret_cast(data)); + data_length -= strm_.avail_in; + data += strm_.avail_in; + std::array buff{}; while (strm_.avail_in > 0) { - strm_.avail_out = buff.size(); + strm_.avail_out = static_cast(buff.size()); strm_.next_out = reinterpret_cast(buff.data()); + auto prev_avail_in = strm_.avail_in; + ret = inflate(&strm_, Z_NO_FLUSH); + + if (prev_avail_in - strm_.avail_in == 0) { return false; } + assert(ret != Z_STREAM_ERROR); switch (ret) { case Z_NEED_DICT: @@ -2277,118 +3298,107 @@ public: } } - return ret == Z_OK || ret == Z_STREAM_END; - } + if (ret != Z_OK && ret != Z_STREAM_END) return false; -private: - bool is_valid_ = false; - z_stream strm_; -}; + } while (data_length > 0); + + return true; +} #endif #ifdef CPPHTTPLIB_BROTLI_SUPPORT -class brotli_compressor : public compressor { -public: - brotli_compressor() { - state_ = BrotliEncoderCreateInstance(nullptr, nullptr, nullptr); - } +inline brotli_compressor::brotli_compressor() { + state_ = BrotliEncoderCreateInstance(nullptr, nullptr, nullptr); +} - ~brotli_compressor() { BrotliEncoderDestroyInstance(state_); } +inline brotli_compressor::~brotli_compressor() { + BrotliEncoderDestroyInstance(state_); +} - bool compress(const char *data, size_t data_length, bool last, - Callback callback) override { - std::array buff{}; +inline bool brotli_compressor::compress(const char *data, size_t data_length, + bool last, Callback callback) { + std::array buff{}; - auto operation = last ? BROTLI_OPERATION_FINISH : BROTLI_OPERATION_PROCESS; - auto available_in = data_length; - auto next_in = reinterpret_cast(data); + auto operation = last ? BROTLI_OPERATION_FINISH : BROTLI_OPERATION_PROCESS; + auto available_in = data_length; + auto next_in = reinterpret_cast(data); - for (;;) { - if (last) { - if (BrotliEncoderIsFinished(state_)) { break; } - } else { - if (!available_in) { break; } - } - - auto available_out = buff.size(); - auto next_out = buff.data(); - - if (!BrotliEncoderCompressStream(state_, operation, &available_in, - &next_in, &available_out, &next_out, - nullptr)) { - return false; - } - - auto output_bytes = buff.size() - available_out; - if (output_bytes) { - callback(reinterpret_cast(buff.data()), output_bytes); - } + for (;;) { + if (last) { + if (BrotliEncoderIsFinished(state_)) { break; } + } else { + if (!available_in) { break; } } - return true; - } + auto available_out = buff.size(); + auto next_out = buff.data(); -private: - BrotliEncoderState *state_ = nullptr; -}; - -class brotli_decompressor : public decompressor { -public: - brotli_decompressor() { - decoder_s = BrotliDecoderCreateInstance(0, 0, 0); - decoder_r = decoder_s ? BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT - : BROTLI_DECODER_RESULT_ERROR; - } - - ~brotli_decompressor() { - if (decoder_s) { BrotliDecoderDestroyInstance(decoder_s); } - } - - bool is_valid() const override { return decoder_s; } - - bool decompress(const char *data, size_t data_length, - Callback callback) override { - if (decoder_r == BROTLI_DECODER_RESULT_SUCCESS || - decoder_r == BROTLI_DECODER_RESULT_ERROR) { - return 0; + if (!BrotliEncoderCompressStream(state_, operation, &available_in, &next_in, + &available_out, &next_out, nullptr)) { + return false; } - const uint8_t *next_in = (const uint8_t *)data; - size_t avail_in = data_length; - size_t total_out; - - decoder_r = BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT; - - std::array buff{}; - while (decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT) { - char *next_out = buff.data(); - size_t avail_out = buff.size(); - - decoder_r = BrotliDecoderDecompressStream( - decoder_s, &avail_in, &next_in, &avail_out, - reinterpret_cast(&next_out), &total_out); - - if (decoder_r == BROTLI_DECODER_RESULT_ERROR) { return false; } - - if (!callback(buff.data(), buff.size() - avail_out)) { return false; } + auto output_bytes = buff.size() - available_out; + if (output_bytes) { + callback(reinterpret_cast(buff.data()), output_bytes); } - - return decoder_r == BROTLI_DECODER_RESULT_SUCCESS || - decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT; } -private: - BrotliDecoderResult decoder_r; - BrotliDecoderState *decoder_s = nullptr; -}; + return true; +} + +inline brotli_decompressor::brotli_decompressor() { + decoder_s = BrotliDecoderCreateInstance(0, 0, 0); + decoder_r = decoder_s ? BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT + : BROTLI_DECODER_RESULT_ERROR; +} + +inline brotli_decompressor::~brotli_decompressor() { + if (decoder_s) { BrotliDecoderDestroyInstance(decoder_s); } +} + +inline bool brotli_decompressor::is_valid() const { return decoder_s; } + +inline bool brotli_decompressor::decompress(const char *data, + size_t data_length, + Callback callback) { + if (decoder_r == BROTLI_DECODER_RESULT_SUCCESS || + decoder_r == BROTLI_DECODER_RESULT_ERROR) { + return 0; + } + + const uint8_t *next_in = (const uint8_t *)data; + size_t avail_in = data_length; + size_t total_out; + + decoder_r = BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT; + + std::array buff{}; + while (decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT) { + char *next_out = buff.data(); + size_t avail_out = buff.size(); + + decoder_r = BrotliDecoderDecompressStream( + decoder_s, &avail_in, &next_in, &avail_out, + reinterpret_cast(&next_out), &total_out); + + if (decoder_r == BROTLI_DECODER_RESULT_ERROR) { return false; } + + if (!callback(buff.data(), buff.size() - avail_out)) { return false; } + } + + return decoder_r == BROTLI_DECODER_RESULT_SUCCESS || + decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT; +} #endif -inline bool has_header(const Headers &headers, const char *key) { +inline bool has_header(const Headers &headers, const std::string &key) { return headers.find(key) != headers.end(); } -inline const char *get_header_value(const Headers &headers, const char *key, - size_t id = 0, const char *def = nullptr) { +inline const char *get_header_value(const Headers &headers, + const std::string &key, size_t id, + const char *def) { auto rng = headers.equal_range(key); auto it = rng.first; std::advance(it, static_cast(id)); @@ -2396,21 +3406,12 @@ inline const char *get_header_value(const Headers &headers, const char *key, return def; } -template -inline T get_header_value(const Headers & /*headers*/, const char * /*key*/, - size_t /*id*/ = 0, uint64_t /*def*/ = 0) {} - -template <> -inline uint64_t get_header_value(const Headers &headers, - const char *key, size_t id, - uint64_t def) { - auto rng = headers.equal_range(key); - auto it = rng.first; - std::advance(it, static_cast(id)); - if (it != rng.second) { - return std::strtoull(it->second.data(), nullptr, 10); +inline bool compare_case_ignore(const std::string &a, const std::string &b) { + if (a.size() != b.size()) { return false; } + for (size_t i = 0; i < b.size(); i++) { + if (::tolower(a[i]) != ::tolower(b[i])) { return false; } } - return def; + return true; } template @@ -2436,7 +3437,11 @@ inline bool parse_header(const char *beg, const char *end, T fn) { } if (p < end) { - fn(std::string(beg, key_end), decode_url(std::string(p, end), false)); + auto key = std::string(beg, key_end); + auto val = compare_case_ignore(key, "Location") + ? std::string(p, end) + : decode_url(std::string(p, end), false); + fn(std::move(key), std::move(val)); return true; } @@ -2452,15 +3457,26 @@ inline bool read_headers(Stream &strm, Headers &headers) { if (!line_reader.getline()) { return false; } // Check if the line ends with CRLF. + auto line_terminator_len = 2; if (line_reader.end_with_crlf()) { // Blank line indicates end of headers. if (line_reader.size() == 2) { break; } +#ifdef CPPHTTPLIB_ALLOW_LF_AS_LINE_TERMINATOR + } else { + // Blank line indicates end of headers. + if (line_reader.size() == 1) { break; } + line_terminator_len = 1; + } +#else } else { continue; // Skip invalid line. } +#endif - // Exclude CRLF - auto end = line_reader.ptr() + line_reader.size() - 2; + if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } + + // Exclude line terminator + auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; parse_header(line_reader.ptr(), end, [&](std::string &&key, std::string &&val) { @@ -2472,7 +3488,8 @@ inline bool read_headers(Stream &strm, Headers &headers) { } inline bool read_content_with_length(Stream &strm, uint64_t len, - Progress progress, ContentReceiver out) { + Progress progress, + ContentReceiverWithProgress out) { char buf[CPPHTTPLIB_RECV_BUFSIZ]; uint64_t r = 0; @@ -2481,8 +3498,7 @@ inline bool read_content_with_length(Stream &strm, uint64_t len, auto n = strm.read(buf, (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ)); if (n <= 0) { return false; } - if (!out(buf, static_cast(n))) { return false; } - + if (!out(buf, static_cast(n), r, len)) { return false; } r += static_cast(n); if (progress) { @@ -2504,8 +3520,10 @@ inline void skip_content_with_length(Stream &strm, uint64_t len) { } } -inline bool read_content_without_length(Stream &strm, ContentReceiver out) { +inline bool read_content_without_length(Stream &strm, + ContentReceiverWithProgress out) { char buf[CPPHTTPLIB_RECV_BUFSIZ]; + uint64_t r = 0; for (;;) { auto n = strm.read(buf, CPPHTTPLIB_RECV_BUFSIZ); if (n < 0) { @@ -2513,13 +3531,17 @@ inline bool read_content_without_length(Stream &strm, ContentReceiver out) { } else if (n == 0) { return true; } - if (!out(buf, static_cast(n))) { return false; } + + if (!out(buf, static_cast(n), r, 0)) { return false; } + r += static_cast(n); } return true; } -inline bool read_content_chunked(Stream &strm, ContentReceiver out) { +template +inline bool read_content_chunked(Stream &strm, T &x, + ContentReceiverWithProgress out) { const auto bufsiz = 16; char buf[bufsiz]; @@ -2544,15 +3566,29 @@ inline bool read_content_chunked(Stream &strm, ContentReceiver out) { if (!line_reader.getline()) { return false; } - if (strcmp(line_reader.ptr(), "\r\n")) { break; } + if (strcmp(line_reader.ptr(), "\r\n")) { return false; } if (!line_reader.getline()) { return false; } } - if (chunk_len == 0) { - // Reader terminator after chunks - if (!line_reader.getline() || strcmp(line_reader.ptr(), "\r\n")) - return false; + assert(chunk_len == 0); + + // Trailer + if (!line_reader.getline()) { return false; } + + while (strcmp(line_reader.ptr(), "\r\n")) { + if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } + + // Exclude line terminator + constexpr auto line_terminator_len = 2; + auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; + + parse_header(line_reader.ptr(), end, + [&](std::string &&key, std::string &&val) { + x.headers.emplace(std::move(key), std::move(val)); + }); + + if (!line_reader.getline()) { return false; } } return true; @@ -2564,23 +3600,23 @@ inline bool is_chunked_transfer_encoding(const Headers &headers) { } template -bool prepare_content_receiver(T &x, int &status, ContentReceiver receiver, +bool prepare_content_receiver(T &x, int &status, + ContentReceiverWithProgress receiver, bool decompress, U callback) { if (decompress) { std::string encoding = x.get_header_value("Content-Encoding"); - std::shared_ptr decompressor; + std::unique_ptr decompressor; - if (encoding.find("gzip") != std::string::npos || - encoding.find("deflate") != std::string::npos) { + if (encoding == "gzip" || encoding == "deflate") { #ifdef CPPHTTPLIB_ZLIB_SUPPORT - decompressor = std::make_shared(); + decompressor = detail::make_unique(); #else status = 415; return false; #endif } else if (encoding.find("br") != std::string::npos) { #ifdef CPPHTTPLIB_BROTLI_SUPPORT - decompressor = std::make_shared(); + decompressor = detail::make_unique(); #else status = 415; return false; @@ -2589,12 +3625,14 @@ bool prepare_content_receiver(T &x, int &status, ContentReceiver receiver, if (decompressor) { if (decompressor->is_valid()) { - ContentReceiver out = [&](const char *buf, size_t n) { - return decompressor->decompress( - buf, n, - [&](const char *buf, size_t n) { return receiver(buf, n); }); + ContentReceiverWithProgress out = [&](const char *buf, size_t n, + uint64_t off, uint64_t len) { + return decompressor->decompress(buf, n, + [&](const char *buf2, size_t n2) { + return receiver(buf2, n2, off, len); + }); }; - return callback(out); + return callback(std::move(out)); } else { status = 500; return false; @@ -2602,23 +3640,25 @@ bool prepare_content_receiver(T &x, int &status, ContentReceiver receiver, } } - ContentReceiver out = [&](const char *buf, size_t n) { - return receiver(buf, n); + ContentReceiverWithProgress out = [&](const char *buf, size_t n, uint64_t off, + uint64_t len) { + return receiver(buf, n, off, len); }; - return callback(out); + return callback(std::move(out)); } template bool read_content(Stream &strm, T &x, size_t payload_max_length, int &status, - Progress progress, ContentReceiver receiver, + Progress progress, ContentReceiverWithProgress receiver, bool decompress) { return prepare_content_receiver( - x, status, receiver, decompress, [&](const ContentReceiver &out) { + x, status, std::move(receiver), decompress, + [&](const ContentReceiverWithProgress &out) { auto ret = true; auto exceed_payload_max_length = false; if (is_chunked_transfer_encoding(x.headers)) { - ret = read_content_chunked(strm, out); + ret = read_content_chunked(strm, x, out); } else if (!has_header(x.headers, "Content-Length")) { ret = read_content_without_length(strm, out); } else { @@ -2628,26 +3668,17 @@ bool read_content(Stream &strm, T &x, size_t payload_max_length, int &status, skip_content_with_length(strm, len); ret = false; } else if (len > 0) { - ret = read_content_with_length(strm, len, progress, out); + ret = read_content_with_length(strm, len, std::move(progress), out); } } if (!ret) { status = exceed_payload_max_length ? 413 : 400; } return ret; }); -} +} // namespace detail -template -inline ssize_t write_headers(Stream &strm, const T &info, - const Headers &headers) { +inline ssize_t write_headers(Stream &strm, const Headers &headers) { ssize_t write_len = 0; - for (const auto &x : info.headers) { - if (x.first == "EXCEPTION_WHAT") { continue; } - auto len = - strm.write_format("%s: %s\r\n", x.first.c_str(), x.second.c_str()); - if (len < 0) { return len; } - write_len += len; - } for (const auto &x : headers) { auto len = strm.write_format("%s: %s\r\n", x.first.c_str(), x.second.c_str()); @@ -2671,99 +3702,119 @@ inline bool write_data(Stream &strm, const char *d, size_t l) { } template -inline ssize_t write_content(Stream &strm, ContentProvider content_provider, - size_t offset, size_t length, T is_shutting_down) { - size_t begin_offset = offset; +inline bool write_content(Stream &strm, const ContentProvider &content_provider, + size_t offset, size_t length, T is_shutting_down, + Error &error) { size_t end_offset = offset + length; auto ok = true; DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) { + data_sink.write = [&](const char *d, size_t l) -> bool { if (ok) { - offset += l; - if (!write_data(strm, d, l)) { ok = false; } + if (strm.is_writable() && write_data(strm, d, l)) { + offset += l; + } else { + ok = false; + } } + return ok; }; - data_sink.is_writable = [&](void) { return ok && strm.is_writable(); }; - while (offset < end_offset && !is_shutting_down()) { - if (!content_provider(offset, end_offset - offset, data_sink)) { - return -1; + if (!strm.is_writable()) { + error = Error::Write; + return false; + } else if (!content_provider(offset, end_offset - offset, data_sink)) { + error = Error::Canceled; + return false; + } else if (!ok) { + error = Error::Write; + return false; } - if (!ok) { return -1; } } - return static_cast(offset - begin_offset); + error = Error::Success; + return true; } template -inline ssize_t write_content_without_length(Stream &strm, - ContentProvider content_provider, - T is_shutting_down) { +inline bool write_content(Stream &strm, const ContentProvider &content_provider, + size_t offset, size_t length, + const T &is_shutting_down) { + auto error = Error::Success; + return write_content(strm, content_provider, offset, length, is_shutting_down, + error); +} + +template +inline bool +write_content_without_length(Stream &strm, + const ContentProvider &content_provider, + const T &is_shutting_down) { size_t offset = 0; auto data_available = true; auto ok = true; DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) { + data_sink.write = [&](const char *d, size_t l) -> bool { if (ok) { offset += l; - if (!write_data(strm, d, l)) { ok = false; } + if (!strm.is_writable() || !write_data(strm, d, l)) { ok = false; } } + return ok; }; data_sink.done = [&](void) { data_available = false; }; - data_sink.is_writable = [&](void) { return ok && strm.is_writable(); }; - while (data_available && !is_shutting_down()) { - if (!content_provider(offset, 0, data_sink)) { return -1; } - if (!ok) { return -1; } + if (!strm.is_writable()) { + return false; + } else if (!content_provider(offset, 0, data_sink)) { + return false; + } else if (!ok) { + return false; + } } - - return static_cast(offset); + return true; } template -inline ssize_t write_content_chunked(Stream &strm, - ContentProvider content_provider, - T is_shutting_down, U &compressor) { +inline bool +write_content_chunked(Stream &strm, const ContentProvider &content_provider, + const T &is_shutting_down, U &compressor, Error &error) { size_t offset = 0; auto data_available = true; - ssize_t total_written_length = 0; auto ok = true; DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) { - if (!ok) { return; } + data_sink.write = [&](const char *d, size_t l) -> bool { + if (ok) { + data_available = l > 0; + offset += l; - data_available = l > 0; - offset += l; - - std::string payload; - if (!compressor.compress(d, l, false, - [&](const char *data, size_t data_len) { - payload.append(data, data_len); - return true; - })) { - ok = false; - return; - } - - if (!payload.empty()) { - // Emit chunked response header and footer for each chunk - auto chunk = from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; - if (write_data(strm, chunk.data(), chunk.size())) { - total_written_length += chunk.size(); + std::string payload; + if (compressor.compress(d, l, false, + [&](const char *data, size_t data_len) { + payload.append(data, data_len); + return true; + })) { + if (!payload.empty()) { + // Emit chunked response header and footer for each chunk + auto chunk = + from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; + if (!strm.is_writable() || + !write_data(strm, chunk.data(), chunk.size())) { + ok = false; + } + } } else { ok = false; - return; } } + return ok; }; - data_sink.done = [&](void) { + auto done_with_trailer = [&](const Headers *trailer) { if (!ok) { return; } data_available = false; @@ -2781,38 +3832,71 @@ inline ssize_t write_content_chunked(Stream &strm, if (!payload.empty()) { // Emit chunked response header and footer for each chunk auto chunk = from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; - if (write_data(strm, chunk.data(), chunk.size())) { - total_written_length += chunk.size(); - } else { + if (!strm.is_writable() || + !write_data(strm, chunk.data(), chunk.size())) { ok = false; return; } } - static const std::string done_marker("0\r\n\r\n"); - if (write_data(strm, done_marker.data(), done_marker.size())) { - total_written_length += done_marker.size(); - } else { + static const std::string done_marker("0\r\n"); + if (!write_data(strm, done_marker.data(), done_marker.size())) { ok = false; } + + // Trailer + if (trailer) { + for (const auto &kv : *trailer) { + std::string field_line = kv.first + ": " + kv.second + "\r\n"; + if (!write_data(strm, field_line.data(), field_line.size())) { + ok = false; + } + } + } + + static const std::string crlf("\r\n"); + if (!write_data(strm, crlf.data(), crlf.size())) { ok = false; } }; - data_sink.is_writable = [&](void) { return ok && strm.is_writable(); }; + data_sink.done = [&](void) { done_with_trailer(nullptr); }; + + data_sink.done_with_trailer = [&](const Headers &trailer) { + done_with_trailer(&trailer); + }; while (data_available && !is_shutting_down()) { - if (!content_provider(offset, 0, data_sink)) { return -1; } - if (!ok) { return -1; } + if (!strm.is_writable()) { + error = Error::Write; + return false; + } else if (!content_provider(offset, 0, data_sink)) { + error = Error::Canceled; + return false; + } else if (!ok) { + error = Error::Write; + return false; + } } - return total_written_length; + error = Error::Success; + return true; +} + +template +inline bool write_content_chunked(Stream &strm, + const ContentProvider &content_provider, + const T &is_shutting_down, U &compressor) { + auto error = Error::Success; + return write_content_chunked(strm, content_provider, is_shutting_down, + compressor, error); } template -inline bool redirect(T &cli, const Request &req, Response &res, - const std::string &path) { +inline bool redirect(T &cli, Request &req, Response &res, + const std::string &path, const std::string &location, + Error &error) { Request new_req = req; new_req.path = path; - new_req.redirect_count -= 1; + new_req.redirect_count_ -= 1; if (res.status == 303 && (req.method != "GET" && req.method != "HEAD")) { new_req.method = "GET"; @@ -2822,8 +3906,12 @@ inline bool redirect(T &cli, const Request &req, Response &res, Response new_res; - auto ret = cli.send(new_req, new_res); - if (ret) { res = new_res; } + auto ret = cli.send(new_req, new_res, error); + if (ret) { + req = new_req; + res = new_res; + res.location = location; + } return ret; } @@ -2834,13 +3922,18 @@ inline std::string params_to_query_str(const Params ¶ms) { if (it != params.begin()) { query += "&"; } query += it->first; query += "="; - query += encode_url(it->second); + query += encode_query_param(it->second); } return query; } inline void parse_query_text(const std::string &s, Params ¶ms) { + std::set cache; split(s.data(), s.data() + s.size(), '&', [&](const char *b, const char *e) { + std::string kv(b, e); + if (cache.find(kv) != cache.end()) { return; } + cache.insert(kv); + std::string key; std::string val; split(b, e, '=', [&](const char *b2, const char *e2) { @@ -2859,9 +3952,12 @@ inline void parse_query_text(const std::string &s, Params ¶ms) { inline bool parse_multipart_boundary(const std::string &content_type, std::string &boundary) { - auto pos = content_type.find("boundary="); + auto boundary_keyword = "boundary="; + auto pos = content_type.find(boundary_keyword); if (pos == std::string::npos) { return false; } - boundary = content_type.substr(pos + 9); + auto end = content_type.find(';', pos); + auto beg = pos + strlen(boundary_keyword); + boundary = content_type.substr(beg, end - beg); if (boundary.length() >= 2 && boundary.front() == '"' && boundary.back() == '"') { boundary = boundary.substr(1, boundary.size() - 2); @@ -2869,7 +3965,11 @@ inline bool parse_multipart_boundary(const std::string &content_type, return !boundary.empty(); } +#ifdef CPPHTTPLIB_NO_EXCEPTIONS inline bool parse_range_header(const std::string &s, Ranges &ranges) { +#else +inline bool parse_range_header(const std::string &s, Ranges &ranges) try { +#endif static auto re_first_range = std::regex(R"(bytes=(\d*-\d*(?:,\s*\d*-\d*)*))"); std::smatch m; if (std::regex_match(s, m, re_first_range)) { @@ -2901,37 +4001,41 @@ inline bool parse_range_header(const std::string &s, Ranges &ranges) { return all_valid_ranges; } return false; +#ifdef CPPHTTPLIB_NO_EXCEPTIONS } +#else +} catch (...) { return false; } +#endif class MultipartFormDataParser { public: MultipartFormDataParser() = default; - void set_boundary(std::string &&boundary) { boundary_ = boundary; } + void set_boundary(std::string &&boundary) { + boundary_ = boundary; + dash_boundary_crlf_ = dash_ + boundary_ + crlf_; + crlf_dash_boundary_ = crlf_ + dash_ + boundary_; + } bool is_valid() const { return is_valid_; } - template - bool parse(const char *buf, size_t n, T content_callback, U header_callback) { + bool parse(const char *buf, size_t n, const ContentReceiver &content_callback, + const MultipartContentHeader &header_callback) { + // TODO: support 'filename*' static const std::regex re_content_disposition( - "^Content-Disposition:\\s*form-data;\\s*name=\"(.*?)\"(?:;\\s*filename=" - "\"(.*?)\")?\\s*$", + R"~(^Content-Disposition:\s*form-data;\s*name="(.*?)"(?:;\s*filename="(.*?)")?(?:;\s*filename\*=\S+)?\s*$)~", std::regex_constants::icase); - static const std::string dash_ = "--"; - static const std::string crlf_ = "\r\n"; - buf_.append(buf, n); // TODO: performance improvement + buf_append(buf, n); - while (!buf_.empty()) { + while (buf_size() > 0) { switch (state_) { case 0: { // Initial boundary - auto pattern = dash_ + boundary_ + crlf_; - if (pattern.size() > buf_.size()) { return true; } - auto pos = buf_.find(pattern); - if (pos != 0) { return false; } - buf_.erase(0, pattern.size()); - off_ += pattern.size(); + buf_erase(buf_find(dash_boundary_crlf_)); + if (dash_boundary_crlf_.size() > buf_size()) { return true; } + if (!buf_start_with(dash_boundary_crlf_)) { return false; } + buf_erase(dash_boundary_crlf_.size()); state_ = 1; break; } @@ -2941,113 +4045,80 @@ public: break; } case 2: { // Headers - auto pos = buf_.find(crlf_); - while (pos != std::string::npos) { + auto pos = buf_find(crlf_); + if (pos > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } + while (pos < buf_size()) { // Empty line if (pos == 0) { if (!header_callback(file_)) { is_valid_ = false; return false; } - buf_.erase(0, crlf_.size()); - off_ += crlf_.size(); + buf_erase(crlf_.size()); state_ = 3; break; } static const std::string header_name = "content-type:"; - const auto header = buf_.substr(0, pos); - if (start_with(header, header_name)) { + const auto header = buf_head(pos); + if (start_with_case_ignore(header, header_name)) { file_.content_type = trim_copy(header.substr(header_name.size())); } else { std::smatch m; if (std::regex_match(header, m, re_content_disposition)) { file_.name = m[1]; file_.filename = m[2]; + } else { + is_valid_ = false; + return false; } } - - buf_.erase(0, pos + crlf_.size()); - off_ += pos + crlf_.size(); - pos = buf_.find(crlf_); + buf_erase(pos + crlf_.size()); + pos = buf_find(crlf_); } if (state_ != 3) { return true; } break; } case 3: { // Body - { - auto pattern = crlf_ + dash_; - if (pattern.size() > buf_.size()) { return true; } - - auto pos = buf_.find(pattern); - if (pos == std::string::npos) { - pos = buf_.size(); - while (pos > 0) { - auto c = buf_[pos - 1]; - if (c != '\r' && c != '\n' && c != '-') { break; } - pos--; - } - } - - if (!content_callback(buf_.data(), pos)) { + if (crlf_dash_boundary_.size() > buf_size()) { return true; } + auto pos = buf_find(crlf_dash_boundary_); + if (pos < buf_size()) { + if (!content_callback(buf_data(), pos)) { is_valid_ = false; return false; } - - off_ += pos; - buf_.erase(0, pos); - } - - { - auto pattern = crlf_ + dash_ + boundary_; - if (pattern.size() > buf_.size()) { return true; } - - auto pos = buf_.find(pattern); - if (pos != std::string::npos) { - if (!content_callback(buf_.data(), pos)) { + buf_erase(pos + crlf_dash_boundary_.size()); + state_ = 4; + } else { + auto len = buf_size() - crlf_dash_boundary_.size(); + if (len > 0) { + if (!content_callback(buf_data(), len)) { is_valid_ = false; return false; } - - off_ += pos + pattern.size(); - buf_.erase(0, pos + pattern.size()); - state_ = 4; - } else { - if (!content_callback(buf_.data(), pattern.size())) { - is_valid_ = false; - return false; - } - - off_ += pattern.size(); - buf_.erase(0, pattern.size()); + buf_erase(len); } + return true; } break; } case 4: { // Boundary - if (crlf_.size() > buf_.size()) { return true; } - if (buf_.compare(0, crlf_.size(), crlf_) == 0) { - buf_.erase(0, crlf_.size()); - off_ += crlf_.size(); + if (crlf_.size() > buf_size()) { return true; } + if (buf_start_with(crlf_)) { + buf_erase(crlf_.size()); state_ = 1; } else { - auto pattern = dash_ + crlf_; - if (pattern.size() > buf_.size()) { return true; } - if (buf_.compare(0, pattern.size(), pattern) == 0) { - buf_.erase(0, pattern.size()); - off_ += pattern.size(); + if (dash_crlf_.size() > buf_size()) { return true; } + if (buf_start_with(dash_crlf_)) { + buf_erase(dash_crlf_.size()); is_valid_ = true; - state_ = 5; + buf_erase(buf_size()); // Remove epilogue } else { return true; } } break; } - case 5: { // Done - is_valid_ = false; - return false; - } } } @@ -3061,13 +4132,92 @@ private: file_.content_type.clear(); } - std::string boundary_; + bool start_with_case_ignore(const std::string &a, + const std::string &b) const { + if (a.size() < b.size()) { return false; } + for (size_t i = 0; i < b.size(); i++) { + if (::tolower(a[i]) != ::tolower(b[i])) { return false; } + } + return true; + } + + const std::string dash_ = "--"; + const std::string crlf_ = "\r\n"; + const std::string dash_crlf_ = "--\r\n"; + std::string boundary_; + std::string dash_boundary_crlf_; + std::string crlf_dash_boundary_; - std::string buf_; size_t state_ = 0; bool is_valid_ = false; - size_t off_ = 0; MultipartFormData file_; + + // Buffer + bool start_with(const std::string &a, size_t spos, size_t epos, + const std::string &b) const { + if (epos - spos < b.size()) { return false; } + for (size_t i = 0; i < b.size(); i++) { + if (a[i + spos] != b[i]) { return false; } + } + return true; + } + + size_t buf_size() const { return buf_epos_ - buf_spos_; } + + const char *buf_data() const { return &buf_[buf_spos_]; } + + std::string buf_head(size_t l) const { return buf_.substr(buf_spos_, l); } + + bool buf_start_with(const std::string &s) const { + return start_with(buf_, buf_spos_, buf_epos_, s); + } + + size_t buf_find(const std::string &s) const { + auto c = s.front(); + + size_t off = buf_spos_; + while (off < buf_epos_) { + auto pos = off; + while (true) { + if (pos == buf_epos_) { return buf_size(); } + if (buf_[pos] == c) { break; } + pos++; + } + + auto remaining_size = buf_epos_ - pos; + if (s.size() > remaining_size) { return buf_size(); } + + if (start_with(buf_, pos, buf_epos_, s)) { return pos - buf_spos_; } + + off = pos + 1; + } + + return buf_size(); + } + + void buf_append(const char *data, size_t n) { + auto remaining_size = buf_size(); + if (remaining_size > 0 && buf_spos_ > 0) { + for (size_t i = 0; i < remaining_size; i++) { + buf_[i] = buf_[buf_spos_ + i]; + } + } + buf_spos_ = 0; + buf_epos_ = remaining_size; + + if (remaining_size + n > buf_.size()) { buf_.resize(remaining_size + n); } + + for (size_t i = 0; i < n; i++) { + buf_[buf_epos_ + i] = data[i]; + } + buf_epos_ += n; + } + + void buf_erase(size_t size) { buf_spos_ += size; } + + std::string buf_; + size_t buf_spos_ = 0; + size_t buf_epos_ = 0; }; inline std::string to_lower(const char *beg, const char *end) { @@ -3084,8 +4234,14 @@ inline std::string make_multipart_data_boundary() { static const char data[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + // std::random_device might actually be deterministic on some + // platforms, but due to lack of support in the c++ standard library, + // doing better requires either some ugly hacks or breaking portability. std::random_device seed_gen; - std::mt19937 engine(seed_gen()); + + // Request 128 bits of entropy for initialization + std::seed_seq seed_sequence{seed_gen(), seed_gen(), seed_gen(), seed_gen()}; + std::mt19937 engine(seed_sequence); std::string result = "--cpp-httplib-multipart-data-"; @@ -3096,6 +4252,63 @@ inline std::string make_multipart_data_boundary() { return result; } +inline bool is_multipart_boundary_chars_valid(const std::string &boundary) { + auto valid = true; + for (size_t i = 0; i < boundary.size(); i++) { + auto c = boundary[i]; + if (!std::isalnum(c) && c != '-' && c != '_') { + valid = false; + break; + } + } + return valid; +} + +template +inline std::string +serialize_multipart_formdata_item_begin(const T &item, + const std::string &boundary) { + std::string body = "--" + boundary + "\r\n"; + body += "Content-Disposition: form-data; name=\"" + item.name + "\""; + if (!item.filename.empty()) { + body += "; filename=\"" + item.filename + "\""; + } + body += "\r\n"; + if (!item.content_type.empty()) { + body += "Content-Type: " + item.content_type + "\r\n"; + } + body += "\r\n"; + + return body; +} + +inline std::string serialize_multipart_formdata_item_end() { return "\r\n"; } + +inline std::string +serialize_multipart_formdata_finish(const std::string &boundary) { + return "--" + boundary + "--\r\n"; +} + +inline std::string +serialize_multipart_formdata_get_content_type(const std::string &boundary) { + return "multipart/form-data; boundary=" + boundary; +} + +inline std::string +serialize_multipart_formdata(const MultipartFormDataItems &items, + const std::string &boundary, bool finish = true) { + std::string body; + + for (const auto &item : items) { + body += serialize_multipart_formdata_item_begin(item, boundary); + body += item.content + serialize_multipart_formdata_item_end(); + } + + if (finish) body += serialize_multipart_formdata_finish(boundary); + + return body; +} + inline std::pair get_range_offset_and_length(const Request &req, size_t content_length, size_t index) { @@ -3108,13 +4321,12 @@ get_range_offset_and_length(const Request &req, size_t content_length, auto slen = static_cast(content_length); if (r.first == -1) { - r.first = slen - r.second; + r.first = (std::max)(static_cast(0), slen - r.second); r.second = slen - 1; } if (r.second == -1) { r.second = slen - 1; } - - return std::make_pair(r.first, r.second - r.first + 1); + return std::make_pair(r.first, static_cast(r.second - r.first) + 1); } inline std::string make_content_range_header_field(size_t offset, size_t length, @@ -3163,21 +4375,21 @@ bool process_multipart_ranges_data(const Request &req, Response &res, return true; } -inline std::string make_multipart_ranges_data(const Request &req, Response &res, - const std::string &boundary, - const std::string &content_type) { - std::string data; - - process_multipart_ranges_data( +inline bool make_multipart_ranges_data(const Request &req, Response &res, + const std::string &boundary, + const std::string &content_type, + std::string &data) { + return process_multipart_ranges_data( req, res, boundary, content_type, [&](const std::string &token) { data += token; }, - [&](const char *token) { data += token; }, + [&](const std::string &token) { data += token; }, [&](size_t offset, size_t length) { - data += res.body.substr(offset, length); - return true; + if (offset < res.body.size()) { + data += res.body.substr(offset, length); + return true; + } + return false; }); - - return data; } inline size_t @@ -3189,7 +4401,7 @@ get_multipart_ranges_data_length(const Request &req, Response &res, process_multipart_ranges_data( req, res, boundary, content_type, [&](const std::string &token) { data_length += token.size(); }, - [&](const char *token) { data_length += strlen(token); }, + [&](const std::string &token) { data_length += token.size(); }, [&](size_t /*offset*/, size_t length) { data_length += length; return true; @@ -3203,14 +4415,14 @@ inline bool write_multipart_ranges_data(Stream &strm, const Request &req, Response &res, const std::string &boundary, const std::string &content_type, - T is_shutting_down) { + const T &is_shutting_down) { return process_multipart_ranges_data( req, res, boundary, content_type, [&](const std::string &token) { strm.write(token); }, - [&](const char *token) { strm.write(token); }, + [&](const std::string &token) { strm.write(token); }, [&](size_t offset, size_t length) { return write_content(strm, res.content_provider_, offset, length, - is_shutting_down) >= 0; + is_shutting_down); }); } @@ -3235,8 +4447,8 @@ inline bool expect_content(const Request &req) { return false; } -inline bool has_crlf(const char *s) { - auto p = s; +inline bool has_crlf(const std::string &s) { + auto p = s.c_str(); while (*p) { if (*p == '\r' || *p == '\n') { return true; } p++; @@ -3245,52 +4457,51 @@ inline bool has_crlf(const char *s) { } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -template -inline std::string message_digest(const std::string &s, Init init, - Update update, Final final, - size_t digest_length) { - using namespace std; +inline std::string message_digest(const std::string &s, const EVP_MD *algo) { + auto context = std::unique_ptr( + EVP_MD_CTX_new(), EVP_MD_CTX_free); - std::vector md(digest_length, 0); - CTX ctx; - init(&ctx); - update(&ctx, s.data(), s.size()); - final(md.data(), &ctx); + unsigned int hash_length = 0; + unsigned char hash[EVP_MAX_MD_SIZE]; - stringstream ss; - for (auto c : md) { - ss << setfill('0') << setw(2) << hex << (unsigned int)c; + EVP_DigestInit_ex(context.get(), algo, nullptr); + EVP_DigestUpdate(context.get(), s.c_str(), s.size()); + EVP_DigestFinal_ex(context.get(), hash, &hash_length); + + std::stringstream ss; + for (auto i = 0u; i < hash_length; ++i) { + ss << std::hex << std::setw(2) << std::setfill('0') + << (unsigned int)hash[i]; } + return ss.str(); } inline std::string MD5(const std::string &s) { - return message_digest(s, MD5_Init, MD5_Update, MD5_Final, - MD5_DIGEST_LENGTH); + return message_digest(s, EVP_md5()); } inline std::string SHA_256(const std::string &s) { - return message_digest(s, SHA256_Init, SHA256_Update, SHA256_Final, - SHA256_DIGEST_LENGTH); + return message_digest(s, EVP_sha256()); } inline std::string SHA_512(const std::string &s) { - return message_digest(s, SHA512_Init, SHA512_Update, SHA512_Final, - SHA512_DIGEST_LENGTH); + return message_digest(s, EVP_sha512()); } #endif -#ifdef _WIN32 #ifdef CPPHTTPLIB_OPENSSL_SUPPORT +#ifdef _WIN32 // NOTE: This code came up with the following stackoverflow post: // https://stackoverflow.com/questions/9507184/can-openssl-on-windows-use-the-system-certificate-store inline bool load_system_certs_on_windows(X509_STORE *store) { auto hStore = CertOpenSystemStoreW((HCRYPTPROV_LEGACY)NULL, L"ROOT"); - if (!hStore) { return false; } + auto result = false; PCCERT_CONTEXT pContext = NULL; - while (pContext = CertEnumCertificatesInStore(hStore, pContext)) { + while ((pContext = CertEnumCertificatesInStore(hStore, pContext)) != + nullptr) { auto encoded_cert = static_cast(pContext->pbCertEncoded); @@ -3298,24 +4509,121 @@ inline bool load_system_certs_on_windows(X509_STORE *store) { if (x509) { X509_STORE_add_cert(store, x509); X509_free(x509); + result = true; } } CertFreeCertificateContext(pContext); CertCloseStore(hStore, 0); + return result; +} +#elif defined(CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN) && defined(__APPLE__) +#if TARGET_OS_OSX +template +using CFObjectPtr = + std::unique_ptr::type, void (*)(CFTypeRef)>; + +inline void cf_object_ptr_deleter(CFTypeRef obj) { + if (obj) { CFRelease(obj); } +} + +inline bool retrieve_certs_from_keychain(CFObjectPtr &certs) { + CFStringRef keys[] = {kSecClass, kSecMatchLimit, kSecReturnRef}; + CFTypeRef values[] = {kSecClassCertificate, kSecMatchLimitAll, + kCFBooleanTrue}; + + CFObjectPtr query( + CFDictionaryCreate(nullptr, reinterpret_cast(keys), values, + sizeof(keys) / sizeof(keys[0]), + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks), + cf_object_ptr_deleter); + + if (!query) { return false; } + + CFTypeRef security_items = nullptr; + if (SecItemCopyMatching(query.get(), &security_items) != errSecSuccess || + CFArrayGetTypeID() != CFGetTypeID(security_items)) { + return false; + } + + certs.reset(reinterpret_cast(security_items)); return true; } -#endif +inline bool retrieve_root_certs_from_keychain(CFObjectPtr &certs) { + CFArrayRef root_security_items = nullptr; + if (SecTrustCopyAnchorCertificates(&root_security_items) != errSecSuccess) { + return false; + } + + certs.reset(root_security_items); + return true; +} + +inline bool add_certs_to_x509_store(CFArrayRef certs, X509_STORE *store) { + auto result = false; + for (int i = 0; i < CFArrayGetCount(certs); ++i) { + const auto cert = reinterpret_cast( + CFArrayGetValueAtIndex(certs, i)); + + if (SecCertificateGetTypeID() != CFGetTypeID(cert)) { continue; } + + CFDataRef cert_data = nullptr; + if (SecItemExport(cert, kSecFormatX509Cert, 0, nullptr, &cert_data) != + errSecSuccess) { + continue; + } + + CFObjectPtr cert_data_ptr(cert_data, cf_object_ptr_deleter); + + auto encoded_cert = static_cast( + CFDataGetBytePtr(cert_data_ptr.get())); + + auto x509 = + d2i_X509(NULL, &encoded_cert, CFDataGetLength(cert_data_ptr.get())); + + if (x509) { + X509_STORE_add_cert(store, x509); + X509_free(x509); + result = true; + } + } + + return result; +} + +inline bool load_system_certs_on_macos(X509_STORE *store) { + auto result = false; + CFObjectPtr certs(nullptr, cf_object_ptr_deleter); + if (retrieve_certs_from_keychain(certs) && certs) { + result = add_certs_to_x509_store(certs.get(), store); + } + + if (retrieve_root_certs_from_keychain(certs) && certs) { + result = add_certs_to_x509_store(certs.get(), store) || result; + } + + return result; +} +#endif // TARGET_OS_OSX +#endif // _WIN32 +#endif // CPPHTTPLIB_OPENSSL_SUPPORT + +#ifdef _WIN32 class WSInit { public: WSInit() { WSADATA wsaData; - WSAStartup(0x0002, &wsaData); + if (WSAStartup(0x0002, &wsaData) == 0) is_valid_ = true; } - ~WSInit() { WSACleanup(); } + ~WSInit() { + if (is_valid_) WSACleanup(); + } + + bool is_valid_ = false; }; static WSInit wsinit_; @@ -3326,45 +4634,57 @@ inline std::pair make_digest_authentication_header( const Request &req, const std::map &auth, size_t cnonce_count, const std::string &cnonce, const std::string &username, const std::string &password, bool is_proxy = false) { - using namespace std; - - string nc; + std::string nc; { - stringstream ss; - ss << setfill('0') << setw(8) << hex << cnonce_count; + std::stringstream ss; + ss << std::setfill('0') << std::setw(8) << std::hex << cnonce_count; nc = ss.str(); } - auto qop = auth.at("qop"); - if (qop.find("auth-int") != std::string::npos) { - qop = "auth-int"; - } else { - qop = "auth"; + std::string qop; + if (auth.find("qop") != auth.end()) { + qop = auth.at("qop"); + if (qop.find("auth-int") != std::string::npos) { + qop = "auth-int"; + } else if (qop.find("auth") != std::string::npos) { + qop = "auth"; + } else { + qop.clear(); + } } std::string algo = "MD5"; if (auth.find("algorithm") != auth.end()) { algo = auth.at("algorithm"); } - string response; + std::string response; { - auto H = algo == "SHA-256" - ? detail::SHA_256 - : algo == "SHA-512" ? detail::SHA_512 : detail::MD5; + auto H = algo == "SHA-256" ? detail::SHA_256 + : algo == "SHA-512" ? detail::SHA_512 + : detail::MD5; auto A1 = username + ":" + auth.at("realm") + ":" + password; auto A2 = req.method + ":" + req.path; if (qop == "auth-int") { A2 += ":" + H(req.body); } - response = H(H(A1) + ":" + auth.at("nonce") + ":" + nc + ":" + cnonce + - ":" + qop + ":" + H(A2)); + if (qop.empty()) { + response = H(H(A1) + ":" + auth.at("nonce") + ":" + H(A2)); + } else { + response = H(H(A1) + ":" + auth.at("nonce") + ":" + nc + ":" + cnonce + + ":" + qop + ":" + H(A2)); + } } + auto opaque = (auth.find("opaque") != auth.end()) ? auth.at("opaque") : ""; + auto field = "Digest username=\"" + username + "\", realm=\"" + auth.at("realm") + "\", nonce=\"" + auth.at("nonce") + "\", uri=\"" + req.path + "\", algorithm=" + algo + - ", qop=" + qop + ", nc=\"" + nc + "\", cnonce=\"" + cnonce + - "\", response=\"" + response + "\""; + (qop.empty() ? ", response=\"" + : ", qop=" + qop + ", nc=" + nc + ", cnonce=\"" + + cnonce + "\", response=\"") + + response + "\"" + + (opaque.empty() ? "" : ", opaque=\"" + opaque + "\""); auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; return std::make_pair(key, field); @@ -3411,7 +4731,7 @@ inline std::string random_string(size_t length) { "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"; const size_t max_index = (sizeof(charset) - 1); - return charset[static_cast(rand()) % max_index]; + return charset[static_cast(std::rand()) % max_index]; }; std::string str(length, 0); std::generate_n(str.begin(), length, randchar); @@ -3434,6 +4754,53 @@ private: } // namespace detail +inline std::string hosted_at(const std::string &hostname) { + std::vector addrs; + hosted_at(hostname, addrs); + if (addrs.empty()) { return std::string(); } + return addrs[0]; +} + +inline void hosted_at(const std::string &hostname, + std::vector &addrs) { + struct addrinfo hints; + struct addrinfo *result; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = 0; + + if (getaddrinfo(hostname.c_str(), nullptr, &hints, &result)) { +#if defined __linux__ && !defined __ANDROID__ + res_init(); +#endif + return; + } + + for (auto rp = result; rp; rp = rp->ai_next) { + const auto &addr = + *reinterpret_cast(rp->ai_addr); + std::string ip; + int dummy = -1; + if (detail::get_ip_and_port(addr, sizeof(struct sockaddr_storage), ip, + dummy)) { + addrs.push_back(ip); + } + } + + freeaddrinfo(result); +} + +inline std::string append_query_params(const std::string &path, + const Params ¶ms) { + std::string path_with_query = path; + const static std::regex re("[^?]+\\?.*"); + auto delm = std::regex_match(path, re) ? '&' : '?'; + path_with_query += delm + detail::params_to_query_str(params); + return path_with_query; +} + // Header utilities inline std::pair make_range_header(Ranges ranges) { std::string field = "bytes="; @@ -3445,16 +4812,15 @@ inline std::pair make_range_header(Ranges ranges) { if (r.second != -1) { field += std::to_string(r.second); } i++; } - return std::make_pair("Range", field); + return std::make_pair("Range", std::move(field)); } inline std::pair make_basic_authentication_header(const std::string &username, - const std::string &password, - bool is_proxy = false) { + const std::string &password, bool is_proxy) { auto field = "Basic " + detail::base64_encode(username + ":" + password); auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; - return std::make_pair(key, field); + return std::make_pair(key, std::move(field)); } inline std::pair @@ -3462,45 +4828,37 @@ make_bearer_token_authentication_header(const std::string &token, bool is_proxy = false) { auto field = "Bearer " + token; auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; - return std::make_pair(key, field); + return std::make_pair(key, std::move(field)); } // Request implementation -inline bool Request::has_header(const char *key) const { +inline bool Request::has_header(const std::string &key) const { return detail::has_header(headers, key); } -inline std::string Request::get_header_value(const char *key, size_t id) const { +inline std::string Request::get_header_value(const std::string &key, + size_t id) const { return detail::get_header_value(headers, key, id, ""); } -template -inline T Request::get_header_value(const char *key, size_t id) const { - return detail::get_header_value(headers, key, id, 0); -} - -inline size_t Request::get_header_value_count(const char *key) const { +inline size_t Request::get_header_value_count(const std::string &key) const { auto r = headers.equal_range(key); return static_cast(std::distance(r.first, r.second)); } -inline void Request::set_header(const char *key, const char *val) { +inline void Request::set_header(const std::string &key, + const std::string &val) { if (!detail::has_crlf(key) && !detail::has_crlf(val)) { headers.emplace(key, val); } } -inline void Request::set_header(const char *key, const std::string &val) { - if (!detail::has_crlf(key) && !detail::has_crlf(val.c_str())) { - headers.emplace(key, val); - } -} - -inline bool Request::has_param(const char *key) const { +inline bool Request::has_param(const std::string &key) const { return params.find(key) != params.end(); } -inline std::string Request::get_param_value(const char *key, size_t id) const { +inline std::string Request::get_param_value(const std::string &key, + size_t id) const { auto rng = params.equal_range(key); auto it = rng.first; std::advance(it, static_cast(id)); @@ -3508,59 +4866,59 @@ inline std::string Request::get_param_value(const char *key, size_t id) const { return std::string(); } -inline size_t Request::get_param_value_count(const char *key) const { +inline size_t Request::get_param_value_count(const std::string &key) const { auto r = params.equal_range(key); return static_cast(std::distance(r.first, r.second)); } inline bool Request::is_multipart_form_data() const { const auto &content_type = get_header_value("Content-Type"); - return !content_type.find("multipart/form-data"); + return !content_type.rfind("multipart/form-data", 0); } -inline bool Request::has_file(const char *key) const { +inline bool Request::has_file(const std::string &key) const { return files.find(key) != files.end(); } -inline MultipartFormData Request::get_file_value(const char *key) const { +inline MultipartFormData Request::get_file_value(const std::string &key) const { auto it = files.find(key); if (it != files.end()) { return it->second; } return MultipartFormData(); } +inline std::vector +Request::get_file_values(const std::string &key) const { + std::vector values; + auto rng = files.equal_range(key); + for (auto it = rng.first; it != rng.second; it++) { + values.push_back(it->second); + } + return values; +} + // Response implementation -inline bool Response::has_header(const char *key) const { +inline bool Response::has_header(const std::string &key) const { return headers.find(key) != headers.end(); } -inline std::string Response::get_header_value(const char *key, +inline std::string Response::get_header_value(const std::string &key, size_t id) const { return detail::get_header_value(headers, key, id, ""); } -template -inline T Response::get_header_value(const char *key, size_t id) const { - return detail::get_header_value(headers, key, id, 0); -} - -inline size_t Response::get_header_value_count(const char *key) const { +inline size_t Response::get_header_value_count(const std::string &key) const { auto r = headers.equal_range(key); return static_cast(std::distance(r.first, r.second)); } -inline void Response::set_header(const char *key, const char *val) { +inline void Response::set_header(const std::string &key, + const std::string &val) { if (!detail::has_crlf(key) && !detail::has_crlf(val)) { headers.emplace(key, val); } } -inline void Response::set_header(const char *key, const std::string &val) { - if (!detail::has_crlf(key) && !detail::has_crlf(val.c_str())) { - headers.emplace(key, val); - } -} - -inline void Response::set_redirect(const char *url, int stat) { +inline void Response::set_redirect(const std::string &url, int stat) { if (!detail::has_crlf(url)) { set_header("Location", url); if (300 <= stat && stat < 400) { @@ -3571,55 +4929,67 @@ inline void Response::set_redirect(const char *url, int stat) { } } -inline void Response::set_redirect(const std::string &url, int stat) { - set_redirect(url.c_str(), stat); -} - inline void Response::set_content(const char *s, size_t n, - const char *content_type) { + const std::string &content_type) { body.assign(s, n); + + auto rng = headers.equal_range("Content-Type"); + headers.erase(rng.first, rng.second); set_header("Content-Type", content_type); } -inline void Response::set_content(std::string s, const char *content_type) { - body = std::move(s); - set_header("Content-Type", content_type); +inline void Response::set_content(const std::string &s, + const std::string &content_type) { + set_content(s.data(), s.size(), content_type); } -inline void -Response::set_content_provider(size_t in_length, const char *content_type, - ContentProvider provider, - const std::function &resource_releaser) { - assert(in_length > 0); +inline void Response::set_content_provider( + size_t in_length, const std::string &content_type, ContentProvider provider, + ContentProviderResourceReleaser resource_releaser) { set_header("Content-Type", content_type); content_length_ = in_length; - content_provider_ = std::move(provider); + if (in_length > 0) { content_provider_ = std::move(provider); } content_provider_resource_releaser_ = resource_releaser; - is_chunked_content_provider = false; + is_chunked_content_provider_ = false; } -inline void -Response::set_content_provider(const char *content_type, - ContentProviderWithoutLength provider, - const std::function &resource_releaser) { +inline void Response::set_content_provider( + const std::string &content_type, ContentProviderWithoutLength provider, + ContentProviderResourceReleaser resource_releaser) { set_header("Content-Type", content_type); content_length_ = 0; content_provider_ = detail::ContentProviderAdapter(std::move(provider)); content_provider_resource_releaser_ = resource_releaser; - is_chunked_content_provider = false; + is_chunked_content_provider_ = false; } inline void Response::set_chunked_content_provider( - const char *content_type, ContentProviderWithoutLength provider, - const std::function &resource_releaser) { + const std::string &content_type, ContentProviderWithoutLength provider, + ContentProviderResourceReleaser resource_releaser) { set_header("Content-Type", content_type); content_length_ = 0; content_provider_ = detail::ContentProviderAdapter(std::move(provider)); content_provider_resource_releaser_ = resource_releaser; - is_chunked_content_provider = true; + is_chunked_content_provider_ = true; } -// Rstream implementation +// Result implementation +inline bool Result::has_request_header(const std::string &key) const { + return request_headers_.find(key) != request_headers_.end(); +} + +inline std::string Result::get_request_header_value(const std::string &key, + size_t id) const { + return detail::get_header_value(request_headers_, key, id, ""); +} + +inline size_t +Result::get_request_header_value_count(const std::string &key) const { + auto r = request_headers_.equal_range(key); + return static_cast(std::distance(r.first, r.second)); +} + +// Stream implementation inline ssize_t Stream::write(const char *ptr) { return write(ptr, strlen(ptr)); } @@ -3628,40 +4998,6 @@ inline ssize_t Stream::write(const std::string &s) { return write(s.data(), s.size()); } -template -inline ssize_t Stream::write_format(const char *fmt, const Args &... args) { - const auto bufsiz = 2048; - std::array buf; - -#if defined(_MSC_VER) && _MSC_VER < 1900 - auto sn = _snprintf_s(buf.data(), bufsiz - 1, buf.size() - 1, fmt, args...); -#else - auto sn = snprintf(buf.data(), buf.size() - 1, fmt, args...); -#endif - if (sn <= 0) { return sn; } - - auto n = static_cast(sn); - - if (n >= buf.size() - 1) { - std::vector glowable_buf(buf.size()); - - while (n >= glowable_buf.size() - 1) { - glowable_buf.resize(glowable_buf.size() * 2); -#if defined(_MSC_VER) && _MSC_VER < 1900 - n = static_cast(_snprintf_s(&glowable_buf[0], glowable_buf.size(), - glowable_buf.size() - 1, fmt, - args...)); -#else - n = static_cast( - snprintf(&glowable_buf[0], glowable_buf.size() - 1, fmt, args...)); -#endif - } - return write(&glowable_buf[0], n); - } else { - return write(buf.data(), n); - } -} - namespace detail { // Socket stream implementation @@ -3672,7 +5008,7 @@ inline SocketStream::SocketStream(socket_t sock, time_t read_timeout_sec, : sock_(sock), read_timeout_sec_(read_timeout_sec), read_timeout_usec_(read_timeout_usec), write_timeout_sec_(write_timeout_sec), - write_timeout_usec_(write_timeout_usec) {} + write_timeout_usec_(write_timeout_usec), read_buff_(read_buff_size_, 0) {} inline SocketStream::~SocketStream() {} @@ -3681,33 +5017,65 @@ inline bool SocketStream::is_readable() const { } inline bool SocketStream::is_writable() const { - return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0; + return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0 && + is_socket_alive(sock_); } inline ssize_t SocketStream::read(char *ptr, size_t size) { +#ifdef _WIN32 + size = + (std::min)(size, static_cast((std::numeric_limits::max)())); +#else + size = (std::min)(size, + static_cast((std::numeric_limits::max)())); +#endif + + if (read_buff_off_ < read_buff_content_size_) { + auto remaining_size = read_buff_content_size_ - read_buff_off_; + if (size <= remaining_size) { + memcpy(ptr, read_buff_.data() + read_buff_off_, size); + read_buff_off_ += size; + return static_cast(size); + } else { + memcpy(ptr, read_buff_.data() + read_buff_off_, remaining_size); + read_buff_off_ += remaining_size; + return static_cast(remaining_size); + } + } + if (!is_readable()) { return -1; } -#ifdef _WIN32 - if (size > static_cast((std::numeric_limits::max)())) { - return -1; + read_buff_off_ = 0; + read_buff_content_size_ = 0; + + if (size < read_buff_size_) { + auto n = read_socket(sock_, read_buff_.data(), read_buff_size_, + CPPHTTPLIB_RECV_FLAGS); + if (n <= 0) { + return n; + } else if (n <= static_cast(size)) { + memcpy(ptr, read_buff_.data(), static_cast(n)); + return n; + } else { + memcpy(ptr, read_buff_.data(), size); + read_buff_off_ = size; + read_buff_content_size_ = static_cast(n); + return static_cast(size); + } + } else { + return read_socket(sock_, ptr, size, CPPHTTPLIB_RECV_FLAGS); } - return recv(sock_, ptr, static_cast(size), 0); -#else - return handle_EINTR([&]() { return recv(sock_, ptr, size, 0); }); -#endif } inline ssize_t SocketStream::write(const char *ptr, size_t size) { if (!is_writable()) { return -1; } -#ifdef _WIN32 - if (size > static_cast((std::numeric_limits::max)())) { - return -1; - } - return send(sock_, ptr, static_cast(size), 0); -#else - return handle_EINTR([&]() { return send(sock_, ptr, size, 0); }); +#if defined(_WIN32) && !defined(_WIN64) + size = + (std::min)(size, static_cast((std::numeric_limits::max)())); #endif + + return send_socket(sock_, ptr, size, CPPHTTPLIB_SEND_FLAGS); } inline void SocketStream::get_remote_ip_and_port(std::string &ip, @@ -3715,13 +5083,20 @@ inline void SocketStream::get_remote_ip_and_port(std::string &ip, return detail::get_remote_ip_and_port(sock_, ip, port); } +inline void SocketStream::get_local_ip_and_port(std::string &ip, + int &port) const { + return detail::get_local_ip_and_port(sock_, ip, port); +} + +inline socket_t SocketStream::socket() const { return sock_; } + // Buffer stream implementation inline bool BufferStream::is_readable() const { return true; } inline bool BufferStream::is_writable() const { return true; } inline ssize_t BufferStream::read(char *ptr, size_t size) { -#if defined(_MSC_VER) && _MSC_VER <= 1900 +#if defined(_MSC_VER) && _MSC_VER < 1910 auto len_read = buffer._Copy_s(ptr, size, size, position); #else auto len_read = buffer.copy(ptr, size, position); @@ -3738,6 +5113,11 @@ inline ssize_t BufferStream::write(const char *ptr, size_t size) { inline void BufferStream::get_remote_ip_and_port(std::string & /*ip*/, int & /*port*/) const {} +inline void BufferStream::get_local_ip_and_port(std::string & /*ip*/, + int & /*port*/) const {} + +inline socket_t BufferStream::socket() const { return 0; } + inline const std::string &BufferStream::get_buffer() const { return buffer; } } // namespace detail @@ -3745,8 +5125,7 @@ inline const std::string &BufferStream::get_buffer() const { return buffer; } // HTTP server implementation inline Server::Server() : new_task_queue( - [] { return new ThreadPool(CPPHTTPLIB_THREAD_POOL_COUNT); }), - svr_sock_(INVALID_SOCKET), is_running_(false) { + [] { return new ThreadPool(CPPHTTPLIB_THREAD_POOL_COUNT); }) { #ifndef _WIN32 signal(SIGPIPE, SIG_IGN); #endif @@ -3754,82 +5133,90 @@ inline Server::Server() inline Server::~Server() {} -inline Server &Server::Get(const char *pattern, Handler handler) { - get_handlers_.push_back(std::make_pair(std::regex(pattern), handler)); +inline Server &Server::Get(const std::string &pattern, Handler handler) { + get_handlers_.push_back( + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Post(const char *pattern, Handler handler) { - post_handlers_.push_back(std::make_pair(std::regex(pattern), handler)); +inline Server &Server::Post(const std::string &pattern, Handler handler) { + post_handlers_.push_back( + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Post(const char *pattern, +inline Server &Server::Post(const std::string &pattern, HandlerWithContentReader handler) { post_handlers_for_content_reader_.push_back( - std::make_pair(std::regex(pattern), handler)); + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Put(const char *pattern, Handler handler) { - put_handlers_.push_back(std::make_pair(std::regex(pattern), handler)); +inline Server &Server::Put(const std::string &pattern, Handler handler) { + put_handlers_.push_back( + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Put(const char *pattern, +inline Server &Server::Put(const std::string &pattern, HandlerWithContentReader handler) { put_handlers_for_content_reader_.push_back( - std::make_pair(std::regex(pattern), handler)); + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Patch(const char *pattern, Handler handler) { - patch_handlers_.push_back(std::make_pair(std::regex(pattern), handler)); +inline Server &Server::Patch(const std::string &pattern, Handler handler) { + patch_handlers_.push_back( + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Patch(const char *pattern, +inline Server &Server::Patch(const std::string &pattern, HandlerWithContentReader handler) { patch_handlers_for_content_reader_.push_back( - std::make_pair(std::regex(pattern), handler)); + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Delete(const char *pattern, Handler handler) { - delete_handlers_.push_back(std::make_pair(std::regex(pattern), handler)); +inline Server &Server::Delete(const std::string &pattern, Handler handler) { + delete_handlers_.push_back( + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Delete(const char *pattern, +inline Server &Server::Delete(const std::string &pattern, HandlerWithContentReader handler) { delete_handlers_for_content_reader_.push_back( - std::make_pair(std::regex(pattern), handler)); + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline Server &Server::Options(const char *pattern, Handler handler) { - options_handlers_.push_back(std::make_pair(std::regex(pattern), handler)); +inline Server &Server::Options(const std::string &pattern, Handler handler) { + options_handlers_.push_back( + std::make_pair(std::regex(pattern), std::move(handler))); return *this; } -inline bool Server::set_base_dir(const char *dir, const char *mount_point) { +inline bool Server::set_base_dir(const std::string &dir, + const std::string &mount_point) { return set_mount_point(mount_point, dir); } -inline bool Server::set_mount_point(const char *mount_point, const char *dir) { +inline bool Server::set_mount_point(const std::string &mount_point, + const std::string &dir, Headers headers) { if (detail::is_dir(dir)) { - std::string mnt = mount_point ? mount_point : "/"; + std::string mnt = !mount_point.empty() ? mount_point : "/"; if (!mnt.empty() && mnt[0] == '/') { - base_dirs_.emplace_back(mnt, dir); + base_dirs_.push_back({mnt, dir, std::move(headers)}); return true; } } return false; } -inline bool Server::remove_mount_point(const char *mount_point) { +inline bool Server::remove_mount_point(const std::string &mount_point) { for (auto it = base_dirs_.begin(); it != base_dirs_.end(); ++it) { - if (it->first == mount_point) { + if (it->mount_point == mount_point) { base_dirs_.erase(it); return true; } @@ -3837,75 +5224,139 @@ inline bool Server::remove_mount_point(const char *mount_point) { return false; } -inline void Server::set_file_extension_and_mimetype_mapping(const char *ext, - const char *mime) { +inline Server & +Server::set_file_extension_and_mimetype_mapping(const std::string &ext, + const std::string &mime) { file_extension_and_mimetype_map_[ext] = mime; + return *this; } -inline void Server::set_file_request_handler(Handler handler) { +inline Server &Server::set_file_request_handler(Handler handler) { file_request_handler_ = std::move(handler); + return *this; } -inline void Server::set_error_handler(Handler handler) { +inline Server &Server::set_error_handler(HandlerWithResponse handler) { error_handler_ = std::move(handler); + return *this; } -inline void Server::set_tcp_nodelay(bool on) { tcp_nodelay_ = on; } - -inline void Server::set_socket_options(SocketOptions socket_options) { - socket_options_ = socket_options; +inline Server &Server::set_error_handler(Handler handler) { + error_handler_ = [handler](const Request &req, Response &res) { + handler(req, res); + return HandlerResponse::Handled; + }; + return *this; } -inline void Server::set_logger(Logger logger) { logger_ = std::move(logger); } +inline Server &Server::set_exception_handler(ExceptionHandler handler) { + exception_handler_ = std::move(handler); + return *this; +} -inline void +inline Server &Server::set_pre_routing_handler(HandlerWithResponse handler) { + pre_routing_handler_ = std::move(handler); + return *this; +} + +inline Server &Server::set_post_routing_handler(Handler handler) { + post_routing_handler_ = std::move(handler); + return *this; +} + +inline Server &Server::set_logger(Logger logger) { + logger_ = std::move(logger); + return *this; +} + +inline Server & Server::set_expect_100_continue_handler(Expect100ContinueHandler handler) { expect_100_continue_handler_ = std::move(handler); + + return *this; } -inline void Server::set_keep_alive_max_count(size_t count) { +inline Server &Server::set_address_family(int family) { + address_family_ = family; + return *this; +} + +inline Server &Server::set_tcp_nodelay(bool on) { + tcp_nodelay_ = on; + return *this; +} + +inline Server &Server::set_socket_options(SocketOptions socket_options) { + socket_options_ = std::move(socket_options); + return *this; +} + +inline Server &Server::set_default_headers(Headers headers) { + default_headers_ = std::move(headers); + return *this; +} + +inline Server &Server::set_keep_alive_max_count(size_t count) { keep_alive_max_count_ = count; + return *this; } -inline void Server::set_keep_alive_timeout(time_t sec) { +inline Server &Server::set_keep_alive_timeout(time_t sec) { keep_alive_timeout_sec_ = sec; + return *this; } -inline void Server::set_read_timeout(time_t sec, time_t usec) { +inline Server &Server::set_read_timeout(time_t sec, time_t usec) { read_timeout_sec_ = sec; read_timeout_usec_ = usec; + return *this; } -inline void Server::set_write_timeout(time_t sec, time_t usec) { +inline Server &Server::set_write_timeout(time_t sec, time_t usec) { write_timeout_sec_ = sec; write_timeout_usec_ = usec; + return *this; } -inline void Server::set_idle_interval(time_t sec, time_t usec) { +inline Server &Server::set_idle_interval(time_t sec, time_t usec) { idle_interval_sec_ = sec; idle_interval_usec_ = usec; + return *this; } -inline void Server::set_payload_max_length(size_t length) { +inline Server &Server::set_payload_max_length(size_t length) { payload_max_length_ = length; + return *this; } -inline bool Server::bind_to_port(const char *host, int port, int socket_flags) { +inline bool Server::bind_to_port(const std::string &host, int port, + int socket_flags) { if (bind_internal(host, port, socket_flags) < 0) return false; return true; } -inline int Server::bind_to_any_port(const char *host, int socket_flags) { +inline int Server::bind_to_any_port(const std::string &host, int socket_flags) { return bind_internal(host, 0, socket_flags); } -inline bool Server::listen_after_bind() { return listen_internal(); } +inline bool Server::listen_after_bind() { + auto se = detail::scope_exit([&]() { done_ = true; }); + return listen_internal(); +} -inline bool Server::listen(const char *host, int port, int socket_flags) { +inline bool Server::listen(const std::string &host, int port, + int socket_flags) { + auto se = detail::scope_exit([&]() { done_ = true; }); return bind_to_port(host, port, socket_flags) && listen_internal(); } inline bool Server::is_running() const { return is_running_; } +inline void Server::wait_until_ready() const { + while (!is_running() && !done_) { + std::this_thread::sleep_for(std::chrono::milliseconds{1}); + } +} + inline void Server::stop() { if (is_running_) { assert(svr_sock_ != INVALID_SOCKET); @@ -3916,42 +5367,95 @@ inline void Server::stop() { } inline bool Server::parse_request_line(const char *s, Request &req) { - const static std::regex re( - "(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI) " - "(([^?]+)(?:\\?(.*?))?) (HTTP/1\\.[01])\r\n"); + auto len = strlen(s); + if (len < 2 || s[len - 2] != '\r' || s[len - 1] != '\n') { return false; } + len -= 2; - std::cmatch m; - if (std::regex_match(s, m, re)) { - req.version = std::string(m[5]); - req.method = std::string(m[1]); - req.target = std::string(m[2]); - req.path = detail::decode_url(m[3], false); + { + size_t count = 0; - // Parse query text - auto len = std::distance(m[4].first, m[4].second); - if (len > 0) { detail::parse_query_text(m[4], req.params); } + detail::split(s, s + len, ' ', [&](const char *b, const char *e) { + switch (count) { + case 0: req.method = std::string(b, e); break; + case 1: req.target = std::string(b, e); break; + case 2: req.version = std::string(b, e); break; + default: break; + } + count++; + }); - return true; + if (count != 3) { return false; } } - return false; + static const std::set methods{ + "GET", "HEAD", "POST", "PUT", "DELETE", + "CONNECT", "OPTIONS", "TRACE", "PATCH", "PRI"}; + + if (methods.find(req.method) == methods.end()) { return false; } + + if (req.version != "HTTP/1.1" && req.version != "HTTP/1.0") { return false; } + + { + // Skip URL fragment + for (size_t i = 0; i < req.target.size(); i++) { + if (req.target[i] == '#') { + req.target.erase(i); + break; + } + } + + size_t count = 0; + + detail::split(req.target.data(), req.target.data() + req.target.size(), '?', + [&](const char *b, const char *e) { + switch (count) { + case 0: + req.path = detail::decode_url(std::string(b, e), false); + break; + case 1: { + if (e - b > 0) { + detail::parse_query_text(std::string(b, e), req.params); + } + break; + } + default: break; + } + count++; + }); + + if (count > 2) { return false; } + } + + return true; } inline bool Server::write_response(Stream &strm, bool close_connection, const Request &req, Response &res) { + return write_response_core(strm, close_connection, req, res, false); +} + +inline bool Server::write_response_with_content(Stream &strm, + bool close_connection, + const Request &req, + Response &res) { + return write_response_core(strm, close_connection, req, res, true); +} + +inline bool Server::write_response_core(Stream &strm, bool close_connection, + const Request &req, Response &res, + bool need_apply_ranges) { assert(res.status != -1); - if (400 <= res.status && error_handler_) { error_handler_(req, res); } - - detail::BufferStream bstrm; - - // Response line - if (!bstrm.write_format("HTTP/1.1 %d %s\r\n", res.status, - detail::status_message(res.status))) { - return false; + if (400 <= res.status && error_handler_ && + error_handler_(req, res) == HandlerResponse::Handled) { + need_apply_ranges = true; } - // Headers + std::string content_type; + std::string boundary; + if (need_apply_ranges) { apply_ranges(req, res, content_type, boundary); } + + // Prepare additional headers if (close_connection || req.get_header_value("Connection") == "close") { res.set_header("Connection", "close"); } else { @@ -3966,13 +5470,452 @@ inline bool Server::write_response(Stream &strm, bool close_connection, res.set_header("Content-Type", "text/plain"); } + if (!res.has_header("Content-Length") && res.body.empty() && + !res.content_length_ && !res.content_provider_) { + res.set_header("Content-Length", "0"); + } + if (!res.has_header("Accept-Ranges") && req.method == "HEAD") { res.set_header("Accept-Ranges", "bytes"); } - std::string content_type; - std::string boundary; + if (post_routing_handler_) { post_routing_handler_(req, res); } + // Response line and headers + { + detail::BufferStream bstrm; + + if (!bstrm.write_format("HTTP/1.1 %d %s\r\n", res.status, + detail::status_message(res.status))) { + return false; + } + + if (!detail::write_headers(bstrm, res.headers)) { return false; } + + // Flush buffer + auto &data = bstrm.get_buffer(); + detail::write_data(strm, data.data(), data.size()); + } + + // Body + auto ret = true; + if (req.method != "HEAD") { + if (!res.body.empty()) { + if (!detail::write_data(strm, res.body.data(), res.body.size())) { + ret = false; + } + } else if (res.content_provider_) { + if (write_content_with_provider(strm, req, res, boundary, content_type)) { + res.content_provider_success_ = true; + } else { + res.content_provider_success_ = false; + ret = false; + } + } + } + + // Log + if (logger_) { logger_(req, res); } + + return ret; +} + +inline bool +Server::write_content_with_provider(Stream &strm, const Request &req, + Response &res, const std::string &boundary, + const std::string &content_type) { + auto is_shutting_down = [this]() { + return this->svr_sock_ == INVALID_SOCKET; + }; + + if (res.content_length_ > 0) { + if (req.ranges.empty()) { + return detail::write_content(strm, res.content_provider_, 0, + res.content_length_, is_shutting_down); + } else if (req.ranges.size() == 1) { + auto offsets = + detail::get_range_offset_and_length(req, res.content_length_, 0); + auto offset = offsets.first; + auto length = offsets.second; + return detail::write_content(strm, res.content_provider_, offset, length, + is_shutting_down); + } else { + return detail::write_multipart_ranges_data( + strm, req, res, boundary, content_type, is_shutting_down); + } + } else { + if (res.is_chunked_content_provider_) { + auto type = detail::encoding_type(req, res); + + std::unique_ptr compressor; + if (type == detail::EncodingType::Gzip) { +#ifdef CPPHTTPLIB_ZLIB_SUPPORT + compressor = detail::make_unique(); +#endif + } else if (type == detail::EncodingType::Brotli) { +#ifdef CPPHTTPLIB_BROTLI_SUPPORT + compressor = detail::make_unique(); +#endif + } else { + compressor = detail::make_unique(); + } + assert(compressor != nullptr); + + return detail::write_content_chunked(strm, res.content_provider_, + is_shutting_down, *compressor); + } else { + return detail::write_content_without_length(strm, res.content_provider_, + is_shutting_down); + } + } +} + +inline bool Server::read_content(Stream &strm, Request &req, Response &res) { + MultipartFormDataMap::iterator cur; + auto file_count = 0; + if (read_content_core( + strm, req, res, + // Regular + [&](const char *buf, size_t n) { + if (req.body.size() + n > req.body.max_size()) { return false; } + req.body.append(buf, n); + return true; + }, + // Multipart + [&](const MultipartFormData &file) { + if (file_count++ == CPPHTTPLIB_MULTIPART_FORM_DATA_FILE_MAX_COUNT) { + return false; + } + cur = req.files.emplace(file.name, file); + return true; + }, + [&](const char *buf, size_t n) { + auto &content = cur->second.content; + if (content.size() + n > content.max_size()) { return false; } + content.append(buf, n); + return true; + })) { + const auto &content_type = req.get_header_value("Content-Type"); + if (!content_type.find("application/x-www-form-urlencoded")) { + if (req.body.size() > CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH) { + res.status = 413; // NOTE: should be 414? + return false; + } + detail::parse_query_text(req.body, req.params); + } + return true; + } + return false; +} + +inline bool Server::read_content_with_content_receiver( + Stream &strm, Request &req, Response &res, ContentReceiver receiver, + MultipartContentHeader multipart_header, + ContentReceiver multipart_receiver) { + return read_content_core(strm, req, res, std::move(receiver), + std::move(multipart_header), + std::move(multipart_receiver)); +} + +inline bool Server::read_content_core(Stream &strm, Request &req, Response &res, + ContentReceiver receiver, + MultipartContentHeader multipart_header, + ContentReceiver multipart_receiver) { + detail::MultipartFormDataParser multipart_form_data_parser; + ContentReceiverWithProgress out; + + if (req.is_multipart_form_data()) { + const auto &content_type = req.get_header_value("Content-Type"); + std::string boundary; + if (!detail::parse_multipart_boundary(content_type, boundary)) { + res.status = 400; + return false; + } + + multipart_form_data_parser.set_boundary(std::move(boundary)); + out = [&](const char *buf, size_t n, uint64_t /*off*/, uint64_t /*len*/) { + /* For debug + size_t pos = 0; + while (pos < n) { + auto read_size = (std::min)(1, n - pos); + auto ret = multipart_form_data_parser.parse( + buf + pos, read_size, multipart_receiver, multipart_header); + if (!ret) { return false; } + pos += read_size; + } + return true; + */ + return multipart_form_data_parser.parse(buf, n, multipart_receiver, + multipart_header); + }; + } else { + out = [receiver](const char *buf, size_t n, uint64_t /*off*/, + uint64_t /*len*/) { return receiver(buf, n); }; + } + + if (req.method == "DELETE" && !req.has_header("Content-Length")) { + return true; + } + + if (!detail::read_content(strm, req, payload_max_length_, res.status, nullptr, + out, true)) { + return false; + } + + if (req.is_multipart_form_data()) { + if (!multipart_form_data_parser.is_valid()) { + res.status = 400; + return false; + } + } + + return true; +} + +inline bool Server::handle_file_request(const Request &req, Response &res, + bool head) { + for (const auto &entry : base_dirs_) { + // Prefix match + if (!req.path.compare(0, entry.mount_point.size(), entry.mount_point)) { + std::string sub_path = "/" + req.path.substr(entry.mount_point.size()); + if (detail::is_valid_path(sub_path)) { + auto path = entry.base_dir + sub_path; + if (path.back() == '/') { path += "index.html"; } + + if (detail::is_file(path)) { + detail::read_file(path, res.body); + auto type = + detail::find_content_type(path, file_extension_and_mimetype_map_); + if (type) { res.set_header("Content-Type", type); } + for (const auto &kv : entry.headers) { + res.set_header(kv.first.c_str(), kv.second); + } + res.status = req.has_header("Range") ? 206 : 200; + if (!head && file_request_handler_) { + file_request_handler_(req, res); + } + return true; + } + } + } + } + return false; +} + +inline socket_t +Server::create_server_socket(const std::string &host, int port, + int socket_flags, + SocketOptions socket_options) const { + return detail::create_socket( + host, std::string(), port, address_family_, socket_flags, tcp_nodelay_, + std::move(socket_options), + [](socket_t sock, struct addrinfo &ai) -> bool { + if (::bind(sock, ai.ai_addr, static_cast(ai.ai_addrlen))) { + return false; + } + if (::listen(sock, CPPHTTPLIB_LISTEN_BACKLOG)) { return false; } + return true; + }); +} + +inline int Server::bind_internal(const std::string &host, int port, + int socket_flags) { + if (!is_valid()) { return -1; } + + svr_sock_ = create_server_socket(host, port, socket_flags, socket_options_); + if (svr_sock_ == INVALID_SOCKET) { return -1; } + + if (port == 0) { + struct sockaddr_storage addr; + socklen_t addr_len = sizeof(addr); + if (getsockname(svr_sock_, reinterpret_cast(&addr), + &addr_len) == -1) { + return -1; + } + if (addr.ss_family == AF_INET) { + return ntohs(reinterpret_cast(&addr)->sin_port); + } else if (addr.ss_family == AF_INET6) { + return ntohs(reinterpret_cast(&addr)->sin6_port); + } else { + return -1; + } + } else { + return port; + } +} + +inline bool Server::listen_internal() { + auto ret = true; + is_running_ = true; + auto se = detail::scope_exit([&]() { is_running_ = false; }); + + { + std::unique_ptr task_queue(new_task_queue()); + + while (svr_sock_ != INVALID_SOCKET) { +#ifndef _WIN32 + if (idle_interval_sec_ > 0 || idle_interval_usec_ > 0) { +#endif + auto val = detail::select_read(svr_sock_, idle_interval_sec_, + idle_interval_usec_); + if (val == 0) { // Timeout + task_queue->on_idle(); + continue; + } +#ifndef _WIN32 + } +#endif + socket_t sock = accept(svr_sock_, nullptr, nullptr); + + if (sock == INVALID_SOCKET) { + if (errno == EMFILE) { + // The per-process limit of open file descriptors has been reached. + // Try to accept new connections after a short sleep. + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + continue; + } else if (errno == EINTR || errno == EAGAIN) { + continue; + } + if (svr_sock_ != INVALID_SOCKET) { + detail::close_socket(svr_sock_); + ret = false; + } else { + ; // The server socket was closed by user. + } + break; + } + + { +#ifdef _WIN32 + auto timeout = static_cast(read_timeout_sec_ * 1000 + + read_timeout_usec_ / 1000); + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, + sizeof(timeout)); +#else + timeval tv; + tv.tv_sec = static_cast(read_timeout_sec_); + tv.tv_usec = static_cast(read_timeout_usec_); + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv)); +#endif + } + { + +#ifdef _WIN32 + auto timeout = static_cast(write_timeout_sec_ * 1000 + + write_timeout_usec_ / 1000); + setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, + sizeof(timeout)); +#else + timeval tv; + tv.tv_sec = static_cast(write_timeout_sec_); + tv.tv_usec = static_cast(write_timeout_usec_); + setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (char *)&tv, sizeof(tv)); +#endif + } + + task_queue->enqueue([this, sock]() { process_and_close_socket(sock); }); + } + + task_queue->shutdown(); + } + + return ret; +} + +inline bool Server::routing(Request &req, Response &res, Stream &strm) { + if (pre_routing_handler_ && + pre_routing_handler_(req, res) == HandlerResponse::Handled) { + return true; + } + + // File handler + bool is_head_request = req.method == "HEAD"; + if ((req.method == "GET" || is_head_request) && + handle_file_request(req, res, is_head_request)) { + return true; + } + + if (detail::expect_content(req)) { + // Content reader handler + { + ContentReader reader( + [&](ContentReceiver receiver) { + return read_content_with_content_receiver( + strm, req, res, std::move(receiver), nullptr, nullptr); + }, + [&](MultipartContentHeader header, ContentReceiver receiver) { + return read_content_with_content_receiver(strm, req, res, nullptr, + std::move(header), + std::move(receiver)); + }); + + if (req.method == "POST") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + post_handlers_for_content_reader_)) { + return true; + } + } else if (req.method == "PUT") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + put_handlers_for_content_reader_)) { + return true; + } + } else if (req.method == "PATCH") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + patch_handlers_for_content_reader_)) { + return true; + } + } else if (req.method == "DELETE") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + delete_handlers_for_content_reader_)) { + return true; + } + } + } + + // Read content into `req.body` + if (!read_content(strm, req, res)) { return false; } + } + + // Regular handler + if (req.method == "GET" || req.method == "HEAD") { + return dispatch_request(req, res, get_handlers_); + } else if (req.method == "POST") { + return dispatch_request(req, res, post_handlers_); + } else if (req.method == "PUT") { + return dispatch_request(req, res, put_handlers_); + } else if (req.method == "DELETE") { + return dispatch_request(req, res, delete_handlers_); + } else if (req.method == "OPTIONS") { + return dispatch_request(req, res, options_handlers_); + } else if (req.method == "PATCH") { + return dispatch_request(req, res, patch_handlers_); + } + + res.status = 400; + return false; +} + +inline bool Server::dispatch_request(Request &req, Response &res, + const Handlers &handlers) { + for (const auto &x : handlers) { + const auto &pattern = x.first; + const auto &handler = x.second; + + if (std::regex_match(req.path, req.matches, pattern)) { + handler(req, res); + return true; + } + } + return false; +} + +inline void Server::apply_ranges(const Request &req, Response &res, + std::string &content_type, + std::string &boundary) { if (req.ranges.size() > 1) { boundary = detail::make_multipart_data_boundary(); @@ -4008,7 +5951,7 @@ inline bool Server::write_response(Stream &strm, bool close_connection, res.set_header("Content-Length", std::to_string(length)); } else { if (res.content_provider_) { - if (res.is_chunked_content_provider) { + if (res.is_chunked_content_provider_) { res.set_header("Transfer-Encoding", "chunked"); if (type == detail::EncodingType::Gzip) { res.set_header("Content-Encoding", "gzip"); @@ -4016,8 +5959,6 @@ inline bool Server::write_response(Stream &strm, bool close_connection, res.set_header("Content-Encoding", "br"); } } - } else { - res.set_header("Content-Length", "0"); } } } else { @@ -4031,435 +5972,55 @@ inline bool Server::write_response(Stream &strm, bool close_connection, auto content_range = detail::make_content_range_header_field( offset, length, res.body.size()); res.set_header("Content-Range", content_range); - res.body = res.body.substr(offset, length); + if (offset < res.body.size()) { + res.body = res.body.substr(offset, length); + } else { + res.body.clear(); + res.status = 416; + } } else { - res.body = - detail::make_multipart_ranges_data(req, res, boundary, content_type); + std::string data; + if (detail::make_multipart_ranges_data(req, res, boundary, content_type, + data)) { + res.body.swap(data); + } else { + res.body.clear(); + res.status = 416; + } } if (type != detail::EncodingType::None) { - std::shared_ptr compressor; + std::unique_ptr compressor; + std::string content_encoding; if (type == detail::EncodingType::Gzip) { #ifdef CPPHTTPLIB_ZLIB_SUPPORT - compressor = std::make_shared(); - res.set_header("Content-Encoding", "gzip"); + compressor = detail::make_unique(); + content_encoding = "gzip"; #endif } else if (type == detail::EncodingType::Brotli) { #ifdef CPPHTTPLIB_BROTLI_SUPPORT - compressor = std::make_shared(); - res.set_header("Content-Encoding", "brotli"); + compressor = detail::make_unique(); + content_encoding = "br"; #endif } if (compressor) { std::string compressed; - - if (!compressor->compress(res.body.data(), res.body.size(), true, - [&](const char *data, size_t data_len) { - compressed.append(data, data_len); - return true; - })) { - return false; + if (compressor->compress(res.body.data(), res.body.size(), true, + [&](const char *data, size_t data_len) { + compressed.append(data, data_len); + return true; + })) { + res.body.swap(compressed); + res.set_header("Content-Encoding", content_encoding); } - - res.body.swap(compressed); } } auto length = std::to_string(res.body.size()); res.set_header("Content-Length", length); } - - if (!detail::write_headers(bstrm, res, Headers())) { return false; } - - // Flush buffer - auto &data = bstrm.get_buffer(); - strm.write(data.data(), data.size()); - - // Body - auto ret = true; - if (req.method != "HEAD") { - if (!res.body.empty()) { - if (!strm.write(res.body)) { ret = false; } - } else if (res.content_provider_) { - if (!write_content_with_provider(strm, req, res, boundary, - content_type)) { - ret = false; - } - } - } - - // Log - if (logger_) { logger_(req, res); } - - return ret; -} - -inline bool -Server::write_content_with_provider(Stream &strm, const Request &req, - Response &res, const std::string &boundary, - const std::string &content_type) { - auto is_shutting_down = [this]() { - return this->svr_sock_ == INVALID_SOCKET; - }; - - if (res.content_length_ > 0) { - if (req.ranges.empty()) { - if (detail::write_content(strm, res.content_provider_, 0, - res.content_length_, is_shutting_down) < 0) { - return false; - } - } else if (req.ranges.size() == 1) { - auto offsets = - detail::get_range_offset_and_length(req, res.content_length_, 0); - auto offset = offsets.first; - auto length = offsets.second; - if (detail::write_content(strm, res.content_provider_, offset, length, - is_shutting_down) < 0) { - return false; - } - } else { - if (!detail::write_multipart_ranges_data( - strm, req, res, boundary, content_type, is_shutting_down)) { - return false; - } - } - } else { - if (res.is_chunked_content_provider) { - auto type = detail::encoding_type(req, res); - - std::shared_ptr compressor; - if (type == detail::EncodingType::Gzip) { -#ifdef CPPHTTPLIB_ZLIB_SUPPORT - compressor = std::make_shared(); -#endif - } else if (type == detail::EncodingType::Brotli) { -#ifdef CPPHTTPLIB_BROTLI_SUPPORT - compressor = std::make_shared(); -#endif - } else { - compressor = std::make_shared(); - } - assert(compressor != nullptr); - - if (detail::write_content_chunked(strm, res.content_provider_, - is_shutting_down, *compressor) < 0) { - return false; - } - } else { - if (detail::write_content_without_length(strm, res.content_provider_, - is_shutting_down) < 0) { - return false; - } - } - } - return true; -} - -inline bool Server::read_content(Stream &strm, Request &req, Response &res) { - MultipartFormDataMap::iterator cur; - if (read_content_core( - strm, req, res, - // Regular - [&](const char *buf, size_t n) { - if (req.body.size() + n > req.body.max_size()) { return false; } - req.body.append(buf, n); - return true; - }, - // Multipart - [&](const MultipartFormData &file) { - cur = req.files.emplace(file.name, file); - return true; - }, - [&](const char *buf, size_t n) { - auto &content = cur->second.content; - if (content.size() + n > content.max_size()) { return false; } - content.append(buf, n); - return true; - })) { - const auto &content_type = req.get_header_value("Content-Type"); - if (!content_type.find("application/x-www-form-urlencoded")) { - detail::parse_query_text(req.body, req.params); - } - return true; - } - return false; -} - -inline bool Server::read_content_with_content_receiver( - Stream &strm, Request &req, Response &res, ContentReceiver receiver, - MultipartContentHeader multipart_header, - ContentReceiver multipart_receiver) { - return read_content_core(strm, req, res, receiver, multipart_header, - multipart_receiver); -} - -inline bool Server::read_content_core(Stream &strm, Request &req, Response &res, - ContentReceiver receiver, - MultipartContentHeader mulitpart_header, - ContentReceiver multipart_receiver) { - detail::MultipartFormDataParser multipart_form_data_parser; - ContentReceiver out; - - if (req.is_multipart_form_data()) { - const auto &content_type = req.get_header_value("Content-Type"); - std::string boundary; - if (!detail::parse_multipart_boundary(content_type, boundary)) { - res.status = 400; - return false; - } - - multipart_form_data_parser.set_boundary(std::move(boundary)); - out = [&](const char *buf, size_t n) { - /* For debug - size_t pos = 0; - while (pos < n) { - auto read_size = std::min(1, n - pos); - auto ret = multipart_form_data_parser.parse( - buf + pos, read_size, multipart_receiver, mulitpart_header); - if (!ret) { return false; } - pos += read_size; - } - return true; - */ - return multipart_form_data_parser.parse(buf, n, multipart_receiver, - mulitpart_header); - }; - } else { - out = receiver; - } - - if (req.method == "DELETE" && !req.has_header("Content-Length")) { - return true; - } - - if (!detail::read_content(strm, req, payload_max_length_, res.status, nullptr, - out, true)) { - return false; - } - - if (req.is_multipart_form_data()) { - if (!multipart_form_data_parser.is_valid()) { - res.status = 400; - return false; - } - } - - return true; -} - -inline bool Server::handle_file_request(Request &req, Response &res, - bool head) { - for (const auto &kv : base_dirs_) { - const auto &mount_point = kv.first; - const auto &base_dir = kv.second; - - // Prefix match - if (!req.path.compare(0, mount_point.size(), mount_point)) { - std::string sub_path = "/" + req.path.substr(mount_point.size()); - if (detail::is_valid_path(sub_path)) { - auto path = base_dir + sub_path; - if (path.back() == '/') { path += "index.html"; } - - if (detail::is_file(path)) { - detail::read_file(path, res.body); - auto type = - detail::find_content_type(path, file_extension_and_mimetype_map_); - if (type) { res.set_header("Content-Type", type); } - res.status = 200; - if (!head && file_request_handler_) { - file_request_handler_(req, res); - } - return true; - } - } - } - } - return false; -} - -inline socket_t -Server::create_server_socket(const char *host, int port, int socket_flags, - SocketOptions socket_options) const { - return detail::create_socket( - host, port, socket_flags, tcp_nodelay_, socket_options, - [](socket_t sock, struct addrinfo &ai) -> bool { - if (::bind(sock, ai.ai_addr, static_cast(ai.ai_addrlen))) { - return false; - } - if (::listen(sock, 5)) { // Listen through 5 channels - return false; - } - return true; - }); -} - -inline int Server::bind_internal(const char *host, int port, int socket_flags) { - if (!is_valid()) { return -1; } - - svr_sock_ = create_server_socket(host, port, socket_flags, socket_options_); - if (svr_sock_ == INVALID_SOCKET) { return -1; } - - if (port == 0) { - struct sockaddr_storage addr; - socklen_t addr_len = sizeof(addr); - if (getsockname(svr_sock_, reinterpret_cast(&addr), - &addr_len) == -1) { - return -1; - } - if (addr.ss_family == AF_INET) { - return ntohs(reinterpret_cast(&addr)->sin_port); - } else if (addr.ss_family == AF_INET6) { - return ntohs(reinterpret_cast(&addr)->sin6_port); - } else { - return -1; - } - } else { - return port; - } -} - -inline bool Server::listen_internal() { - auto ret = true; - is_running_ = true; - - { - std::unique_ptr task_queue(new_task_queue()); - - while (svr_sock_ != INVALID_SOCKET) { -#ifndef _WIN32 - if (idle_interval_sec_ > 0 || idle_interval_usec_ > 0) { -#endif - auto val = detail::select_read(svr_sock_, idle_interval_sec_, - idle_interval_usec_); - if (val == 0) { // Timeout - task_queue->on_idle(); - continue; - } -#ifndef _WIN32 - } -#endif - socket_t sock = accept(svr_sock_, nullptr, nullptr); - - if (sock == INVALID_SOCKET) { - if (errno == EMFILE) { - // The per-process limit of open file descriptors has been reached. - // Try to accept new connections after a short sleep. - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - continue; - } - if (svr_sock_ != INVALID_SOCKET) { - detail::close_socket(svr_sock_); - ret = false; - } else { - ; // The server socket was closed by user. - } - break; - } - -#if __cplusplus > 201703L - task_queue->enqueue([=, this]() { process_and_close_socket(sock); }); -#else - task_queue->enqueue([=]() { process_and_close_socket(sock); }); -#endif - } - - task_queue->shutdown(); - } - - is_running_ = false; - return ret; -} - -inline bool Server::routing(Request &req, Response &res, Stream &strm) { - // File handler - bool is_head_request = req.method == "HEAD"; - if ((req.method == "GET" || is_head_request) && - handle_file_request(req, res, is_head_request)) { - return true; - } - - if (detail::expect_content(req)) { - // Content reader handler - { - ContentReader reader( - [&](ContentReceiver receiver) { - return read_content_with_content_receiver(strm, req, res, receiver, - nullptr, nullptr); - }, - [&](MultipartContentHeader header, ContentReceiver receiver) { - return read_content_with_content_receiver(strm, req, res, nullptr, - header, receiver); - }); - - if (req.method == "POST") { - if (dispatch_request_for_content_reader( - req, res, reader, post_handlers_for_content_reader_)) { - return true; - } - } else if (req.method == "PUT") { - if (dispatch_request_for_content_reader( - req, res, reader, put_handlers_for_content_reader_)) { - return true; - } - } else if (req.method == "PATCH") { - if (dispatch_request_for_content_reader( - req, res, reader, patch_handlers_for_content_reader_)) { - return true; - } - } else if (req.method == "DELETE") { - if (dispatch_request_for_content_reader( - req, res, reader, delete_handlers_for_content_reader_)) { - return true; - } - } - } - - // Read content into `req.body` - if (!read_content(strm, req, res)) { return false; } - } - - // Regular handler - if (req.method == "GET" || req.method == "HEAD") { - return dispatch_request(req, res, get_handlers_); - } else if (req.method == "POST") { - return dispatch_request(req, res, post_handlers_); - } else if (req.method == "PUT") { - return dispatch_request(req, res, put_handlers_); - } else if (req.method == "DELETE") { - return dispatch_request(req, res, delete_handlers_); - } else if (req.method == "OPTIONS") { - return dispatch_request(req, res, options_handlers_); - } else if (req.method == "PATCH") { - return dispatch_request(req, res, patch_handlers_); - } - - res.status = 400; - return false; -} - -inline bool Server::dispatch_request(Request &req, Response &res, - const Handlers &handlers) { - - try { - for (const auto &x : handlers) { - const auto &pattern = x.first; - const auto &handler = x.second; - - if (std::regex_match(req.path, req.matches, pattern)) { - handler(req, res); - return true; - } - } - } catch (const std::exception &ex) { - res.status = 500; - res.set_header("EXCEPTION_WHAT", ex.what()); - } catch (...) { - res.status = 500; - res.set_header("EXCEPTION_WHAT", "UNKNOWN"); - } - return false; } inline bool Server::dispatch_request_for_content_reader( @@ -4493,6 +6054,26 @@ Server::process_request(Stream &strm, bool close_connection, res.version = "HTTP/1.1"; + for (const auto &header : default_headers_) { + if (res.headers.find(header.first) == res.headers.end()) { + res.headers.insert(header); + } + } + +#ifdef _WIN32 + // TODO: Increase FD_SETSIZE statically (libzmq), dynamically (MySQL). +#else +#ifndef CPPHTTPLIB_USE_POLL + // Socket file descriptor exceeded FD_SETSIZE... + if (strm.socket() >= FD_SETSIZE) { + Headers dummy; + detail::read_headers(strm, dummy); + res.status = 500; + return write_response(strm, close_connection, req, res); + } +#endif +#endif + // Check if the request URI doesn't exceed the limit if (line_reader.size() > CPPHTTPLIB_REQUEST_URI_MAX_LENGTH) { Headers dummy; @@ -4521,10 +6102,15 @@ Server::process_request(Stream &strm, bool close_connection, req.set_header("REMOTE_ADDR", req.remote_addr); req.set_header("REMOTE_PORT", std::to_string(req.remote_port)); + strm.get_local_ip_and_port(req.local_addr, req.local_port); + req.set_header("LOCAL_ADDR", req.local_addr); + req.set_header("LOCAL_PORT", std::to_string(req.local_port)); + if (req.has_header("Range")) { const auto &range_header_value = req.get_header_value("Range"); if (!detail::parse_range_header(range_header_value, req.ranges)) { - // TODO: error + res.status = 416; + return write_response(strm, close_connection, req, res); } } @@ -4546,21 +6132,58 @@ Server::process_request(Stream &strm, bool close_connection, } // Rounting - if (routing(req, res, strm)) { + bool routed = false; +#ifdef CPPHTTPLIB_NO_EXCEPTIONS + routed = routing(req, res, strm); +#else + try { + routed = routing(req, res, strm); + } catch (std::exception &e) { + if (exception_handler_) { + auto ep = std::current_exception(); + exception_handler_(req, res, ep); + routed = true; + } else { + res.status = 500; + std::string val; + auto s = e.what(); + for (size_t i = 0; s[i]; i++) { + switch (s[i]) { + case '\r': val += "\\r"; break; + case '\n': val += "\\n"; break; + default: val += s[i]; break; + } + } + res.set_header("EXCEPTION_WHAT", val); + } + } catch (...) { + if (exception_handler_) { + auto ep = std::current_exception(); + exception_handler_(req, res, ep); + routed = true; + } else { + res.status = 500; + res.set_header("EXCEPTION_WHAT", "UNKNOWN"); + } + } +#endif + + if (routed) { if (res.status == -1) { res.status = req.ranges.empty() ? 200 : 206; } + return write_response_with_content(strm, close_connection, req, res); } else { if (res.status == -1) { res.status = 404; } + return write_response(strm, close_connection, req, res); } - - return write_response(strm, close_connection, req, res); } inline bool Server::is_valid() const { return true; } inline bool Server::process_and_close_socket(socket_t sock) { auto ret = detail::process_server_socket( - sock, keep_alive_max_count_, keep_alive_timeout_sec_, read_timeout_sec_, - read_timeout_usec_, write_timeout_sec_, write_timeout_usec_, + svr_sock_, sock, keep_alive_max_count_, keep_alive_timeout_sec_, + read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, [this](Stream &strm, bool close_connection, bool &connection_closed) { return process_request(strm, close_connection, connection_closed, nullptr); @@ -4582,15 +6205,17 @@ inline ClientImpl::ClientImpl(const std::string &host, int port, const std::string &client_cert_path, const std::string &client_key_path) : host_(host), port_(port), - host_and_port_(host_ + ":" + std::to_string(port_)), + host_and_port_(adjust_host_string(host) + ":" + std::to_string(port)), client_cert_path_(client_cert_path), client_key_path_(client_key_path) {} -inline ClientImpl::~ClientImpl() { stop_core(); } +inline ClientImpl::~ClientImpl() { + std::lock_guard guard(socket_mutex_); + shutdown_socket(socket_); + close_socket(socket_); +} inline bool ClientImpl::is_valid() const { return true; } -inline Error ClientImpl::get_last_error() const { return error_; } - inline void ClientImpl::copy_settings(const ClientImpl &rhs) { client_cert_path_ = rhs.client_cert_path_; client_key_path_ = rhs.client_key_path_; @@ -4608,6 +6233,8 @@ inline void ClientImpl::copy_settings(const ClientImpl &rhs) { #endif keep_alive_ = rhs.keep_alive_; follow_location_ = rhs.follow_location_; + url_encode_ = rhs.url_encode_; + address_family_ = rhs.address_family_; tcp_nodelay_ = rhs.tcp_nodelay_; socket_options_ = rhs.socket_options_; compress_ = rhs.compress_; @@ -4622,50 +6249,96 @@ inline void ClientImpl::copy_settings(const ClientImpl &rhs) { proxy_digest_auth_username_ = rhs.proxy_digest_auth_username_; proxy_digest_auth_password_ = rhs.proxy_digest_auth_password_; #endif +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + ca_cert_file_path_ = rhs.ca_cert_file_path_; + ca_cert_dir_path_ = rhs.ca_cert_dir_path_; + ca_cert_store_ = rhs.ca_cert_store_; +#endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT server_certificate_verification_ = rhs.server_certificate_verification_; #endif logger_ = rhs.logger_; } -inline socket_t ClientImpl::create_client_socket() const { +inline socket_t ClientImpl::create_client_socket(Error &error) const { if (!proxy_host_.empty() && proxy_port_ != -1) { return detail::create_client_socket( - proxy_host_.c_str(), proxy_port_, tcp_nodelay_, socket_options_, - connection_timeout_sec_, connection_timeout_usec_, interface_, error_); + proxy_host_, std::string(), proxy_port_, address_family_, tcp_nodelay_, + socket_options_, connection_timeout_sec_, connection_timeout_usec_, + read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, interface_, error); } + + // Check is custom IP specified for host_ + std::string ip; + auto it = addr_map_.find(host_); + if (it != addr_map_.end()) ip = it->second; + return detail::create_client_socket( - host_.c_str(), port_, tcp_nodelay_, socket_options_, - connection_timeout_sec_, connection_timeout_usec_, interface_, error_); + host_, ip, port_, address_family_, tcp_nodelay_, socket_options_, + connection_timeout_sec_, connection_timeout_usec_, read_timeout_sec_, + read_timeout_usec_, write_timeout_sec_, write_timeout_usec_, interface_, + error); } -inline bool ClientImpl::create_and_connect_socket(Socket &socket) { - auto sock = create_client_socket(); +inline bool ClientImpl::create_and_connect_socket(Socket &socket, + Error &error) { + auto sock = create_client_socket(error); if (sock == INVALID_SOCKET) { return false; } socket.sock = sock; return true; } -inline void ClientImpl::close_socket(Socket &socket, - bool /*process_socket_ret*/) { - detail::close_socket(socket.sock); - socket_.sock = INVALID_SOCKET; -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - socket_.ssl = nullptr; -#endif +inline void ClientImpl::shutdown_ssl(Socket & /*socket*/, + bool /*shutdown_gracefully*/) { + // If there are any requests in flight from threads other than us, then it's + // a thread-unsafe race because individual ssl* objects are not thread-safe. + assert(socket_requests_in_flight_ == 0 || + socket_requests_are_from_thread_ == std::this_thread::get_id()); } -inline bool ClientImpl::read_response_line(Stream &strm, Response &res) { - std::array buf; +inline void ClientImpl::shutdown_socket(Socket &socket) { + if (socket.sock == INVALID_SOCKET) { return; } + detail::shutdown_socket(socket.sock); +} + +inline void ClientImpl::close_socket(Socket &socket) { + // If there are requests in flight in another thread, usually closing + // the socket will be fine and they will simply receive an error when + // using the closed socket, but it is still a bug since rarely the OS + // may reassign the socket id to be used for a new socket, and then + // suddenly they will be operating on a live socket that is different + // than the one they intended! + assert(socket_requests_in_flight_ == 0 || + socket_requests_are_from_thread_ == std::this_thread::get_id()); + + // It is also a bug if this happens while SSL is still active +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + assert(socket.ssl == nullptr); +#endif + if (socket.sock == INVALID_SOCKET) { return; } + detail::close_socket(socket.sock); + socket.sock = INVALID_SOCKET; +} + +inline bool ClientImpl::read_response_line(Stream &strm, const Request &req, + Response &res) { + std::array buf{}; detail::stream_line_reader line_reader(strm, buf.data(), buf.size()); if (!line_reader.getline()) { return false; } - const static std::regex re("(HTTP/1\\.[01]) (\\d+) (.*?)\r\n"); +#ifdef CPPHTTPLIB_ALLOW_LF_AS_LINE_TERMINATOR + const static std::regex re("(HTTP/1\\.[01]) (\\d{3})(?: (.*?))?\r\n"); +#else + const static std::regex re("(HTTP/1\\.[01]) (\\d{3})(?: (.*?))?\r?\n"); +#endif std::cmatch m; - if (!std::regex_match(line_reader.ptr(), m, re)) { return false; } + if (!std::regex_match(line_reader.ptr(), m, re)) { + return req.method == "CONNECT"; + } res.version = std::string(m[1]); res.status = std::stoi(std::string(m[2])); res.reason = std::string(m[3]); @@ -4684,74 +6357,144 @@ inline bool ClientImpl::read_response_line(Stream &strm, Response &res) { return true; } -inline bool ClientImpl::send(const Request &req, Response &res) { +inline bool ClientImpl::send(Request &req, Response &res, Error &error) { std::lock_guard request_mutex_guard(request_mutex_); + auto ret = send_(req, res, error); + if (error == Error::SSLPeerCouldBeClosed_) { + assert(!ret); + ret = send_(req, res, error); + } + return ret; +} +inline bool ClientImpl::send_(Request &req, Response &res, Error &error) { { std::lock_guard guard(socket_mutex_); + // Set this to false immediately - if it ever gets set to true by the end of + // the request, we know another thread instructed us to close the socket. + socket_should_be_closed_when_request_is_done_ = false; + auto is_alive = false; if (socket_.is_open()) { - is_alive = detail::select_write(socket_.sock, 0, 0) > 0; - if (!is_alive) { close_socket(socket_, false); } + is_alive = detail::is_socket_alive(socket_.sock); + if (!is_alive) { + // Attempt to avoid sigpipe by shutting down nongracefully if it seems + // like the other side has already closed the connection Also, there + // cannot be any requests in flight from other threads since we locked + // request_mutex_, so safe to close everything immediately + const bool shutdown_gracefully = false; + shutdown_ssl(socket_, shutdown_gracefully); + shutdown_socket(socket_); + close_socket(socket_); + } } if (!is_alive) { - if (!create_and_connect_socket(socket_)) { return false; } + if (!create_and_connect_socket(socket_, error)) { return false; } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT // TODO: refactoring if (is_ssl()) { auto &scli = static_cast(*this); if (!proxy_host_.empty() && proxy_port_ != -1) { - bool success = false; - if (!scli.connect_with_proxy(socket_, res, success)) { + auto success = false; + if (!scli.connect_with_proxy(socket_, res, success, error)) { return success; } } - if (!scli.initialize_ssl(socket_)) { return false; } + if (!scli.initialize_ssl(socket_, error)) { return false; } } #endif } + + // Mark the current socket as being in use so that it cannot be closed by + // anyone else while this request is ongoing, even though we will be + // releasing the mutex. + if (socket_requests_in_flight_ > 1) { + assert(socket_requests_are_from_thread_ == std::this_thread::get_id()); + } + socket_requests_in_flight_ += 1; + socket_requests_are_from_thread_ = std::this_thread::get_id(); } + for (const auto &header : default_headers_) { + if (req.headers.find(header.first) == req.headers.end()) { + req.headers.insert(header); + } + } + + auto ret = false; auto close_connection = !keep_alive_; - auto ret = process_socket(socket_, [&](Stream &strm) { - return handle_request(strm, req, res, close_connection); + auto se = detail::scope_exit([&]() { + // Briefly lock mutex in order to mark that a request is no longer ongoing + std::lock_guard guard(socket_mutex_); + socket_requests_in_flight_ -= 1; + if (socket_requests_in_flight_ <= 0) { + assert(socket_requests_in_flight_ == 0); + socket_requests_are_from_thread_ = std::thread::id(); + } + + if (socket_should_be_closed_when_request_is_done_ || close_connection || + !ret) { + shutdown_ssl(socket_, true); + shutdown_socket(socket_); + close_socket(socket_); + } }); - if (close_connection || !ret) { stop_core(); } + ret = process_socket(socket_, [&](Stream &strm) { + return handle_request(strm, req, res, close_connection, error); + }); if (!ret) { - if (error_ == Error::Success) { error_ = Error::Unknown; } + if (error == Error::Success) { error = Error::Unknown; } } return ret; } -inline bool ClientImpl::handle_request(Stream &strm, const Request &req, - Response &res, bool close_connection) { +inline Result ClientImpl::send(const Request &req) { + auto req2 = req; + return send_(std::move(req2)); +} + +inline Result ClientImpl::send_(Request &&req) { + auto res = detail::make_unique(); + auto error = Error::Success; + auto ret = send(req, *res, error); + return Result{ret ? std::move(res) : nullptr, error, std::move(req.headers)}; +} + +inline bool ClientImpl::handle_request(Stream &strm, Request &req, + Response &res, bool close_connection, + Error &error) { if (req.path.empty()) { - error_ = Error::Connection; + error = Error::Connection; return false; } + auto req_save = req; + bool ret; if (!is_ssl() && !proxy_host_.empty() && proxy_port_ != -1) { auto req2 = req; req2.path = "http://" + host_and_port_ + req.path; - ret = process_request(strm, req2, res, close_connection); + ret = process_request(strm, req2, res, close_connection, error); + req = req2; + req.path = req_save.path; } else { - ret = process_request(strm, req, res, close_connection); + ret = process_request(strm, req, res, close_connection, error); } if (!ret) { return false; } if (300 < res.status && res.status < 400 && follow_location_) { - ret = redirect(req, res); + req = req_save; + ret = redirect(req, res, error); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT @@ -4768,15 +6511,15 @@ inline bool ClientImpl::handle_request(Stream &strm, const Request &req, if (detail::parse_www_authenticate(res, auth, is_proxy)) { Request new_req = req; new_req.authorization_count_ += 1; - auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; - new_req.headers.erase(key); + new_req.headers.erase(is_proxy ? "Proxy-Authorization" + : "Authorization"); new_req.headers.insert(detail::make_digest_authentication_header( req, auth, new_req.authorization_count_, detail::random_string(10), username, password, is_proxy)); Response new_res; - ret = send(new_req, new_res); + ret = send(new_req, new_res, error); if (ret) { res = new_res; } } } @@ -4786,17 +6529,17 @@ inline bool ClientImpl::handle_request(Stream &strm, const Request &req, return ret; } -inline bool ClientImpl::redirect(const Request &req, Response &res) { - if (req.redirect_count == 0) { - error_ = Error::ExceedRedirectCount; +inline bool ClientImpl::redirect(Request &req, Response &res, Error &error) { + if (req.redirect_count_ == 0) { + error = Error::ExceedRedirectCount; return false; } - auto location = detail::decode_url(res.get_header_value("location"), true); + auto location = res.get_header_value("location"); if (location.empty()) { return false; } const static std::regex re( - R"(^(?:(https?):)?(?://([^:/?#]*)(?::(\d+))?)?([^?#]*(?:\?[^#]*)?)(?:#.*)?)"); + R"((?:(https?):)?(?://(?:\[([\d:]+)\]|([^:/?#]+))(?::(\d+))?)?([^?#]*)(\?[^#]*)?(?:#.*)?)"); std::smatch m; if (!std::regex_match(location, m, re)) { return false; } @@ -4805,8 +6548,10 @@ inline bool ClientImpl::redirect(const Request &req, Response &res) { auto next_scheme = m[1].str(); auto next_host = m[2].str(); - auto port_str = m[3].str(); - auto next_path = m[4].str(); + if (next_host.empty()) { next_host = m[3].str(); } + auto port_str = m[4].str(); + auto next_path = m[5].str(); + auto next_query = m[6].str(); auto next_port = port_; if (!port_str.empty()) { @@ -4819,179 +6564,202 @@ inline bool ClientImpl::redirect(const Request &req, Response &res) { if (next_host.empty()) { next_host = host_; } if (next_path.empty()) { next_path = "/"; } + auto path = detail::decode_url(next_path, true) + next_query; + if (next_scheme == scheme && next_host == host_ && next_port == port_) { - return detail::redirect(*this, req, res, next_path); + return detail::redirect(*this, req, res, path, location, error); } else { if (next_scheme == "https") { #ifdef CPPHTTPLIB_OPENSSL_SUPPORT SSLClient cli(next_host.c_str(), next_port); cli.copy_settings(*this); - auto ret = detail::redirect(cli, req, res, next_path); - if (!ret) { error_ = cli.get_last_error(); } - return ret; + if (ca_cert_store_) { cli.set_ca_cert_store(ca_cert_store_); } + return detail::redirect(cli, req, res, path, location, error); #else return false; #endif } else { ClientImpl cli(next_host.c_str(), next_port); cli.copy_settings(*this); - auto ret = detail::redirect(cli, req, res, next_path); - if (!ret) { error_ = cli.get_last_error(); } - return ret; + return detail::redirect(cli, req, res, path, location, error); } } } -inline bool ClientImpl::write_request(Stream &strm, const Request &req, - bool close_connection) { - detail::BufferStream bstrm; +inline bool ClientImpl::write_content_with_provider(Stream &strm, + const Request &req, + Error &error) { + auto is_shutting_down = []() { return false; }; - // Request line - const auto &path = detail::encode_url(req.path); + if (req.is_chunked_content_provider_) { + // TODO: Brotli support + std::unique_ptr compressor; +#ifdef CPPHTTPLIB_ZLIB_SUPPORT + if (compress_) { + compressor = detail::make_unique(); + } else +#endif + { + compressor = detail::make_unique(); + } - bstrm.write_format("%s %s HTTP/1.1\r\n", req.method.c_str(), path.c_str()); + return detail::write_content_chunked(strm, req.content_provider_, + is_shutting_down, *compressor, error); + } else { + return detail::write_content(strm, req.content_provider_, 0, + req.content_length_, is_shutting_down, error); + } +} - // Additonal headers - Headers headers; - if (close_connection) { headers.emplace("Connection", "close"); } +inline bool ClientImpl::write_request(Stream &strm, Request &req, + bool close_connection, Error &error) { + // Prepare additional headers + if (close_connection) { + if (!req.has_header("Connection")) { + req.headers.emplace("Connection", "close"); + } + } if (!req.has_header("Host")) { if (is_ssl()) { if (port_ == 443) { - headers.emplace("Host", host_); + req.headers.emplace("Host", host_); } else { - headers.emplace("Host", host_and_port_); + req.headers.emplace("Host", host_and_port_); } } else { if (port_ == 80) { - headers.emplace("Host", host_); + req.headers.emplace("Host", host_); } else { - headers.emplace("Host", host_and_port_); + req.headers.emplace("Host", host_and_port_); } } } - if (!req.has_header("Accept")) { headers.emplace("Accept", "*/*"); } + if (!req.has_header("Accept")) { req.headers.emplace("Accept", "*/*"); } +#ifndef CPPHTTPLIB_NO_DEFAULT_USER_AGENT if (!req.has_header("User-Agent")) { - headers.emplace("User-Agent", "cpp-httplib/0.7"); + auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION; + req.headers.emplace("User-Agent", agent); } +#endif if (req.body.empty()) { - if (req.content_provider) { - auto length = std::to_string(req.content_length); - headers.emplace("Content-Length", length); + if (req.content_provider_) { + if (!req.is_chunked_content_provider_) { + if (!req.has_header("Content-Length")) { + auto length = std::to_string(req.content_length_); + req.headers.emplace("Content-Length", length); + } + } } else { - headers.emplace("Content-Length", "0"); + if (req.method == "POST" || req.method == "PUT" || + req.method == "PATCH") { + req.headers.emplace("Content-Length", "0"); + } } } else { if (!req.has_header("Content-Type")) { - headers.emplace("Content-Type", "text/plain"); + req.headers.emplace("Content-Type", "text/plain"); } if (!req.has_header("Content-Length")) { auto length = std::to_string(req.body.size()); - headers.emplace("Content-Length", length); + req.headers.emplace("Content-Length", length); } } - if (!basic_auth_password_.empty()) { - headers.insert(make_basic_authentication_header( - basic_auth_username_, basic_auth_password_, false)); + if (!basic_auth_password_.empty() || !basic_auth_username_.empty()) { + if (!req.has_header("Authorization")) { + req.headers.insert(make_basic_authentication_header( + basic_auth_username_, basic_auth_password_, false)); + } } if (!proxy_basic_auth_username_.empty() && !proxy_basic_auth_password_.empty()) { - headers.insert(make_basic_authentication_header( - proxy_basic_auth_username_, proxy_basic_auth_password_, true)); + if (!req.has_header("Proxy-Authorization")) { + req.headers.insert(make_basic_authentication_header( + proxy_basic_auth_username_, proxy_basic_auth_password_, true)); + } } if (!bearer_token_auth_token_.empty()) { - headers.insert(make_bearer_token_authentication_header( - bearer_token_auth_token_, false)); + if (!req.has_header("Authorization")) { + req.headers.insert(make_bearer_token_authentication_header( + bearer_token_auth_token_, false)); + } } if (!proxy_bearer_token_auth_token_.empty()) { - headers.insert(make_bearer_token_authentication_header( - proxy_bearer_token_auth_token_, true)); + if (!req.has_header("Proxy-Authorization")) { + req.headers.insert(make_bearer_token_authentication_header( + proxy_bearer_token_auth_token_, true)); + } } - detail::write_headers(bstrm, req, headers); + // Request line and headers + { + detail::BufferStream bstrm; - // Flush buffer - auto &data = bstrm.get_buffer(); - if (!detail::write_data(strm, data.data(), data.size())) { - error_ = Error::Write; - return false; + const auto &path = url_encode_ ? detail::encode_url(req.path) : req.path; + bstrm.write_format("%s %s HTTP/1.1\r\n", req.method.c_str(), path.c_str()); + + detail::write_headers(bstrm, req.headers); + + // Flush buffer + auto &data = bstrm.get_buffer(); + if (!detail::write_data(strm, data.data(), data.size())) { + error = Error::Write; + return false; + } } // Body if (req.body.empty()) { - if (req.content_provider) { - size_t offset = 0; - size_t end_offset = req.content_length; + return write_content_with_provider(strm, req, error); + } - bool ok = true; - - DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) { - if (ok) { - if (detail::write_data(strm, d, l)) { - offset += l; - } else { - ok = false; - } - } - }; - data_sink.is_writable = [&](void) { return ok && strm.is_writable(); }; - - while (offset < end_offset) { - if (!req.content_provider(offset, end_offset - offset, data_sink)) { - error_ = Error::Canceled; - return false; - } - if (!ok) { - error_ = Error::Write; - return false; - } - } - } - } else { - return detail::write_data(strm, req.body.data(), req.body.size()); + if (!detail::write_data(strm, req.body.data(), req.body.size())) { + error = Error::Write; + return false; } return true; } -inline std::shared_ptr ClientImpl::send_with_content_provider( - const char *method, const char *path, const Headers &headers, - const std::string &body, size_t content_length, - ContentProvider content_provider, const char *content_type) { - - Request req; - req.method = method; - req.headers = default_headers_; - req.headers.insert(headers.begin(), headers.end()); - req.path = path; - - if (content_type) { req.headers.emplace("Content-Type", content_type); } +inline std::unique_ptr ClientImpl::send_with_content_provider( + Request &req, const char *body, size_t content_length, + ContentProvider content_provider, + ContentProviderWithoutLength content_provider_without_length, + const std::string &content_type, Error &error) { + if (!content_type.empty()) { + req.headers.emplace("Content-Type", content_type); + } #ifdef CPPHTTPLIB_ZLIB_SUPPORT - if (compress_) { + if (compress_) { req.headers.emplace("Content-Encoding", "gzip"); } +#endif + +#ifdef CPPHTTPLIB_ZLIB_SUPPORT + if (compress_ && !content_provider_without_length) { + // TODO: Brotli support detail::gzip_compressor compressor; if (content_provider) { auto ok = true; size_t offset = 0; - DataSink data_sink; - data_sink.write = [&](const char *data, size_t data_len) { + + data_sink.write = [&](const char *data, size_t data_len) -> bool { if (ok) { auto last = offset + data_len == content_length; auto ret = compressor.compress( - data, data_len, last, [&](const char *data, size_t data_len) { - req.body.append(data, data_len); + data, data_len, last, + [&](const char *compressed_data, size_t compressed_data_len) { + req.body.append(compressed_data, compressed_data_len); return true; }); @@ -5001,94 +6769,162 @@ inline std::shared_ptr ClientImpl::send_with_content_provider( ok = false; } } + return ok; }; - data_sink.is_writable = [&](void) { return ok && true; }; while (ok && offset < content_length) { if (!content_provider(offset, content_length - offset, data_sink)) { - error_ = Error::Canceled; + error = Error::Canceled; return nullptr; } } } else { - if (!compressor.compress(body.data(), body.size(), true, + if (!compressor.compress(body, content_length, true, [&](const char *data, size_t data_len) { req.body.append(data, data_len); return true; })) { + error = Error::Compression; return nullptr; } } - - req.headers.emplace("Content-Encoding", "gzip"); } else #endif { if (content_provider) { - req.content_length = content_length; - req.content_provider = content_provider; + req.content_length_ = content_length; + req.content_provider_ = std::move(content_provider); + req.is_chunked_content_provider_ = false; + } else if (content_provider_without_length) { + req.content_length_ = 0; + req.content_provider_ = detail::ContentProviderAdapter( + std::move(content_provider_without_length)); + req.is_chunked_content_provider_ = true; + req.headers.emplace("Transfer-Encoding", "chunked"); } else { - req.body = body; + req.body.assign(body, content_length); + ; } } - auto res = std::make_shared(); - - return send(req, *res) ? res : nullptr; + auto res = detail::make_unique(); + return send(req, *res, error) ? std::move(res) : nullptr; } -inline bool ClientImpl::process_request(Stream &strm, const Request &req, - Response &res, bool close_connection) { +inline Result ClientImpl::send_with_content_provider( + const std::string &method, const std::string &path, const Headers &headers, + const char *body, size_t content_length, ContentProvider content_provider, + ContentProviderWithoutLength content_provider_without_length, + const std::string &content_type) { + Request req; + req.method = method; + req.headers = headers; + req.path = path; + + auto error = Error::Success; + + auto res = send_with_content_provider( + req, body, content_length, std::move(content_provider), + std::move(content_provider_without_length), content_type, error); + + return Result{std::move(res), error, std::move(req.headers)}; +} + +inline std::string +ClientImpl::adjust_host_string(const std::string &host) const { + if (host.find(':') != std::string::npos) { return "[" + host + "]"; } + return host; +} + +inline bool ClientImpl::process_request(Stream &strm, Request &req, + Response &res, bool close_connection, + Error &error) { // Send request - if (!write_request(strm, req, close_connection)) { return false; } + if (!write_request(strm, req, close_connection, error)) { return false; } + +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + if (is_ssl()) { + auto is_proxy_enabled = !proxy_host_.empty() && proxy_port_ != -1; + if (!is_proxy_enabled) { + char buf[1]; + if (SSL_peek(socket_.ssl, buf, 1) == 0 && + SSL_get_error(socket_.ssl, 0) == SSL_ERROR_ZERO_RETURN) { + error = Error::SSLPeerCouldBeClosed_; + return false; + } + } + } +#endif // Receive response and headers - if (!read_response_line(strm, res) || + if (!read_response_line(strm, req, res) || !detail::read_headers(strm, res.headers)) { - error_ = Error::Read; + error = Error::Read; return false; } - if (req.response_handler) { - if (!req.response_handler(res)) { - error_ = Error::Canceled; - return false; - } - } - // Body - if (req.method != "HEAD" && req.method != "CONNECT") { + if ((res.status != 204) && req.method != "HEAD" && req.method != "CONNECT") { + auto redirect = 300 < res.status && res.status < 400 && follow_location_; + + if (req.response_handler && !redirect) { + if (!req.response_handler(res)) { + error = Error::Canceled; + return false; + } + } + auto out = req.content_receiver - ? static_cast([&](const char *buf, size_t n) { - auto ret = req.content_receiver(buf, n); - if (!ret) { error_ = Error::Canceled; } - return ret; - }) - : static_cast([&](const char *buf, size_t n) { - if (res.body.size() + n > res.body.max_size()) { return false; } - res.body.append(buf, n); - return true; - }); + ? static_cast( + [&](const char *buf, size_t n, uint64_t off, uint64_t len) { + if (redirect) { return true; } + auto ret = req.content_receiver(buf, n, off, len); + if (!ret) { error = Error::Canceled; } + return ret; + }) + : static_cast( + [&](const char *buf, size_t n, uint64_t /*off*/, + uint64_t /*len*/) { + if (res.body.size() + n > res.body.max_size()) { + return false; + } + res.body.append(buf, n); + return true; + }); auto progress = [&](uint64_t current, uint64_t total) { - if (!req.progress) { return true; } + if (!req.progress || redirect) { return true; } auto ret = req.progress(current, total); - if (!ret) { error_ = Error::Canceled; } + if (!ret) { error = Error::Canceled; } return ret; }; int dummy_status; if (!detail::read_content(strm, res, (std::numeric_limits::max)(), - dummy_status, progress, out, decompress_)) { - if (error_ != Error::Canceled) { error_ = Error::Read; } + dummy_status, std::move(progress), std::move(out), + decompress_)) { + if (error != Error::Canceled) { error = Error::Read; } return false; } } if (res.get_header_value("Connection") == "close" || (res.version == "HTTP/1.0" && res.reason != "Connection established")) { - stop_core(); + // TODO this requires a not-entirely-obvious chain of calls to be correct + // for this to be safe. Maybe a code refactor (such as moving this out to + // the send function and getting rid of the recursiveness of the mutex) + // could make this more obvious. + + // This is safe to call because process_request is only called by + // handle_request which is only called by send, which locks the request + // mutex during the process. It would be a bug to call it from a different + // thread since it's a thread-safety issue to do these things to the socket + // if another thread is using the socket. + std::lock_guard guard(socket_mutex_); + shutdown_ssl(socket_, true); + shutdown_socket(socket_); + close_socket(socket_); } // Log @@ -5097,312 +6933,529 @@ inline bool ClientImpl::process_request(Stream &strm, const Request &req, return true; } +inline ContentProviderWithoutLength ClientImpl::get_multipart_content_provider( + const std::string &boundary, const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items) { + size_t cur_item = 0, cur_start = 0; + // cur_item and cur_start are copied to within the std::function and maintain + // state between successive calls + return [&, cur_item, cur_start](size_t offset, + DataSink &sink) mutable -> bool { + if (!offset && items.size()) { + sink.os << detail::serialize_multipart_formdata(items, boundary, false); + return true; + } else if (cur_item < provider_items.size()) { + if (!cur_start) { + const auto &begin = detail::serialize_multipart_formdata_item_begin( + provider_items[cur_item], boundary); + offset += begin.size(); + cur_start = offset; + sink.os << begin; + } + + DataSink cur_sink; + bool has_data = true; + cur_sink.write = sink.write; + cur_sink.done = [&]() { has_data = false; }; + + if (!provider_items[cur_item].provider(offset - cur_start, cur_sink)) + return false; + + if (!has_data) { + sink.os << detail::serialize_multipart_formdata_item_end(); + cur_item++; + cur_start = 0; + } + return true; + } else { + sink.os << detail::serialize_multipart_formdata_finish(boundary); + sink.done(); + return true; + } + }; +} + inline bool -ClientImpl::process_socket(Socket &socket, +ClientImpl::process_socket(const Socket &socket, std::function callback) { - return detail::process_client_socket(socket.sock, read_timeout_sec_, - read_timeout_usec_, write_timeout_sec_, - write_timeout_usec_, callback); + return detail::process_client_socket( + socket.sock, read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, std::move(callback)); } inline bool ClientImpl::is_ssl() const { return false; } -inline Result ClientImpl::Get(const char *path) { +inline Result ClientImpl::Get(const std::string &path) { return Get(path, Headers(), Progress()); } -inline Result ClientImpl::Get(const char *path, Progress progress) { +inline Result ClientImpl::Get(const std::string &path, Progress progress) { return Get(path, Headers(), std::move(progress)); } -inline Result ClientImpl::Get(const char *path, const Headers &headers) { +inline Result ClientImpl::Get(const std::string &path, const Headers &headers) { return Get(path, headers, Progress()); } -inline Result ClientImpl::Get(const char *path, const Headers &headers, +inline Result ClientImpl::Get(const std::string &path, const Headers &headers, Progress progress) { Request req; req.method = "GET"; req.path = path; - req.headers = default_headers_; - req.headers.insert(headers.begin(), headers.end()); + req.headers = headers; req.progress = std::move(progress); - auto res = std::make_shared(); - auto ret = send(req, *res); - return Result{ret ? res : nullptr, get_last_error()}; + return send_(std::move(req)); } -inline Result ClientImpl::Get(const char *path, +inline Result ClientImpl::Get(const std::string &path, ContentReceiver content_receiver) { return Get(path, Headers(), nullptr, std::move(content_receiver), nullptr); } -inline Result ClientImpl::Get(const char *path, +inline Result ClientImpl::Get(const std::string &path, ContentReceiver content_receiver, Progress progress) { return Get(path, Headers(), nullptr, std::move(content_receiver), std::move(progress)); } -inline Result ClientImpl::Get(const char *path, const Headers &headers, +inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver) { return Get(path, headers, nullptr, std::move(content_receiver), nullptr); } -inline Result ClientImpl::Get(const char *path, const Headers &headers, +inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver, Progress progress) { return Get(path, headers, nullptr, std::move(content_receiver), std::move(progress)); } -inline Result ClientImpl::Get(const char *path, +inline Result ClientImpl::Get(const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver) { - return Get(path, Headers(), std::move(response_handler), content_receiver, - nullptr); + return Get(path, Headers(), std::move(response_handler), + std::move(content_receiver), nullptr); } -inline Result ClientImpl::Get(const char *path, const Headers &headers, +inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver) { - return Get(path, headers, std::move(response_handler), content_receiver, - nullptr); + return Get(path, headers, std::move(response_handler), + std::move(content_receiver), nullptr); } -inline Result ClientImpl::Get(const char *path, +inline Result ClientImpl::Get(const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress) { - return Get(path, Headers(), std::move(response_handler), content_receiver, - progress); + return Get(path, Headers(), std::move(response_handler), + std::move(content_receiver), std::move(progress)); } -inline Result ClientImpl::Get(const char *path, const Headers &headers, +inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress) { Request req; req.method = "GET"; req.path = path; - req.headers = default_headers_; - req.headers.insert(headers.begin(), headers.end()); + req.headers = headers; req.response_handler = std::move(response_handler); - req.content_receiver = std::move(content_receiver); + req.content_receiver = + [content_receiver](const char *data, size_t data_length, + uint64_t /*offset*/, uint64_t /*total_length*/) { + return content_receiver(data, data_length); + }; req.progress = std::move(progress); - auto res = std::make_shared(); - auto ret = send(req, *res); - return Result{ret ? res : nullptr, get_last_error()}; + return send_(std::move(req)); } -inline Result ClientImpl::Head(const char *path) { +inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, + const Headers &headers, Progress progress) { + if (params.empty()) { return Get(path, headers); } + + std::string path_with_query = append_query_params(path, params); + return Get(path_with_query.c_str(), headers, progress); +} + +inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, + const Headers &headers, + ContentReceiver content_receiver, + Progress progress) { + return Get(path, params, headers, nullptr, content_receiver, progress); +} + +inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, + const Headers &headers, + ResponseHandler response_handler, + ContentReceiver content_receiver, + Progress progress) { + if (params.empty()) { + return Get(path, headers, response_handler, content_receiver, progress); + } + + std::string path_with_query = append_query_params(path, params); + return Get(path_with_query.c_str(), headers, response_handler, + content_receiver, progress); +} + +inline Result ClientImpl::Head(const std::string &path) { return Head(path, Headers()); } -inline Result ClientImpl::Head(const char *path, const Headers &headers) { +inline Result ClientImpl::Head(const std::string &path, + const Headers &headers) { Request req; req.method = "HEAD"; - req.headers = default_headers_; - req.headers.insert(headers.begin(), headers.end()); + req.headers = headers; req.path = path; - auto res = std::make_shared(); - auto ret = send(req, *res); - return Result{ret ? res : nullptr, get_last_error()}; + return send_(std::move(req)); } -inline Result ClientImpl::Post(const char *path) { - return Post(path, std::string(), nullptr); +inline Result ClientImpl::Post(const std::string &path) { + return Post(path, std::string(), std::string()); } -inline Result ClientImpl::Post(const char *path, const std::string &body, - const char *content_type) { +inline Result ClientImpl::Post(const std::string &path, + const Headers &headers) { + return Post(path, headers, nullptr, 0, std::string()); +} + +inline Result ClientImpl::Post(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return Post(path, Headers(), body, content_length, content_type); +} + +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return send_with_content_provider("POST", path, headers, body, content_length, + nullptr, nullptr, content_type); +} + +inline Result ClientImpl::Post(const std::string &path, const std::string &body, + const std::string &content_type) { return Post(path, Headers(), body, content_type); } -inline Result ClientImpl::Post(const char *path, const Headers &headers, +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const std::string &body, - const char *content_type) { - auto ret = send_with_content_provider("POST", path, headers, body, 0, nullptr, - content_type); - return Result{ret, get_last_error()}; + const std::string &content_type) { + return send_with_content_provider("POST", path, headers, body.data(), + body.size(), nullptr, nullptr, + content_type); } -inline Result ClientImpl::Post(const char *path, const Params ¶ms) { +inline Result ClientImpl::Post(const std::string &path, const Params ¶ms) { return Post(path, Headers(), params); } -inline Result ClientImpl::Post(const char *path, size_t content_length, +inline Result ClientImpl::Post(const std::string &path, size_t content_length, ContentProvider content_provider, - const char *content_type) { - return Post(path, Headers(), content_length, content_provider, content_type); + const std::string &content_type) { + return Post(path, Headers(), content_length, std::move(content_provider), + content_type); } -inline Result ClientImpl::Post(const char *path, const Headers &headers, +inline Result ClientImpl::Post(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return Post(path, Headers(), std::move(content_provider), content_type); +} + +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const char *content_type) { - auto ret = send_with_content_provider("POST", path, headers, std::string(), - content_length, content_provider, - content_type); - return Result{ret, get_last_error()}; + const std::string &content_type) { + return send_with_content_provider("POST", path, headers, nullptr, + content_length, std::move(content_provider), + nullptr, content_type); } -inline Result ClientImpl::Post(const char *path, const Headers &headers, +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return send_with_content_provider("POST", path, headers, nullptr, 0, nullptr, + std::move(content_provider), content_type); +} + +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const Params ¶ms) { auto query = detail::params_to_query_str(params); return Post(path, headers, query, "application/x-www-form-urlencoded"); } -inline Result ClientImpl::Post(const char *path, +inline Result ClientImpl::Post(const std::string &path, const MultipartFormDataItems &items) { return Post(path, Headers(), items); } -inline Result ClientImpl::Post(const char *path, const Headers &headers, +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items) { - auto boundary = detail::make_multipart_data_boundary(); - - std::string body; - - for (const auto &item : items) { - body += "--" + boundary + "\r\n"; - body += "Content-Disposition: form-data; name=\"" + item.name + "\""; - if (!item.filename.empty()) { - body += "; filename=\"" + item.filename + "\""; - } - body += "\r\n"; - if (!item.content_type.empty()) { - body += "Content-Type: " + item.content_type + "\r\n"; - } - body += "\r\n"; - body += item.content + "\r\n"; - } - - body += "--" + boundary + "--\r\n"; - - std::string content_type = "multipart/form-data; boundary=" + boundary; + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); return Post(path, headers, body, content_type.c_str()); } -inline Result ClientImpl::Put(const char *path) { - return Put(path, std::string(), nullptr); +inline Result ClientImpl::Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const std::string &boundary) { + if (!detail::is_multipart_boundary_chars_valid(boundary)) { + return Result{nullptr, Error::UnsupportedMultipartBoundaryChars}; + } + + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Post(path, headers, body, content_type.c_str()); } -inline Result ClientImpl::Put(const char *path, const std::string &body, - const char *content_type) { +inline Result +ClientImpl::Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items) { + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + return send_with_content_provider( + "POST", path, headers, nullptr, 0, nullptr, + get_multipart_content_provider(boundary, items, provider_items), + content_type); +} + +inline Result ClientImpl::Put(const std::string &path) { + return Put(path, std::string(), std::string()); +} + +inline Result ClientImpl::Put(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return Put(path, Headers(), body, content_length, content_type); +} + +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return send_with_content_provider("PUT", path, headers, body, content_length, + nullptr, nullptr, content_type); +} + +inline Result ClientImpl::Put(const std::string &path, const std::string &body, + const std::string &content_type) { return Put(path, Headers(), body, content_type); } -inline Result ClientImpl::Put(const char *path, const Headers &headers, +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, const std::string &body, - const char *content_type) { - auto ret = send_with_content_provider("PUT", path, headers, body, 0, nullptr, - content_type); - return Result{ret, get_last_error()}; + const std::string &content_type) { + return send_with_content_provider("PUT", path, headers, body.data(), + body.size(), nullptr, nullptr, + content_type); } -inline Result ClientImpl::Put(const char *path, size_t content_length, +inline Result ClientImpl::Put(const std::string &path, size_t content_length, ContentProvider content_provider, - const char *content_type) { - return Put(path, Headers(), content_length, content_provider, content_type); + const std::string &content_type) { + return Put(path, Headers(), content_length, std::move(content_provider), + content_type); } -inline Result ClientImpl::Put(const char *path, const Headers &headers, +inline Result ClientImpl::Put(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return Put(path, Headers(), std::move(content_provider), content_type); +} + +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const char *content_type) { - auto ret = send_with_content_provider("PUT", path, headers, std::string(), - content_length, content_provider, - content_type); - return Result{ret, get_last_error()}; + const std::string &content_type) { + return send_with_content_provider("PUT", path, headers, nullptr, + content_length, std::move(content_provider), + nullptr, content_type); } -inline Result ClientImpl::Put(const char *path, const Params ¶ms) { +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return send_with_content_provider("PUT", path, headers, nullptr, 0, nullptr, + std::move(content_provider), content_type); +} + +inline Result ClientImpl::Put(const std::string &path, const Params ¶ms) { return Put(path, Headers(), params); } -inline Result ClientImpl::Put(const char *path, const Headers &headers, +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, const Params ¶ms) { auto query = detail::params_to_query_str(params); return Put(path, headers, query, "application/x-www-form-urlencoded"); } -inline Result ClientImpl::Patch(const char *path, const std::string &body, - const char *content_type) { +inline Result ClientImpl::Put(const std::string &path, + const MultipartFormDataItems &items) { + return Put(path, Headers(), items); +} + +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items) { + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Put(path, headers, body, content_type); +} + +inline Result ClientImpl::Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const std::string &boundary) { + if (!detail::is_multipart_boundary_chars_valid(boundary)) { + return Result{nullptr, Error::UnsupportedMultipartBoundaryChars}; + } + + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Put(path, headers, body, content_type); +} + +inline Result +ClientImpl::Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items) { + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + return send_with_content_provider( + "PUT", path, headers, nullptr, 0, nullptr, + get_multipart_content_provider(boundary, items, provider_items), + content_type); +} +inline Result ClientImpl::Patch(const std::string &path) { + return Patch(path, std::string(), std::string()); +} + +inline Result ClientImpl::Patch(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return Patch(path, Headers(), body, content_length, content_type); +} + +inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return send_with_content_provider("PATCH", path, headers, body, + content_length, nullptr, nullptr, + content_type); +} + +inline Result ClientImpl::Patch(const std::string &path, + const std::string &body, + const std::string &content_type) { return Patch(path, Headers(), body, content_type); } -inline Result ClientImpl::Patch(const char *path, const Headers &headers, +inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, const std::string &body, - const char *content_type) { - auto ret = send_with_content_provider("PATCH", path, headers, body, 0, - nullptr, content_type); - return Result{ret, get_last_error()}; + const std::string &content_type) { + return send_with_content_provider("PATCH", path, headers, body.data(), + body.size(), nullptr, nullptr, + content_type); } -inline Result ClientImpl::Patch(const char *path, size_t content_length, +inline Result ClientImpl::Patch(const std::string &path, size_t content_length, ContentProvider content_provider, - const char *content_type) { - return Patch(path, Headers(), content_length, content_provider, content_type); + const std::string &content_type) { + return Patch(path, Headers(), content_length, std::move(content_provider), + content_type); } -inline Result ClientImpl::Patch(const char *path, const Headers &headers, +inline Result ClientImpl::Patch(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return Patch(path, Headers(), std::move(content_provider), content_type); +} + +inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const char *content_type) { - auto ret = send_with_content_provider("PATCH", path, headers, std::string(), - content_length, content_provider, - content_type); - return Result{ret, get_last_error()}; + const std::string &content_type) { + return send_with_content_provider("PATCH", path, headers, nullptr, + content_length, std::move(content_provider), + nullptr, content_type); } -inline Result ClientImpl::Delete(const char *path) { - return Delete(path, Headers(), std::string(), nullptr); +inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return send_with_content_provider("PATCH", path, headers, nullptr, 0, nullptr, + std::move(content_provider), content_type); } -inline Result ClientImpl::Delete(const char *path, const std::string &body, - const char *content_type) { - return Delete(path, Headers(), body, content_type); +inline Result ClientImpl::Delete(const std::string &path) { + return Delete(path, Headers(), std::string(), std::string()); } -inline Result ClientImpl::Delete(const char *path, const Headers &headers) { - return Delete(path, headers, std::string(), nullptr); +inline Result ClientImpl::Delete(const std::string &path, + const Headers &headers) { + return Delete(path, headers, std::string(), std::string()); } -inline Result ClientImpl::Delete(const char *path, const Headers &headers, - const std::string &body, - const char *content_type) { +inline Result ClientImpl::Delete(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return Delete(path, Headers(), body, content_length, content_type); +} + +inline Result ClientImpl::Delete(const std::string &path, + const Headers &headers, const char *body, + size_t content_length, + const std::string &content_type) { Request req; req.method = "DELETE"; - req.headers = default_headers_; - req.headers.insert(headers.begin(), headers.end()); + req.headers = headers; req.path = path; - if (content_type) { req.headers.emplace("Content-Type", content_type); } - req.body = body; + if (!content_type.empty()) { + req.headers.emplace("Content-Type", content_type); + } + req.body.assign(body, content_length); - auto res = std::make_shared(); - auto ret = send(req, *res); - return Result{ret ? res : nullptr, get_last_error()}; + return send_(std::move(req)); } -inline Result ClientImpl::Options(const char *path) { +inline Result ClientImpl::Delete(const std::string &path, + const std::string &body, + const std::string &content_type) { + return Delete(path, Headers(), body.data(), body.size(), content_type); +} + +inline Result ClientImpl::Delete(const std::string &path, + const Headers &headers, + const std::string &body, + const std::string &content_type) { + return Delete(path, headers, body.data(), body.size(), content_type); +} + +inline Result ClientImpl::Options(const std::string &path) { return Options(path, Headers()); } -inline Result ClientImpl::Options(const char *path, const Headers &headers) { +inline Result ClientImpl::Options(const std::string &path, + const Headers &headers) { Request req; req.method = "OPTIONS"; - req.headers = default_headers_; - req.headers.insert(headers.begin(), headers.end()); + req.headers = headers; req.path = path; - auto res = std::make_shared(); - auto ret = send(req, *res); - return Result{ret ? res : nullptr, get_last_error()}; + return send_(std::move(req)); } inline size_t ClientImpl::is_socket_open() const { @@ -5410,19 +7463,29 @@ inline size_t ClientImpl::is_socket_open() const { return socket_.is_open(); } -inline void ClientImpl::stop() { - stop_core(); - error_ = Error::Canceled; -} +inline socket_t ClientImpl::socket() const { return socket_.sock; } -inline void ClientImpl::stop_core() { +inline void ClientImpl::stop() { std::lock_guard guard(socket_mutex_); - if (socket_.is_open()) { - detail::shutdown_socket(socket_.sock); - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - close_socket(socket_, true); - std::this_thread::sleep_for(std::chrono::milliseconds(1)); + + // If there is anything ongoing right now, the ONLY thread-safe thing we can + // do is to shutdown_socket, so that threads using this socket suddenly + // discover they can't read/write any more and error out. Everything else + // (closing the socket, shutting ssl down) is unsafe because these actions are + // not thread-safe. + if (socket_requests_in_flight_ > 0) { + shutdown_socket(socket_); + + // Aside from that, we set a flag for the socket to be closed when we're + // done. + socket_should_be_closed_when_request_is_done_ = true; + return; } + + // Otherwise, still holding the mutex, we can shut everything down ourselves + shutdown_ssl(socket_, true); + shutdown_socket(socket_); + close_socket(socket_); } inline void ClientImpl::set_connection_timeout(time_t sec, time_t usec) { @@ -5440,19 +7503,19 @@ inline void ClientImpl::set_write_timeout(time_t sec, time_t usec) { write_timeout_usec_ = usec; } -inline void ClientImpl::set_basic_auth(const char *username, - const char *password) { +inline void ClientImpl::set_basic_auth(const std::string &username, + const std::string &password) { basic_auth_username_ = username; basic_auth_password_ = password; } -inline void ClientImpl::set_bearer_token_auth(const char *token) { +inline void ClientImpl::set_bearer_token_auth(const std::string &token) { bearer_token_auth_token_ = token; } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline void ClientImpl::set_digest_auth(const char *username, - const char *password) { +inline void ClientImpl::set_digest_auth(const std::string &username, + const std::string &password) { digest_auth_username_ = username; digest_auth_password_ = password; } @@ -5462,45 +7525,72 @@ inline void ClientImpl::set_keep_alive(bool on) { keep_alive_ = on; } inline void ClientImpl::set_follow_location(bool on) { follow_location_ = on; } +inline void ClientImpl::set_url_encode(bool on) { url_encode_ = on; } + +inline void +ClientImpl::set_hostname_addr_map(std::map addr_map) { + addr_map_ = std::move(addr_map); +} + inline void ClientImpl::set_default_headers(Headers headers) { default_headers_ = std::move(headers); } +inline void ClientImpl::set_address_family(int family) { + address_family_ = family; +} + inline void ClientImpl::set_tcp_nodelay(bool on) { tcp_nodelay_ = on; } inline void ClientImpl::set_socket_options(SocketOptions socket_options) { - socket_options_ = socket_options; + socket_options_ = std::move(socket_options); } inline void ClientImpl::set_compress(bool on) { compress_ = on; } inline void ClientImpl::set_decompress(bool on) { decompress_ = on; } -inline void ClientImpl::set_interface(const char *intf) { interface_ = intf; } +inline void ClientImpl::set_interface(const std::string &intf) { + interface_ = intf; +} -inline void ClientImpl::set_proxy(const char *host, int port) { +inline void ClientImpl::set_proxy(const std::string &host, int port) { proxy_host_ = host; proxy_port_ = port; } -inline void ClientImpl::set_proxy_basic_auth(const char *username, - const char *password) { +inline void ClientImpl::set_proxy_basic_auth(const std::string &username, + const std::string &password) { proxy_basic_auth_username_ = username; proxy_basic_auth_password_ = password; } -inline void ClientImpl::set_proxy_bearer_token_auth(const char *token) { +inline void ClientImpl::set_proxy_bearer_token_auth(const std::string &token) { proxy_bearer_token_auth_token_ = token; } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline void ClientImpl::set_proxy_digest_auth(const char *username, - const char *password) { +inline void ClientImpl::set_proxy_digest_auth(const std::string &username, + const std::string &password) { proxy_digest_auth_username_ = username; proxy_digest_auth_password_ = password; } #endif +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT +inline void ClientImpl::set_ca_cert_path(const std::string &ca_cert_file_path, + const std::string &ca_cert_dir_path) { + ca_cert_file_path_ = ca_cert_file_path; + ca_cert_dir_path_ = ca_cert_dir_path; +} + +inline void ClientImpl::set_ca_cert_store(X509_STORE *ca_cert_store) { + if (ca_cert_store && ca_cert_store != ca_cert_store_) { + ca_cert_store_ = ca_cert_store; + } +} +#endif + #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void ClientImpl::enable_server_certificate_verification(bool enabled) { server_certificate_verification_ = enabled; @@ -5527,7 +7617,9 @@ inline SSL *ssl_new(socket_t sock, SSL_CTX *ctx, std::mutex &ctx_mutex, } if (ssl) { + set_nonblocking(sock, true); auto bio = BIO_new_socket(static_cast(sock), BIO_NOCLOSE); + BIO_set_nbio(bio, 1); SSL_set_bio(ssl, bio, bio); if (!setup(ssl) || SSL_connect_or_accept(ssl) != 1) { @@ -5536,32 +7628,58 @@ inline SSL *ssl_new(socket_t sock, SSL_CTX *ctx, std::mutex &ctx_mutex, std::lock_guard guard(ctx_mutex); SSL_free(ssl); } + set_nonblocking(sock, false); return nullptr; } + BIO_set_nbio(bio, 0); + set_nonblocking(sock, false); } return ssl; } inline void ssl_delete(std::mutex &ctx_mutex, SSL *ssl, - bool process_socket_ret) { - if (process_socket_ret) { - SSL_shutdown(ssl); // shutdown only if not already closed by remote - } + bool shutdown_gracefully) { + // sometimes we may want to skip this to try to avoid SIGPIPE if we know + // the remote has closed the network connection + // Note that it is not always possible to avoid SIGPIPE, this is merely a + // best-efforts. + if (shutdown_gracefully) { SSL_shutdown(ssl); } std::lock_guard guard(ctx_mutex); SSL_free(ssl); } +template +bool ssl_connect_or_accept_nonblocking(socket_t sock, SSL *ssl, + U ssl_connect_or_accept, + time_t timeout_sec, + time_t timeout_usec) { + int res = 0; + while ((res = ssl_connect_or_accept(ssl)) != 1) { + auto err = SSL_get_error(ssl, res); + switch (err) { + case SSL_ERROR_WANT_READ: + if (select_read(sock, timeout_sec, timeout_usec) > 0) { continue; } + break; + case SSL_ERROR_WANT_WRITE: + if (select_write(sock, timeout_sec, timeout_usec) > 0) { continue; } + break; + default: break; + } + return false; + } + return true; +} + template -inline bool -process_server_socket_ssl(SSL *ssl, socket_t sock, size_t keep_alive_max_count, - time_t keep_alive_timeout_sec, - time_t read_timeout_sec, time_t read_timeout_usec, - time_t write_timeout_sec, time_t write_timeout_usec, - T callback) { +inline bool process_server_socket_ssl( + const std::atomic &svr_sock, SSL *ssl, socket_t sock, + size_t keep_alive_max_count, time_t keep_alive_timeout_sec, + time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, + time_t write_timeout_usec, T callback) { return process_server_socket_core( - sock, keep_alive_max_count, keep_alive_timeout_sec, + svr_sock, sock, keep_alive_max_count, keep_alive_timeout_sec, [&](bool close_connection, bool &connection_closed) { SSLSocketStream strm(sock, ssl, read_timeout_sec, read_timeout_usec, write_timeout_sec, write_timeout_usec); @@ -5579,55 +7697,12 @@ process_client_socket_ssl(SSL *ssl, socket_t sock, time_t read_timeout_sec, return callback(strm); } -#if OPENSSL_VERSION_NUMBER < 0x10100000L -static std::shared_ptr> openSSL_locks_; - -class SSLThreadLocks { -public: - SSLThreadLocks() { - openSSL_locks_ = - std::make_shared>(CRYPTO_num_locks()); - CRYPTO_set_locking_callback(locking_callback); - } - - ~SSLThreadLocks() { CRYPTO_set_locking_callback(nullptr); } - -private: - static void locking_callback(int mode, int type, const char * /*file*/, - int /*line*/) { - auto &lk = (*openSSL_locks_)[static_cast(type)]; - if (mode & CRYPTO_LOCK) { - lk.lock(); - } else { - lk.unlock(); - } - } -}; - -#endif - class SSLInit { public: SSLInit() { -#if OPENSSL_VERSION_NUMBER < 0x1010001fL - SSL_load_error_strings(); - SSL_library_init(); -#else OPENSSL_init_ssl( OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); -#endif } - - ~SSLInit() { -#if OPENSSL_VERSION_NUMBER < 0x1010001fL - ERR_free_strings(); -#endif - } - -private: -#if OPENSSL_VERSION_NUMBER < 0x10100000L - SSLThreadLocks thread_init_; -#endif }; // SSL socket stream implementation @@ -5640,22 +7715,7 @@ inline SSLSocketStream::SSLSocketStream(socket_t sock, SSL *ssl, read_timeout_usec_(read_timeout_usec), write_timeout_sec_(write_timeout_sec), write_timeout_usec_(write_timeout_usec) { - { - timeval tv; - tv.tv_sec = static_cast(read_timeout_sec); - tv.tv_usec = static_cast(read_timeout_usec); - - setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast(&tv), - sizeof(tv)); - } - { - timeval tv; - tv.tv_sec = static_cast(write_timeout_sec); - tv.tv_usec = static_cast(write_timeout_usec); - - setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, reinterpret_cast(&tv), - sizeof(tv)); - } + SSL_clear_mode(ssl, SSL_MODE_AUTO_RETRY); } inline SSLSocketStream::~SSLSocketStream() {} @@ -5665,19 +7725,70 @@ inline bool SSLSocketStream::is_readable() const { } inline bool SSLSocketStream::is_writable() const { - return detail::select_write(sock_, write_timeout_sec_, write_timeout_usec_) > - 0; + return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0 && + is_socket_alive(sock_); } inline ssize_t SSLSocketStream::read(char *ptr, size_t size) { - if (SSL_pending(ssl_) > 0 || is_readable()) { + if (SSL_pending(ssl_) > 0) { return SSL_read(ssl_, ptr, static_cast(size)); + } else if (is_readable()) { + auto ret = SSL_read(ssl_, ptr, static_cast(size)); + if (ret < 0) { + auto err = SSL_get_error(ssl_, ret); + int n = 1000; +#ifdef _WIN32 + while (--n >= 0 && (err == SSL_ERROR_WANT_READ || + (err == SSL_ERROR_SYSCALL && + WSAGetLastError() == WSAETIMEDOUT))) { +#else + while (--n >= 0 && err == SSL_ERROR_WANT_READ) { +#endif + if (SSL_pending(ssl_) > 0) { + return SSL_read(ssl_, ptr, static_cast(size)); + } else if (is_readable()) { + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + ret = SSL_read(ssl_, ptr, static_cast(size)); + if (ret >= 0) { return ret; } + err = SSL_get_error(ssl_, ret); + } else { + return -1; + } + } + } + return ret; } return -1; } inline ssize_t SSLSocketStream::write(const char *ptr, size_t size) { - if (is_writable()) { return SSL_write(ssl_, ptr, static_cast(size)); } + if (is_writable()) { + auto handle_size = static_cast( + std::min(size, (std::numeric_limits::max)())); + + auto ret = SSL_write(ssl_, ptr, static_cast(handle_size)); + if (ret < 0) { + auto err = SSL_get_error(ssl_, ret); + int n = 1000; +#ifdef _WIN32 + while (--n >= 0 && (err == SSL_ERROR_WANT_WRITE || + (err == SSL_ERROR_SYSCALL && + WSAGetLastError() == WSAETIMEDOUT))) { +#else + while (--n >= 0 && err == SSL_ERROR_WANT_WRITE) { +#endif + if (is_writable()) { + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + ret = SSL_write(ssl_, ptr, static_cast(handle_size)); + if (ret >= 0) { return ret; } + err = SSL_get_error(ssl_, ret); + } else { + return -1; + } + } + } + return ret; + } return -1; } @@ -5686,6 +7797,13 @@ inline void SSLSocketStream::get_remote_ip_and_port(std::string &ip, detail::get_remote_ip_and_port(sock_, ip, port); } +inline void SSLSocketStream::get_local_ip_and_port(std::string &ip, + int &port) const { + detail::get_local_ip_and_port(sock_, ip, port); +} + +inline socket_t SSLSocketStream::socket() const { return sock_; } + static SSLInit sslinit_; } // namespace detail @@ -5693,18 +7811,22 @@ static SSLInit sslinit_; // SSL HTTP server implementation inline SSLServer::SSLServer(const char *cert_path, const char *private_key_path, const char *client_ca_cert_file_path, - const char *client_ca_cert_dir_path) { - ctx_ = SSL_CTX_new(SSLv23_server_method()); + const char *client_ca_cert_dir_path, + const char *private_key_password) { + ctx_ = SSL_CTX_new(TLS_server_method()); if (ctx_) { SSL_CTX_set_options(ctx_, - SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | - SSL_OP_NO_COMPRESSION | + SSL_OP_NO_COMPRESSION | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION); - // auto ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); - // SSL_CTX_set_tmp_ecdh(ctx_, ecdh); - // EC_KEY_free(ecdh); + SSL_CTX_set_min_proto_version(ctx_, TLS1_1_VERSION); + + // add default password callback before opening encrypted private key + if (private_key_password != nullptr && (private_key_password[0] != '\0')) { + SSL_CTX_set_default_passwd_cb_userdata(ctx_, + (char *)private_key_password); + } if (SSL_CTX_use_certificate_chain_file(ctx_, cert_path) != 1 || SSL_CTX_use_PrivateKey_file(ctx_, private_key_path, SSL_FILETYPE_PEM) != @@ -5712,46 +7834,46 @@ inline SSLServer::SSLServer(const char *cert_path, const char *private_key_path, SSL_CTX_free(ctx_); ctx_ = nullptr; } else if (client_ca_cert_file_path || client_ca_cert_dir_path) { - // if (client_ca_cert_file_path) { - // auto list = SSL_load_client_CA_file(client_ca_cert_file_path); - // SSL_CTX_set_client_CA_list(ctx_, list); - // } - SSL_CTX_load_verify_locations(ctx_, client_ca_cert_file_path, client_ca_cert_dir_path); SSL_CTX_set_verify( - ctx_, - SSL_VERIFY_PEER | - SSL_VERIFY_FAIL_IF_NO_PEER_CERT, // SSL_VERIFY_CLIENT_ONCE, - nullptr); + ctx_, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, nullptr); } } } inline SSLServer::SSLServer(X509 *cert, EVP_PKEY *private_key, X509_STORE *client_ca_cert_store) { - ctx_ = SSL_CTX_new(SSLv23_server_method()); + ctx_ = SSL_CTX_new(TLS_server_method()); if (ctx_) { SSL_CTX_set_options(ctx_, - SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | - SSL_OP_NO_COMPRESSION | + SSL_OP_NO_COMPRESSION | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION); + SSL_CTX_set_min_proto_version(ctx_, TLS1_1_VERSION); + if (SSL_CTX_use_certificate(ctx_, cert) != 1 || SSL_CTX_use_PrivateKey(ctx_, private_key) != 1) { SSL_CTX_free(ctx_); ctx_ = nullptr; } else if (client_ca_cert_store) { - SSL_CTX_set_cert_store(ctx_, client_ca_cert_store); SSL_CTX_set_verify( - ctx_, - SSL_VERIFY_PEER | - SSL_VERIFY_FAIL_IF_NO_PEER_CERT, // SSL_VERIFY_CLIENT_ONCE, - nullptr); + ctx_, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, nullptr); + } + } +} + +inline SSLServer::SSLServer( + const std::function &setup_ssl_ctx_callback) { + ctx_ = SSL_CTX_new(TLS_method()); + if (ctx_) { + if (!setup_ssl_ctx_callback(*ctx_)) { + SSL_CTX_free(ctx_); + ctx_ = nullptr; } } } @@ -5762,13 +7884,21 @@ inline SSLServer::~SSLServer() { inline bool SSLServer::is_valid() const { return ctx_; } -inline bool SSLServer::process_and_close_socket(socket_t sock) { - auto ssl = detail::ssl_new(sock, ctx_, ctx_mutex_, SSL_accept, - [](SSL * /*ssl*/) { return true; }); +inline SSL_CTX *SSLServer::ssl_context() const { return ctx_; } +inline bool SSLServer::process_and_close_socket(socket_t sock) { + auto ssl = detail::ssl_new( + sock, ctx_, ctx_mutex_, + [&](SSL *ssl2) { + return detail::ssl_connect_or_accept_nonblocking( + sock, ssl2, SSL_accept, read_timeout_sec_, read_timeout_usec_); + }, + [](SSL * /*ssl2*/) { return true; }); + + auto ret = false; if (ssl) { - auto ret = detail::process_server_socket_ssl( - ssl, sock, keep_alive_max_count_, keep_alive_timeout_sec_, + ret = detail::process_server_socket_ssl( + svr_sock_, ssl, sock, keep_alive_max_count_, keep_alive_timeout_sec_, read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, write_timeout_usec_, [this, ssl](Stream &strm, bool close_connection, @@ -5777,12 +7907,15 @@ inline bool SSLServer::process_and_close_socket(socket_t sock) { [&](Request &req) { req.ssl = ssl; }); }); - detail::ssl_delete(ctx_mutex_, ssl, ret); - return ret; + // Shutdown gracefully if the result seemed successful, non-gracefully if + // the connection appeared to be closed. + const bool shutdown_gracefully = ret; + detail::ssl_delete(ctx_mutex_, ssl, shutdown_gracefully); } + detail::shutdown_socket(sock); detail::close_socket(sock); - return false; + return ret; } // SSL HTTP client implementation @@ -5796,12 +7929,13 @@ inline SSLClient::SSLClient(const std::string &host, int port, const std::string &client_cert_path, const std::string &client_key_path) : ClientImpl(host, port, client_cert_path, client_key_path) { - ctx_ = SSL_CTX_new(SSLv23_client_method()); + ctx_ = SSL_CTX_new(TLS_client_method()); detail::split(&host_[0], &host_[host_.size()], '.', [&](const char *b, const char *e) { host_components_.emplace_back(std::string(b, e)); }); + if (!client_cert_path.empty() && !client_key_path.empty()) { if (SSL_CTX_use_certificate_file(ctx_, client_cert_path.c_str(), SSL_FILETYPE_PEM) != 1 || @@ -5816,12 +7950,13 @@ inline SSLClient::SSLClient(const std::string &host, int port, inline SSLClient::SSLClient(const std::string &host, int port, X509 *client_cert, EVP_PKEY *client_key) : ClientImpl(host, port) { - ctx_ = SSL_CTX_new(SSLv23_client_method()); + ctx_ = SSL_CTX_new(TLS_client_method()); detail::split(&host_[0], &host_[host_.size()], '.', [&](const char *b, const char *e) { host_components_.emplace_back(std::string(b, e)); }); + if (client_cert != nullptr && client_key != nullptr) { if (SSL_CTX_use_certificate(ctx_, client_cert) != 1 || SSL_CTX_use_PrivateKey(ctx_, client_key) != 1) { @@ -5833,18 +7968,25 @@ inline SSLClient::SSLClient(const std::string &host, int port, inline SSLClient::~SSLClient() { if (ctx_) { SSL_CTX_free(ctx_); } + // Make sure to shut down SSL since shutdown_ssl will resolve to the + // base function rather than the derived function once we get to the + // base class destructor, and won't free the SSL (causing a leak). + shutdown_ssl_impl(socket_, true); } inline bool SSLClient::is_valid() const { return ctx_; } -inline void SSLClient::set_ca_cert_path(const char *ca_cert_file_path, - const char *ca_cert_dir_path) { - if (ca_cert_file_path) { ca_cert_file_path_ = ca_cert_file_path; } - if (ca_cert_dir_path) { ca_cert_dir_path_ = ca_cert_dir_path; } -} - inline void SSLClient::set_ca_cert_store(X509_STORE *ca_cert_store) { - if (ca_cert_store) { ca_cert_store_ = ca_cert_store; } + if (ca_cert_store) { + if (ctx_) { + if (SSL_CTX_get_cert_store(ctx_) != ca_cert_store) { + // Free memory allocated for old cert and use new store `ca_cert_store` + SSL_CTX_set_cert_store(ctx_, ca_cert_store); + } + } else { + X509_STORE_free(ca_cert_store); + } + } } inline long SSLClient::get_openssl_verify_result() const { @@ -5853,24 +7995,28 @@ inline long SSLClient::get_openssl_verify_result() const { inline SSL_CTX *SSLClient::ssl_context() const { return ctx_; } -inline bool SSLClient::create_and_connect_socket(Socket &socket) { - return is_valid() && ClientImpl::create_and_connect_socket(socket); +inline bool SSLClient::create_and_connect_socket(Socket &socket, Error &error) { + return is_valid() && ClientImpl::create_and_connect_socket(socket, error); } +// Assumes that socket_mutex_ is locked and that there are no requests in flight inline bool SSLClient::connect_with_proxy(Socket &socket, Response &res, - bool &success) { + bool &success, Error &error) { success = true; Response res2; - if (!detail::process_client_socket( socket.sock, read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, write_timeout_usec_, [&](Stream &strm) { Request req2; req2.method = "CONNECT"; req2.path = host_and_port_; - return process_request(strm, req2, res2, false); + return process_request(strm, req2, res2, false, error); })) { - close_socket(socket, true); + // Thread-safe to close everything because we are assuming there are no + // requests in flight + shutdown_ssl(socket, true); + shutdown_socket(socket); + close_socket(socket); success = false; return false; } @@ -5891,9 +8037,13 @@ inline bool SSLClient::connect_with_proxy(Socket &socket, Response &res, req3, auth, 1, detail::random_string(10), proxy_digest_auth_username_, proxy_digest_auth_password_, true)); - return process_request(strm, req3, res3, false); + return process_request(strm, req3, res3, false, error); })) { - close_socket(socket, true); + // Thread-safe to close everything because we are assuming there are + // no requests in flight + shutdown_ssl(socket, true); + shutdown_socket(socket); + close_socket(socket); success = false; return false; } @@ -5922,57 +8072,60 @@ inline bool SSLClient::load_certs() { ca_cert_dir_path_.c_str())) { ret = false; } - } else if (ca_cert_store_ != nullptr) { - if (SSL_CTX_get_cert_store(ctx_) != ca_cert_store_) { - SSL_CTX_set_cert_store(ctx_, ca_cert_store_); - } } else { + auto loaded = false; #ifdef _WIN32 - detail::load_system_certs_on_windows(SSL_CTX_get_cert_store(ctx_)); -#else - SSL_CTX_set_default_verify_paths(ctx_); -#endif + loaded = + detail::load_system_certs_on_windows(SSL_CTX_get_cert_store(ctx_)); +#elif defined(CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN) && defined(__APPLE__) +#if TARGET_OS_OSX + loaded = detail::load_system_certs_on_macos(SSL_CTX_get_cert_store(ctx_)); +#endif // TARGET_OS_OSX +#endif // _WIN32 + if (!loaded) { SSL_CTX_set_default_verify_paths(ctx_); } } }); return ret; } -inline bool SSLClient::initialize_ssl(Socket &socket) { +inline bool SSLClient::initialize_ssl(Socket &socket, Error &error) { auto ssl = detail::ssl_new( socket.sock, ctx_, ctx_mutex_, - [&](SSL *ssl) { + [&](SSL *ssl2) { if (server_certificate_verification_) { if (!load_certs()) { - error_ = Error::SSLLoadingCerts; + error = Error::SSLLoadingCerts; return false; } - SSL_set_verify(ssl, SSL_VERIFY_NONE, nullptr); + SSL_set_verify(ssl2, SSL_VERIFY_NONE, nullptr); } - if (SSL_connect(ssl) != 1) { - error_ = Error::SSLConnection; + if (!detail::ssl_connect_or_accept_nonblocking( + socket.sock, ssl2, SSL_connect, connection_timeout_sec_, + connection_timeout_usec_)) { + error = Error::SSLConnection; return false; } if (server_certificate_verification_) { - verify_result_ = SSL_get_verify_result(ssl); + verify_result_ = SSL_get_verify_result(ssl2); if (verify_result_ != X509_V_OK) { - error_ = Error::SSLServerVerification; + error = Error::SSLServerVerification; return false; } - auto server_cert = SSL_get_peer_certificate(ssl); + auto server_cert = SSL_get1_peer_certificate(ssl2); if (server_cert == nullptr) { - error_ = Error::SSLServerVerification; + error = Error::SSLServerVerification; return false; } if (!verify_host(server_cert)) { X509_free(server_cert); - error_ = Error::SSLServerVerification; + error = Error::SSLServerVerification; return false; } X509_free(server_cert); @@ -5980,8 +8133,8 @@ inline bool SSLClient::initialize_ssl(Socket &socket) { return true; }, - [&](SSL *ssl) { - SSL_set_tlsext_host_name(ssl, host_.c_str()); + [&](SSL *ssl2) { + SSL_set_tlsext_host_name(ssl2, host_.c_str()); return true; }); @@ -5990,26 +8143,35 @@ inline bool SSLClient::initialize_ssl(Socket &socket) { return true; } - close_socket(socket, false); + shutdown_socket(socket); + close_socket(socket); return false; } -inline void SSLClient::close_socket(Socket &socket, bool process_socket_ret) { - detail::close_socket(socket.sock); - socket_.sock = INVALID_SOCKET; - if (socket.ssl) { - detail::ssl_delete(ctx_mutex_, socket.ssl, process_socket_ret); - socket_.ssl = nullptr; +inline void SSLClient::shutdown_ssl(Socket &socket, bool shutdown_gracefully) { + shutdown_ssl_impl(socket, shutdown_gracefully); +} + +inline void SSLClient::shutdown_ssl_impl(Socket &socket, + bool shutdown_gracefully) { + if (socket.sock == INVALID_SOCKET) { + assert(socket.ssl == nullptr); + return; } + if (socket.ssl) { + detail::ssl_delete(ctx_mutex_, socket.ssl, shutdown_gracefully); + socket.ssl = nullptr; + } + assert(socket.ssl == nullptr); } inline bool -SSLClient::process_socket(Socket &socket, +SSLClient::process_socket(const Socket &socket, std::function callback) { assert(socket.ssl); return detail::process_client_socket_ssl( socket.ssl, socket.sock, read_timeout_sec_, read_timeout_usec_, - write_timeout_sec_, write_timeout_usec_, callback); + write_timeout_sec_, write_timeout_usec_, std::move(callback)); } inline bool SSLClient::is_ssl() const { return true; } @@ -6065,7 +8227,7 @@ SSLClient::verify_host_with_subject_alt_name(X509 *server_cert) const { if (alt_names) { auto dsn_matched = false; - auto ip_mached = false; + auto ip_matched = false; auto count = sk_GENERAL_NAME_num(alt_names); @@ -6075,22 +8237,20 @@ SSLClient::verify_host_with_subject_alt_name(X509 *server_cert) const { auto name = (const char *)ASN1_STRING_get0_data(val->d.ia5); auto name_len = (size_t)ASN1_STRING_length(val->d.ia5); - if (strlen(name) == name_len) { - switch (type) { - case GEN_DNS: dsn_matched = check_host_name(name, name_len); break; + switch (type) { + case GEN_DNS: dsn_matched = check_host_name(name, name_len); break; - case GEN_IPADD: - if (!memcmp(&addr6, name, addr_len) || - !memcmp(&addr, name, addr_len)) { - ip_mached = true; - } - break; + case GEN_IPADD: + if (!memcmp(&addr6, name, addr_len) || + !memcmp(&addr, name, addr_len)) { + ip_matched = true; } + break; } } } - if (dsn_matched || ip_mached) { ret = true; } + if (dsn_matched || ip_matched) { ret = true; } } GENERAL_NAMES_free((STACK_OF(GENERAL_NAME) *)alt_names); @@ -6143,15 +8303,16 @@ inline bool SSLClient::check_host_name(const char *pattern, #endif // Universal client implementation -inline Client::Client(const char *scheme_host_port) +inline Client::Client(const std::string &scheme_host_port) : Client(scheme_host_port, std::string(), std::string()) {} -inline Client::Client(const char *scheme_host_port, +inline Client::Client(const std::string &scheme_host_port, const std::string &client_cert_path, const std::string &client_key_path) { - const static std::regex re(R"(^(?:([a-z]+)://)?([^:/?#]+)(?::(\d+))?)"); + const static std::regex re( + R"((?:([a-z]+):\/\/)?(?:\[([\d:]+)\]|([^:/?#]+))(?::(\d+))?)"); - std::cmatch m; + std::smatch m; if (std::regex_match(scheme_host_port, m, re)) { auto scheme = m[1].str(); @@ -6159,6 +8320,10 @@ inline Client::Client(const char *scheme_host_port, if (!scheme.empty() && (scheme != "http" && scheme != "https")) { #else if (!scheme.empty() && scheme != "http") { +#endif +#ifndef CPPHTTPLIB_NO_EXCEPTIONS + std::string msg = "'" + scheme + "' scheme is not supported."; + throw std::invalid_argument(msg); #endif return; } @@ -6166,34 +8331,35 @@ inline Client::Client(const char *scheme_host_port, auto is_ssl = scheme == "https"; auto host = m[2].str(); + if (host.empty()) { host = m[3].str(); } - auto port_str = m[3].str(); + auto port_str = m[4].str(); auto port = !port_str.empty() ? std::stoi(port_str) : (is_ssl ? 443 : 80); if (is_ssl) { #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - cli_ = std::make_shared(host.c_str(), port, client_cert_path, - client_key_path); + cli_ = detail::make_unique(host, port, client_cert_path, + client_key_path); is_ssl_ = is_ssl; #endif } else { - cli_ = std::make_shared(host.c_str(), port, client_cert_path, - client_key_path); + cli_ = detail::make_unique(host, port, client_cert_path, + client_key_path); } } else { - cli_ = std::make_shared(scheme_host_port, 80, client_cert_path, - client_key_path); + cli_ = detail::make_unique(scheme_host_port, 80, + client_cert_path, client_key_path); } } inline Client::Client(const std::string &host, int port) - : cli_(std::make_shared(host, port)) {} + : cli_(detail::make_unique(host, port)) {} inline Client::Client(const std::string &host, int port, const std::string &client_cert_path, const std::string &client_key_path) - : cli_(std::make_shared(host, port, client_cert_path, - client_key_path)) {} + : cli_(detail::make_unique(host, port, client_cert_path, + client_key_path)) {} inline Client::~Client() {} @@ -6201,198 +8367,351 @@ inline bool Client::is_valid() const { return cli_ != nullptr && cli_->is_valid(); } -inline Result Client::Get(const char *path) { return cli_->Get(path); } -inline Result Client::Get(const char *path, const Headers &headers) { +inline Result Client::Get(const std::string &path) { return cli_->Get(path); } +inline Result Client::Get(const std::string &path, const Headers &headers) { return cli_->Get(path, headers); } -inline Result Client::Get(const char *path, Progress progress) { - return cli_->Get(path, progress); +inline Result Client::Get(const std::string &path, Progress progress) { + return cli_->Get(path, std::move(progress)); } -inline Result Client::Get(const char *path, const Headers &headers, +inline Result Client::Get(const std::string &path, const Headers &headers, Progress progress) { - return cli_->Get(path, headers, progress); + return cli_->Get(path, headers, std::move(progress)); } -inline Result Client::Get(const char *path, ContentReceiver content_receiver) { +inline Result Client::Get(const std::string &path, + ContentReceiver content_receiver) { return cli_->Get(path, std::move(content_receiver)); } -inline Result Client::Get(const char *path, const Headers &headers, +inline Result Client::Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver) { return cli_->Get(path, headers, std::move(content_receiver)); } -inline Result Client::Get(const char *path, ContentReceiver content_receiver, - Progress progress) { +inline Result Client::Get(const std::string &path, + ContentReceiver content_receiver, Progress progress) { return cli_->Get(path, std::move(content_receiver), std::move(progress)); } -inline Result Client::Get(const char *path, const Headers &headers, +inline Result Client::Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver, Progress progress) { return cli_->Get(path, headers, std::move(content_receiver), std::move(progress)); } -inline Result Client::Get(const char *path, ResponseHandler response_handler, +inline Result Client::Get(const std::string &path, + ResponseHandler response_handler, ContentReceiver content_receiver) { return cli_->Get(path, std::move(response_handler), std::move(content_receiver)); } -inline Result Client::Get(const char *path, const Headers &headers, +inline Result Client::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver) { return cli_->Get(path, headers, std::move(response_handler), std::move(content_receiver)); } -inline Result Client::Get(const char *path, ResponseHandler response_handler, +inline Result Client::Get(const std::string &path, + ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress) { return cli_->Get(path, std::move(response_handler), std::move(content_receiver), std::move(progress)); } -inline Result Client::Get(const char *path, const Headers &headers, +inline Result Client::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, headers, response_handler, content_receiver, progress); + return cli_->Get(path, headers, std::move(response_handler), + std::move(content_receiver), std::move(progress)); +} +inline Result Client::Get(const std::string &path, const Params ¶ms, + const Headers &headers, Progress progress) { + return cli_->Get(path, params, headers, progress); +} +inline Result Client::Get(const std::string &path, const Params ¶ms, + const Headers &headers, + ContentReceiver content_receiver, Progress progress) { + return cli_->Get(path, params, headers, content_receiver, progress); +} +inline Result Client::Get(const std::string &path, const Params ¶ms, + const Headers &headers, + ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress) { + return cli_->Get(path, params, headers, response_handler, content_receiver, + progress); } -inline Result Client::Head(const char *path) { return cli_->Head(path); } -inline Result Client::Head(const char *path, const Headers &headers) { +inline Result Client::Head(const std::string &path) { return cli_->Head(path); } +inline Result Client::Head(const std::string &path, const Headers &headers) { return cli_->Head(path, headers); } -inline Result Client::Post(const char *path) { return cli_->Post(path); } -inline Result Client::Post(const char *path, const std::string &body, - const char *content_type) { +inline Result Client::Post(const std::string &path) { return cli_->Post(path); } +inline Result Client::Post(const std::string &path, const Headers &headers) { + return cli_->Post(path, headers); +} +inline Result Client::Post(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return cli_->Post(path, body, content_length, content_type); +} +inline Result Client::Post(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return cli_->Post(path, headers, body, content_length, content_type); +} +inline Result Client::Post(const std::string &path, const std::string &body, + const std::string &content_type) { return cli_->Post(path, body, content_type); } -inline Result Client::Post(const char *path, const Headers &headers, - const std::string &body, const char *content_type) { +inline Result Client::Post(const std::string &path, const Headers &headers, + const std::string &body, + const std::string &content_type) { return cli_->Post(path, headers, body, content_type); } -inline Result Client::Post(const char *path, size_t content_length, +inline Result Client::Post(const std::string &path, size_t content_length, ContentProvider content_provider, - const char *content_type) { - return cli_->Post(path, content_length, content_provider, content_type); -} -inline Result Client::Post(const char *path, const Headers &headers, - size_t content_length, - ContentProvider content_provider, - const char *content_type) { - return cli_->Post(path, headers, content_length, content_provider, + const std::string &content_type) { + return cli_->Post(path, content_length, std::move(content_provider), content_type); } -inline Result Client::Post(const char *path, const Params ¶ms) { +inline Result Client::Post(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return cli_->Post(path, std::move(content_provider), content_type); +} +inline Result Client::Post(const std::string &path, const Headers &headers, + size_t content_length, + ContentProvider content_provider, + const std::string &content_type) { + return cli_->Post(path, headers, content_length, std::move(content_provider), + content_type); +} +inline Result Client::Post(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return cli_->Post(path, headers, std::move(content_provider), content_type); +} +inline Result Client::Post(const std::string &path, const Params ¶ms) { return cli_->Post(path, params); } -inline Result Client::Post(const char *path, const Headers &headers, +inline Result Client::Post(const std::string &path, const Headers &headers, const Params ¶ms) { return cli_->Post(path, headers, params); } -inline Result Client::Post(const char *path, +inline Result Client::Post(const std::string &path, const MultipartFormDataItems &items) { return cli_->Post(path, items); } -inline Result Client::Post(const char *path, const Headers &headers, +inline Result Client::Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items) { return cli_->Post(path, headers, items); } -inline Result Client::Put(const char *path) { return cli_->Put(path); } -inline Result Client::Put(const char *path, const std::string &body, - const char *content_type) { +inline Result Client::Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const std::string &boundary) { + return cli_->Post(path, headers, items, boundary); +} +inline Result +Client::Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items) { + return cli_->Post(path, headers, items, provider_items); +} +inline Result Client::Put(const std::string &path) { return cli_->Put(path); } +inline Result Client::Put(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return cli_->Put(path, body, content_length, content_type); +} +inline Result Client::Put(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return cli_->Put(path, headers, body, content_length, content_type); +} +inline Result Client::Put(const std::string &path, const std::string &body, + const std::string &content_type) { return cli_->Put(path, body, content_type); } -inline Result Client::Put(const char *path, const Headers &headers, - const std::string &body, const char *content_type) { +inline Result Client::Put(const std::string &path, const Headers &headers, + const std::string &body, + const std::string &content_type) { return cli_->Put(path, headers, body, content_type); } -inline Result Client::Put(const char *path, size_t content_length, +inline Result Client::Put(const std::string &path, size_t content_length, ContentProvider content_provider, - const char *content_type) { - return cli_->Put(path, content_length, content_provider, content_type); -} -inline Result Client::Put(const char *path, const Headers &headers, - size_t content_length, - ContentProvider content_provider, - const char *content_type) { - return cli_->Put(path, headers, content_length, content_provider, + const std::string &content_type) { + return cli_->Put(path, content_length, std::move(content_provider), content_type); } -inline Result Client::Put(const char *path, const Params ¶ms) { +inline Result Client::Put(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return cli_->Put(path, std::move(content_provider), content_type); +} +inline Result Client::Put(const std::string &path, const Headers &headers, + size_t content_length, + ContentProvider content_provider, + const std::string &content_type) { + return cli_->Put(path, headers, content_length, std::move(content_provider), + content_type); +} +inline Result Client::Put(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return cli_->Put(path, headers, std::move(content_provider), content_type); +} +inline Result Client::Put(const std::string &path, const Params ¶ms) { return cli_->Put(path, params); } -inline Result Client::Put(const char *path, const Headers &headers, +inline Result Client::Put(const std::string &path, const Headers &headers, const Params ¶ms) { return cli_->Put(path, headers, params); } -inline Result Client::Patch(const char *path, const std::string &body, - const char *content_type) { +inline Result Client::Put(const std::string &path, + const MultipartFormDataItems &items) { + return cli_->Put(path, items); +} +inline Result Client::Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items) { + return cli_->Put(path, headers, items); +} +inline Result Client::Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const std::string &boundary) { + return cli_->Put(path, headers, items, boundary); +} +inline Result +Client::Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items) { + return cli_->Put(path, headers, items, provider_items); +} +inline Result Client::Patch(const std::string &path) { + return cli_->Patch(path); +} +inline Result Client::Patch(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return cli_->Patch(path, body, content_length, content_type); +} +inline Result Client::Patch(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return cli_->Patch(path, headers, body, content_length, content_type); +} +inline Result Client::Patch(const std::string &path, const std::string &body, + const std::string &content_type) { return cli_->Patch(path, body, content_type); } -inline Result Client::Patch(const char *path, const Headers &headers, - const std::string &body, const char *content_type) { +inline Result Client::Patch(const std::string &path, const Headers &headers, + const std::string &body, + const std::string &content_type) { return cli_->Patch(path, headers, body, content_type); } -inline Result Client::Patch(const char *path, size_t content_length, +inline Result Client::Patch(const std::string &path, size_t content_length, ContentProvider content_provider, - const char *content_type) { - return cli_->Patch(path, content_length, content_provider, content_type); -} -inline Result Client::Patch(const char *path, const Headers &headers, - size_t content_length, - ContentProvider content_provider, - const char *content_type) { - return cli_->Patch(path, headers, content_length, content_provider, + const std::string &content_type) { + return cli_->Patch(path, content_length, std::move(content_provider), content_type); } -inline Result Client::Delete(const char *path) { return cli_->Delete(path); } -inline Result Client::Delete(const char *path, const std::string &body, - const char *content_type) { - return cli_->Delete(path, body, content_type); +inline Result Client::Patch(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return cli_->Patch(path, std::move(content_provider), content_type); } -inline Result Client::Delete(const char *path, const Headers &headers) { +inline Result Client::Patch(const std::string &path, const Headers &headers, + size_t content_length, + ContentProvider content_provider, + const std::string &content_type) { + return cli_->Patch(path, headers, content_length, std::move(content_provider), + content_type); +} +inline Result Client::Patch(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type) { + return cli_->Patch(path, headers, std::move(content_provider), content_type); +} +inline Result Client::Delete(const std::string &path) { + return cli_->Delete(path); +} +inline Result Client::Delete(const std::string &path, const Headers &headers) { return cli_->Delete(path, headers); } -inline Result Client::Delete(const char *path, const Headers &headers, +inline Result Client::Delete(const std::string &path, const char *body, + size_t content_length, + const std::string &content_type) { + return cli_->Delete(path, body, content_length, content_type); +} +inline Result Client::Delete(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type) { + return cli_->Delete(path, headers, body, content_length, content_type); +} +inline Result Client::Delete(const std::string &path, const std::string &body, + const std::string &content_type) { + return cli_->Delete(path, body, content_type); +} +inline Result Client::Delete(const std::string &path, const Headers &headers, const std::string &body, - const char *content_type) { + const std::string &content_type) { return cli_->Delete(path, headers, body, content_type); } -inline Result Client::Options(const char *path) { return cli_->Options(path); } -inline Result Client::Options(const char *path, const Headers &headers) { +inline Result Client::Options(const std::string &path) { + return cli_->Options(path); +} +inline Result Client::Options(const std::string &path, const Headers &headers) { return cli_->Options(path, headers); } -inline bool Client::send(const Request &req, Response &res) { - return cli_->send(req, res); +inline bool Client::send(Request &req, Response &res, Error &error) { + return cli_->send(req, res, error); } +inline Result Client::send(const Request &req) { return cli_->send(req); } + inline size_t Client::is_socket_open() const { return cli_->is_socket_open(); } +inline socket_t Client::socket() const { return cli_->socket(); } + inline void Client::stop() { cli_->stop(); } +inline void +Client::set_hostname_addr_map(std::map addr_map) { + cli_->set_hostname_addr_map(std::move(addr_map)); +} + inline void Client::set_default_headers(Headers headers) { cli_->set_default_headers(std::move(headers)); } +inline void Client::set_address_family(int family) { + cli_->set_address_family(family); +} + inline void Client::set_tcp_nodelay(bool on) { cli_->set_tcp_nodelay(on); } + inline void Client::set_socket_options(SocketOptions socket_options) { - cli_->set_socket_options(socket_options); + cli_->set_socket_options(std::move(socket_options)); } inline void Client::set_connection_timeout(time_t sec, time_t usec) { cli_->set_connection_timeout(sec, usec); } + inline void Client::set_read_timeout(time_t sec, time_t usec) { cli_->set_read_timeout(sec, usec); } + inline void Client::set_write_timeout(time_t sec, time_t usec) { cli_->set_write_timeout(sec, usec); } -inline void Client::set_basic_auth(const char *username, const char *password) { +inline void Client::set_basic_auth(const std::string &username, + const std::string &password) { cli_->set_basic_auth(username, password); } -inline void Client::set_bearer_token_auth(const char *token) { +inline void Client::set_bearer_token_auth(const std::string &token) { cli_->set_bearer_token_auth(token); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline void Client::set_digest_auth(const char *username, - const char *password) { +inline void Client::set_digest_auth(const std::string &username, + const std::string &password) { cli_->set_digest_auth(username, password); } #endif @@ -6402,27 +8721,29 @@ inline void Client::set_follow_location(bool on) { cli_->set_follow_location(on); } +inline void Client::set_url_encode(bool on) { cli_->set_url_encode(on); } + inline void Client::set_compress(bool on) { cli_->set_compress(on); } inline void Client::set_decompress(bool on) { cli_->set_decompress(on); } -inline void Client::set_interface(const char *intf) { +inline void Client::set_interface(const std::string &intf) { cli_->set_interface(intf); } -inline void Client::set_proxy(const char *host, int port) { +inline void Client::set_proxy(const std::string &host, int port) { cli_->set_proxy(host, port); } -inline void Client::set_proxy_basic_auth(const char *username, - const char *password) { +inline void Client::set_proxy_basic_auth(const std::string &username, + const std::string &password) { cli_->set_proxy_basic_auth(username, password); } -inline void Client::set_proxy_bearer_token_auth(const char *token) { +inline void Client::set_proxy_bearer_token_auth(const std::string &token) { cli_->set_proxy_bearer_token_auth(token); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline void Client::set_proxy_digest_auth(const char *username, - const char *password) { +inline void Client::set_proxy_digest_auth(const std::string &username, + const std::string &password) { cli_->set_proxy_digest_auth(username, password); } #endif @@ -6436,17 +8757,16 @@ inline void Client::enable_server_certificate_verification(bool enabled) { inline void Client::set_logger(Logger logger) { cli_->set_logger(logger); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline void Client::set_ca_cert_path(const char *ca_cert_file_path, - const char *ca_cert_dir_path) { - if (is_ssl_) { - static_cast(*cli_).set_ca_cert_path(ca_cert_file_path, - ca_cert_dir_path); - } +inline void Client::set_ca_cert_path(const std::string &ca_cert_file_path, + const std::string &ca_cert_dir_path) { + cli_->set_ca_cert_path(ca_cert_file_path, ca_cert_dir_path); } inline void Client::set_ca_cert_store(X509_STORE *ca_cert_store) { if (is_ssl_) { static_cast(*cli_).set_ca_cert_store(ca_cert_store); + } else { + cli_->set_ca_cert_store(ca_cert_store); } } @@ -6467,4 +8787,8 @@ inline SSL_CTX *Client::ssl_context() const { } // namespace httplib +#if defined(_WIN32) && defined(CPPHTTPLIB_USE_POLL) +#undef poll +#endif + #endif // CPPHTTPLIB_HTTPLIB_H diff --git a/ext/hiredis-1.0.2/lib/ubuntu22.04/libhiredis.a b/ext/hiredis-1.0.2/lib/ubuntu22.04/amd64/libhiredis.a similarity index 100% rename from ext/hiredis-1.0.2/lib/ubuntu22.04/libhiredis.a rename to ext/hiredis-1.0.2/lib/ubuntu22.04/amd64/libhiredis.a diff --git a/ext/hiredis-1.0.2/lib/ubuntu22.04/arm64/libhiredis.a b/ext/hiredis-1.0.2/lib/ubuntu22.04/arm64/libhiredis.a new file mode 100644 index 0000000000000000000000000000000000000000..081c92705dfdb5a83b5768db78d88f07d002b8c0 GIT binary patch literal 495416 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 S>@RTSfw*qK_x1iBBa820FG`@ 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%0Dn1!^ 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 U8BhXe8yA{>U}w5Rm1Cq|0BO{dcK`qY literal 0 HcmV?d00001 diff --git a/ext/installfiles/mac/ZeroTier One.pkgproj b/ext/installfiles/mac/ZeroTier One.pkgproj index bbdb3d0b3..efae3e02b 100755 --- a/ext/installfiles/mac/ZeroTier One.pkgproj +++ b/ext/installfiles/mac/ZeroTier One.pkgproj @@ -701,7 +701,7 @@ USE_HFS+_COMPRESSION VERSION - 1.10.6 + 1.12.0 TYPE 0 diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index ebe8e891a..08ac17ecf 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -1,25 +1,20 @@ - + - - - - - @@ -27,28 +22,27 @@ - - + - + - + - - - + + + @@ -59,52 +53,58 @@ + + + - - - - + + + + - - - - + - - - + + + + - + + + - - - - - - + + + + + + + + + @@ -112,9 +112,6 @@ - - - @@ -122,14 +119,6 @@ - - - - - - - - @@ -186,15 +175,17 @@ - - - + + + + + @@ -203,6 +194,7 @@ + @@ -216,7 +208,7 @@ - + @@ -247,7 +239,6 @@ - @@ -256,16 +247,13 @@ - - - + + + - - - @@ -278,7 +266,6 @@ - @@ -295,13 +282,11 @@ - - @@ -326,9 +311,6 @@ - - - @@ -338,21 +320,22 @@ - - - - - - - + + + + + + + + @@ -375,10 +358,9 @@ - - + @@ -389,8 +371,6 @@ - - @@ -405,22 +385,18 @@ - + - - - - + + - - @@ -432,15 +408,13 @@ - - - - - - + + + + @@ -503,10 +477,6 @@ - - - - @@ -528,10 +498,10 @@ - + - + diff --git a/ext/installfiles/windows/ZeroTier One.back.aip b/ext/installfiles/windows/ZeroTier One.back.aip new file mode 100644 index 000000000..9ad818277 --- /dev/null +++ b/ext/installfiles/windows/ZeroTier One.back.aip @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ext/libpqxx-7.7.3/config/config.guess b/ext/libpqxx-7.7.3/config/config.guess index c2246a4f7..2e9ad7fe8 100755 --- a/ext/libpqxx-7.7.3/config/config.guess +++ b/ext/libpqxx-7.7.3/config/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2009-12-30' +timestamp='2016-10-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -17,26 +15,22 @@ timestamp='2009-12-30' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# +# Please send patches to . + me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +Copyright 1992-2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -155,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in + earm*) + os=netbsdelf + ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -181,7 +204,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd + ;; + esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ;; esac # The OS release @@ -194,18 +224,26 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; @@ -218,13 +256,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on @@ -234,43 +275,46 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -296,12 +340,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo s390-ibm-zvmoe exit ;; *:OS400:*:*) - echo powerpc-ibm-os400 + echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -339,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build - SUN_ARCH="i386" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -373,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} @@ -395,23 +439,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; @@ -481,8 +525,8 @@ EOF echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -495,7 +539,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -552,15 +596,16 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[456]) + *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -595,58 +640,58 @@ EOF 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include - #include + #define _HPUX_SOURCE + #include + #include - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build @@ -659,12 +704,12 @@ EOF # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} @@ -731,22 +776,22 @@ EOF exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; @@ -769,15 +814,15 @@ EOF echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} @@ -789,30 +834,35 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; @@ -849,15 +899,22 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -867,52 +924,62 @@ EOF EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; - esac + esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -931,51 +998,69 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -984,11 +1069,11 @@ EOF echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) @@ -1020,7 +1105,7 @@ EOF fi exit ;; i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; @@ -1048,13 +1133,13 @@ EOF exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp - exit ;; + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; @@ -1089,8 +1174,8 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ @@ -1133,10 +1218,10 @@ EOF echo ns32k-sni-sysv fi exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm @@ -1162,11 +1247,11 @@ EOF exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; @@ -1179,6 +1264,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1197,6 +1285,9 @@ EOF SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1205,24 +1296,36 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi @@ -1231,7 +1334,10 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1250,7 +1356,7 @@ EOF # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" @@ -1276,13 +1382,13 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; @@ -1292,7 +1398,7 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos @@ -1300,174 +1406,28 @@ EOF i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff --git a/ext/libpqxx-7.7.3/config/config.sub b/ext/libpqxx-7.7.3/config/config.sub index c2d125724..dd2ca93c6 100755 --- a/ext/libpqxx-7.7.3/config/config.sub +++ b/ext/libpqxx-7.7.3/config/config.sub @@ -1,38 +1,31 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# Copyright 1992-2016 Free Software Foundation, Inc. -timestamp='2010-01-22' +timestamp='2016-11-04' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -40,7 +33,7 @@ timestamp='2010-01-22' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -60,8 +53,7 @@ timestamp='2010-01-22' me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. @@ -75,9 +67,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +Copyright 1992-2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -124,13 +114,18 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -153,12 +148,12 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; - -bluegene*) - os=-cnk + -bluegene*) + os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= @@ -174,10 +169,10 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -222,6 +217,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -246,20 +247,29 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | ba \ + | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -273,38 +283,56 @@ case $basic_machine in | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ - | nios | nios2 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | or32 \ + | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ - | rx \ + | riscv32 | riscv64 \ + | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -314,6 +342,21 @@ case $basic_machine in basic_machine=mt-unknown ;; + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -328,25 +371,32 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -360,34 +410,44 @@ case $basic_machine in | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ - | nios-* | nios2-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | riscv32-* | riscv64-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) @@ -412,7 +472,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -462,6 +522,9 @@ case $basic_machine in basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -482,11 +545,20 @@ case $basic_machine in basic_machine=powerpc-ibm os=-cnk ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; c90) basic_machine=c90-cray os=-unicos ;; - cegcc) + cegcc) basic_machine=arm-unknown os=-cegcc ;; @@ -518,7 +590,7 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16) + cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; @@ -573,6 +645,14 @@ case $basic_machine in basic_machine=m68k-bull os=-sysv3 ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon @@ -676,7 +756,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -715,6 +794,9 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux @@ -734,11 +816,15 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -766,6 +852,10 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -773,10 +863,18 @@ case $basic_machine in ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i686-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -841,6 +939,12 @@ case $basic_machine in np1) basic_machine=np1-gould ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -923,11 +1027,12 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc) basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) @@ -937,7 +1042,7 @@ case $basic_machine in ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) @@ -950,7 +1055,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1019,6 +1128,9 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; @@ -1075,25 +1187,8 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1163,6 +1258,9 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1260,11 +1358,11 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases + # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + -auroraux) + os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` @@ -1288,28 +1386,30 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1348,7 +1448,7 @@ case $os in -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1397,7 +1497,7 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1433,17 +1533,16 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; - -nacl*) - ;; + -nacl*) + ;; + -ios) + ;; -none) ;; *) @@ -1466,10 +1565,10 @@ else # system, and we'll never get to this point. case $basic_machine in - score-*) + score-*) os=-elf ;; - spu-*) + spu-*) os=-elf ;; *-acorn) @@ -1481,8 +1580,23 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1502,14 +1616,11 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout ;; - mep-*) + mep-*) os=-elf ;; mips*-cisco) @@ -1536,7 +1647,7 @@ case $basic_machine in *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/array b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/array similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/array rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/array diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/array.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/array.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/array.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/array.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/binarystring b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/binarystring similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/binarystring rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/binarystring diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/binarystring.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/binarystring.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/binarystring.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/binarystring.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/blob b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/blob similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/blob rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/blob diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/blob.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/blob.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/blob.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/blob.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/composite b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/composite similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/composite rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/composite diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/composite.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/composite.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/composite.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/composite.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/config-public-compiler.h b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/config-public-compiler.h similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/config-public-compiler.h rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/config-public-compiler.h diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/connection b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/connection similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/connection rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/connection diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/connection.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/connection.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/connection.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/connection.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/cursor b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/cursor similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/cursor rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/cursor diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/cursor.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/cursor.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/cursor.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/dbtransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/dbtransaction similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/dbtransaction rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/dbtransaction diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/dbtransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/dbtransaction.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/dbtransaction.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/dbtransaction.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/errorhandler b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/errorhandler similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/errorhandler rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/errorhandler diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/errorhandler.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/errorhandler.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/errorhandler.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/errorhandler.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/except b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/except similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/except rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/except diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/except.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/except.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/except.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/except.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/field b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/field similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/field rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/field diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/field.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/field.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/field.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/field.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/array-composite.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/array-composite.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/array-composite.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/array-composite.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/callgate.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/callgate.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/callgate.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/callgate.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/concat.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/concat.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/concat.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/concat.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/conversions.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/conversions.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/conversions.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/conversions.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/encoding_group.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/encoding_group.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/encoding_group.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/encoding_group.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/encodings.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/encodings.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/encodings.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/encodings.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-errorhandler.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-errorhandler.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-errorhandler.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-errorhandler.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-largeobject.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-largeobject.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-largeobject.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-largeobject.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-notification_receiver.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-notification_receiver.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-notification_receiver.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-notification_receiver.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-pipeline.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-pipeline.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-pipeline.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-pipeline.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-sql_cursor.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-sql_cursor.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-sql_cursor.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-stream_from.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-stream_from.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-stream_from.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-stream_from.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-stream_to.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-stream_to.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-stream_to.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-stream_to.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-transaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-transaction.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/connection-transaction.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/connection-transaction.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/errorhandler-connection.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/errorhandler-connection.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/errorhandler-connection.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/errorhandler-connection.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-connection.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-connection.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-connection.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-connection.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-creation.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-creation.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-creation.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-creation.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-pipeline.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-pipeline.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-pipeline.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-pipeline.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-sql_cursor.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/result-sql_cursor.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/result-sql_cursor.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/transaction-sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/transaction-sql_cursor.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/transaction-sql_cursor.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/transaction-sql_cursor.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/transaction-transaction_focus.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/transaction-transaction_focus.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/gates/transaction-transaction_focus.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/gates/transaction-transaction_focus.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/header-post.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/header-post.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/header-post.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/header-post.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/header-pre.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/header-pre.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/header-pre.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/header-pre.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/ignore-deprecated-post.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/ignore-deprecated-post.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/ignore-deprecated-post.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/ignore-deprecated-post.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/ignore-deprecated-pre.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/ignore-deprecated-pre.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/ignore-deprecated-pre.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/ignore-deprecated-pre.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/libpq-forward.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/libpq-forward.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/libpq-forward.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/libpq-forward.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/result_iter.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/result_iter.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/result_iter.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/result_iter.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/result_iterator.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/result_iterator.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/result_iterator.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/result_iterator.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/sql_cursor.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/sql_cursor.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/sql_cursor.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/statement_parameters.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/statement_parameters.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/statement_parameters.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/statement_parameters.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/stream_iterator.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/stream_iterator.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/stream_iterator.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/stream_iterator.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/wait.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/wait.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/internal/wait.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/internal/wait.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/isolation b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/isolation similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/isolation rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/isolation diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/isolation.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/isolation.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/isolation.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/isolation.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/largeobject b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/largeobject similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/largeobject rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/largeobject diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/largeobject.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/largeobject.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/largeobject.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/largeobject.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/nontransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/nontransaction similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/nontransaction rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/nontransaction diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/nontransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/nontransaction.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/nontransaction.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/nontransaction.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/notification b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/notification similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/notification rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/notification diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/notification.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/notification.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/notification.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/notification.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/params b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/params similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/params rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/params diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/params.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/params.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/params.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/params.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/pipeline b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/pipeline similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/pipeline rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/pipeline diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/pipeline.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/pipeline.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/pipeline.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/pipeline.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/pqxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/pqxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/pqxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/pqxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/prepared_statement b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/prepared_statement similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/prepared_statement rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/prepared_statement diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/prepared_statement.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/prepared_statement.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/prepared_statement.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/prepared_statement.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/range b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/range similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/range rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/range diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/range.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/range.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/range.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/range.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/result b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/result similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/result rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/result diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/result.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/result.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/result.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/result.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/robusttransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/robusttransaction similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/robusttransaction rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/robusttransaction diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/robusttransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/robusttransaction.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/robusttransaction.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/robusttransaction.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/row b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/row similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/row rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/row diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/row.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/row.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/row.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/row.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/separated_list b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/separated_list similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/separated_list rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/separated_list diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/separated_list.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/separated_list.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/separated_list.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/separated_list.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/strconv b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/strconv similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/strconv rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/strconv diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/strconv.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/strconv.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/strconv.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/strconv.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_from b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_from similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_from rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_from diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_from.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_from.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_from.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_from.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_to b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_to similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_to rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_to diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_to.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_to.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/stream_to.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/stream_to.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/subtransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/subtransaction similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/subtransaction rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/subtransaction diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/subtransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/subtransaction.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/subtransaction.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/subtransaction.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/time b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/time similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/time rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/time diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/time.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/time.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/time.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/time.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_base b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_base similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_base rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_base diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_base.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_base.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_base.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_base.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_focus b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_focus similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_focus rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_focus diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_focus.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_focus.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transaction_focus.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transaction_focus.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transactor b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transactor similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transactor rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transactor diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transactor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transactor.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/transactor.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/transactor.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/types b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/types similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/types rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/types diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/types.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/types.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/types.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/types.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/util b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/util similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/util rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/util diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/util.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/util.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/util.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/util.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/version b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/version similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/version rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/version diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/version.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/version.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/version.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/version.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/zview b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/zview similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/zview rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/zview diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/zview.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/zview.hxx similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/include/pqxx/zview.hxx rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/include/pqxx/zview.hxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-config-version.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-config-version.cmake similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-config-version.cmake rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-config-version.cmake diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-config.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-config.cmake similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-config.cmake rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-config.cmake diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-targets.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-targets.cmake similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/lib/cmake/libpqxx/libpqxx-targets.cmake rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/cmake/libpqxx/libpqxx-targets.cmake diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/libpqxx-7.7.a b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/libpqxx-7.7.a similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/lib/libpqxx-7.7.a rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/libpqxx-7.7.a diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/lib/libpqxx.a b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/libpqxx.a similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/lib/libpqxx.a rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/lib/libpqxx.a diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/accessing-results.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/accessing-results.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/accessing-results.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/accessing-results.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/binary-data.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/binary-data.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/binary-data.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/binary-data.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/datatypes.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/datatypes.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/datatypes.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/datatypes.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/escaping.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/escaping.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/escaping.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/escaping.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/getting-started.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/getting-started.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/getting-started.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/getting-started.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/mainpage.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/mainpage.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/mainpage.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/mainpage.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/parameters.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/parameters.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/parameters.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/parameters.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/performance.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/performance.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/performance.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/performance.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/prepared-statement.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/prepared-statement.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/prepared-statement.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/prepared-statement.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/streams.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/streams.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/streams.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/streams.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/thread-safety.md b/ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/thread-safety.md similarity index 100% rename from ext/libpqxx-7.7.3/install/ubuntu22.04/share/doc/libpqxx/thread-safety.md rename to ext/libpqxx-7.7.3/install/ubuntu22.04/amd64/share/doc/libpqxx/thread-safety.md diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array new file mode 100644 index 000000000..689f5b27b --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array @@ -0,0 +1,6 @@ +/** Handling of SQL arrays. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/array.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array.hxx new file mode 100644 index 000000000..8440a244f --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/array.hxx @@ -0,0 +1,103 @@ +/* Handling of SQL arrays. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/field instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ARRAY +#define PQXX_H_ARRAY + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include + +#include "pqxx/internal/encoding_group.hxx" +#include "pqxx/internal/encodings.hxx" + + +namespace pqxx +{ +/// Low-level array parser. +/** Use this to read an array field retrieved from the database. + * + * This parser will only work reliably if your client encoding is UTF-8, ASCII, + * or a single-byte encoding which is a superset of ASCII (such as Latin-1). + * + * Also, the parser only supports array element types which use either a comma + * or a semicolon ("," or ";") as the separator between array elements. All + * built-in types use comma, except for one which uses semicolon, but some + * custom types may not work. + * + * The input is a C-style string containing the textual representation of an + * array, as returned by the database. The parser reads this representation + * on the fly. The string must remain in memory until parsing is done. + * + * Parse the array by making calls to @ref get_next until it returns a + * @ref juncture of "done". The @ref juncture tells you what the parser found + * in that step: did the array "nest" to a deeper level, or "un-nest" back up? + */ +class PQXX_LIBEXPORT array_parser +{ +public: + /// What's the latest thing found in the array? + enum class juncture + { + /// Starting a new row. + row_start, + /// Ending the current row. + row_end, + /// Found a NULL value. + null_value, + /// Found a string value. + string_value, + /// Parsing has completed. + done, + }; + + // TODO: constexpr noexcept. Breaks ABI. + /// Constructor. You don't need this; use @ref field::as_array instead. + /** The parser only remains valid while the data underlying the @ref result + * remains valid. Once all `result` objects referring to that data have been + * destroyed, the parser will no longer refer to valid memory. + */ + explicit array_parser( + std::string_view input, + internal::encoding_group = internal::encoding_group::MONOBYTE); + + /// Parse the next step in the array. + /** Returns what it found. If the juncture is @ref juncture::string_value, + * the string will contain the value. Otherwise, it will be empty. + * + * Call this until the @ref array_parser::juncture it returns is + * @ref juncture::done. + */ + std::pair get_next(); + +private: + std::string_view m_input; + internal::glyph_scanner_func *const m_scan; + + /// Current parsing position in the input. + std::string::size_type m_pos = 0u; + + std::string::size_type scan_single_quoted_string() const; + std::string parse_single_quoted_string(std::string::size_type end) const; + std::string::size_type scan_double_quoted_string() const; + std::string parse_double_quoted_string(std::string::size_type end) const; + std::string::size_type scan_unquoted_string() const; + std::string parse_unquoted_string(std::string::size_type end) const; + + std::string::size_type scan_glyph(std::string::size_type pos) const; + std::string::size_type + scan_glyph(std::string::size_type pos, std::string::size_type end) const; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring new file mode 100644 index 000000000..77551d9f7 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring @@ -0,0 +1,6 @@ +/** BYTEA (binary string) conversions. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/binarystring.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring.hxx new file mode 100644 index 000000000..47c82a035 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/binarystring.hxx @@ -0,0 +1,236 @@ +/* Deprecated representation for raw, binary data. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/binarystring instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_BINARYSTRING +#define PQXX_H_BINARYSTRING + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include + +#include "pqxx/result.hxx" +#include "pqxx/strconv.hxx" + +namespace pqxx +{ +class binarystring; +template<> struct string_traits; + + +/// Binary data corresponding to PostgreSQL's "BYTEA" binary-string type. +/** @ingroup escaping-functions + * @deprecated Use @c std::basic_string and + * @c std::basic_string_view for binary data. In C++20 or better, + * any @c contiguous_range of @c std::byte will do. + * + * This class represents a binary string as stored in a field of type @c bytea. + * + * Internally a binarystring is zero-terminated, but it may also contain null + * bytes, they're just like any other byte value. So don't assume that it's + * safe to treat the contents as a C-style string. + * + * The binarystring retains its value even if the result it was obtained from + * is destroyed, but it cannot be copied or assigned. + * + * \relatesalso transaction_base::quote_raw + * + * To include a @c binarystring value in an SQL query, escape and quote it + * using the transaction's @c quote_raw function. + * + * @warning This class is implemented as a reference-counting smart pointer. + * Copying, swapping, and destroying binarystring objects that refer to the + * same underlying data block is not thread-safe. If you wish to pass + * binarystrings around between threads, make sure that each of these + * operations is protected against concurrency with similar operations on the + * same object, or other objects pointing to the same data block. + */ +class PQXX_LIBEXPORT binarystring +{ +public: + using char_type = unsigned char; + using value_type = std::char_traits::char_type; + using size_type = std::size_t; + using difference_type = long; + using const_reference = value_type const &; + using const_pointer = value_type const *; + using const_iterator = const_pointer; + using const_reverse_iterator = std::reverse_iterator; + + [[deprecated("Use std::byte for binary data.")]] binarystring( + binarystring const &) = default; + + /// Read and unescape bytea field. + /** The field will be zero-terminated, even if the original bytea field + * isn't. + * @param F the field to read; must be a bytea field + */ + [[deprecated("Use std::byte for binary data.")]] explicit binarystring( + field const &); + + /// Copy binary data from std::string_view on binary data. + /** This is inefficient in that it copies the data to a buffer allocated on + * the heap. + */ + [[deprecated("Use std::byte for binary data.")]] explicit binarystring( + std::string_view); + + /// Copy binary data of given length straight out of memory. + [[deprecated("Use std::byte for binary data.")]] binarystring( + void const *, std::size_t); + + /// Efficiently wrap a buffer of binary data in a @c binarystring. + [[deprecated("Use std::byte for binary data.")]] binarystring( + std::shared_ptr ptr, size_type size) : + m_buf{std::move(ptr)}, m_size{size} + {} + + /// Size of converted string in bytes. + [[nodiscard]] size_type size() const noexcept { return m_size; } + /// Size of converted string in bytes. + [[nodiscard]] size_type length() const noexcept { return size(); } + [[nodiscard]] bool empty() const noexcept { return size() == 0; } + + [[nodiscard]] const_iterator begin() const noexcept { return data(); } + [[nodiscard]] const_iterator cbegin() const noexcept { return begin(); } + [[nodiscard]] const_iterator end() const noexcept { return data() + m_size; } + [[nodiscard]] const_iterator cend() const noexcept { return end(); } + + [[nodiscard]] const_reference front() const noexcept { return *begin(); } + [[nodiscard]] const_reference back() const noexcept + { + return *(data() + m_size - 1); + } + + [[nodiscard]] const_reverse_iterator rbegin() const + { + return const_reverse_iterator{end()}; + } + [[nodiscard]] const_reverse_iterator crbegin() const { return rbegin(); } + [[nodiscard]] const_reverse_iterator rend() const + { + return const_reverse_iterator{begin()}; + } + [[nodiscard]] const_reverse_iterator crend() const { return rend(); } + + /// Unescaped field contents. + [[nodiscard]] value_type const *data() const noexcept { return m_buf.get(); } + + [[nodiscard]] const_reference operator[](size_type i) const noexcept + { + return data()[i]; + } + + [[nodiscard]] PQXX_PURE bool operator==(binarystring const &) const noexcept; + [[nodiscard]] bool operator!=(binarystring const &rhs) const noexcept + { + return not operator==(rhs); + } + + binarystring &operator=(binarystring const &); + + /// Index contained string, checking for valid index. + const_reference at(size_type) const; + + /// Swap contents with other binarystring. + void swap(binarystring &); + + /// Raw character buffer (no terminating zero is added). + /** @warning No terminating zero is added! If the binary data did not end in + * a null character, you will not find one here. + */ + [[nodiscard]] char const *get() const noexcept + { + return reinterpret_cast(m_buf.get()); + } + + /// Read contents as a std::string_view. + [[nodiscard]] std::string_view view() const noexcept + { + return std::string_view(get(), size()); + } + + /// Read as regular C++ string (may include null characters). + /** This creates and returns a new string object. Don't call this + * repeatedly; retrieve your string once and keep it in a local variable. + * Also, do not expect to be able to compare the string's address to that of + * an earlier invocation. + */ + [[nodiscard]] std::string str() const; + + /// Access data as a pointer to @c std::byte. + [[nodiscard]] std::byte const *bytes() const + { + return reinterpret_cast(get()); + } + + /// Read data as a @c std::basic_string_view. + [[nodiscard]] std::basic_string_view bytes_view() const + { + return std::basic_string_view{bytes(), size()}; + } + +private: + std::shared_ptr m_buf; + size_type m_size{0}; +}; + + +template<> struct nullness : no_null +{}; + + +/// String conversion traits for @c binarystring. +/** Defines the conversions between a @c binarystring and its PostgreSQL + * textual format, for communication with the database. + * + * These conversions rely on the "hex" format which was introduced in + * PostgreSQL 9.0. Both your libpq and the server must be recent enough to + * speak this format. + */ +template<> struct string_traits +{ + static std::size_t size_buffer(binarystring const &value) noexcept + { + return internal::size_esc_bin(std::size(value)); + } + + static zview to_buf(char *begin, char *end, binarystring const &value) + { + return generic_to_buf(begin, end, value); + } + + static char *into_buf(char *begin, char *end, binarystring const &value) + { + auto const budget{size_buffer(value)}; + if (internal::cmp_less(end - begin, budget)) + throw conversion_overrun{ + "Not enough buffer space to escape binary data."}; + std::string_view text{value.view()}; + internal::esc_bin(binary_cast(text), begin); + return begin + budget; + } + + static binarystring from_string(std::string_view text) + { + auto const size{pqxx::internal::size_unesc_bin(std::size(text))}; + std::shared_ptr buf{ + new unsigned char[size], [](unsigned char const *x) { delete[] x; }}; + pqxx::internal::unesc_bin(text, reinterpret_cast(buf.get())); +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return binarystring{std::move(buf), size}; +#include "pqxx/internal/ignore-deprecated-post.hxx" + } +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob new file mode 100644 index 000000000..3fd0afac9 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob @@ -0,0 +1,6 @@ +/** Binary Large Objects interface. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/blob.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob.hxx new file mode 100644 index 000000000..6d77be724 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/blob.hxx @@ -0,0 +1,351 @@ +/* Binary Large Objects interface. + * + * Read or write large objects, stored in their own storage on the server. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/largeobject instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_BLOB +#define PQXX_H_BLOB + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include + +#if defined(PQXX_HAVE_PATH) +# include +#endif + +#if defined(PQXX_HAVE_RANGES) && __has_include() +# include +#endif + +#if defined(PQXX_HAVE_SPAN) && __has_include() +# include +#endif + +#include "pqxx/dbtransaction.hxx" + + +namespace pqxx +{ +/** Binary large object. + * + * This is how you store data that may be too large for the `BYTEA` type. + * Access operations are similar to those for a file: you can read, write, + * query or set the current reading/writing position, and so on. + * + * These large objects live in their own storage on the server, indexed by an + * integer object identifier ("oid"). + * + * Two `blob` objects may refer to the same actual large object in the + * database at the same time. Each will have its own reading/writing position, + * but writes to the one will of course affect what the other sees. + */ +class PQXX_LIBEXPORT blob +{ +public: + /// Create a new, empty large object. + /** You may optionally specify an oid for the new blob. If you do, then + * the new object will have that oid -- or creation will fail if there + * already is an object with that oid. + */ + [[nodiscard]] static oid create(dbtransaction &, oid = 0); + + /// Delete a large object, or fail if it does not exist. + static void remove(dbtransaction &, oid); + + /// Open blob for reading. Any attempt to write to it will fail. + [[nodiscard]] static blob open_r(dbtransaction &, oid); + // Open blob for writing. Any attempt to read from it will fail. + [[nodiscard]] static blob open_w(dbtransaction &, oid); + // Open blob for reading and/or writing. + [[nodiscard]] static blob open_rw(dbtransaction &, oid); + + /// You can default-construct a blob, but it won't do anything useful. + /** Most operations on a default-constructed blob will throw @ref + * usage_error. + */ + blob() = default; + + /// You can move a blob, but not copy it. The original becomes unusable. + blob(blob &&); + /// You can move a blob, but not copy it. The original becomes unusable. + blob &operator=(blob &&); + + blob(blob const &) = delete; + blob &operator=(blob const &) = delete; + ~blob(); + + /// Maximum number of bytes that can be read or written at a time. + /** The underlying protocol only supports reads and writes up to 2 GB + * exclusive. + * + * If you need to read or write more data to or from a binary large object, + * you'll have to break it up into chunks. + */ + static constexpr std::size_t chunk_limit = 0x7fffffff; + + /// Read up to `size` bytes of the object into `buf`. + /** Uses a buffer that you provide, resizing it as needed. If it suits you, + * this lets you allocate the buffer once and then re-use it multiple times. + * + * Resizes `buf` as needed. + * + * @warning The underlying protocol only supports reads up to 2GB at a time. + * If you need to read more, try making repeated calls to @ref append_to_buf. + */ + std::size_t read(std::basic_string &buf, std::size_t size); + +#if defined(PQXX_HAVE_SPAN) + /// Read up to `std::size(buf)` bytes from the object. + /** Retrieves bytes from the blob, at the current position, until `buf` is + * full or there are no more bytes to read, whichever comes first. + * + * Returns the filled portion of `buf`. This may be empty. + */ + template + std::span read(std::span buf) + { + return buf.subspan(0, raw_read(std::data(buf), std::size(buf))); + } +#endif // PQXX_HAVE_SPAN + +#if defined(PQXX_HAVE_CONCEPTS) && defined(PQXX_HAVE_SPAN) + /// Read up to `std::size(buf)` bytes from the object. + /** Retrieves bytes from the blob, at the current position, until `buf` is + * full or there are no more bytes to read, whichever comes first. + * + * Returns the filled portion of `buf`. This may be empty. + */ + template std::span read(DATA &buf) + { + return {std::data(buf), raw_read(std::data(buf), std::size(buf))}; + } +#else // PQXX_HAVE_CONCEPTS && PQXX_HAVE_SPAN + /// Read up to `std::size(buf)` bytes from the object. + /** @deprecated As libpqxx moves to C++20 as its baseline language version, + * this will take and return `std::span`. + * + * Retrieves bytes from the blob, at the current position, until `buf` is + * full (i.e. its current size is reached), or there are no more bytes to + * read, whichever comes first. + * + * This function will not change either the size or the capacity of `buf`, + * only its contents. + * + * Returns the filled portion of `buf`. This may be empty. + */ + template + std::basic_string_view read(std::vector &buf) + { + return {std::data(buf), raw_read(std::data(buf), std::size(buf))}; + } +#endif // PQXX_HAVE_CONCEPTS && PQXX_HAVE_SPAN + +#if defined(PQXX_HAVE_CONCEPTS) + /// Write `data` to large object, at the current position. + /** If the writing position is at the end of the object, this will append + * `data` to the object's contents and move the writing position so that + * it's still at the end. + * + * If the writing position was not at the end, writing will overwrite the + * prior data, but it will not remove data that follows the part where you + * wrote your new data. + * + * @warning This is a big difference from writing to a file. You can + * overwrite some data in a large object, but this does not truncate the + * data that was already there. For example, if the object contained binary + * data "abc", and you write "12" at the starting position, the object will + * contain "12c". + * + * @warning The underlying protocol only supports writes up to 2 GB at a + * time. If you need to write more, try making repeated calls to + * @ref append_from_buf. + */ + template void write(DATA const &data) + { + raw_write(std::data(data), std::size(data)); + } +#else + /// Write `data` large object, at the current position. + /** If the writing position is at the end of the object, this will append + * `data` to the object's contents and move the writing position so that + * it's still at the end. + * + * If the writing position was not at the end, writing will overwrite the + * prior data, but it will not remove data that follows the part where you + * wrote your new data. + * + * @warning This is a big difference from writing to a file. You can + * overwrite some data in a large object, but this does not truncate the + * data that was already there. For example, if the object contained binary + * data "abc", and you write "12" at the starting position, the object will + * contain "12c". + * + * @warning The underlying protocol only supports writes up to 2 GB at a + * time. If you need to write more, try making repeated calls to + * @ref append_from_buf. + */ + template void write(DATA const &data) + { + raw_write(std::data(data), std::size(data)); + } +#endif + + /// Resize large object to `size` bytes. + /** If the blob is more than `size` bytes long, this removes the end so as + * to make the blob the desired length. + * + * If the blob is less than `size` bytes long, it adds enough zero bytes to + * make it the desired length. + */ + void resize(std::int64_t size); + + /// Return the current reading/writing position in the large object. + [[nodiscard]] std::int64_t tell() const; + + /// Set the current reading/writing position to an absolute offset. + /** Returns the new file offset. */ + std::int64_t seek_abs(std::int64_t offset = 0); + /// Move the current reading/writing position forwards by an offset. + /** To move backwards, pass a negative offset. + * + * Returns the new file offset. + */ + std::int64_t seek_rel(std::int64_t offset = 0); + /// Set the current position to an offset relative to the end of the blob. + /** You'll probably want an offset of zero or less. + * + * Returns the new file offset. + */ + std::int64_t seek_end(std::int64_t offset = 0); + + /// Create a binary large object containing given `data`. + /** You may optionally specify an oid for the new object. If you do, and an + * object with that oid already exists, creation will fail. + */ + static oid from_buf( + dbtransaction &tx, std::basic_string_view data, oid id = 0); + + /// Append `data` to binary large object. + /** The underlying protocol only supports appending blocks up to 2 GB. + */ + static void append_from_buf( + dbtransaction &tx, std::basic_string_view data, oid id); + + /// Read client-side file and store it server-side as a binary large object. + [[nodiscard]] static oid from_file(dbtransaction &, char const path[]); + +#if defined(PQXX_HAVE_PATH) && !defined(_WIN32) + /// Read client-side file and store it server-side as a binary large object. + /** This overload is not available on Windows, where `std::filesystem::path` + * converts to a `wchar_t` string rather than a `char` string. + */ + [[nodiscard]] static oid + from_file(dbtransaction &tx, std::filesystem::path const &path) + { + return from_file(tx, path.c_str()); + } +#endif + + /// Read client-side file and store it server-side as a binary large object. + /** In this version, you specify the binary large object's oid. If that oid + * is already in use, the operation will fail. + */ + static oid from_file(dbtransaction &, char const path[], oid); + +#if defined(PQXX_HAVE_PATH) && !defined(_WIN32) + /// Read client-side file and store it server-side as a binary large object. + /** In this version, you specify the binary large object's oid. If that oid + * is already in use, the operation will fail. + * + * This overload is not available on Windows, where `std::filesystem::path` + * converts to a `wchar_t` string rather than a `char` string. + */ + static oid + from_file(dbtransaction &tx, std::filesystem::path const &path, oid id) + { + return from_file(tx, path.c_str(), id); + } +#endif + + /// Convenience function: Read up to `max_size` bytes from blob with `id`. + /** You could easily do this yourself using the @ref open_r and @ref read + * functions, but it can save you a bit of code to do it this way. + */ + static void to_buf( + dbtransaction &, oid, std::basic_string &, + std::size_t max_size); + + /// Read part of the binary large object with `id`, and append it to `buf`. + /** Use this to break up a large read from one binary large object into one + * massive buffer. Just keep calling this function until it returns zero. + * + * The `offset` is how far into the large object your desired chunk is, and + * `append_max` says how much to try and read in one go. + */ + static std::size_t append_to_buf( + dbtransaction &tx, oid id, std::int64_t offset, + std::basic_string &buf, std::size_t append_max); + + /// Write a binary large object's contents to a client-side file. + static void to_file(dbtransaction &, oid, char const path[]); + +#if defined(PQXX_HAVE_PATH) && !defined(_WIN32) + /// Write a binary large object's contents to a client-side file. + /** This overload is not available on Windows, where `std::filesystem::path` + * converts to a `wchar_t` string rather than a `char` string. + */ + static void + to_file(dbtransaction &tx, oid id, std::filesystem::path const &path) + { + to_file(tx, id, path.c_str()); + } +#endif + + /// Close this blob. + /** This does not delete the blob from the database; it only terminates your + * local object for accessing the blob. + * + * Resets the blob to a useless state similar to one that was + * default-constructed. + * + * The destructor will do this for you automatically. Still, there is a + * reason to `close()` objects explicitly where possible: if an error should + * occur while closing, `close()` can throw an exception. A destructor + * cannot. + */ + void close(); + +private: + PQXX_PRIVATE blob(connection &conn, int fd) noexcept : + m_conn{&conn}, m_fd{fd} + {} + static PQXX_PRIVATE blob open_internal(dbtransaction &, oid, int); + static PQXX_PRIVATE pqxx::internal::pq::PGconn * + raw_conn(pqxx::connection *) noexcept; + static PQXX_PRIVATE pqxx::internal::pq::PGconn * + raw_conn(pqxx::dbtransaction const &) noexcept; + static PQXX_PRIVATE std::string errmsg(connection const *); + static PQXX_PRIVATE std::string errmsg(dbtransaction const &tx) + { + return errmsg(&tx.conn()); + } + PQXX_PRIVATE std::string errmsg() const { return errmsg(m_conn); } + PQXX_PRIVATE std::int64_t seek(std::int64_t offset, int whence); + std::size_t raw_read(std::byte buf[], std::size_t size); + void raw_write(std::byte const buf[], std::size_t size); + + connection *m_conn = nullptr; + int m_fd = -1; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite new file mode 100644 index 000000000..2bfa7ade9 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite @@ -0,0 +1,6 @@ +/** Handling of SQL "composite types." + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/composite.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite.hxx new file mode 100644 index 000000000..439b133a8 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/composite.hxx @@ -0,0 +1,149 @@ +#ifndef PQXX_H_COMPOSITE +#define PQXX_H_COMPOSITE + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/internal/array-composite.hxx" +#include "pqxx/internal/concat.hxx" +#include "pqxx/util.hxx" + +namespace pqxx +{ +/// Parse a string representation of a value of a composite type. +/** @warning This code is still experimental. Use with care. + * + * You may use this as a helper while implementing your own @ref string_traits + * for a composite type. + * + * This function interprets `text` as the string representation of a value of + * some composite type, and sets each of `fields` to the respective values of + * its fields. The field types must be copy-assignable. + * + * The number of fields must match the number of fields in the composite type, + * and there must not be any other text in the input. The function is meant to + * handle any value string that the backend can produce, but not necessarily + * every valid alternative spelling. + * + * Fields in composite types can be null. When this happens, the C++ type of + * the corresponding field reference must be of a type that can handle nulls. + * If you are working with a type that does not have an inherent null value, + * such as e.g. `int`, consider using `std::optional`. + */ +template +inline void parse_composite( + pqxx::internal::encoding_group enc, std::string_view text, T &...fields) +{ + static_assert(sizeof...(fields) > 0); + + auto const scan{pqxx::internal::get_glyph_scanner(enc)}; + auto const data{std::data(text)}; + auto const size{std::size(text)}; + if (size == 0) + throw conversion_error{"Cannot parse composite value from empty string."}; + + std::size_t here{0}, next{scan(data, size, here)}; + if (next != 1 or data[here] != '(') + throw conversion_error{ + internal::concat("Invalid composite value string: ", text)}; + + here = next; + + constexpr auto num_fields{sizeof...(fields)}; + std::size_t index{0}; + (pqxx::internal::parse_composite_field( + index, text, here, fields, scan, num_fields - 1), + ...); + if (here != std::size(text)) + throw conversion_error{internal::concat( + "Composite value did not end at the closing parenthesis: '", text, + "'.")}; + if (text[here - 1] != ')') + throw conversion_error{internal::concat( + "Composive value did not end in parenthesis: '", text, "'")}; +} + + +/// Parse a string representation of a value of a composite type. +/** @warning This version only works for UTF-8 and single-byte encodings. + * + * For proper encoding support, use the composite-type support in the + * `field` class. + */ +template +inline void parse_composite(std::string_view text, T &...fields) +{ + parse_composite(pqxx::internal::encoding_group::MONOBYTE, text, fields...); +} +} // namespace pqxx + + +namespace pqxx::internal +{ +constexpr char empty_composite_str[]{"()"}; +} // namespace pqxx::internal + + +namespace pqxx +{ +/// Estimate the buffer size needed to represent a value of a composite type. +/** Returns a conservative estimate. + */ +template +[[nodiscard]] inline std::size_t +composite_size_buffer(T const &...fields) noexcept +{ + constexpr auto num{sizeof...(fields)}; + + // Size for a multi-field composite includes room for... + // + opening parenthesis + // + field budgets + // + separating comma per field + // - comma after final field + // + closing parenthesis + // + terminating zero + + if constexpr (num == 0) + return std::size(pqxx::internal::empty_composite_str); + else + return 1 + (pqxx::internal::size_composite_field_buffer(fields) + ...) + + num + 1; +} + + +/// Render a series of values as a single composite SQL value. +/** @warning This code is still experimental. Use with care. + * + * You may use this as a helper while implementing your own `string_traits` + * for a composite type. + */ +template +inline char *composite_into_buf(char *begin, char *end, T const &...fields) +{ + if (std::size_t(end - begin) < composite_size_buffer(fields...)) + throw conversion_error{ + "Buffer space may not be enough to represent composite value."}; + + constexpr auto num_fields{sizeof...(fields)}; + if constexpr (num_fields == 0) + { + constexpr char empty[]{"()"}; + std::memcpy(begin, empty, std::size(empty)); + return begin + std::size(empty); + } + + char *pos{begin}; + *pos++ = '('; + + (pqxx::internal::write_composite_field(pos, end, fields), ...); + + // If we've got multiple fields, "backspace" that last comma. + if constexpr (num_fields > 1) + --pos; + *pos++ = ')'; + *pos++ = '\0'; + return pos; +} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/config-public-compiler.h b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/config-public-compiler.h new file mode 100644 index 000000000..3668a10f8 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/config-public-compiler.h @@ -0,0 +1,81 @@ +/* include/pqxx/config.h.in. Generated from configure.ac by autoheader. */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INTTYPES_H */ +/* Define to 1 if you have the `pq' library (-lpq). */ +/* #undef HAVE_LIBPQ */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MEMORY_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDINT_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDLIB_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STRINGS_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STRING_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_STAT_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TYPES_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UNISTD_H */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +/* #undef LT_OBJDIR */ +/* Name of package */ +/* #undef PACKAGE */ +/* Define to the address where bug reports for this package should be sent. */ +/* #undef PACKAGE_BUGREPORT */ +/* Define to the full name of this package. */ +/* #undef PACKAGE_NAME */ +/* Define to the full name and version of this package. */ +/* #undef PACKAGE_STRING */ +/* Define to the one symbol short name of this package. */ +/* #undef PACKAGE_TARNAME */ +/* Define to the home page for this package. */ +/* #undef PACKAGE_URL */ +/* Define to the version of this package. */ +/* #undef PACKAGE_VERSION */ +/* Define if supports floating-point conversion. */ +#define PQXX_HAVE_CHARCONV_FLOAT +/* Define if supports integer conversion. */ +#define PQXX_HAVE_CHARCONV_INT +/* Define if compiler has C++20 std::cmp_greater etc. */ +/* #undef PQXX_HAVE_CMP */ +/* Define if compiler supports Concepts and header. */ +/* #undef PQXX_HAVE_CONCEPTS */ +/* Define if compiler supports __cxa_demangle */ +#define PQXX_HAVE_CXA_DEMANGLE +/* Define if g++ supports pure attribute */ +#define PQXX_HAVE_GCC_PURE +/* Define if g++ supports visibility attribute. */ +#define PQXX_HAVE_GCC_VISIBILITY +/* Define if likely & unlikely work. */ +/* #undef PQXX_HAVE_LIKELY */ +/* Define if operator[] can take multiple arguments. */ +/* #undef PQXX_HAVE_MULTIDIMENSIONAL_SUBSCRIPT */ +/* Define if compiler has usable std::filesystem::path. */ +#define PQXX_HAVE_PATH +/* Define if poll() is available. */ +#define PQXX_HAVE_POLL +/* Define if libpq has PQencryptPasswordConn (since pg 10). */ +#define PQXX_HAVE_PQENCRYPTPASSWORDCONN +/* Define if libpq has pipeline mode (since pg 14). */ +#define PQXX_HAVE_PQ_PIPELINE +/* Define if std::this_thread::sleep_for works. */ +#define PQXX_HAVE_SLEEP_FOR +/* Define if compiler has std::span. */ +/* #undef PQXX_HAVE_SPAN */ +/* Define if strerror_r() is available. */ +#define PQXX_HAVE_STRERROR_R +/* Define if strerror_s() is available. */ +/* #undef PQXX_HAVE_STRERROR_S */ +/* Define if thread_local is fully supported. */ +#define PQXX_HAVE_THREAD_LOCAL +/* Define if std::chrono has year_month_day etc. */ +/* #undef PQXX_HAVE_YEAR_MONTH_DAY */ +/* Define to 1 if you have the ANSI C header files. */ +/* #undef STDC_HEADERS */ +/* Version number of package */ +/* #undef VERSION */ diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection new file mode 100644 index 000000000..82ff43aa5 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection @@ -0,0 +1,8 @@ +/** pqxx::connection class. + * + * pqxx::connection encapsulates a connection to a database. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/connection.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection.hxx new file mode 100644 index 000000000..92454bb47 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/connection.hxx @@ -0,0 +1,1261 @@ +/* Definition of the connection class. + * + * pqxx::connection encapsulates a connection to a database. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/connection instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_CONNECTION +#define PQXX_H_CONNECTION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Double-check in order to suppress an overzealous Visual C++ warning (#418). +#if defined(PQXX_HAVE_CONCEPTS) && __has_include() +# include +#endif + +#include "pqxx/errorhandler.hxx" +#include "pqxx/except.hxx" +#include "pqxx/internal/concat.hxx" +#include "pqxx/params.hxx" +#include "pqxx/separated_list.hxx" +#include "pqxx/strconv.hxx" +#include "pqxx/types.hxx" +#include "pqxx/util.hxx" +#include "pqxx/zview.hxx" + + +/** + * @addtogroup connections + * + * Use of the libpqxx library starts here. + * + * Everything that can be done with a database through libpqxx must go through + * a @ref pqxx::connection object. It connects to a database when you create + * it, and it terminates that communication during destruction. + * + * Many things come together in this class. Handling of error and warning + * messages, for example, is defined by @ref pqxx::errorhandler objects in the + * context of a connection. Prepared statements are also defined here. + * + * When you connect to a database, you pass a connection string containing any + * parameters and options, such as the server address and the database name. + * + * These are identical to the ones in libpq, the C language binding upon which + * libpqxx itself is built: + * + * https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING + * + * There are also environment variables you can set to provide defaults, again + * as defined by libpq: + * + * https://www.postgresql.org/docs/current/libpq-envars.html + * + * You can also create a database connection _asynchronously_ using an + * intermediate @ref pqxx::connecting object. + */ + +namespace pqxx::internal +{ +class sql_cursor; + +#if defined(PQXX_HAVE_CONCEPTS) +/// Concept: T is a range of pairs of zero-terminated strings. +template +concept ZKey_ZValues = std::ranges::input_range and requires(T t) +{ + {std::cbegin(t)}; + { + std::get<0>(*std::cbegin(t)) + } -> ZString; + { + std::get<1>(*std::cbegin(t)) + } -> ZString; +} and std::tuple_size_v::value_type> +== 2; +#endif // PQXX_HAVE_CONCEPTS +} // namespace pqxx::internal + + +namespace pqxx::internal::gate +{ +class connection_dbtransaction; +class connection_errorhandler; +class connection_largeobject; +class connection_notification_receiver; +class connection_pipeline; +class connection_sql_cursor; +class connection_stream_from; +class connection_stream_to; +class connection_transaction; +class const_connection_largeobject; +} // namespace pqxx::internal::gate + + +namespace pqxx +{ +/// Representation of a PostgreSQL table path. +/** A "table path" consists of a table name, optionally prefixed by a schema + * name, which in turn is optionally prefixed by a database name. + * + * A minimal example of a table path would be `{mytable}`. But a table path + * may also take the forms `{myschema,mytable}` or + * `{mydb,myschema,mytable}`. + */ +using table_path = std::initializer_list; + + +/// Encrypt a password. @deprecated Use connection::encrypt_password instead. +[[nodiscard, + deprecated("Use connection::encrypt_password instead.")]] std::string + PQXX_LIBEXPORT + encrypt_password(char const user[], char const password[]); + +/// Encrypt password. @deprecated Use connection::encrypt_password instead. +[[nodiscard, + deprecated("Use connection::encrypt_password instead.")]] inline std::string +encrypt_password(zview user, zview password) +{ +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return encrypt_password(user.c_str(), password.c_str()); +#include "pqxx/internal/ignore-deprecated-post.hxx" +} + + +/// Error verbosity levels. +enum class error_verbosity : int +{ + // These values must match those in libpq's PGVerbosity enum. + terse = 0, + normal = 1, + verbose = 2 +}; + + +/// Connection to a database. +/** This is the first class to look at when you wish to work with a database + * through libpqxx. The connection opens during construction, and closes upon + * destruction. + * + * When creating a connection, you can pass a connection URI or a postgres + * connection string, to specify the database server's address, a login + * username, and so on. If you don't, the connection will try to obtain them + * from certain environment variables. If those are not set either, the + * default is to try and connect to the local system's port 5432. + * + * Find more about connection strings here: + * + * https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING + * + * The variables are documented here: + * + * https://www.postgresql.org/docs/current/libpq-envars.html + * + * To query or manipulate the database once connected, use one of the + * transaction classes (see pqxx/transaction_base.hxx) and perhaps also the + * transactor framework (see pqxx/transactor.hxx). + * + * When a connection breaks, you will typically get a @ref broken_connection + * exception. This can happen at almost any point. + * + * @warning On Unix-like systems, including GNU and BSD systems, your program + * may receive the SIGPIPE signal when the connection to the backend breaks. By + * default this signal will abort your program. Use "signal(SIGPIPE, SIG_IGN)" + * if you want your program to continue running after a connection fails. + */ +class PQXX_LIBEXPORT connection +{ +public: + connection() : connection{""} {} + + /// Connect to a database, using `options` string. + explicit connection(char const options[]) + { + check_version(); + init(options); + } + + /// Connect to a database, using `options` string. + explicit connection(zview options) : connection{options.c_str()} + { + // (Delegates to other constructor which calls check_version for us.) + } + + /// Move constructor. + /** Moving a connection is not allowed if it has an open transaction, or has + * error handlers or notification receivers registered on it. In those + * situations, other objects may hold references to the old object which + * would become invalid and might produce hard-to-diagnose bugs. + */ + connection(connection &&rhs); + +#if defined(PQXX_HAVE_CONCEPTS) + /// Connect to a database, passing options as a range of key/value pairs. + /** @warning Experimental. Requires C++20 "concepts" support. Define + * `PQXX_HAVE_CONCEPTS` to enable it. + * + * There's no need to escape the parameter values. + * + * See the PostgreSQL libpq documentation for the full list of possible + * options: + * + * https://postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS + * + * The options can be anything that can be iterated as a series of pairs of + * zero-terminated strings: `std::pair`, or + * `std::tuple`, or + * `std::map`, and so on. + */ + template + inline connection(MAPPING const ¶ms); +#endif // PQXX_HAVE_CONCEPTS + + ~connection() + { + try + { + close(); + } + catch (std::exception const &) + {} + } + + /// Move assignment. + /** Neither connection can have an open transaction, registered error + * handlers, or registered notification receivers. + */ + connection &operator=(connection &&rhs); + + connection(connection const &) = delete; + connection &operator=(connection const &) = delete; + + /// Is this connection open at the moment? + /** @warning This function is **not** needed in most code. Resist the + * temptation to check it after opening a connection. The `connection` + * constructor will throw a @ref broken_connection exception if can't connect + * to the database. + */ + [[nodiscard]] bool PQXX_PURE is_open() const noexcept; + + /// Invoke notice processor function. The message should end in newline. + void process_notice(char const[]) noexcept; + /// Invoke notice processor function. Newline at end is recommended. + /** The zview variant, with a message ending in newline, is the most + * efficient way to call process_notice. + */ + void process_notice(zview) noexcept; + + /// Enable tracing to a given output stream, or nullptr to disable. + void trace(std::FILE *) noexcept; + + /** + * @name Connection properties + * + * These are probably not of great interest, since most are derived from + * information supplied by the client program itself, but they are included + * for completeness. + * + * The connection needs to be currently active for these to work. + */ + //@{ + /// Name of database we're connected to, if any. + [[nodiscard]] char const *dbname() const; + + /// Database user ID we're connected under, if any. + [[nodiscard]] char const *username() const; + + /// Address of server, or nullptr if none specified (i.e. default or local) + [[nodiscard]] char const *hostname() const; + + /// Server port number we're connected to. + [[nodiscard]] char const *port() const; + + /// Process ID for backend process, or 0 if inactive. + [[nodiscard]] int PQXX_PURE backendpid() const &noexcept; + + /// Socket currently used for connection, or -1 for none. Use with care! + /** Query the current socket number. This is intended for event loops based + * on functions such as select() or poll(), where you're waiting for any of + * multiple file descriptors to become ready for communication. + * + * Please try to stay away from this function. It is really only meant for + * event loops that need to wait on more than one file descriptor. If all + * you need is to block until a notification arrives, for instance, use + * await_notification(). If you want to issue queries and retrieve results + * in nonblocking fashion, check out the pipeline class. + */ + [[nodiscard]] int PQXX_PURE sock() const &noexcept; + + /// What version of the PostgreSQL protocol is this connection using? + /** The answer can be 0 (when there is no connection); 3 for protocol 3.0; or + * possibly higher values as newer protocol versions come into use. + */ + [[nodiscard]] int PQXX_PURE protocol_version() const noexcept; + + /// What version of the PostgreSQL server are we connected to? + /** The result is a bit complicated: each of the major, medium, and minor + * release numbers is written as a two-digit decimal number, and the three + * are then concatenated. Thus server version 9.4.2 will be returned as the + * decimal number 90402. If there is no connection to the server, this + * returns zero. + * + * @warning When writing version numbers in your code, don't add zero at the + * beginning! Numbers beginning with zero are interpreted as octal (base-8) + * in C++. Thus, 070402 is not the same as 70402, and 080000 is not a number + * at all because there is no digit "8" in octal notation. Use strictly + * decimal notation when it comes to these version numbers. + */ + [[nodiscard]] int PQXX_PURE server_version() const noexcept; + //@} + + /// @name Text encoding + /** + * Each connection is governed by a "client encoding," which dictates how + * strings and other text is represented in bytes. The database server will + * send text data to you in this encoding, and you should use it for the + * queries and data which you send to the server. + * + * Search the PostgreSQL documentation for "character set encodings" to find + * out more about the available encodings, how to extend them, and how to use + * them. Not all server-side encodings are compatible with all client-side + * encodings or vice versa. + * + * Encoding names are case-insensitive, so e.g. "UTF8" is equivalent to + * "utf8". + * + * You can change the client encoding, but this may not work when the + * connection is in a special state, such as when streaming a table. It's + * not clear what happens if you change the encoding during a transaction, + * and then abort the transaction. + */ + //@{ + /// Get client-side character encoding, by name. + [[nodiscard]] std::string get_client_encoding() const; + + /// Set client-side character encoding, by name. + /** + * @param encoding Name of the character set encoding to use. + */ + void set_client_encoding(zview encoding) & + { + set_client_encoding(encoding.c_str()); + } + + /// Set client-side character encoding, by name. + /** + * @param encoding Name of the character set encoding to use. + */ + void set_client_encoding(char const encoding[]) &; + + /// Get the connection's encoding, as a PostgreSQL-defined code. + [[nodiscard]] int PQXX_PRIVATE encoding_id() const; + + //@} + + /// Set session variable, using SQL's `SET` command. + /** @deprecated To set a session variable, use @ref set_session_var. To set + * a transaction-local variable, execute an SQL `SET` command. + * + * @warning When setting a string value, you must escape and quote it first. + * Use the @ref quote() function to do that. + * + * @warning This executes an SQL query, so do not get or set variables while + * a table stream or pipeline is active on the same connection. + * + * @param var Variable to set. + * @param value New value for Var. This can be any SQL expression. If it's + * a string, be sure that it's properly escaped and quoted. + */ + [[deprecated("To set session variables, use set_session_var.")]] void + set_variable(std::string_view var, std::string_view value) &; + + /// Set one of the session variables to a new value. + /** This executes SQL, so do not do it while a pipeline or stream is active + * on the connection. + * + * The value you set here will last for the rest of the connection's + * duration, or until you set a new value. + * + * If you set the value while in a @ref dbtransaction (i.e. any transaction + * that is not a @ref nontransaction), then rolling back the transaction will + * undo the change. + * + * All applies to setting _session_ variables. You can also set the same + * variables as _local_ variables, in which case they will always revert to + * their previous value when the transaction ends (or when you overwrite them + * of course). To set a local variable, simply execute an SQL statement + * along the lines of "`SET LOCAL var = 'value'`" inside your transaction. + * + * @param var The variable to set. + * @param value The new value for the variable. + * @throw @ref variable_set_to_null if the value is null; this is not + * allowed. + */ + template + void set_session_var(std::string_view var, TYPE const &value) & + { + if constexpr (nullness::has_null) + { + if (nullness::is_null(value)) + throw variable_set_to_null{ + internal::concat("Attempted to set variable ", var, " to null.")}; + } + exec(internal::concat("SET ", quote_name(var), "=", quote(value))); + } + + /// Read session variable, using SQL's `SHOW` command. + /** @warning This executes an SQL query, so do not get or set variables while + * a table stream or pipeline is active on the same connection. + */ + [[deprecated("Use get_var instead.")]] std::string + get_variable(std::string_view); + + /// Read currently applicable value of a variable. + /** This function executes an SQL statement, so it won't work while a + * @ref pipeline or query stream is active on the connection. + * + * @return a blank `std::optional` if the variable's value is null, or its + * string value otherwise. + */ + std::string get_var(std::string_view var); + + /// Read currently applicable value of a variable. + /** This function executes an SQL statement, so it won't work while a + * @ref pipeline or query stream is active on the connection. + * + * If there is any possibility that the variable is null, ensure that `TYPE` + * can represent null values. + */ + template TYPE get_var_as(std::string_view var) + { + return from_string(get_var(var)); + } + + /** + * @name Notifications and Receivers + */ + //@{ + /// Check for pending notifications and take appropriate action. + /** This does not block. To wait for incoming notifications, either call + * await_notification() (it calls this function); or wait for incoming data + * on the connection's socket (i.e. wait to read), and then call this + * function repeatedly until it returns zero. After that, there are no more + * pending notifications so you may want to wait again. + * + * If any notifications are pending when you call this function, it + * processes them by finding any receivers that match the notification string + * and invoking those. If no receivers match, there is nothing to invoke but + * we do consider the notification processed. + * + * If any of the client-registered receivers throws an exception, the + * function will report it using the connection's errorhandlers. It does not + * re-throw the exceptions. + * + * @return Number of notifications processed. + */ + int get_notifs(); + + /// Wait for a notification to come in. + /** There are other events that will also terminate the wait, such as the + * backend failing. It will also wake up periodically. + * + * If a notification comes in, the call will process it, along with any other + * notifications that may have been pending. + * + * To wait for notifications into your own event loop instead, wait until + * there is incoming data on the connection's socket to be read, then call + * @ref get_notifs() repeatedly until it returns zero. + * + * @return Number of notifications processed. + */ + int await_notification(); + + /// Wait for a notification to come in, or for given timeout to pass. + /** There are other events that will also terminate the wait, such as the + * backend failing, or timeout expiring. + * + * If a notification comes in, the call will process it, along with any other + * notifications that may have been pending. + * + * To wait for notifications into your own event loop instead, wait until + * there is incoming data on the connection's socket to be read, then call + * @ref get_notifs repeatedly until it returns zero. + * + * @return Number of notifications processed + */ + int await_notification(std::time_t seconds, long microseconds); + //@} + + /** + * @name Password encryption + * + * Use this when setting a new password for the user if password encryption + * is enabled. Inputs are the SQL name for the user for whom you with to + * encrypt a password; the plaintext password; and the hash algorithm. + * + * The algorithm must be one of "md5", "scram-sha-256" (introduced in + * PostgreSQL 10), or `nullptr`. If the pointer is null, this will query + * the `password_encryption setting` from the server, and use the default + * algorithm as defined there. + * + * @return encrypted version of the password, suitable for encrypted + * PostgreSQL authentication. + * + * Thus you can change a user's password with: + * ```cxx + * void setpw(transaction_base &t, string const &user, string const &pw) + * { + * t.exec0("ALTER USER " + user + " " + * "PASSWORD '" + t.conn().encrypt_password(user,pw) + "'"); + * } + * ``` + * + * When building this against a libpq older than version 10, this will use + * an older function which only supports md5. In that case, requesting a + * different algorithm than md5 will result in a @ref feature_not_supported + * exception. + */ + //@{ + /// Encrypt a password for a given user. + [[nodiscard]] std::string + encrypt_password(zview user, zview password, zview algorithm) + { + return encrypt_password(user.c_str(), password.c_str(), algorithm.c_str()); + } + /// Encrypt a password for a given user. + [[nodiscard]] std::string encrypt_password( + char const user[], char const password[], char const *algorithm = nullptr); + //@} + + /** + * @name Prepared statements + * + * PostgreSQL supports prepared SQL statements, i.e. statements that you can + * register under a name you choose, optimized once by the backend, and + * executed any number of times under the given name. + * + * Prepared statement definitions are not sensitive to transaction + * boundaries. A statement defined inside a transaction will remain defined + * outside that transaction, even if the transaction itself is subsequently + * aborted. Once a statement has been prepared, it will only go away if you + * close the connection or explicitly "unprepare" the statement. + * + * Use the `pqxx::transaction_base::exec_prepared` functions to execute a + * prepared statement. See @ref prepared for a full discussion. + * + * @warning Using prepared statements can save time, but if your statement + * takes parameters, it may also make your application significantly slower! + * The reason is that the server works out a plan for executing the query + * when you prepare it. At that time, of course it does not know the values + * for the parameters that you will pass. If you execute a query without + * preparing it, then the server works out the plan on the spot, with full + * knowledge of the parameter values. + * + * A statement's definition can refer to its parameters as `$1`, `$2`, etc. + * The first parameter you pass to the call provides a value for `$1`, and + * so on. + * + * Here's an example of how to use prepared statements. + * + * ```cxx + * using namespace pqxx; + * void foo(connection &c) + * { + * c.prepare("findtable", "select * from pg_tables where name=$1"); + * work tx{c}; + * result r = tx.exec_prepared("findtable", "mytable"); + * if (std::empty(r)) throw runtime_error{"mytable not found!"}; + * } + * ``` + */ + //@{ + + /// Define a prepared statement. + /** + * @param name unique name for the new prepared statement. + * @param definition SQL statement to prepare. + */ + void prepare(zview name, zview definition) & + { + prepare(name.c_str(), definition.c_str()); + } + + /** + * @param name unique name for the new prepared statement. + * @param definition SQL statement to prepare. + */ + void prepare(char const name[], char const definition[]) &; + + /// Define a nameless prepared statement. + /** + * This can be useful if you merely want to pass large binary parameters to a + * statement without otherwise wishing to prepare it. If you use this + * feature, always keep the definition and the use close together to avoid + * the nameless statement being redefined unexpectedly by code somewhere + * else. + */ + void prepare(char const definition[]) &; + void prepare(zview definition) & { return prepare(definition.c_str()); } + + /// Drop prepared statement. + void unprepare(std::string_view name); + + //@} + + // C++20: constexpr. Breaks ABI. + /// Suffix unique number to name to make it unique within session context. + /** Used internally to generate identifiers for SQL objects (such as cursors + * and nested transactions) based on a given human-readable base name. + */ + [[nodiscard]] std::string adorn_name(std::string_view); + + /** + * @defgroup escaping-functions String-escaping functions + */ + //@{ + + /// Escape string for use as SQL string literal on this connection. + /** @warning This accepts a length, and it does not require a terminating + * zero byte. But if there is a zero byte, escaping stops there even if + * it's not at the end of the string! + */ + [[deprecated("Use std::string_view or pqxx:zview.")]] std::string + esc(char const text[], std::size_t maxlen) const + { + return esc(std::string_view{text, maxlen}); + } + + /// Escape string for use as SQL string literal on this connection. + [[nodiscard]] std::string esc(char const text[]) const + { + return esc(std::string_view{text}); + } + +#if defined(PQXX_HAVE_SPAN) + /// Escape string for use as SQL string literal, into `buffer`. + /** Use this variant when you want to re-use the same buffer across multiple + * calls. If that's not the case, or convenience and simplicity are more + * important, use the single-argument variant. + * + * For every byte in `text`, there must be at least 2 bytes of space in + * `buffer`; plus there must be one byte of space for a trailing zero. + * Throws @ref range_error if this space is not available. + * + * Returns a reference to the escaped string, which is actually stored in + * `buffer`. + */ + [[nodiscard]] std::string_view + esc(std::string_view text, std::span buffer) + { + auto const size{std::size(text)}, space{std::size(buffer)}; + auto const needed{2 * size + 1}; + if (space < needed) + throw range_error{internal::concat( + "Not enough room to escape string of ", size, " byte(s): need ", + needed, " bytes of buffer space, but buffer size is ", space, ".")}; + auto const data{buffer.data()}; + return {data, esc_to_buf(text, data)}; + } +#endif + + /// Escape string for use as SQL string literal on this connection. + /** @warning This is meant for text strings only. It cannot contain bytes + * whose value is zero ("nul bytes"). + */ + [[nodiscard]] std::string esc(std::string_view text) const; + +#if defined(PQXX_HAVE_CONCEPTS) + /// Escape binary string for use as SQL string literal on this connection. + /** This is identical to `esc_raw(data)`. */ + template [[nodiscard]] std::string esc(DATA const &data) const + { + return esc_raw(data); + } +#endif + +#if defined(PQXX_HAVE_CONCEPTS) && defined(PQXX_HAVE_SPAN) + /// Escape binary string for use as SQL string literal, into `buffer`. + /** Use this variant when you want to re-use the same buffer across multiple + * calls. If that's not the case, or convenience and simplicity are more + * important, use the single-argument variant. + * + * For every byte in `data`, there must be at least two bytes of space in + * `buffer`; plus there must be two bytes of space for a header and one for + * a trailing zero. Throws @ref range_error if this space is not available. + * + * Returns a reference to the escaped string, which is actually stored in + * `buffer`. + */ + template + [[nodiscard]] zview esc(DATA const &data, std::span buffer) const + { + auto const size{std::size(data)}, space{std::size(buffer)}; + auto const needed{internal::size_esc_bin(std::size(data))}; + if (space < needed) + throw range_error{internal::concat( + "Not enough room to escape binary string of ", size, " byte(s): need ", + needed, " bytes of buffer space, but buffer size is ", space, ".")}; + + std::basic_string_view view{std::data(data), std::size(data)}; + auto const out{std::data(buffer)}; + // Actually, in the modern format, we know beforehand exactly how many + // bytes we're going to fill. Just leave out the trailing zero. + internal::esc_bin(view, out); + return zview{out, needed - 1}; + } +#endif + + /// Escape binary string for use as SQL string literal on this connection. + [[deprecated("Use std::byte for binary data.")]] std::string + esc_raw(unsigned char const bin[], std::size_t len) const; + + /// Escape binary string for use as SQL string literal on this connection. + /** You can also just use @ref esc with a binary string. */ + [[nodiscard]] std::string esc_raw(std::basic_string_view) const; + +#if defined(PQXX_HAVE_SPAN) + /// Escape binary string for use as SQL string literal, into `buffer`. + /** You can also just use @ref esc with a binary string. */ + [[nodiscard]] std::string + esc_raw(std::basic_string_view, std::span buffer) const; +#endif + +#if defined(PQXX_HAVE_CONCEPTS) + /// Escape binary string for use as SQL string literal on this connection. + /** You can also just use @ref esc with a binary string. */ + template + [[nodiscard]] std::string esc_raw(DATA const &data) const + { + return esc_raw( + std::basic_string_view{std::data(data), std::size(data)}); + } +#endif + +#if defined(PQXX_HAVE_CONCEPTS) && defined(PQXX_HAVE_SPAN) + /// Escape binary string for use as SQL string literal, into `buffer`. + template + [[nodiscard]] zview esc_raw(DATA const &data, std::span buffer) const + { + return this->esc(binary_cast(data), buffer); + } +#endif + + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + */ + [[nodiscard, deprecated("Use unesc_bin() instead.")]] std::string + unesc_raw(zview text) const + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return unesc_raw(text.c_str()); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + */ + [[nodiscard, deprecated("Use unesc_bin() instead.")]] std::string + unesc_raw(char const text[]) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + * + * (The data must be encoded in PostgreSQL's "hex" format. The legacy + * "bytea" escape format, used prior to PostgreSQL 9.0, is no longer + * supported.) + */ + [[nodiscard]] std::basic_string + unesc_bin(std::string_view text) const + { + std::basic_string buf; + buf.resize(pqxx::internal::size_unesc_bin(std::size(text))); + pqxx::internal::unesc_bin(text, buf.data()); + return buf; + } + + /// Escape and quote a string of binary data. + [[deprecated("Use quote(std::basic_string_view).")]] std::string + quote_raw(unsigned char const bin[], std::size_t len) const; + + /// Escape and quote a string of binary data. + std::string quote_raw(std::basic_string_view) const; + +#if defined(PQXX_HAVE_CONCEPTS) + /// Escape and quote a string of binary data. + /** You can also just use @ref quote with binary data. */ + template + [[nodiscard]] std::string quote_raw(DATA const &data) const + { + return quote_raw( + std::basic_string_view{std::data(data), std::size(data)}); + } +#endif + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Escape and quote an SQL identifier for use in a query. + [[nodiscard]] std::string quote_name(std::string_view identifier) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Escape and quote a table name. + /** When passing just a table name, this is just another name for + * @ref quote_name. + */ + [[nodiscard]] std::string quote_table(std::string_view name) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Escape and quote a table path. + /** A table path consists of a table name, optionally prefixed by a schema + * name; and if both are given, they are in turn optionally prefixed by a + * database name. + * + * Each portion of the path (database name, schema name, table name) will be + * quoted separately, and they will be joined together by dots. So for + * example, `myschema.mytable` will become `"myschema"."mytable"`. + */ + [[nodiscard]] std::string quote_table(table_path) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Quote and comma-separate a series of column names. + /** Use this to save a bit of work in cases where you repeatedly need to pass + * the same list of column names, e.g. with @ref stream_to and @ref + * stream_from. Some functions that need to quote the columns list + * internally, will have a "raw" alternative which let you do the quoting + * yourself. It's a bit of extra work, but it can in rare cases let you + * eliminate some duplicate work in quoting them repeatedly. + */ + template + inline std::string quote_columns(STRINGS const &columns) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Represent object as SQL string, including quoting & escaping. + /** + * Recognises nulls and represents them as SQL nulls. They get no quotes. + */ + template + [[nodiscard]] inline std::string quote(T const &t) const; + + [[deprecated("Use std::byte for binary data.")]] std::string + quote(binarystring const &) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Escape and quote binary data for use as a BYTEA value in SQL statement. + [[nodiscard]] std::string + quote(std::basic_string_view bytes) const; + + // TODO: Make "into buffer" variant to eliminate a string allocation. + /// Escape string for literal LIKE match. + /** Use this when part of an SQL "LIKE" pattern should match only as a + * literal string, not as a pattern, even if it contains "%" or "_" + * characters that would normally act as wildcards. + * + * The string does not get string-escaped or quoted. You do that later. + * + * For instance, let's say you have a string `name` entered by the user, + * and you're searching a `file` column for items that match `name` + * followed by a dot and three letters. Even if `name` contains wildcard + * characters "%" or "_", you only want those to match literally, so "_" + * only matches "_" and "%" only matches a single "%". + * + * You do that by "like-escaping" `name`, appending the wildcard pattern + * `".___"`, and finally, escaping and quoting the result for inclusion in + * your query: + * + * ```cxx + * tx.exec( + * "SELECT file FROM item WHERE file LIKE " + + * tx.quote(tx.esc_like(name) + ".___")); + * ``` + * + * The SQL "LIKE" operator also lets you choose your own escape character. + * This is supported, but must be a single-byte character. + */ + [[nodiscard]] std::string + esc_like(std::string_view text, char escape_char = '\\') const; + //@} + + /// Attempt to cancel the ongoing query, if any. + /** You can use this from another thread, and/or while a query is executing + * in a pipeline, but it's up to you to ensure that you're not canceling the + * wrong query. This may involve locking. + */ + void cancel_query(); + +#if defined(_WIN32) || __has_include() + /// Set socket to blocking (true) or nonblocking (false). + /** @warning Do not use this unless you _really_ know what you're doing. + * @warning This function is available on most systems, but not necessarily + * all. + */ + void set_blocking(bool block) &; +#endif // defined(_WIN32) || __has_include() + + /// Set session verbosity. + /** Set the verbosity of error messages to "terse", "normal" (the default), + * or "verbose." + * + * If "terse", returned messages include severity, primary text, and + * position only; this will normally fit on a single line. "normal" produces + * messages that include the above plus any detail, hint, or context fields + * (these might span multiple lines). "verbose" includes all available + * fields. + */ + void set_verbosity(error_verbosity verbosity) &noexcept; + + /// Return pointers to the active errorhandlers. + /** The entries are ordered from oldest to newest handler. + * + * You may use this to find errorhandlers that your application wants to + * delete when destroying the connection. Be aware, however, that libpqxx + * may also add errorhandlers of its own, and those will be included in the + * list. If this is a problem for you, derive your errorhandlers from a + * custom base class derived from pqxx::errorhandler. Then use dynamic_cast + * to find which of the error handlers are yours. + * + * The pointers point to the real errorhandlers. The container it returns + * however is a copy of the one internal to the connection, not a reference. + */ + [[nodiscard]] std::vector get_errorhandlers() const; + + /// Return a connection string encapsulating this connection's options. + /** The connection must be currently open for this to work. + * + * Returns a reconstruction of this connection's connection string. It may + * not exactly match the connection string you passed in when creating this + * connection. + */ + [[nodiscard]] std::string connection_string() const; + + /// Explicitly close the connection. + /** The destructor will do this for you automatically. Still, there is a + * reason to `close()` objects explicitly where possible: if an error should + * occur while closing, `close()` can throw an exception. A destructor + * cannot. + * + * Closing a connection is idempotent. Closing a connection that's already + * closed does nothing. + */ + void close(); + + /// Seize control of a raw libpq connection. + /** @warning Do not do this. Please. It's for very rare, very specific + * use-cases. The mechanism may change (or break) in unexpected ways in + * future versions. + * + * @param raw_conn a raw libpq `PQconn` pointer. + */ + static connection seize_raw_connection(internal::pq::PGconn *raw_conn) + { + return connection{raw_conn}; + } + + /// Release the raw connection without closing it. + /** @warning Do not do this. It's for very rare, very specific use-cases. + * The mechanism may change (or break) in unexpected ways in future versions. + * + * The `connection` object becomes unusable after this. + */ + internal::pq::PGconn *release_raw_connection() && + { + return std::exchange(m_conn, nullptr); + } + +private: + friend class connecting; + enum connect_mode + { + connect_nonblocking + }; + connection(connect_mode, zview connection_string); + + /// For use by @ref seize_raw_connection. + explicit connection(internal::pq::PGconn *raw_conn) : m_conn{raw_conn} {} + + /// Poll for ongoing connection, try to progress towards completion. + /** Returns a pair of "now please wait to read data from socket" and "now + * please wait to write data to socket." Both will be false when done. + * + * Throws an exception if polling indicates that the connection has failed. + */ + std::pair poll_connect(); + + // Initialise based on connection string. + void init(char const options[]); + // Initialise based on parameter names and values. + void init(char const *params[], char const *values[]); + void complete_init(); + + result make_result( + internal::pq::PGresult *pgr, std::shared_ptr const &query, + std::string_view desc = ""sv); + + void PQXX_PRIVATE set_up_state(); + + int PQXX_PRIVATE PQXX_PURE status() const noexcept; + + /// Escape a string, into a buffer allocated by the caller. + /** The buffer must have room for at least `2*std::size(text) + 1` bytes. + * + * Returns the number of bytes written, including the trailing zero. + */ + std::size_t esc_to_buf(std::string_view text, char *buf) const; + + friend class internal::gate::const_connection_largeobject; + char const *PQXX_PURE err_msg() const noexcept; + + void PQXX_PRIVATE process_notice_raw(char const msg[]) noexcept; + + result exec_prepared(std::string_view statement, internal::c_params const &); + + /// Throw @ref usage_error if this connection is not in a movable state. + void check_movable() const; + /// Throw @ref usage_error if not in a state where it can be move-assigned. + void check_overwritable() const; + + friend class internal::gate::connection_errorhandler; + void PQXX_PRIVATE register_errorhandler(errorhandler *); + void PQXX_PRIVATE unregister_errorhandler(errorhandler *) noexcept; + + friend class internal::gate::connection_transaction; + result exec(std::string_view, std::string_view = ""sv); + result + PQXX_PRIVATE exec(std::shared_ptr, std::string_view = ""sv); + void PQXX_PRIVATE register_transaction(transaction_base *); + void PQXX_PRIVATE unregister_transaction(transaction_base *) noexcept; + + friend class internal::gate::connection_stream_from; + std::pair>, std::size_t> + PQXX_PRIVATE read_copy_line(); + + friend class internal::gate::connection_stream_to; + void PQXX_PRIVATE write_copy_line(std::string_view); + void PQXX_PRIVATE end_copy_write(); + + friend class internal::gate::connection_largeobject; + internal::pq::PGconn *raw_connection() const { return m_conn; } + + friend class internal::gate::connection_notification_receiver; + void add_receiver(notification_receiver *); + void remove_receiver(notification_receiver *) noexcept; + + friend class internal::gate::connection_pipeline; + void PQXX_PRIVATE start_exec(char const query[]); + bool PQXX_PRIVATE consume_input() noexcept; + bool PQXX_PRIVATE is_busy() const noexcept; + internal::pq::PGresult *get_result(); + + friend class internal::gate::connection_dbtransaction; + friend class internal::gate::connection_sql_cursor; + + result exec_params(std::string_view query, internal::c_params const &args); + + /// Connection handle. + internal::pq::PGconn *m_conn = nullptr; + + /// Active transaction on connection, if any. + /** We don't use this for anything, except to check for open transactions + * when we close the connection or start a new transaction. + * + * We also don't allow move construction or move assignment while there's a + * transaction, since moving the connection in that case would leave one or + * more pointers back from the transaction to the connection dangling. + */ + transaction_base const *m_trans = nullptr; + + std::list m_errorhandlers; + + using receiver_list = + std::multimap; + /// Notification receivers. + receiver_list m_receivers; + + /// Unique number to use as suffix for identifiers (see adorn_name()). + int m_unique_id = 0; +}; + + +/// @deprecated Old base class for connection. They are now the same class. +using connection_base = connection; + + +/// An ongoing, non-blocking stepping stone to a connection. +/** Use this when you want to create a connection to the database, but without + * blocking your whole thread. It is only available on systems that have + * the `` header, and Windows. + * + * Connecting in this way is probably not "faster" (it's more complicated and + * has some extra overhead), but in some situations you can use it to make your + * application as a whole faster. It all depends on having other useful work + * to do in the same thread, and being able to wait on a socket. If you have + * other I/O going on at the same time, your event loop can wait for both the + * libpqxx socket and your own sockets, and wake up whenever any of them is + * ready to do work. + * + * Connecting in this way is not properly "asynchronous;" it's merely + * "nonblocking." This means it's not a super-high-performance mechanism like + * you might get with e.g. `io_uring`. In particular, if we need to look up + * the database hostname in DNS, that will happen synchronously. + * + * To use this, create the `connecting` object, passing a connection string. + * Then loop: If @ref wait_to_read returns true, wait for the socket to have + * incoming data on it. If @ref wait_to_write returns true, wait for the + * socket to be ready for writing. Then call @ref process to process any + * incoming or outgoing data. Do all of this until @ref done returns true (or + * there is an exception). Finally, call @ref produce to get the completed + * connection. + * + * For example: + * + * ```cxx + * pqxx::connecting cg{}; + * + * // Loop until we're done connecting. + * while (!cg.done()) + * { + * wait_for_fd(cg.sock(), cg.wait_to_read(), cg.wait_to_write()); + * cg.process(); + * } + * + * pqxx::connection conn = std::move(cg).produce(); + * + * // At this point, conn is a working connection. You can no longer use + * // cg at all. + * ``` + */ +class PQXX_LIBEXPORT connecting +{ +public: + /// Start connecting. + connecting(zview connection_string = ""_zv); + + connecting(connecting const &) = delete; + connecting(connecting &&) = default; + connecting &operator=(connecting const &) = delete; + connecting &operator=(connecting &&) = default; + + /// Get the socket. The socket may change during the connection process. + [[nodiscard]] int sock() const &noexcept { return m_conn.sock(); } + + /// Should we currently wait to be able to _read_ from the socket? + [[nodiscard]] constexpr bool wait_to_read() const &noexcept + { + return m_reading; + } + + /// Should we currently wait to be able to _write_ to the socket? + [[nodiscard]] constexpr bool wait_to_write() const &noexcept + { + return m_writing; + } + + /// Progress towards completion (but don't block). + void process() &; + + /// Is our connection finished? + [[nodiscard]] constexpr bool done() const &noexcept + { + return not m_reading and not m_writing; + } + + /// Produce the completed connection object. + /** Use this only once, after @ref done returned `true`. Once you have + * called this, the `connecting` instance has no more use or meaning. You + * can't call any of its member functions afterwards. + * + * This member function is rvalue-qualified, meaning that you can only call + * it on an rvalue instance of the class. If what you have is not an rvalue, + * turn it into one by wrapping it in `std::move()`. + */ + [[nodiscard]] connection produce() &&; + +private: + connection m_conn; + bool m_reading{false}; + bool m_writing{true}; +}; + + +template inline std::string connection::quote(T const &t) const +{ + if constexpr (nullness::always_null) + { + return "NULL"; + } + else + { + if (is_null(t)) + return "NULL"; + auto const text{to_string(t)}; + + // Okay, there's an easy way to do this and there's a hard way. The easy + // way was "quote, esc(to_string(t)), quote". I'm going with the hard way + // because it's going to save some string manipulation that will probably + // incur some unnecessary memory allocations and deallocations. + std::string buf{'\''}; + buf.resize(2 + 2 * std::size(text) + 1); + auto const content_bytes{esc_to_buf(text, buf.data() + 1)}; + auto const closing_quote{1 + content_bytes}; + buf[closing_quote] = '\''; + auto const end{closing_quote + 1}; + buf.resize(end); + return buf; + } +} + + +template +inline std::string connection::quote_columns(STRINGS const &columns) const +{ + return separated_list( + ","sv, std::cbegin(columns), std::cend(columns), + [this](auto col) { return this->quote_name(*col); }); +} + + +#if defined(PQXX_HAVE_CONCEPTS) +template +inline connection::connection(MAPPING const ¶ms) +{ + check_version(); + + std::vector keys, values; + if constexpr (std::ranges::sized_range) + { + auto const size{std::ranges::size(params) + 1}; + keys.reserve(size); + values.reserve(size); + } + for (auto const &[key, value] : params) + { + keys.push_back(internal::as_c_string(key)); + values.push_back(internal::as_c_string(value)); + } + keys.push_back(nullptr); + values.push_back(nullptr); + init(std::data(keys), std::data(values)); +} +#endif // PQXX_HAVE_CONCEPTS +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor new file mode 100644 index 000000000..e20b3a4fa --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor @@ -0,0 +1,8 @@ +/** Definition of the iterator/container-style cursor classes. + * + * C++-style wrappers for SQL cursors + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/cursor.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor.hxx new file mode 100644 index 000000000..b392e2407 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/cursor.hxx @@ -0,0 +1,483 @@ +/* Definition of the iterator/container-style cursor classes. + * + * C++-style wrappers for SQL cursors. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/cursor instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_CURSOR +#define PQXX_H_CURSOR + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include + +#include "pqxx/result.hxx" +#include "pqxx/transaction_base.hxx" + + +namespace pqxx +{ +/// Common definitions for cursor types +/** In C++ terms, fetches are always done in pre-increment or pre-decrement + * fashion--i.e. the result does not include the row the cursor is on at the + * beginning of the fetch, and the cursor ends up being positioned on the last + * row in the result. + * + * There are singular positions akin to `end()` at both the beginning and the + * end of the cursor's range of movement, although these fit in so naturally + * with the semantics that one rarely notices them. The cursor begins at the + * first of these, but any fetch in the forward direction will move the cursor + * off this position and onto the first row before returning anything. + */ +class PQXX_LIBEXPORT cursor_base +{ +public: + using size_type = result_size_type; + using difference_type = result_difference_type; + + /// Cursor access-pattern policy + /** Allowing a cursor to move forward only can result in better performance, + * so use this access policy whenever possible. + */ + enum access_policy + { + /// Cursor can move forward only + forward_only, + /// Cursor can move back and forth + random_access + }; + + /// Cursor update policy + /** + * @warning Not all PostgreSQL versions support updatable cursors. + */ + enum update_policy + { + /// Cursor can be used to read data but not to write + read_only, + /// Cursor can be used to update data as well as read it + update + }; + + /// Cursor destruction policy + /** The normal thing to do is to make a cursor object the owner of the SQL + * cursor it represents. There may be cases, however, where a cursor needs + * to persist beyond the end of the current transaction (and thus also beyond + * the lifetime of the cursor object that created it!), where it can be + * "adopted" into a new cursor object. See the basic_cursor documentation + * for an explanation of cursor adoption. + * + * If a cursor is created with "loose" ownership policy, the object + * representing the underlying SQL cursor will not take the latter with it + * when its own lifetime ends, nor will its originating transaction. + * + * @warning Use this feature with care and moderation. Only one cursor + * object should be responsible for any one underlying SQL cursor at any + * given time. + */ + enum ownership_policy + { + /// Destroy SQL cursor when cursor object is closed at end of transaction + owned, + /// Leave SQL cursor in existence after close of object and transaction + loose + }; + + cursor_base() = delete; + cursor_base(cursor_base const &) = delete; + cursor_base &operator=(cursor_base const &) = delete; + + /** + * @name Special movement distances. + */ + //@{ + + // TODO: Make constexpr inline (but breaks ABI). + /// Special value: read until end. + /** @return Maximum value for result::difference_type, so the cursor will + * attempt to read the largest possible result set. + */ + [[nodiscard]] static difference_type all() noexcept; + + /// Special value: read one row only. + /** @return Unsurprisingly, 1. + */ + [[nodiscard]] static constexpr difference_type next() noexcept { return 1; } + + /// Special value: read backwards, one row only. + /** @return Unsurprisingly, -1. + */ + [[nodiscard]] static constexpr difference_type prior() noexcept + { + return -1; + } + + // TODO: Make constexpr inline (but breaks ABI). + /// Special value: read backwards from current position back to origin. + /** @return Minimum value for result::difference_type. + */ + [[nodiscard]] static difference_type backward_all() noexcept; + + //@} + + /// Name of underlying SQL cursor + /** + * @returns Name of SQL cursor, which may differ from original given name. + * @warning Don't use this to access the SQL cursor directly without going + * through the provided wrapper classes! + */ + [[nodiscard]] constexpr std::string const &name() const noexcept + { + return m_name; + } + +protected: + cursor_base(connection &, std::string_view Name, bool embellish_name = true); + + std::string const m_name; +}; +} // namespace pqxx + + +#include + + +namespace pqxx +{ +/// "Stateless cursor" class: easy API for retrieving parts of result sets +/** This is a front-end for SQL cursors, but with a more C++-like API. + * + * Actually, stateless_cursor feels entirely different from SQL cursors. You + * don't keep track of positions, fetches, and moves; you just say which rows + * you want. See the retrieve() member function. + */ +template +class stateless_cursor +{ +public: + using size_type = result_size_type; + using difference_type = result_difference_type; + + /// Create cursor. + /** + * @param tx The transaction within which you want to create the cursor. + * @param query The SQL query whose results the cursor should traverse. + * @param cname A hint for the cursor's name. The actual SQL cursor's name + * will be based on this (though not necessarily identical). + * @param hold Create a `WITH HOLD` cursor? Such cursors stay alive after + * the transaction has ended, so you can continue to use it. + */ + stateless_cursor( + transaction_base &tx, std::string_view query, std::string_view cname, + bool hold) : + m_cur{tx, query, cname, cursor_base::random_access, up, op, hold} + {} + + /// Adopt an existing scrolling SQL cursor. + /** This lets you define a cursor yourself, and then wrap it in a + * libpqxx-managed `stateless_cursor` object. + * + * @param tx The transaction within which you want to manage the cursor. + * @param adopted_cursor Your cursor's SQL name. + */ + stateless_cursor(transaction_base &tx, std::string_view adopted_cursor) : + m_cur{tx, adopted_cursor, op} + { + // Put cursor in known position + m_cur.move(cursor_base::backward_all()); + } + + /// Close this cursor. + /** The destructor will do this for you automatically. + * + * Closing a cursor is idempotent. Closing a cursor that's already closed + * does nothing. + */ + void close() noexcept { m_cur.close(); } + + /// Number of rows in cursor's result set + /** @note This function is not const; it may need to scroll to find the size + * of the result set. + */ + [[nodiscard]] size_type size() + { + return internal::obtain_stateless_cursor_size(m_cur); + } + + /// Retrieve rows from begin_pos (inclusive) to end_pos (exclusive) + /** Rows are numbered starting from 0 to size()-1. + * + * @param begin_pos First row to retrieve. May be one row beyond the end of + * the result set, to avoid errors for empty result sets. Otherwise, must be + * a valid row number in the result set. + * @param end_pos Row up to which to fetch. Rows are returned ordered from + * begin_pos to end_pos, i.e. in ascending order if begin_pos < end_pos but + * in descending order if begin_pos > end_pos. The end_pos may be + * arbitrarily inside or outside the result set; only existing rows are + * included in the result. + */ + result retrieve(difference_type begin_pos, difference_type end_pos) + { + return internal::stateless_cursor_retrieve( + m_cur, result::difference_type(size()), begin_pos, end_pos); + } + + /// Return this cursor's name. + [[nodiscard]] constexpr std::string const &name() const noexcept + { + return m_cur.name(); + } + +private: + internal::sql_cursor m_cur; +}; + + +class icursor_iterator; +} // namespace pqxx + + +namespace pqxx::internal::gate +{ +class icursor_iterator_icursorstream; +class icursorstream_icursor_iterator; +} // namespace pqxx::internal::gate + + +namespace pqxx +{ +/// Simple read-only cursor represented as a stream of results +/** SQL cursors can be tricky, especially in C++ since the two languages seem + * to have been designed on different planets. An SQL cursor has two singular + * positions akin to `end()` on either side of the underlying result set. + * + * These cultural differences are hidden from view somewhat by libpqxx, which + * tries to make SQL cursors behave more like familiar C++ entities such as + * iterators, sequences, streams, and containers. + * + * Data is fetched from the cursor as a sequence of result objects. Each of + * these will contain the number of rows defined as the stream's stride, except + * of course the last block of data which may contain fewer rows. + * + * This class can create or adopt cursors that live outside any backend + * transaction, which your backend version may not support. + */ +class PQXX_LIBEXPORT icursorstream +{ +public: + using size_type = cursor_base::size_type; + using difference_type = cursor_base::difference_type; + + /// Set up a read-only, forward-only cursor. + /** Roughly equivalent to a C++ Standard Library istream, this cursor type + * supports only two operations: reading a block of rows while moving + * forward, and moving forward without reading any data. + * + * @param context Transaction context in which this cursor will be active. + * @param query SQL query whose results this cursor shall iterate. + * @param basename Suggested name for the SQL cursor; the library will append + * a unique code to ensure its uniqueness. + * @param sstride Number of rows to fetch per read operation; must be a + * positive number. + */ + icursorstream( + transaction_base &context, std::string_view query, + std::string_view basename, difference_type sstride = 1); + + /// Adopt existing SQL cursor. Use with care. + /** Forms a cursor stream around an existing SQL cursor, as returned by e.g. + * a server-side function. The SQL cursor will be cleaned up by the stream's + * destructor as if it had been created by the stream; cleaning it up by hand + * or adopting the same cursor twice is an error. + * + * Passing the name of the cursor as a string is not allowed, both to avoid + * confusion with the other constructor and to discourage unnecessary use of + * adopted cursors. + * + * @warning It is technically possible to adopt a "WITH HOLD" cursor, i.e. a + * cursor that stays alive outside its creating transaction. However, any + * cursor stream (including the underlying SQL cursor, naturally) must be + * destroyed before its transaction context object is destroyed. Therefore + * the only way to use SQL's WITH HOLD feature is to adopt the cursor, but + * defer doing so until after entering the transaction context that will + * eventually destroy it. + * + * @param context Transaction context in which this cursor will be active. + * @param cname Result field containing the name of the SQL cursor to adopt. + * @param sstride Number of rows to fetch per read operation; must be a + * positive number. + * @param op Ownership policy. Determines whether the cursor underlying this + * stream will be destroyed when the stream is closed. + */ + icursorstream( + transaction_base &context, field const &cname, difference_type sstride = 1, + cursor_base::ownership_policy op = cursor_base::owned); + + /// Return `true` if this stream may still return more data. + constexpr operator bool() const &noexcept { return not m_done; } + + /// Read new value into given result object; same as operator `>>`. + /** The result set may continue any number of rows from zero to the chosen + * stride, inclusive. An empty result will only be returned if there are no + * more rows to retrieve. + * + * @param res Write the retrieved data into this result object. + * @return Reference to this very stream, to facilitate "chained" invocations + * ("C.get(r1).get(r2);") + */ + icursorstream &get(result &res) + { + res = fetchblock(); + return *this; + } + /// Read new value into given result object; same as `get(result&)`. + /** The result set may continue any number of rows from zero to the chosen + * stride, inclusive. An empty result will only be returned if there are no + * more rows to retrieve. + * + * @param res Write the retrieved data into this result object. + * @return Reference to this very stream, to facilitate "chained" invocations + * ("C >> r1 >> r2;") + */ + icursorstream &operator>>(result &res) { return get(res); } + + /// Move given number of rows forward without reading data. + /** Ignores any stride that you may have set. It moves by a given number of + * rows, not a number of strides. + * + * @return Reference to this stream itself, to facilitate "chained" + * invocations. + */ + icursorstream &ignore(std::streamsize n = 1) &; + + /// Change stride, i.e. the number of rows to fetch per read operation. + /** + * @param stride Must be a positive number. + */ + void set_stride(difference_type stride) &; + [[nodiscard]] constexpr difference_type stride() const noexcept + { + return m_stride; + } + +private: + result fetchblock(); + + friend class internal::gate::icursorstream_icursor_iterator; + size_type forward(size_type n = 1); + void insert_iterator(icursor_iterator *) noexcept; + void remove_iterator(icursor_iterator *) const noexcept; + + void service_iterators(difference_type); + + internal::sql_cursor m_cur; + + difference_type m_stride; + difference_type m_realpos, m_reqpos; + + mutable icursor_iterator *m_iterators; + + bool m_done; +}; + + +/// Approximate istream_iterator for icursorstream. +/** Intended as an implementation of an input_iterator (as defined by the C++ + * Standard Library), this class supports only two basic operations: reading + * the current element, and moving forward. In addition to the minimal + * guarantees for istream_iterators, this class supports multiple successive + * reads of the same position (the current result set is cached in the + * iterator) even after copying and even after new data have been read from the + * stream. This appears to be a requirement for input_iterators. Comparisons + * are also supported in the general case. + * + * The iterator does not care about its own position, however. Moving an + * iterator forward moves the underlying stream forward and reads the data from + * the new stream position, regardless of the iterator's old position in the + * stream. + * + * The stream's stride defines the granularity for all iterator movement or + * access operations, i.e. "ici += 1" advances the stream by one stride's worth + * of rows, and "*ici++" reads one stride's worth of rows from the stream. + * + * @warning Do not read from the underlying stream or its cursor, move its read + * position, or change its stride, between the time the first icursor_iterator + * on it is created and the time its last icursor_iterator is destroyed. + * + * @warning Manipulating these iterators within the context of a single cursor + * stream is not thread-safe. Creating a new iterator, copying one, + * or destroying one affects the stream as a whole. + */ +class PQXX_LIBEXPORT icursor_iterator +{ +public: + using iterator_category = std::input_iterator_tag; + using value_type = result; + using pointer = result const *; + using reference = result const &; + using istream_type = icursorstream; + using size_type = istream_type::size_type; + using difference_type = istream_type::difference_type; + + icursor_iterator() noexcept; + explicit icursor_iterator(istream_type &) noexcept; + icursor_iterator(icursor_iterator const &) noexcept; + ~icursor_iterator() noexcept; + + result const &operator*() const + { + refresh(); + return m_here; + } + result const *operator->() const + { + refresh(); + return &m_here; + } + icursor_iterator &operator++(); + icursor_iterator operator++(int); + icursor_iterator &operator+=(difference_type); + icursor_iterator &operator=(icursor_iterator const &) noexcept; + + [[nodiscard]] bool operator==(icursor_iterator const &rhs) const; + [[nodiscard]] bool operator!=(icursor_iterator const &rhs) const noexcept + { + return not operator==(rhs); + } + [[nodiscard]] bool operator<(icursor_iterator const &rhs) const; + [[nodiscard]] bool operator>(icursor_iterator const &rhs) const + { + return rhs < *this; + } + [[nodiscard]] bool operator<=(icursor_iterator const &rhs) const + { + return not(*this > rhs); + } + [[nodiscard]] bool operator>=(icursor_iterator const &rhs) const + { + return not(*this < rhs); + } + +private: + void refresh() const; + + friend class internal::gate::icursor_iterator_icursorstream; + difference_type pos() const noexcept { return m_pos; } + void fill(result const &); + + icursorstream *m_stream{nullptr}; + result m_here; + difference_type m_pos; + icursor_iterator *m_prev{nullptr}, *m_next{nullptr}; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction new file mode 100644 index 000000000..fa8d26476 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction @@ -0,0 +1,8 @@ +/** pqxx::dbtransaction abstract base class. + * + * pqxx::dbransaction defines a real transaction on the database. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/dbtransaction.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction.hxx new file mode 100644 index 000000000..d85cb170f --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/dbtransaction.hxx @@ -0,0 +1,70 @@ +/* Definition of the pqxx::dbtransaction abstract base class. + * + * pqxx::dbransaction defines a real transaction on the database. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/dbtransaction instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_DBTRANSACTION +#define PQXX_H_DBTRANSACTION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/transaction_base.hxx" + +namespace pqxx +{ +/// Abstract transaction base class: bracket transactions on the database. +/** + * @ingroup transactions + * + * Use a dbtransaction-derived object such as "work" (transaction<>) to enclose + * operations on a database in a single "unit of work." This ensures that the + * whole series of operations either succeeds as a whole or fails completely. + * In no case will it leave half-finished work behind in the database. + * + * Once processing on a transaction has succeeded and any changes should be + * allowed to become permanent in the database, call commit(). If something + * has gone wrong and the changes should be forgotten, call abort() instead. + * If you do neither, an implicit abort() is executed at destruction time. + * + * It is an error to abort a transaction that has already been committed, or to + * commit a transaction that has already been aborted. Aborting an already + * aborted transaction or committing an already committed one is allowed, to + * make error handling easier. Repeated aborts or commits have no effect after + * the first one. + * + * Database transactions are not suitable for guarding long-running processes. + * If your transaction code becomes too long or too complex, consider ways to + * break it up into smaller ones. Unfortunately there is no universal recipe + * for this. + * + * The actual operations for committing/aborting the backend transaction are + * implemented by a derived class. The implementing concrete class must also + * call @ref close from its destructor. + */ +class PQXX_LIBEXPORT PQXX_NOVTABLE dbtransaction : public transaction_base +{ +protected: + /// Begin transaction. + explicit dbtransaction(connection &c) : transaction_base{c} {} + /// Begin transaction. + dbtransaction(connection &c, std::string_view tname) : + transaction_base{c, tname} + {} + /// Begin transaction. + dbtransaction( + connection &c, std::string_view tname, + std::shared_ptr rollback_cmd) : + transaction_base{c, tname, rollback_cmd} + {} +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler new file mode 100644 index 000000000..ea572ee79 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler @@ -0,0 +1,8 @@ +/** pqxx::errorhandler class. + * + * Callbacks for handling errors and warnings. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/errorhandler.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler.hxx new file mode 100644 index 000000000..2ffb5703c --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/errorhandler.hxx @@ -0,0 +1,92 @@ +/* Definition of the pqxx::errorhandler class. + * + * pqxx::errorhandler handlers errors and warnings in a database session. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/errorhandler instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ERRORHANDLER +#define PQXX_H_ERRORHANDLER + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/types.hxx" + + +namespace pqxx::internal::gate +{ +class errorhandler_connection; +} + + +namespace pqxx +{ +/** + * @addtogroup errorhandler + */ +//@{ + +/// Base class for error-handler callbacks. +/** To receive errors and warnings from a connection, subclass this with your + * own error-handler functor, and instantiate it for the connection. Destroying + * the handler un-registers it. + * + * A connection can have multiple error handlers at the same time. When the + * database connection emits an error or warning message, it passes the message + * to each error handler, starting with the most recently registered one and + * progressing towards the oldest one. However an error handler may also + * instruct the connection not to pass the message to further handlers by + * returning "false." + * + * @warning Strange things happen when a result object outlives its parent + * connection. If you register an error handler on a connection, then you must + * not access the result after destroying the connection. This applies even if + * you destroy the error handler first! + */ +class PQXX_LIBEXPORT errorhandler +{ +public: + explicit errorhandler(connection &); + virtual ~errorhandler(); + + /// Define in subclass: receive an error or warning message from the + /// database. + /** + * @return Whether the same error message should also be passed to the + * remaining, older errorhandlers. + */ + virtual bool operator()(char const msg[]) noexcept = 0; + + errorhandler() = delete; + errorhandler(errorhandler const &) = delete; + errorhandler &operator=(errorhandler const &) = delete; + +private: + connection *m_home; + + friend class internal::gate::errorhandler_connection; + void unregister() noexcept; +}; + + +/// An error handler that suppresses any previously registered error handlers. +class quiet_errorhandler : public errorhandler +{ +public: + /// Suppress error notices. + quiet_errorhandler(connection &conn) : errorhandler{conn} {} + + /// Revert to previous handling of error notices. + virtual bool operator()(char const[]) noexcept override { return false; } +}; + +//@} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except new file mode 100644 index 000000000..e5dd508bf --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except @@ -0,0 +1,8 @@ +/** libpqxx exception classes. + * + * pqxx::sql_error, pqxx::broken_connection, pqxx::in_doubt_error, ... + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/except.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except.hxx new file mode 100644 index 000000000..24f959437 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/except.hxx @@ -0,0 +1,447 @@ +/* Definition of libpqxx exception classes. + * + * pqxx::sql_error, pqxx::broken_connection, pqxx::in_doubt_error, ... + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/except instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_EXCEPT +#define PQXX_H_EXCEPT + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include + + +namespace pqxx +{ +/** + * @addtogroup exception Exception classes + * + * These exception classes follow, roughly, the two-level hierarchy defined by + * the PostgreSQL SQLSTATE error codes (see Appendix A of the PostgreSQL + * documentation corresponding to your server version). This is not a complete + * mapping though. There are other differences as well, e.g. the error code + * for `statement_completion_unknown` has a separate status in libpqxx as + * @ref in_doubt_error, and `too_many_connections` is classified as a + * `broken_connection` rather than a subtype of `insufficient_resources`. + * + * @see http://www.postgresql.org/docs/9.4/interactive/errcodes-appendix.html + * + * @{ + */ + +/// Run-time failure encountered by libpqxx, similar to std::runtime_error. +struct PQXX_LIBEXPORT failure : std::runtime_error +{ + explicit failure(std::string const &); +}; + + +/// Exception class for lost or failed backend connection. +/** + * @warning When this happens on Unix-like systems, you may also get a SIGPIPE + * signal. That signal aborts the program by default, so if you wish to be + * able to continue after a connection breaks, be sure to disarm this signal. + * + * If you're working on a Unix-like system, see the manual page for + * `signal` (2) on how to deal with SIGPIPE. The easiest way to make this + * signal harmless is to make your program ignore it: + * + * ```cxx + * #include + * + * int main() + * { + * signal(SIGPIPE, SIG_IGN); + * // ... + * ``` + */ +struct PQXX_LIBEXPORT broken_connection : failure +{ + broken_connection(); + explicit broken_connection(std::string const &); +}; + + +/// The caller attempted to set a variable to null, which is not allowed. +struct PQXX_LIBEXPORT variable_set_to_null : failure +{ + variable_set_to_null(); + explicit variable_set_to_null(std::string const &); +}; + + +/// Exception class for failed queries. +/** Carries, in addition to a regular error message, a copy of the failed query + * and (if available) the SQLSTATE value accompanying the error. + */ +class PQXX_LIBEXPORT sql_error : public failure +{ + /// Query string. Empty if unknown. + std::string const m_query; + /// SQLSTATE string describing the error type, if known; or empty string. + std::string const m_sqlstate; + +public: + explicit sql_error( + std::string const &whatarg = "", std::string const &Q = "", + char const sqlstate[] = nullptr); + virtual ~sql_error() noexcept override; + + /// The query whose execution triggered the exception + [[nodiscard]] PQXX_PURE std::string const &query() const noexcept; + + /// SQLSTATE error code if known, or empty string otherwise. + [[nodiscard]] PQXX_PURE std::string const &sqlstate() const noexcept; +}; + + +/// "Help, I don't know whether transaction was committed successfully!" +/** Exception that might be thrown in rare cases where the connection to the + * database is lost while finishing a database transaction, and there's no way + * of telling whether it was actually executed by the backend. In this case + * the database is left in an indeterminate (but consistent) state, and only + * manual inspection will tell which is the case. + */ +struct PQXX_LIBEXPORT in_doubt_error : failure +{ + explicit in_doubt_error(std::string const &); +}; + + +/// The backend saw itself forced to roll back the ongoing transaction. +struct PQXX_LIBEXPORT transaction_rollback : sql_error +{ + explicit transaction_rollback( + std::string const &whatarg, std::string const &q = "", + char const sqlstate[] = nullptr); +}; + + +/// Transaction failed to serialize. Please retry it. +/** Can only happen at transaction isolation levels REPEATABLE READ and + * SERIALIZABLE. + * + * The current transaction cannot be committed without violating the guarantees + * made by its isolation level. This is the effect of a conflict with another + * ongoing transaction. The transaction may still succeed if you try to + * perform it again. + */ +struct PQXX_LIBEXPORT serialization_failure : transaction_rollback +{ + explicit serialization_failure( + std::string const &whatarg, std::string const &q, + char const sqlstate[] = nullptr); +}; + + +/// We can't tell whether our last statement succeeded. +struct PQXX_LIBEXPORT statement_completion_unknown : transaction_rollback +{ + explicit statement_completion_unknown( + std::string const &whatarg, std::string const &q, + char const sqlstate[] = nullptr); +}; + + +/// The ongoing transaction has deadlocked. Retrying it may help. +struct PQXX_LIBEXPORT deadlock_detected : transaction_rollback +{ + explicit deadlock_detected( + std::string const &whatarg, std::string const &q, + char const sqlstate[] = nullptr); +}; + + +/// Internal error in libpqxx library +struct PQXX_LIBEXPORT internal_error : std::logic_error +{ + explicit internal_error(std::string const &); +}; + + +/// Error in usage of libpqxx library, similar to std::logic_error +struct PQXX_LIBEXPORT usage_error : std::logic_error +{ + explicit usage_error(std::string const &); +}; + + +/// Invalid argument passed to libpqxx, similar to std::invalid_argument +struct PQXX_LIBEXPORT argument_error : std::invalid_argument +{ + explicit argument_error(std::string const &); +}; + + +/// Value conversion failed, e.g. when converting "Hello" to int. +struct PQXX_LIBEXPORT conversion_error : std::domain_error +{ + explicit conversion_error(std::string const &); +}; + + +/// Could not convert value to string: not enough buffer space. +struct PQXX_LIBEXPORT conversion_overrun : conversion_error +{ + explicit conversion_overrun(std::string const &); +}; + + +/// Something is out of range, similar to std::out_of_range +struct PQXX_LIBEXPORT range_error : std::out_of_range +{ + explicit range_error(std::string const &); +}; + + +/// Query returned an unexpected number of rows. +struct PQXX_LIBEXPORT unexpected_rows : public range_error +{ + explicit unexpected_rows(std::string const &msg) : range_error{msg} {} +}; + + +/// Database feature not supported in current setup. +struct PQXX_LIBEXPORT feature_not_supported : sql_error +{ + explicit feature_not_supported( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +/// Error in data provided to SQL statement. +struct PQXX_LIBEXPORT data_exception : sql_error +{ + explicit data_exception( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT integrity_constraint_violation : sql_error +{ + explicit integrity_constraint_violation( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT restrict_violation : integrity_constraint_violation +{ + explicit restrict_violation( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + integrity_constraint_violation{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT not_null_violation : integrity_constraint_violation +{ + explicit not_null_violation( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + integrity_constraint_violation{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT foreign_key_violation : integrity_constraint_violation +{ + explicit foreign_key_violation( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + integrity_constraint_violation{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT unique_violation : integrity_constraint_violation +{ + explicit unique_violation( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + integrity_constraint_violation{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT check_violation : integrity_constraint_violation +{ + explicit check_violation( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + integrity_constraint_violation{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT invalid_cursor_state : sql_error +{ + explicit invalid_cursor_state( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT invalid_sql_statement_name : sql_error +{ + explicit invalid_sql_statement_name( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT invalid_cursor_name : sql_error +{ + explicit invalid_cursor_name( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT syntax_error : sql_error +{ + /// Approximate position in string where error occurred, or -1 if unknown. + int const error_position; + + explicit syntax_error( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr, int pos = -1) : + sql_error{err, Q, sqlstate}, error_position{pos} + {} +}; + +struct PQXX_LIBEXPORT undefined_column : syntax_error +{ + explicit undefined_column( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + syntax_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT undefined_function : syntax_error +{ + explicit undefined_function( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + syntax_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT undefined_table : syntax_error +{ + explicit undefined_table( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + syntax_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT insufficient_privilege : sql_error +{ + explicit insufficient_privilege( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +/// Resource shortage on the server +struct PQXX_LIBEXPORT insufficient_resources : sql_error +{ + explicit insufficient_resources( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT disk_full : insufficient_resources +{ + explicit disk_full( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + insufficient_resources{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT out_of_memory : insufficient_resources +{ + explicit out_of_memory( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + insufficient_resources{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT too_many_connections : broken_connection +{ + explicit too_many_connections(std::string const &err) : + broken_connection{err} + {} +}; + +/// PL/pgSQL error +/** Exceptions derived from this class are errors from PL/pgSQL procedures. + */ +struct PQXX_LIBEXPORT plpgsql_error : sql_error +{ + explicit plpgsql_error( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + sql_error{err, Q, sqlstate} + {} +}; + +/// Exception raised in PL/pgSQL procedure +struct PQXX_LIBEXPORT plpgsql_raise : plpgsql_error +{ + explicit plpgsql_raise( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + plpgsql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT plpgsql_no_data_found : plpgsql_error +{ + explicit plpgsql_no_data_found( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + plpgsql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT plpgsql_too_many_rows : plpgsql_error +{ + explicit plpgsql_too_many_rows( + std::string const &err, std::string const &Q = "", + char const sqlstate[] = nullptr) : + plpgsql_error{err, Q, sqlstate} + {} +}; + +struct PQXX_LIBEXPORT blob_already_exists : failure +{ + explicit blob_already_exists(std::string const &); +}; + +/** + * @} + */ +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field new file mode 100644 index 000000000..37cb69e84 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field @@ -0,0 +1,8 @@ +/** pqxx::field class. + * + * pqxx::field refers to a field in a query result. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/field.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field.hxx new file mode 100644 index 000000000..b8b869fe4 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/field.hxx @@ -0,0 +1,542 @@ +/* Definitions for the pqxx::field class. + * + * pqxx::field refers to a field in a query result. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/field instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_FIELD +#define PQXX_H_FIELD + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include + +#include "pqxx/array.hxx" +#include "pqxx/composite.hxx" +#include "pqxx/result.hxx" +#include "pqxx/strconv.hxx" +#include "pqxx/types.hxx" + +namespace pqxx +{ +/// Reference to a field in a result set. +/** A field represents one entry in a row. It represents an actual value + * in the result set, and can be converted to various types. + */ +class PQXX_LIBEXPORT field +{ +public: + using size_type = field_size_type; + + /// Constructor. Do not call this yourself; libpqxx will do it for you. + /** Create field as reference to a field in a result set. + * @param r Row that this field is part of. + * @param c Column number of this field. + */ + [[deprecated( + "Do not construct fields yourself. Get them from the row.")]] field(row const &r, row_size_type c) noexcept; + + /// Constructor. Do not call this yourself; libpqxx will do it for you. + [[deprecated( + "Do not construct fields yourself. Get them from the " + "row.")]] field() noexcept = default; + + /** + * @name Comparison + */ + //@{ + // TODO: noexcept. Breaks ABI. + /// Byte-by-byte comparison of two fields (all nulls are considered equal) + /** @warning null handling is still open to discussion and change! + * + * Handling of null values differs from that in SQL where a comparison + * involving a null value yields null, so nulls are never considered equal + * to one another or even to themselves. + * + * Null handling also probably differs from the closest equivalent in C++, + * which is the NaN (Not-a-Number) value, a singularity comparable to + * SQL's null. This is because the builtin == operator demands that a == a. + * + * The usefulness of this operator is questionable. No interpretation + * whatsoever is imposed on the data; 0 and 0.0 are considered different, + * as are null vs. the empty string, or even different (but possibly + * equivalent and equally valid) encodings of the same Unicode character + * etc. + */ + [[nodiscard]] PQXX_PURE bool operator==(field const &) const; + + /// Byte-by-byte comparison (all nulls are considered equal) + /** @warning See operator==() for important information about this operator + */ + [[nodiscard]] PQXX_PURE bool operator!=(field const &rhs) const noexcept + { + return not operator==(rhs); + } + //@} + + /** + * @name Column information + */ + //@{ + /// Column name. + [[nodiscard]] PQXX_PURE char const *name() const &; + + /// Column type. + [[nodiscard]] oid PQXX_PURE type() const; + + /// What table did this column come from? + [[nodiscard]] PQXX_PURE oid table() const; + + /// Return row number. The first row is row 0, the second is row 1, etc. + PQXX_PURE constexpr row_size_type num() const noexcept { return col(); } + + /// What column number in its originating table did this column come from? + [[nodiscard]] PQXX_PURE row_size_type table_column() const; + //@} + + /** + * @name Content access + */ + //@{ + /// Read as `string_view`, or an empty one if null. + /** The result only remains usable while the data for the underlying + * @ref result exists. Once all `result` objects referring to that data have + * been destroyed, the `string_view` will no longer point to valid memory. + */ + [[nodiscard]] PQXX_PURE std::string_view view() const & + { + return std::string_view(c_str(), size()); + } + + /// Read as plain C string. + /** Since the field's data is stored internally in the form of a + * zero-terminated C string, this is the fastest way to read it. Use the + * to() or as() functions to convert the string to other types such as + * `int`, or to C++ strings. + * + * Do not use this for BYTEA values, or other binary values. To read those, + * convert the value to your desired type using `to()` or `as()`. For + * example: `f.as>()`. + */ + [[nodiscard]] PQXX_PURE char const *c_str() const &; + + /// Is this field's value null? + [[nodiscard]] PQXX_PURE bool is_null() const noexcept; + + /// Return number of bytes taken up by the field's value. + [[nodiscard]] PQXX_PURE size_type size() const noexcept; + + /// Read value into obj; or if null, leave obj untouched and return `false`. + /** This can be used with optional types (except pointers other than C-style + * strings). + */ + template + auto to(T &obj) const -> typename std::enable_if_t< + (not std::is_pointer::value or std::is_same::value), + bool> + { + if (is_null()) + { + return false; + } + else + { + auto const bytes{c_str()}; + from_string(bytes, obj); + return true; + } + } + + /// Read field as a composite value, write its components into `fields`. + /** @warning This is still experimental. It may change or be replaced. + * + * Returns whether the field was null. If it was, it will not touch the + * values in `fields`. + */ + template bool composite_to(T &...fields) const + { + if (is_null()) + { + return false; + } + else + { + parse_composite(m_home.m_encoding, view(), fields...); + return true; + } + } + + /// Read value into obj; or leave obj untouched and return `false` if null. + template bool operator>>(T &obj) const { return to(obj); } + + /// Read value into obj; or if null, use default value and return `false`. + /** This can be used with `std::optional`, as well as with standard smart + * pointer types, but not with raw pointers. If the conversion from a + * PostgreSQL string representation allocates a pointer (e.g. using `new`), + * then the object's later deallocation should be baked in as well, right + * from the point where the object is created. So if you want a pointer, use + * a smart pointer, not a raw pointer. + * + * There is one exception, of course: C-style strings. Those are just + * pointers to the field's internal text data. + */ + template + auto to(T &obj, T const &default_value) const -> typename std::enable_if_t< + (not std::is_pointer::value or std::is_same::value), + bool> + { + bool const null{is_null()}; + if (null) + obj = default_value; + else + obj = from_string(this->view()); + return not null; + } + + /// Return value as object of given type, or default value if null. + /** Note that unless the function is instantiated with an explicit template + * argument, the Default value's type also determines the result type. + */ + template T as(T const &default_value) const + { + if (is_null()) + return default_value; + else + return from_string(this->view()); + } + + /// Return value as object of given type, or throw exception if null. + /** Use as `as>()` or `as()` as + * an alternative to `get()`; this is disabled for use with raw pointers + * (other than C-strings) because storage for the value can't safely be + * allocated here + */ + template T as() const + { + if (is_null()) + { + if constexpr (not nullness::has_null) + internal::throw_null_conversion(type_name); + else + return nullness::null(); + } + else + { + return from_string(this->view()); + } + } + + /// Return value wrapped in some optional type (empty for nulls). + /** Use as `get()` as before to obtain previous behavior, or specify + * container type with `get()` + */ + template class O = std::optional> + constexpr O get() const + { + return as>(); + } + + // TODO: constexpr noexcept, once array_parser constructor gets those. + /// Parse the field as an SQL array. + /** Call the parser to retrieve values (and structure) from the array. + * + * Make sure the @ref result object stays alive until parsing is finished. If + * you keep the @ref row of `field` object alive, it will keep the @ref + * result object alive as well. + */ + array_parser as_array() const & + { + return array_parser{c_str(), m_home.m_encoding}; + } + //@} + + +protected: + constexpr result const &home() const noexcept { return m_home; } + constexpr result::size_type idx() const noexcept { return m_row; } + constexpr row_size_type col() const noexcept { return m_col; } + + // TODO: Create gates. + friend class pqxx::result; + friend class pqxx::row; + field( + result const &r, result_size_type row_num, row_size_type col_num) noexcept + : + m_col{col_num}, m_home{r}, m_row{row_num} + {} + + /** + * You'd expect this to be unsigned, but due to the way reverse iterators + * are related to regular iterators, it must be allowed to underflow to -1. + */ + row_size_type m_col; + +private: + result m_home; + result::size_type m_row; +}; + + +template<> inline bool field::to(std::string &obj) const +{ + bool const null{is_null()}; + if (not null) + obj = std::string{view()}; + return not null; +} + + +template<> +inline bool field::to( + std::string &obj, std::string const &default_value) const +{ + bool const null{is_null()}; + if (null) + obj = default_value; + else + obj = std::string{view()}; + return not null; +} + + +/// Specialization: `to(char const *&)`. +/** The buffer has the same lifetime as the data in this result (i.e. of this + * result object, or the last remaining one copied from it etc.), so take care + * not to use it after the last result object referring to this query result is + * destroyed. + */ +template<> inline bool field::to(char const *&obj) const +{ + bool const null{is_null()}; + if (not null) + obj = c_str(); + return not null; +} + + +template<> inline bool field::to(std::string_view &obj) const +{ + bool const null{is_null()}; + if (not null) + obj = view(); + return not null; +} + + +template<> +inline bool field::to( + std::string_view &obj, std::string_view const &default_value) const +{ + bool const null{is_null()}; + if (null) + obj = default_value; + else + obj = view(); + return not null; +} + + +template<> inline std::string_view field::as() const +{ + if (is_null()) + PQXX_UNLIKELY + internal::throw_null_conversion(type_name); + return view(); +} + + +template<> +inline std::string_view +field::as(std::string_view const &default_value) const +{ + return is_null() ? default_value : view(); +} + + +template<> inline bool field::to(zview &obj) const +{ + bool const null{is_null()}; + if (not null) + obj = zview{c_str(), size()}; + return not null; +} + + +template<> +inline bool field::to(zview &obj, zview const &default_value) const +{ + bool const null{is_null()}; + if (null) + obj = default_value; + else + obj = zview{c_str(), size()}; + return not null; +} + + +template<> inline zview field::as() const +{ + if (is_null()) + PQXX_UNLIKELY + internal::throw_null_conversion(type_name); + return zview{c_str(), size()}; +} + + +template<> inline zview field::as(zview const &default_value) const +{ + return is_null() ? default_value : zview{c_str(), size()}; +} + + +template> +class field_streambuf : public std::basic_streambuf +{ +public: + using char_type = CHAR; + using traits_type = TRAITS; + using int_type = typename traits_type::int_type; + using pos_type = typename traits_type::pos_type; + using off_type = typename traits_type::off_type; + using openmode = std::ios::openmode; + using seekdir = std::ios::seekdir; + + explicit field_streambuf(field const &f) : m_field{f} { initialize(); } + +protected: + virtual int sync() override { return traits_type::eof(); } + + virtual pos_type seekoff(off_type, seekdir, openmode) override + { + return traits_type::eof(); + } + virtual pos_type seekpos(pos_type, openmode) override + { + return traits_type::eof(); + } + virtual int_type overflow(int_type) override { return traits_type::eof(); } + virtual int_type underflow() override { return traits_type::eof(); } + +private: + field const &m_field; + + int_type initialize() + { + auto g{static_cast(const_cast(m_field.c_str()))}; + this->setg(g, g, g + std::size(m_field)); + return int_type(std::size(m_field)); + } +}; + + +/// Input stream that gets its data from a result field +/** Use this class exactly as you would any other istream to read data from a + * field. All formatting and streaming operations of `std::istream` are + * supported. What you'll typically want to use, however, is the fieldstream + * alias (which defines a @ref basic_fieldstream for `char`). This is similar + * to how e.g. `std::ifstream` relates to `std::basic_ifstream`. + * + * This class has only been tested for the char type (and its default traits). + */ +template> +class basic_fieldstream : public std::basic_istream +{ + using super = std::basic_istream; + +public: + using char_type = CHAR; + using traits_type = TRAITS; + using int_type = typename traits_type::int_type; + using pos_type = typename traits_type::pos_type; + using off_type = typename traits_type::off_type; + + basic_fieldstream(field const &f) : super{nullptr}, m_buf{f} + { + super::init(&m_buf); + } + +private: + field_streambuf m_buf; +}; + +using fieldstream = basic_fieldstream; + +/// Write a result field to any type of stream +/** This can be convenient when writing a field to an output stream. More + * importantly, it lets you write a field to e.g. a `stringstream` which you + * can then use to read, format and convert the field in ways that to() does + * not support. + * + * Example: parse a field into a variable of the nonstandard + * "long long" type. + * + * ```cxx + * extern result R; + * long long L; + * stringstream S; + * + * // Write field's string into S + * S << R[0][0]; + * + * // Parse contents of S into L + * S >> L; + * ``` + */ +template +inline std::basic_ostream & +operator<<(std::basic_ostream &s, field const &value) +{ + s.write(value.c_str(), std::streamsize(std::size(value))); + return s; +} + + +/// Convert a field's value to type `T`. +/** Unlike the "regular" `from_string`, this knows how to deal with null + * values. + */ +template inline T from_string(field const &value) +{ + if (value.is_null()) + { + if constexpr (nullness::has_null) + return nullness::null(); + else + internal::throw_null_conversion(type_name); + } + else + { + return from_string(value.view()); + } +} + + +/// Convert a field's value to `nullptr_t`. +/** Yes, you read that right. This conversion does nothing useful. It always + * returns `nullptr`. + * + * Except... what if the field is not null? In that case, this throws + * @ref conversion_error. + */ +template<> +inline std::nullptr_t from_string(field const &value) +{ + if (not value.is_null()) + throw conversion_error{ + "Extracting non-null field into nullptr_t variable."}; + return nullptr; +} + + +/// Convert a field to a string. +template<> PQXX_LIBEXPORT std::string to_string(field const &value); +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/array-composite.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/array-composite.hxx new file mode 100644 index 000000000..d2b6603e5 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/array-composite.hxx @@ -0,0 +1,305 @@ +#if !defined(PQXX_ARRAY_COMPOSITE_HXX) +# define PQXX_ARRAY_COMPOSITE_HXX + +# include + +# include "pqxx/strconv.hxx" + +namespace pqxx::internal +{ +// Find the end of a double-quoted string. +/** `input[pos]` must be the opening double quote. + * + * Returns the offset of the first position after the closing quote. + */ +inline std::size_t scan_double_quoted_string( + char const input[], std::size_t size, std::size_t pos, + pqxx::internal::glyph_scanner_func *scan) +{ + // XXX: find_char<'"', '\\'>(). + auto next{scan(input, size, pos)}; + bool at_quote{false}; + for (pos = next, next = scan(input, size, pos); pos < size; + pos = next, next = scan(input, size, pos)) + { + if (at_quote) + { + if (next - pos == 1 and input[pos] == '"') + { + // We just read a pair of double quotes. Carry on. + at_quote = false; + } + else + { + // We just read one double quote, and now we're at a character that's + // not a second double quote. Ergo, that last character was the + // closing double quote and this is the position right after it. + return pos; + } + } + else if (next - pos == 1) + { + switch (input[pos]) + { + case '\\': + // Backslash escape. Skip ahead by one more character. + pos = next; + next = scan(input, size, pos); + break; + + case '"': + // This is either the closing double quote, or the first of a pair of + // double quotes. + at_quote = true; + break; + } + } + else + { + // Multibyte character. Carry on. + } + } + if (not at_quote) + throw argument_error{ + "Missing closing double-quote: " + std::string{input}}; + return pos; +} + + +/// Un-quote and un-escape a double-quoted SQL string. +inline std::string parse_double_quoted_string( + char const input[], std::size_t end, std::size_t pos, + pqxx::internal::glyph_scanner_func *scan) +{ + std::string output; + // Maximum output size is same as the input size, minus the opening and + // closing quotes. Or in the extreme opposite case, the real number could be + // half that. Usually it'll be a pretty close estimate. + output.reserve(std::size_t(end - pos - 2)); + + for (auto here{scan(input, end, pos)}, next{scan(input, end, here)}; + here < end - 1; here = next, next = scan(input, end, here)) + { + // A backslash here is always an escape. So is a double-quote, since we're + // inside the double-quoted string. In either case, we can just ignore the + // escape character and use the next character. This is the one redeeming + // feature of SQL's escaping system. + if ((next - here == 1) and (input[here] == '\\' or input[here] == '"')) + { + // Skip escape. + here = next; + next = scan(input, end, here); + } + output.append(input + here, input + next); + } + return output; +} + + +/// Find the end of an unquoted string in an array or composite-type value. +/** Stops when it gets to the end of the input; or when it sees any of the + * characters in STOP which has not been escaped. + * + * For array values, STOP is a comma, a semicolon, or a closing brace. For + * a value of a composite type, STOP is a comma or a closing parenthesis. + */ +template +inline std::size_t scan_unquoted_string( + char const input[], std::size_t size, std::size_t pos, + pqxx::internal::glyph_scanner_func *scan) +{ + bool at_backslash{false}; + auto next{scan(input, size, pos)}; + while ((pos < size) and + ((next - pos) > 1 or at_backslash or ((input[pos] != STOP) and ...))) + { + pos = next; + next = scan(input, size, pos); + at_backslash = + ((not at_backslash) and ((next - pos) == 1) and (input[pos] == '\\')); + } + return pos; +} + + +/// Parse an unquoted array entry or cfield of a composite-type field. +inline std::string parse_unquoted_string( + char const input[], std::size_t end, std::size_t pos, + pqxx::internal::glyph_scanner_func *scan) +{ + std::string output; + bool at_backslash{false}; + output.reserve(end - pos); + for (auto next{scan(input, end, pos)}; pos < end; + pos = next, next = scan(input, end, pos)) + { + at_backslash = + ((not at_backslash) and ((next - pos) == 1) and (input[pos] == '\\')); + if (not at_backslash) + output.append(input + pos, next - pos); + } + return output; +} + + +/// Parse a field of a composite-type value. +/** `T` is the C++ type of the field we're parsing, and `index` is its + * zero-based number. + * + * Strip off the leading parenthesis or bracket yourself before parsing. + * However, this function will parse the lcosing parenthesis or bracket. + * + * After a successful parse, `pos` will point at `std::end(text)`. + * + * For the purposes of parsing, ranges and arrays count as compositve values, + * so this function supports parsing those. If you specifically need a closing + * parenthesis, check afterwards that `text` did not end in a bracket instead. + * + * @param index Index of the current field, zero-based. It will increment for + * the next field. + * @param input Full input text for the entire composite-type value. + * @param pos Starting position (in `input`) of the field that we're parsing. + * After parsing, this will point at the beginning of the next field if + * there is one, or one position past the last character otherwise. + * @param field Destination for the parsed value. + * @param scan Glyph scanning function for the relevant encoding type. + * @param last_field Number of the last field in the value (zero-based). When + * parsing the last field, this will equal `index`. + */ +template +inline void parse_composite_field( + std::size_t &index, std::string_view input, std::size_t &pos, T &field, + glyph_scanner_func *scan, std::size_t last_field) +{ + assert(index <= last_field); + auto next{scan(std::data(input), std::size(input), pos)}; + if ((next - pos) != 1) + throw conversion_error{"Non-ASCII character in composite-type syntax."}; + + // Expect a field. + switch (input[pos]) + { + case ',': + case ')': + case ']': + // The field is empty, i.e, null. + if constexpr (nullness::has_null) + field = nullness::null(); + else + throw conversion_error{ + "Can't read composite field " + to_string(index) + ": C++ type " + + type_name + " does not support nulls."}; + break; + + case '"': { + auto const stop{scan_double_quoted_string( + std::data(input), std::size(input), pos, scan)}; + auto const text{ + parse_double_quoted_string(std::data(input), stop, pos, scan)}; + field = from_string(text); + pos = stop; + } + break; + + default: { + auto const stop{scan_unquoted_string<',', ')', ']'>( + std::data(input), std::size(input), pos, scan)}; + auto const text{parse_unquoted_string(std::data(input), stop, pos, scan)}; + field = from_string(text); + pos = stop; + } + break; + } + + // Expect a comma or a closing parenthesis. + next = scan(std::data(input), std::size(input), pos); + + if ((next - pos) != 1) + throw conversion_error{ + "Unexpected non-ASCII character after composite field: " + + std::string{input}}; + + if (index < last_field) + { + if (input[pos] != ',') + throw conversion_error{ + "Found '" + std::string{input[pos]} + + "' in composite value where comma was expected: " + std::data(input)}; + } + else + { + if (input[pos] == ',') + throw conversion_error{ + "Composite value contained more fields than the expected " + + to_string(last_field) + ": " + std::data(input)}; + if (input[pos] != ')' and input[pos] != ']') + throw conversion_error{ + "Composite value has unexpected characters where closing parenthesis " + "was expected: " + + std::string{input}}; + if (next != std::size(input)) + throw conversion_error{ + "Composite value has unexpected text after closing parenthesis: " + + std::string{input}}; + } + + pos = next; + ++index; +} + + +/// Conservatively estimate buffer size needed for a composite field. +template +inline std::size_t size_composite_field_buffer(T const &field) +{ + if constexpr (is_unquoted_safe) + { + // Safe to copy, without quotes or escaping. Drop the terminating zero. + return size_buffer(field) - 1; + } + else + { + // + Opening quote. + // + Field budget. + // - Terminating zero. + // + Escaping for each byte in the field's string representation. + // - Escaping for terminating zero. + // + Closing quote. + return 1 + 2 * (size_buffer(field) - 1) + 1; + } +} + + +template +inline void write_composite_field(char *&pos, char *end, T const &field) +{ + if constexpr (is_unquoted_safe) + { + // No need for quoting or escaping. Convert it straight into its final + // place in the buffer, and "backspace" the trailing zero. + pos = string_traits::into_buf(pos, end, field) - 1; + } + else + { + // The field may need escaping, which means we need an intermediate buffer. + // To avoid allocating that at run time, we use the end of the buffer that + // we have. + auto const budget{size_buffer(field)}; + *pos++ = '"'; + + // Now escape buf into its final position. + for (char const c : string_traits::to_buf(end - budget, end, field)) + { + if ((c == '"') or (c == '\\')) + *pos++ = '\\'; + + *pos++ = c; + } + + *pos++ = '"'; + } + + *pos++ = ','; +} +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/callgate.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/callgate.hxx new file mode 100644 index 000000000..42f7703e3 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/callgate.hxx @@ -0,0 +1,70 @@ +#ifndef PQXX_H_CALLGATE +#define PQXX_H_CALLGATE + +/* +Here's what a typical gate class definition looks like: + +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE @gateclass@ : callgate<@host@> +{ + friend class @client@; + + @gateclass@(reference x) : super(x) {} + + // Methods here. Use home() to access the host-class object. +}; +} // namespace pqxx::internal::gate +*/ + +namespace pqxx::internal +{ +/// Base class for call gates. +/** + * A call gate defines a limited, private interface on the host class that + * specified client classes can access. + * + * The metaphor works as follows: the gate stands in front of a "home," which + * is really a class, and only lets specific friends in. + * + * To implement a call gate that gives client C access to host H, + * * derive a gate class from callgate; + * * make the gate class a friend of H; + * * make C a friend of the gate class; and + * * implement "stuff C can do with H" as private members in the gate class. + * + * This special kind of "gated" friendship gives C private access to H, but + * only through an expressly limited interface. The gate class can access its + * host object as home(). + * + * Keep gate classes entirely stateless. They should be ultra-lightweight + * wrappers for their host classes, and be optimized away as much as possible + * by the compiler. Once you start adding state, you're on a slippery slope + * away from the pure, clean, limited interface pattern that gate classes are + * meant to implement. + * + * Ideally, all member functions of the gate class should be one-liners passing + * calls straight on to the host class. It can be useful however to break this + * rule temporarily during inter-class refactoring. + */ +template class PQXX_PRIVATE callgate +{ +protected: + /// This class, to keep constructors easy. + using super = callgate; + /// A reference to the host class. Helps keep constructors easy. + using reference = HOME &; + + callgate(reference x) : m_home(x) {} + + /// The home object. The gate class has full "private" access. + reference home() const noexcept { return m_home; } + +private: + reference m_home; +}; +} // namespace pqxx::internal + +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/concat.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/concat.hxx new file mode 100644 index 000000000..cd28bde7c --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/concat.hxx @@ -0,0 +1,45 @@ +#if !defined(PQXX_CONCAT_HXX) +# define PQXX_CONCAT_HXX + +# include +# include + +# include "pqxx/strconv.hxx" + +namespace pqxx::internal +{ +/// Convert item to a string, write it into [here, end). +template +void render_item(TYPE const &item, char *&here, char *end) +{ + here = string_traits::into_buf(here, end, item) - 1; +} + + +// C++20: Support non-random_access_range ranges. +/// Efficiently combine a bunch of items into one big string. +/** Use this as an optimised version of string concatentation. It takes just + * about any type; it will represent each item as a string according to its + * @ref string_traits. + * + * This is a simpler, more specialised version of @ref separated_list for a + * statically known series of items, possibly of different types. + */ +template +[[nodiscard]] inline std::string concat(TYPE... item) +{ + std::string buf; + // Size to accommodate string representations of all inputs, minus their + // terminating zero bytes. + buf.resize(size_buffer(item...)); + + char *const data{buf.data()}; + char *here = data; + char *end = data + std::size(buf); + (render_item(item, here, end), ...); + + buf.resize(static_cast(here - data)); + return buf; +} +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/conversions.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/conversions.hxx new file mode 100644 index 000000000..1df4fdead --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/conversions.hxx @@ -0,0 +1,1188 @@ +#include +#include +#include +#include +#include +#include + +#if defined(PQXX_HAVE_SPAN) && __has_include() +# include +#endif + +#include +#include +#include + +#include "pqxx/types.hxx" +#include "pqxx/util.hxx" + + +/* Internal helpers for string conversion, and conversion implementations. + * + * Do not include this header directly. The libpqxx headers do it for you. + */ +namespace pqxx::internal +{ +/// Convert a number in [0, 9] to its ASCII digit. +inline constexpr char number_to_digit(int i) noexcept +{ + return static_cast(i + '0'); +} + + +/// Compute numeric value of given textual digit (assuming that it is a digit). +constexpr int digit_to_number(char c) noexcept +{ + return c - '0'; +} + + +/// Summarize buffer overrun. +/** Don't worry about the exact parameter types: the sizes will be reasonably + * small, and nonnegative. + */ +std::string PQXX_LIBEXPORT +state_buffer_overrun(int have_bytes, int need_bytes); + + +template +inline std::string state_buffer_overrun(HAVE have_bytes, NEED need_bytes) +{ + return state_buffer_overrun( + static_cast(have_bytes), static_cast(need_bytes)); +} + + +/// Throw exception for attempt to convert null to given type. +[[noreturn]] PQXX_LIBEXPORT void +throw_null_conversion(std::string const &type); + + +/// Deliberately nonfunctional conversion traits for `char` types. +/** There are no string conversions for `char` and its signed and unsigned + * variants. Such a conversion would be dangerously ambiguous: should we treat + * it as text, or as a small integer? It'd be an open invitation for bugs. + * + * But the error message when you get this wrong is very cryptic. So, we + * derive dummy @ref string_traits implementations from this dummy type, and + * ensure that the compiler disallows their use. The compiler error message + * will at least contain a hint of the root of the problem. + */ +template struct disallowed_ambiguous_char_conversion +{ + static char *into_buf(char *, char *, CHAR_TYPE) = delete; + static constexpr zview + to_buf(char *, char *, CHAR_TYPE const &) noexcept = delete; + + static constexpr std::size_t + size_buffer(CHAR_TYPE const &) noexcept = delete; + static CHAR_TYPE from_string(std::string_view) = delete; +}; + + +template PQXX_LIBEXPORT extern std::string to_string_float(T); + + +/// Generic implementation for into_buf, on top of to_buf. +template +inline char *generic_into_buf(char *begin, char *end, T const &value) +{ + zview const text{string_traits::to_buf(begin, end, value)}; + auto const space{end - begin}; + // Include the trailing zero. + auto const len = std::size(text) + 1; + if (internal::cmp_greater(len, space)) + throw conversion_overrun{ + "Not enough buffer space to insert " + type_name + ". " + + state_buffer_overrun(space, len)}; + std::memmove(begin, text.data(), len); + return begin + len; +} + + +/// String traits for builtin integral types (though not bool). +template struct integral_traits +{ + static PQXX_LIBEXPORT T from_string(std::string_view text); + static PQXX_LIBEXPORT zview to_buf(char *begin, char *end, T const &value); + static PQXX_LIBEXPORT char *into_buf(char *begin, char *end, T const &value); + + static constexpr std::size_t size_buffer(T const &) noexcept + { + /** Includes a sign if needed; the number of base-10 digits which the type + * can reliably represent; the one extra base-10 digit which the type can + * only partially represent; and the terminating zero. + */ + return std::is_signed_v + std::numeric_limits::digits10 + 1 + 1; + } +}; + + +/// String traits for builtin floating-point types. +template struct float_traits +{ + static PQXX_LIBEXPORT T from_string(std::string_view text); + static PQXX_LIBEXPORT zview to_buf(char *begin, char *end, T const &value); + static PQXX_LIBEXPORT char *into_buf(char *begin, char *end, T const &value); + + // Return a nonnegative integral value's number of decimal digits. + static constexpr std::size_t digits10(std::size_t value) noexcept + { + if (value < 10) + return 1; + else + return 1 + digits10(value / 10); + } + + static constexpr std::size_t size_buffer(T const &) noexcept + { + using lims = std::numeric_limits; + // See #328 for a detailed discussion on the maximum number of digits. + // + // In a nutshell: for the big cases, the scientific notation is always + // the shortest one, and therefore the one that to_chars will pick. + // + // So... How long can the scientific notation get? 1 (for sign) + 1 (for + // decimal point) + 1 (for 'e') + 1 (for exponent sign) + max_digits10 + + // max number of digits in the exponent + 1 (terminating zero). + // + // What's the max number of digits in the exponent? It's the max number of + // digits out of the most negative exponent and the most positive one. + // + // The longest positive exponent is easy: 1 + ceil(log10(max_exponent10)). + // (The extra 1 is because 10^n takes up 1 + n digits, not n.) + // + // The longest negative exponent is a bit harder: min_exponent10 gives us + // the smallest power of 10 which a normalised version of T can represent. + // But the smallest denormalised power of 10 that T can represent is + // another max_digits10 powers of 10 below that. + // needs a minus sign. + // + // All this stuff messes with my head a bit because it's on the order of + // log10(log10(n)). It's easy to get the number of logs wrong. + auto const max_pos_exp{digits10(lims::max_exponent10)}; + // Really want std::abs(lims::min_exponent10), but MSVC 2017 apparently has + // problems with std::abs. So we use -lims::min_exponent10 instead. + auto const max_neg_exp{ + digits10(lims::max_digits10 - lims::min_exponent10)}; + return 1 + // Sign. + 1 + // Decimal point. + std::numeric_limits::max_digits10 + // Mantissa digits. + 1 + // Exponent "e". + 1 + // Exponent sign. + // Spell this weirdly to stop Windows compilers from reading this as + // a call to their "max" macro when NOMINMAX is not defined. + (std::max)(max_pos_exp, max_neg_exp) + // Exponent digits. + 1; // Terminating zero. + } +}; +} // namespace pqxx::internal + + +namespace pqxx +{ +/// The built-in arithmetic types do not have inherent null values. +template +struct nullness>> : no_null +{}; + + +template<> struct string_traits : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> +struct string_traits + : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> struct string_traits : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> struct string_traits : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> struct string_traits : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> +struct string_traits : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> +struct string_traits : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> +struct string_traits + : internal::integral_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> struct string_traits : internal::float_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> struct string_traits : internal::float_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; +template<> +struct string_traits : internal::float_traits +{}; +template<> inline constexpr bool is_unquoted_safe{true}; + + +template<> struct string_traits +{ + static PQXX_LIBEXPORT bool from_string(std::string_view text); + + static constexpr zview to_buf(char *, char *, bool const &value) noexcept + { + return value ? "true"_zv : "false"_zv; + } + + static char *into_buf(char *begin, char *end, bool const &value) + { + return pqxx::internal::generic_into_buf(begin, end, value); + } + + static constexpr std::size_t size_buffer(bool const &) noexcept { return 6; } +}; + + +/// We don't support conversion to/from `char` types. +/** Why are these disallowed? Because they are ambiguous. It's not inherently + * clear whether we should treat values of these types as text or as small + * integers. Either choice would lead to bugs. + */ +template<> +struct string_traits + : internal::disallowed_ambiguous_char_conversion +{}; + +/// We don't support conversion to/from `char` types. +/** Why are these disallowed? Because they are ambiguous. It's not inherently + * clear whether we should treat values of these types as text or as small + * integers. Either choice would lead to bugs. + */ +template<> +struct string_traits + : internal::disallowed_ambiguous_char_conversion +{}; + +/// We don't support conversion to/from `char` types. +/** Why are these disallowed? Because they are ambiguous. It's not inherently + * clear whether we should treat values of these types as text or as small + * integers. Either choice would lead to bugs. + */ +template<> +struct string_traits + : internal::disallowed_ambiguous_char_conversion +{}; + + +template<> inline constexpr bool is_unquoted_safe{true}; + + +template struct nullness> +{ + static constexpr bool has_null = true; + /// Technically, you could have an optional of an always-null type. + static constexpr bool always_null = nullness::always_null; + static constexpr bool is_null(std::optional const &v) noexcept + { + return ((not v.has_value()) or pqxx::is_null(*v)); + } + static constexpr std::optional null() { return {}; } +}; + + +template +inline constexpr format param_format(std::optional const &value) +{ + return param_format(*value); +} + + +template struct string_traits> +{ + static char *into_buf(char *begin, char *end, std::optional const &value) + { + return string_traits::into_buf(begin, end, *value); + } + + static zview to_buf(char *begin, char *end, std::optional const &value) + { + if (value.has_value()) + return string_traits::to_buf(begin, end, *value); + else + return {}; + } + + static std::optional from_string(std::string_view text) + { + return std::optional{ + std::in_place, string_traits::from_string(text)}; + } + + static std::size_t size_buffer(std::optional const &value) noexcept + { + return pqxx::size_buffer(value.value()); + } +}; + + +template +inline constexpr bool is_unquoted_safe>{is_unquoted_safe}; + + +template struct nullness> +{ + static constexpr bool has_null = (nullness::has_null or ...); + static constexpr bool always_null = (nullness::always_null and ...); + static constexpr bool is_null(std::variant const &value) noexcept + { + return std::visit( + [](auto const &i) noexcept { + return nullness>::is_null(i); + }, + value); + } + + // We don't support `null()` for `std::variant`. + /** It would be technically possible to have a `null` in the case where just + * one of the types has a null, but it gets complicated and arbitrary. + */ + static constexpr std::variant null() = delete; +}; + + +template struct string_traits> +{ + static char * + into_buf(char *begin, char *end, std::variant const &value) + { + return std::visit( + [begin, end](auto const &i) { + return string_traits>::into_buf(begin, end, i); + }, + value); + } + static zview to_buf(char *begin, char *end, std::variant const &value) + { + return std::visit( + [begin, end](auto const &i) { + return string_traits>::to_buf(begin, end, i); + }, + value); + } + static std::size_t size_buffer(std::variant const &value) noexcept + { + return std::visit( + [](auto const &i) noexcept { return pqxx::size_buffer(i); }, value); + } + + /** There's no from_string for std::variant. We could have one with a rule + * like "pick the first type which fits the value," but we'd have to look + * into how natural that API feels to users. + */ + static std::variant from_string(std::string_view) = delete; +}; + + +template +inline constexpr format param_format(std::variant const &value) +{ + return std::visit([](auto &v) { return param_format(v); }, value); +} + + +template +inline constexpr bool is_unquoted_safe>{ + (is_unquoted_safe and ...)}; + + +template inline T from_string(std::stringstream const &text) +{ + return from_string(text.str()); +} + + +template<> struct string_traits +{ + static char *into_buf(char *, char *, std::nullptr_t) = delete; + + static constexpr zview + to_buf(char *, char *, std::nullptr_t const &) noexcept + { + return {}; + } + + static constexpr std::size_t size_buffer(std::nullptr_t = nullptr) noexcept + { + return 0; + } + static std::nullptr_t from_string(std::string_view) = delete; +}; + + +template<> struct string_traits +{ + static char *into_buf(char *, char *, std::nullopt_t) = delete; + + static constexpr zview + to_buf(char *, char *, std::nullopt_t const &) noexcept + { + return {}; + } + + static constexpr std::size_t size_buffer(std::nullopt_t) noexcept + { + return 0; + } + static std::nullopt_t from_string(std::string_view) = delete; +}; + + +template<> struct string_traits +{ + static char *into_buf(char *, char *, std::monostate) = delete; + + static constexpr zview + to_buf(char *, char *, std::monostate const &) noexcept + { + return {}; + } + + static constexpr std::size_t size_buffer(std::monostate) noexcept + { + return 0; + } + static std::monostate from_string(std::string_view) = delete; +}; + + +template<> inline constexpr bool is_unquoted_safe{true}; + + +template<> struct nullness +{ + static constexpr bool has_null = true; + static constexpr bool always_null = false; + static constexpr bool is_null(char const *t) noexcept + { + return t == nullptr; + } + static constexpr char const *null() noexcept { return nullptr; } +}; + + +/// String traits for C-style string ("pointer to char const"). +template<> struct string_traits +{ + static char const *from_string(std::string_view text) { return text.data(); } + + static zview to_buf(char *begin, char *end, char const *const &value) + { + return generic_to_buf(begin, end, value); + } + + static char *into_buf(char *begin, char *end, char const *const &value) + { + auto const space{end - begin}; + // Count the trailing zero, even though std::strlen() and friends don't. + auto const len{std::strlen(value) + 1}; + if (space < ptrdiff_t(len)) + throw conversion_overrun{ + "Could not copy string: buffer too small. " + + pqxx::internal::state_buffer_overrun(space, len)}; + std::memmove(begin, value, len); + return begin + len; + } + + static std::size_t size_buffer(char const *const &value) noexcept + { + return std::strlen(value) + 1; + } +}; + + +template<> struct nullness +{ + static constexpr bool has_null = true; + static constexpr bool always_null = false; + static constexpr bool is_null(char const *t) noexcept + { + return t == nullptr; + } + static constexpr char const *null() { return nullptr; } +}; + + +/// String traits for non-const C-style string ("pointer to char"). +template<> struct string_traits +{ + static char *into_buf(char *begin, char *end, char *const &value) + { + return string_traits::into_buf(begin, end, value); + } + static zview to_buf(char *begin, char *end, char *const &value) + { + return string_traits::to_buf(begin, end, value); + } + static std::size_t size_buffer(char *const &value) noexcept + { + return string_traits::size_buffer(value); + } + + /// Don't allow conversion to this type since it breaks const-safety. + static char *from_string(std::string_view) = delete; +}; + + +template struct nullness : no_null +{}; + + +/// String traits for C-style string constant ("array of char"). +/** @warning This assumes that every array-of-char is a C-style string literal. + * So, it must include a trailing zero. and it must have static duration. + */ +template struct string_traits +{ + static constexpr zview + to_buf(char *, char *, char const (&value)[N]) noexcept + { + return zview{value, N - 1}; + } + + static char *into_buf(char *begin, char *end, char const (&value)[N]) + { + if (internal::cmp_less(end - begin, size_buffer(value))) + throw conversion_overrun{ + "Could not convert char[] to string: too long for buffer."}; + std::memcpy(begin, value, N); + return begin + N; + } + static constexpr std::size_t size_buffer(char const (&)[N]) noexcept + { + return N; + } + + /// Don't allow conversion to this type. + static void from_string(std::string_view) = delete; +}; + + +template<> struct nullness : no_null +{}; + + +template<> struct string_traits +{ + static std::string from_string(std::string_view text) + { + return std::string{text}; + } + + static char *into_buf(char *begin, char *end, std::string const &value) + { + if (internal::cmp_greater_equal(std::size(value), end - begin)) + throw conversion_overrun{ + "Could not convert string to string: too long for buffer."}; + // Include the trailing zero. + value.copy(begin, std::size(value)); + begin[std::size(value)] = '\0'; + return begin + std::size(value) + 1; + } + + static zview to_buf(char *begin, char *end, std::string const &value) + { + return generic_to_buf(begin, end, value); + } + + static std::size_t size_buffer(std::string const &value) noexcept + { + return std::size(value) + 1; + } +}; + + +/// There's no real null for `std::string_view`. +/** I'm not sure how clear-cut this is: a `string_view` may have a null + * data pointer, which is analogous to a null `char` pointer. + */ +template<> struct nullness : no_null +{}; + + +/// String traits for `string_view`. +template<> struct string_traits +{ + static constexpr std::size_t + size_buffer(std::string_view const &value) noexcept + { + return std::size(value) + 1; + } + + static char *into_buf(char *begin, char *end, std::string_view const &value) + { + if (internal::cmp_greater_equal(std::size(value), end - begin)) + throw conversion_overrun{ + "Could not store string_view: too long for buffer."}; + value.copy(begin, std::size(value)); + begin[std::size(value)] = '\0'; + return begin + std::size(value) + 1; + } + + /// Don't convert to this type; it has nowhere to store its contents. + static std::string_view from_string(std::string_view) = delete; +}; + + +template<> struct nullness : no_null +{}; + + +/// String traits for `zview`. +template<> struct string_traits +{ + static constexpr std::size_t + size_buffer(std::string_view const &value) noexcept + { + return std::size(value) + 1; + } + + static char *into_buf(char *begin, char *end, zview const &value) + { + auto const size{std::size(value)}; + if (internal::cmp_less_equal(end - begin, std::size(value))) + throw conversion_overrun{"Not enough buffer space to store this zview."}; + value.copy(begin, size); + begin[size] = '\0'; + return begin + size + 1; + } + + static std::string_view to_buf(char *begin, char *end, zview const &value) + { + return {into_buf(begin, end, value), std::size(value)}; + } + + /// Don't convert to this type; it has nowhere to store its contents. + static zview from_string(std::string_view) = delete; +}; + + +template<> struct nullness : no_null +{}; + + +template<> struct string_traits +{ + static std::size_t size_buffer(std::stringstream const &) = delete; + + static std::stringstream from_string(std::string_view text) + { + std::stringstream stream; + stream.write(text.data(), std::streamsize(std::size(text))); + return stream; + } + + static char *into_buf(char *, char *, std::stringstream const &) = delete; + static std::string_view + to_buf(char *, char *, std::stringstream const &) = delete; +}; + + +template<> struct nullness +{ + static constexpr bool has_null = true; + static constexpr bool always_null = true; + static constexpr bool is_null(std::nullptr_t const &) noexcept + { + return true; + } + static constexpr std::nullptr_t null() noexcept { return nullptr; } +}; + + +template<> struct nullness +{ + static constexpr bool has_null = true; + static constexpr bool always_null = true; + static constexpr bool is_null(std::nullopt_t const &) noexcept + { + return true; + } + static constexpr std::nullopt_t null() noexcept { return std::nullopt; } +}; + + +template<> struct nullness +{ + static constexpr bool has_null = true; + static constexpr bool always_null = true; + static constexpr bool is_null(std::monostate const &) noexcept + { + return true; + } + static constexpr std::monostate null() noexcept { return {}; } +}; + + +template struct nullness> +{ + static constexpr bool has_null = true; + static constexpr bool always_null = false; + static constexpr bool is_null(std::unique_ptr const &t) noexcept + { + return not t or pqxx::is_null(*t); + } + static constexpr std::unique_ptr null() { return {}; } +}; + + +template +struct string_traits> +{ + static std::unique_ptr from_string(std::string_view text) + { + return std::make_unique(string_traits::from_string(text)); + } + + static char * + into_buf(char *begin, char *end, std::unique_ptr const &value) + { + return string_traits::into_buf(begin, end, *value); + } + + static zview + to_buf(char *begin, char *end, std::unique_ptr const &value) + { + if (value) + return string_traits::to_buf(begin, end, *value); + else + return {}; + } + + static std::size_t + size_buffer(std::unique_ptr const &value) noexcept + { + return pqxx::size_buffer(*value.get()); + } +}; + + +template +inline format param_format(std::unique_ptr const &value) +{ + return param_format(*value); +} + + +template +inline constexpr bool is_unquoted_safe>{ + is_unquoted_safe}; + + +template struct nullness> +{ + static constexpr bool has_null = true; + static constexpr bool always_null = false; + static constexpr bool is_null(std::shared_ptr const &t) noexcept + { + return not t or pqxx::is_null(*t); + } + static constexpr std::shared_ptr null() { return {}; } +}; + + +template struct string_traits> +{ + static std::shared_ptr from_string(std::string_view text) + { + return std::make_shared(string_traits::from_string(text)); + } + + static zview to_buf(char *begin, char *end, std::shared_ptr const &value) + { + return string_traits::to_buf(begin, end, *value); + } + static char * + into_buf(char *begin, char *end, std::shared_ptr const &value) + { + return string_traits::into_buf(begin, end, *value); + } + static std::size_t size_buffer(std::shared_ptr const &value) noexcept + { + return pqxx::size_buffer(*value); + } +}; + + +template format param_format(std::shared_ptr const &value) +{ + return param_format(*value); +} + + +template +inline constexpr bool is_unquoted_safe>{ + is_unquoted_safe}; + + +template<> +struct nullness> + : no_null> +{}; + + +#if defined(PQXX_HAVE_CONCEPTS) +template struct nullness : no_null +{}; + + +template inline constexpr format param_format(DATA const &) +{ + return format::binary; +} + + +template struct string_traits +{ + static std::size_t size_buffer(DATA const &value) noexcept + { + return internal::size_esc_bin(std::size(value)); + } + + static zview to_buf(char *begin, char *end, DATA const &value) + { + return generic_to_buf(begin, end, value); + } + + static char *into_buf(char *begin, char *end, DATA const &value) + { + auto const budget{size_buffer(value)}; + if (internal::cmp_less(end - begin, budget)) + throw conversion_overrun{ + "Not enough buffer space to escape binary data."}; + internal::esc_bin(value, begin); + return begin + budget; + } + + static DATA from_string(std::string_view text) + { + auto const size{pqxx::internal::size_unesc_bin(std::size(text))}; + std::basic_string buf; + buf.resize(size); + pqxx::internal::unesc_bin(text, reinterpret_cast(buf.data())); + return buf; + } +}; +#endif // PQXX_HAVE_CONCEPTS + + +template<> struct string_traits> +{ + static std::size_t + size_buffer(std::basic_string const &value) noexcept + { + return internal::size_esc_bin(std::size(value)); + } + + static zview + to_buf(char *begin, char *end, std::basic_string const &value) + { + return generic_to_buf(begin, end, value); + } + + static char * + into_buf(char *begin, char *end, std::basic_string const &value) + { + auto const budget{size_buffer(value)}; + if (internal::cmp_less(end - begin, budget)) + throw conversion_overrun{ + "Not enough buffer space to escape binary data."}; + internal::esc_bin(value, begin); + return begin + budget; + } + + static std::basic_string from_string(std::string_view text) + { + auto const size{pqxx::internal::size_unesc_bin(std::size(text))}; + std::basic_string buf; + buf.resize(size); + pqxx::internal::unesc_bin(text, reinterpret_cast(buf.data())); + return buf; + } +}; + + +template<> +inline constexpr format param_format(std::basic_string const &) +{ + return format::binary; +} + + +template<> +struct nullness> + : no_null> +{}; + + +template<> struct string_traits> +{ + static std::size_t + size_buffer(std::basic_string_view const &value) noexcept + { + return internal::size_esc_bin(std::size(value)); + } + + static zview to_buf( + char *begin, char *end, std::basic_string_view const &value) + { + return generic_to_buf(begin, end, value); + } + + static char *into_buf( + char *begin, char *end, std::basic_string_view const &value) + { + auto const budget{size_buffer(value)}; + if (internal::cmp_less(end - begin, budget)) + throw conversion_overrun{ + "Not enough buffer space to escape binary data."}; + internal::esc_bin(value, begin); + return begin + budget; + } + + // There's no from_string, because there's nobody to hold the data. +}; + +template<> +inline constexpr format param_format(std::basic_string_view const &) +{ + return format::binary; +} +} // namespace pqxx + + +namespace pqxx::internal +{ +/// String traits for SQL arrays. +template struct array_string_traits +{ +private: + using elt_type = strip_t>; + using elt_traits = string_traits; + static constexpr zview s_null{"NULL"}; + +public: + static zview to_buf(char *begin, char *end, Container const &value) + { + return generic_to_buf(begin, end, value); + } + + static char *into_buf(char *begin, char *end, Container const &value) + { + std::size_t const budget{size_buffer(value)}; + if (internal::cmp_less(end - begin, budget)) + throw conversion_overrun{ + "Not enough buffer space to convert array to string."}; + + char *here = begin; + *here++ = '{'; + + bool nonempty{false}; + for (auto const &elt : value) + { + if (is_null(elt)) + { + s_null.copy(here, std::size(s_null)); + here += std::size(s_null); + } + else if constexpr (is_sql_array) + { + // Render nested array in-place. Then erase the trailing zero. + here = elt_traits::into_buf(here, end, elt) - 1; + } + else if constexpr (is_unquoted_safe) + { + // No need to quote or escape. Just convert the value straight into + // its place in the array, and "backspace" the trailing zero. + here = elt_traits::into_buf(here, end, elt) - 1; + } + else + { + *here++ = '"'; + + // Use the tail end of the destination buffer as an intermediate + // buffer. + auto const elt_budget{pqxx::size_buffer(elt)}; + for (char const c : elt_traits::to_buf(end - elt_budget, end, elt)) + { + if (c == '\\' or c == '"') + *here++ = '\\'; + *here++ = c; + } + *here++ = '"'; + } + *here++ = array_separator; + nonempty = true; + } + + // Erase that last comma, if present. + if (nonempty) + here--; + + *here++ = '}'; + *here++ = '\0'; + + return here; + } + + static std::size_t size_buffer(Container const &value) noexcept + { + if constexpr (is_unquoted_safe) + return 3 + std::accumulate( + std::begin(value), std::end(value), std::size_t{}, + [](std::size_t acc, elt_type const &elt) { + return acc + + (pqxx::is_null(elt) ? + std::size(s_null) : + elt_traits::size_buffer(elt)) - + 1; + }); + else + return 3 + std::accumulate( + std::begin(value), std::end(value), std::size_t{}, + [](std::size_t acc, elt_type const &elt) { + // Opening and closing quotes, plus worst-case escaping, + // but don't count the trailing zeroes. + std::size_t const elt_size{ + pqxx::is_null(elt) ? std::size(s_null) : + elt_traits::size_buffer(elt) - 1}; + return acc + 2 * elt_size + 2; + }); + } + + // We don't yet support parsing of array types using from_string. Doing so + // would require a reference to the connection. +}; +} // namespace pqxx::internal + + +namespace pqxx +{ +template +struct nullness> : no_null> +{}; + + +template +struct string_traits> + : internal::array_string_traits> +{}; + + +/// We don't know how to pass array params in binary format, so pass as text. +template +inline constexpr format param_format(std::vector const &) +{ + return format::text; +} + + +/// A `std::vector` is a binary string. Other vectors are not. +template +inline constexpr format param_format(std::vector const &) +{ + return format::binary; +} + + +template inline constexpr bool is_sql_array>{true}; + + +template +struct nullness> : no_null> +{}; + + +template +struct string_traits> + : internal::array_string_traits> +{}; + + +/// We don't know how to pass array params in binary format, so pass as text. +template +inline constexpr format param_format(std::array const &) +{ + return format::text; +} + + +/// An array of `std::byte` is a binary string. +template +inline constexpr format param_format(std::array const &) +{ + return format::binary; +} + + +template +inline constexpr bool is_sql_array>{true}; +} // namespace pqxx + + +namespace pqxx +{ +template inline std::string to_string(T const &value) +{ + if (is_null(value)) + throw conversion_error{ + "Attempt to convert null " + type_name + " to a string."}; + + std::string buf; + // We can't just reserve() space; modifying the terminating zero leads to + // undefined behaviour. + buf.resize(size_buffer(value)); + auto const data{buf.data()}; + auto const end{ + string_traits::into_buf(data, data + std::size(buf), value)}; + buf.resize(static_cast(end - data - 1)); + return buf; +} + + +template<> inline std::string to_string(float const &value) +{ + return internal::to_string_float(value); +} +template<> inline std::string to_string(double const &value) +{ + return internal::to_string_float(value); +} +template<> inline std::string to_string(long double const &value) +{ + return internal::to_string_float(value); +} +template<> inline std::string to_string(std::stringstream const &value) +{ + return value.str(); +} + + +template inline void into_string(T const &value, std::string &out) +{ + if (is_null(value)) + throw conversion_error{ + "Attempt to convert null " + type_name + " to a string."}; + + // We can't just reserve() data; modifying the terminating zero leads to + // undefined behaviour. + out.resize(size_buffer(value) + 1); + auto const data{out.data()}; + auto const end{ + string_traits::into_buf(data, data + std::size(out), value)}; + out.resize(static_cast(end - data - 1)); +} +} // namespace pqxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encoding_group.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encoding_group.hxx new file mode 100644 index 000000000..e17736e5b --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encoding_group.hxx @@ -0,0 +1,60 @@ +/** Enum type for supporting encodings in libpqxx + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ENCODING_GROUP +#define PQXX_H_ENCODING_GROUP + +#include + +namespace pqxx::internal +{ +// Types of encodings supported by PostgreSQL, see +// https://www.postgresql.org/docs/current/static/multibyte.html#CHARSET-TABLE +enum class encoding_group +{ + // Handles all single-byte fixed-width encodings + MONOBYTE, + + // Multibyte encodings. + // Many of these can embed ASCII-like bytes inside multibyte characters, + // notably Big5, SJIS, SHIFT_JIS_2004, GP18030, GBK, JOHAB, UHC. + BIG5, + EUC_CN, + // TODO: Merge EUC_JP and EUC_JIS_2004? + EUC_JP, + EUC_JIS_2004, + EUC_KR, + EUC_TW, + GB18030, + GBK, + JOHAB, + MULE_INTERNAL, + // TODO: Merge SJIS and SHIFT_JIS_2004? + SJIS, + SHIFT_JIS_2004, + UHC, + UTF8, +}; + + +// TODO:: Can we just use string_view now? +/// Function type: "find the end of the current glyph." +/** This type of function takes a text buffer, and a location in that buffer, + * and returns the location one byte past the end of the current glyph. + * + * The start offset marks the beginning of the current glyph. It must fall + * within the buffer. + * + * There are multiple different glyph scanner implementations, for different + * kinds of encodings. + */ +using glyph_scanner_func = + std::size_t(char const buffer[], std::size_t buffer_len, std::size_t start); +} // namespace pqxx::internal + +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encodings.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encodings.hxx new file mode 100644 index 000000000..ba7fecc70 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/encodings.hxx @@ -0,0 +1,90 @@ +/** Internal string encodings support for libpqxx + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ENCODINGS +#define PQXX_H_ENCODINGS + +#include "pqxx/internal/encoding_group.hxx" + +#include +#include + + +namespace pqxx::internal +{ +char const *name_encoding(int encoding_id); + +/// Convert libpq encoding enum or encoding name to its libpqxx group. +encoding_group enc_group(int /* libpq encoding ID */); +encoding_group enc_group(std::string_view); + + +/// Look up the glyph scanner function for a given encoding group. +/** To identify the glyph boundaries in a buffer, call this to obtain the + * scanner function appropriate for the buffer's encoding. Then, repeatedly + * call the scanner function to find the glyphs. + */ +PQXX_LIBEXPORT glyph_scanner_func *get_glyph_scanner(encoding_group); + + +// TODO: For ASCII search, treat UTF8/EUC_*/MULE_INTERNAL as MONOBYTE. + +/// Find any of the ASCII characters `NEEDLE` in `haystack`. +/** Scans through `haystack` until it finds a single-byte character that + * matches any value in `NEEDLE`. + * + * If it finds one, returns its offset. If not, returns the end of the + * haystack. + */ +template +inline std::size_t find_char( + glyph_scanner_func *scanner, std::string_view haystack, + std::size_t here = 0u) +{ + auto const sz{std::size(haystack)}; + auto const data{std::data(haystack)}; + while (here < sz) + { + auto next{scanner(data, sz, here)}; + // (For some reason gcc had a problem with a right-fold here. But clang + // was fine.) + if ((... or (data[here] == NEEDLE))) + { + // Also check against a multibyte character starting with a bytes which + // just happens to match one of the ASCII bytes we're looking for. It'd + // be cleaner to check that first, but either works. So, let's apply the + // most selective filter first and skip this check in almost all cases. + if (next == here + 1) + return here; + } + + // Nope, no hit. Move on. + here = next; + } + return sz; +} + + +/// Iterate over the glyphs in a buffer. +/** Scans the glyphs in the buffer, and for each, passes its begin and its + * one-past-end pointers to `callback`. + */ +template +inline void for_glyphs( + encoding_group enc, CALLABLE callback, char const buffer[], + std::size_t buffer_len, std::size_t start = 0) +{ + auto const scan{get_glyph_scanner(enc)}; + for (std::size_t here = start, next; here < buffer_len; here = next) + { + next = scan(buffer, buffer_len, here); + callback(buffer + here, buffer + next); + } +} +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-errorhandler.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-errorhandler.hxx new file mode 100644 index 000000000..ffc12a6cf --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-errorhandler.hxx @@ -0,0 +1,26 @@ +#include + +namespace pqxx +{ +class connection; +class errorhandler; +} // namespace pqxx + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_errorhandler : callgate +{ + friend class pqxx::errorhandler; + + connection_errorhandler(reference x) : super(x) {} + + void register_errorhandler(errorhandler *h) + { + home().register_errorhandler(h); + } + void unregister_errorhandler(errorhandler *h) + { + home().unregister_errorhandler(h); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-largeobject.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-largeobject.hxx new file mode 100644 index 000000000..49feaf9e6 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-largeobject.hxx @@ -0,0 +1,35 @@ +#include + +#include +#include + +namespace pqxx +{ +class blob; +class largeobject; +} // namespace pqxx + + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_largeobject : callgate +{ + friend class pqxx::blob; + friend class pqxx::largeobject; + + connection_largeobject(reference x) : super(x) {} + + pq::PGconn *raw_connection() const { return home().raw_connection(); } +}; + + +class PQXX_PRIVATE const_connection_largeobject : callgate +{ + friend class pqxx::blob; + friend class pqxx::largeobject; + + const_connection_largeobject(reference x) : super(x) {} + + std::string error_message() const { return home().err_msg(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-notification_receiver.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-notification_receiver.hxx new file mode 100644 index 000000000..0bcb2db17 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-notification_receiver.hxx @@ -0,0 +1,29 @@ +#include + +#include "pqxx/connection.hxx" + + +namespace pqxx +{ +class notification_receiver; +} + + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_notification_receiver : callgate +{ + friend class pqxx::notification_receiver; + + connection_notification_receiver(reference x) : super(x) {} + + void add_receiver(notification_receiver *receiver) + { + home().add_receiver(receiver); + } + void remove_receiver(notification_receiver *receiver) noexcept + { + home().remove_receiver(receiver); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-pipeline.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-pipeline.hxx new file mode 100644 index 000000000..c6ae6e17a --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-pipeline.hxx @@ -0,0 +1,23 @@ +#include "pqxx/internal/libpq-forward.hxx" +#include + +#include "pqxx/pipeline.hxx" + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_pipeline : callgate +{ + friend class pqxx::pipeline; + + connection_pipeline(reference x) : super(x) {} + + void start_exec(char const query[]) { home().start_exec(query); } + pqxx::internal::pq::PGresult *get_result() { return home().get_result(); } + void cancel_query() { home().cancel_query(); } + + bool consume_input() noexcept { return home().consume_input(); } + bool is_busy() const noexcept { return home().is_busy(); } + + int encoding_id() { return home().encoding_id(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-sql_cursor.hxx new file mode 100644 index 000000000..51a889844 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-sql_cursor.hxx @@ -0,0 +1,19 @@ +#include + +namespace pqxx::internal +{ +class sql_cursor; +} + + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_sql_cursor : callgate +{ + friend class pqxx::internal::sql_cursor; + + connection_sql_cursor(reference x) : super(x) {} + + result exec(char const query[]) { return home().exec(query); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_from.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_from.hxx new file mode 100644 index 000000000..8961e7146 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_from.hxx @@ -0,0 +1,15 @@ +#include + +#include "pqxx/connection.hxx" + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_stream_from : callgate +{ + friend class pqxx::stream_from; + + connection_stream_from(reference x) : super{x} {} + + auto read_copy_line() { return home().read_copy_line(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_to.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_to.hxx new file mode 100644 index 000000000..a6974fb21 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-stream_to.hxx @@ -0,0 +1,17 @@ +#include + +#include "pqxx/stream_to.hxx" + + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_stream_to : callgate +{ + friend class pqxx::stream_to; + + connection_stream_to(reference x) : super(x) {} + + void write_copy_line(std::string_view line) { home().write_copy_line(line); } + void end_copy_write() { home().end_copy_write(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-transaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-transaction.hxx new file mode 100644 index 000000000..74d659253 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/connection-transaction.hxx @@ -0,0 +1,44 @@ +#include + +namespace pqxx +{ +class connection; +} + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE connection_transaction : callgate +{ + friend class pqxx::transaction_base; + + connection_transaction(reference x) : super(x) {} + + template result exec(STRING query, std::string_view desc) + { + return home().exec(query, desc); + } + + void register_transaction(transaction_base *t) + { + home().register_transaction(t); + } + void unregister_transaction(transaction_base *t) noexcept + { + home().unregister_transaction(t); + } + + auto read_copy_line() { return home().read_copy_line(); } + void write_copy_line(std::string_view line) { home().write_copy_line(line); } + void end_copy_write() { home().end_copy_write(); } + + result exec_prepared(zview statement, internal::c_params const &args) + { + return home().exec_prepared(statement, args); + } + + result exec_params(zview query, internal::c_params const &args) + { + return home().exec_params(query, args); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/errorhandler-connection.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/errorhandler-connection.hxx new file mode 100644 index 000000000..5560cedec --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/errorhandler-connection.hxx @@ -0,0 +1,13 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE errorhandler_connection : callgate +{ + friend class pqxx::connection; + + errorhandler_connection(reference x) : super(x) {} + + void unregister() noexcept { home().unregister(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx new file mode 100644 index 000000000..296d22145 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx @@ -0,0 +1,24 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE icursor_iterator_icursorstream : callgate +{ + friend class pqxx::icursorstream; + + icursor_iterator_icursorstream(reference x) : super(x) {} + + icursor_iterator::difference_type pos() const noexcept + { + return home().pos(); + } + + icursor_iterator *get_prev() { return home().m_prev; } + void set_prev(icursor_iterator *i) { home().m_prev = i; } + + icursor_iterator *get_next() { return home().m_next; } + void set_next(icursor_iterator *i) { home().m_next = i; } + + void fill(result const &r) { home().fill(r); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx new file mode 100644 index 000000000..56056d5ef --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx @@ -0,0 +1,32 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE icursorstream_icursor_iterator : callgate +{ + friend class pqxx::icursor_iterator; + + icursorstream_icursor_iterator(reference x) : super(x) {} + + void insert_iterator(icursor_iterator *i) noexcept + { + home().insert_iterator(i); + } + + void remove_iterator(icursor_iterator *i) const noexcept + { + home().remove_iterator(i); + } + + icursorstream::size_type forward() { return home().forward(); } + icursorstream::size_type forward(icursorstream::size_type n) + { + return home().forward(n); + } + + void service_iterators(icursorstream::difference_type p) + { + home().service_iterators(p); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-connection.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-connection.hxx new file mode 100644 index 000000000..daa0808c0 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-connection.hxx @@ -0,0 +1,14 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE result_connection : callgate +{ + friend class pqxx::connection; + + result_connection(reference x) : super(x) {} + + operator bool() const { return bool(home()); } + bool operator!() const { return not home(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-creation.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-creation.hxx new file mode 100644 index 000000000..3d9205f2c --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-creation.hxx @@ -0,0 +1,24 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE result_creation : callgate +{ + friend class pqxx::connection; + friend class pqxx::pipeline; + + result_creation(reference x) : super(x) {} + + static result create( + internal::pq::PGresult *rhs, std::shared_ptr const &query, + encoding_group enc) + { + return result(rhs, query, enc); + } + + void check_status(std::string_view desc = ""sv) const + { + return home().check_status(desc); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-pipeline.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-pipeline.hxx new file mode 100644 index 000000000..3ebe436d2 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-pipeline.hxx @@ -0,0 +1,16 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE result_pipeline : callgate +{ + friend class pqxx::pipeline; + + result_pipeline(reference x) : super(x) {} + + std::shared_ptr query_ptr() const + { + return home().query_ptr(); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-sql_cursor.hxx new file mode 100644 index 000000000..78b450739 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/result-sql_cursor.hxx @@ -0,0 +1,13 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE result_sql_cursor : callgate +{ + friend class pqxx::internal::sql_cursor; + + result_sql_cursor(reference x) : super(x) {} + + char const *cmd_status() const noexcept { return home().cmd_status(); } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-sql_cursor.hxx new file mode 100644 index 000000000..4ed78dc93 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-sql_cursor.hxx @@ -0,0 +1,10 @@ +#include + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE transaction_sql_cursor : callgate +{ + friend class pqxx::internal::sql_cursor; + transaction_sql_cursor(reference x) : super(x) {} +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-transaction_focus.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-transaction_focus.hxx new file mode 100644 index 000000000..ca7939a99 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/gates/transaction-transaction_focus.hxx @@ -0,0 +1,30 @@ +#include + +#include "pqxx/transaction_base.hxx" + +namespace pqxx::internal::gate +{ +class PQXX_PRIVATE transaction_transaction_focus : callgate +{ + friend class pqxx::transaction_focus; + + transaction_transaction_focus(reference x) : super(x) {} + + void register_focus(transaction_focus *focus) + { + home().register_focus(focus); + } + void unregister_focus(transaction_focus *focus) noexcept + { + home().unregister_focus(focus); + } + void register_pending_error(zview error) + { + home().register_pending_error(error); + } + void register_pending_error(std::string &&error) + { + home().register_pending_error(std::move(error)); + } +}; +} // namespace pqxx::internal::gate diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-post.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-post.hxx new file mode 100644 index 000000000..ff6bf8986 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-post.hxx @@ -0,0 +1,22 @@ +/* Compiler deficiency workarounds for compiling libpqxx headers. + * + * To be included at the end of each libpqxx header, in order to restore the + * client program's settings. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +// NO GUARDS HERE! This code should be executed every time! + +#if defined(_MSC_VER) +# pragma warning(pop) // Restore compiler's warning state +#endif + +#if !defined(PQXX_HEADER_PRE) +# error "Include pqxx/internal/header-post.hxx AFTER its 'pre' counterpart." +#endif + +#undef PQXX_HEADER_PRE diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-pre.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-pre.hxx new file mode 100644 index 000000000..abc1a398d --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/header-pre.hxx @@ -0,0 +1,169 @@ +/* Compiler settings for compiling libpqxx headers, and workarounds for all. + * + * Include this before including any other libpqxx headers from within libpqxx. + * And to balance it out, also include header-post.hxx at the end of the batch + * of headers. + * + * The public libpqxx headers (e.g. ``) include this already; + * there's no need to do this from within an application. + * + * Include this file at the highest aggregation level possible to avoid nesting + * and to keep things simple. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ + +// NO GUARD HERE! This part should be included every time this file is. +#if defined(_MSC_VER) + +// Save compiler's warning state, and set warning level 4 for maximum +// sensitivity to warnings. +# pragma warning(push, 4) + +// Visual C++ generates some entirely unreasonable warnings. Disable them. +// Copy constructor could not be generated. +# pragma warning(disable : 4511) +// Assignment operator could not be generated. +# pragma warning(disable : 4512) +// Can't expose outside classes without exporting them. Except the MSVC docs +// say please ignore the warning if it's a standard library class. +# pragma warning(disable : 4251) +// Can't derive library classes from outside classes without exporting them. +// Except the MSVC docs say please ignore the warning if the parent class is +// in the standard library. +# pragma warning(disable : 4275) +// Can't inherit from non-exported class. +# pragma warning(disable : 4275) + +#endif // _MSC_VER + + +#if defined(PQXX_HEADER_PRE) +# error "Avoid nesting #include of pqxx/internal/header-pre.hxx." +#endif + +#define PQXX_HEADER_PRE + + +// Workarounds & definitions that need to be included even in library's headers +#include "pqxx/config-public-compiler.h" + +// Enable ISO-646 alternative operaotr representations: "and" instead of "&&" +// etc. on older compilers. C++20 removes this header. +#if __has_include() +# include +#endif + + +#if defined(PQXX_HAVE_GCC_PURE) +/// Declare function "pure": no side effects, only reads globals and its args. +# define PQXX_PURE __attribute__((pure)) +#else +# define PQXX_PURE /* pure */ +#endif + + +#if defined(__GNUC__) +/// Tell the compiler to optimise a function for size, not speed. +# define PQXX_COLD __attribute__((cold)) +#else +# define PQXX_COLD /* cold */ +#endif + + +// Workarounds for Windows +#ifdef _WIN32 + +/* For now, export DLL symbols if _DLL is defined. This is done automatically + * by the compiler when linking to the dynamic version of the runtime library, + * according to "gzh" + */ +# if defined(PQXX_SHARED) && !defined(PQXX_LIBEXPORT) +# define PQXX_LIBEXPORT __declspec(dllimport) +# endif // PQXX_SHARED && !PQXX_LIBEXPORT + + +// Workarounds for Microsoft Visual C++ +# ifdef _MSC_VER + +// Suppress vtables on abstract classes. +# define PQXX_NOVTABLE __declspec(novtable) + +// Automatically link with the appropriate libpq (static or dynamic, debug or +// release). The default is to use the release DLL. Define PQXX_PQ_STATIC to +// link to a static version of libpq, and _DEBUG to link to a debug version. +// The two may be combined. +# if defined(PQXX_AUTOLINK) +# if defined(PQXX_PQ_STATIC) +# ifdef _DEBUG +# pragma comment(lib, "libpqd") +# else +# pragma comment(lib, "libpq") +# endif +# else +# ifdef _DEBUG +# pragma comment(lib, "libpqddll") +# else +# pragma comment(lib, "libpqdll") +# endif +# endif +# endif + +// If we're not compiling libpqxx itself, automatically link with the +// appropriate libpqxx library. To link with the libpqxx DLL, define +// PQXX_SHARED; the default is to link with the static library. A static link +// is the recommended practice. +// +// The preprocessor macro PQXX_INTERNAL is used to detect whether we +// are compiling the libpqxx library itself. When you compile the library +// yourself using your own project file, make sure to include this macro. +# if defined(PQXX_AUTOLINK) && !defined(PQXX_INTERNAL) +# ifdef PQXX_SHARED +# ifdef _DEBUG +# pragma comment(lib, "libpqxxD") +# else +# pragma comment(lib, "libpqxx") +# endif +# else // !PQXX_SHARED +# ifdef _DEBUG +# pragma comment(lib, "libpqxx_staticD") +# else +# pragma comment(lib, "libpqxx_static") +# endif +# endif +# endif + +# endif // _MSC_VER + +#elif defined(PQXX_HAVE_GCC_VISIBILITY) // !_WIN32 + +# define PQXX_LIBEXPORT __attribute__((visibility("default"))) +# define PQXX_PRIVATE __attribute__((visibility("hidden"))) + +#endif // PQXX_HAVE_GCC_VISIBILITY + + +#ifndef PQXX_LIBEXPORT +# define PQXX_LIBEXPORT /* libexport */ +#endif + +#ifndef PQXX_PRIVATE +# define PQXX_PRIVATE /* private */ +#endif + +#ifndef PQXX_NOVTABLE +# define PQXX_NOVTABLE /* novtable */ +#endif + +// C++20: Assume support. +#if defined(PQXX_HAVE_LIKELY) +# define PQXX_LIKELY [[likely]] +# define PQXX_UNLIKELY [[unlikely]] +#else +# define PQXX_LIKELY /* [[likely]] */ +# define PQXX_UNLIKELY /* [[unlikely]] */ +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-post.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-post.hxx new file mode 100644 index 000000000..cebcf0594 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-post.hxx @@ -0,0 +1,15 @@ +/// End a code block started by "ignore-deprecated-pre.hxx". + +#if !defined(PQXX_IGNORING_DEPRECATED) +# error "Ended an 'ignore-deprecated' block while none was active." +#endif + +#if defined(__GNUC__) +# pragma GCC diagnostic pop +#endif // __GNUC__ + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#undef PQXX_IGNORING_DEPRECATED diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-pre.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-pre.hxx new file mode 100644 index 000000000..8ac57afaa --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/ignore-deprecated-pre.hxx @@ -0,0 +1,28 @@ +/** Start a block of deprecated code which may call other deprecated code. + * + * Most compilers will emit warnings when deprecated code is invoked from + * non-deprecated code. But some compilers (notably gcc) will always emit the + * warning even when the calling code is also deprecated. + * + * This header starts a block where those warnings are suppressed. It can be + * included inside a code block. + * + * Always match the #include with a closing #include of + * "ignore-deprecated-post.hxx". To avoid mistakes, keep the enclosed area as + * small as possible. + */ +#if defined(PQXX_IGNORING_DEPRECATED) +# error "Started an 'ignore-deprecated' block inside another." +#endif + +#define PQXX_IGNORING_DEPRECATED + +#if defined(__GNUC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // __GNUC__ + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4996) +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/libpq-forward.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/libpq-forward.hxx new file mode 100644 index 000000000..9e74f79ec --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/libpq-forward.hxx @@ -0,0 +1,31 @@ +/** Minimal forward declarations of libpq types needed in libpqxx headers. + * + * DO NOT INCLUDE THIS FILE when building client programs. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +extern "C" +{ + struct pg_conn; + struct pg_result; + struct pgNotify; +} + +/// Forward declarations of libpq types as needed in libpqxx headers. +namespace pqxx::internal::pq +{ +using PGconn = pg_conn; +using PGresult = pg_result; +using PGnotify = pgNotify; +using PQnoticeProcessor = void (*)(void *, char const *); +} // namespace pqxx::internal::pq + +namespace pqxx +{ +/// PostgreSQL database row identifier. +using oid = unsigned int; +} // namespace pqxx diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iter.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iter.hxx new file mode 100644 index 000000000..1fa1f7d8a --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iter.hxx @@ -0,0 +1,124 @@ +/** Result loops. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_RESULT_ITER +#define PQXX_H_RESULT_ITER + +#include + +#include "pqxx/strconv.hxx" + +namespace pqxx +{ +class result; +} // namespace pqxx + + +namespace pqxx::internal +{ +// C++20: Replace with generator? +/// Iterator for looped unpacking of a result. +template class result_iter +{ +public: + using value_type = std::tuple; + + /// Construct an "end" iterator. + result_iter() = default; + + explicit result_iter(result const &home) : + m_home{&home}, m_size{std::size(home)} + { + if (not std::empty(home)) + read(); + } + result_iter(result_iter const &) = default; + + result_iter &operator++() + { + m_index++; + if (m_index >= m_size) + m_home = nullptr; + else + read(); + return *this; + } + + /// Comparison only works for comparing to end(). + bool operator==(result_iter const &rhs) const + { + return m_home == rhs.m_home; + } + bool operator!=(result_iter const &rhs) const { return not(*this == rhs); } + + value_type const &operator*() const { return m_value; } + +private: + void read() { (*m_home)[m_index].convert(m_value); } + + result const *m_home{nullptr}; + result::size_type m_index{0}; + result::size_type m_size; + value_type m_value; +}; + + +template class result_iteration +{ +public: + using iterator = result_iter; + explicit result_iteration(result const &home) : m_home{home} + { + constexpr auto tup_size{sizeof...(TYPE)}; + if (home.columns() != tup_size) + throw usage_error{internal::concat( + "Tried to extract ", to_string(tup_size), + " field(s) from a result with ", to_string(home.columns()), + " column(s).")}; + } + iterator begin() const + { + if (std::size(m_home) == 0) + return end(); + else + return iterator{m_home}; + } + iterator end() const { return {}; } + +private: + pqxx::result const &m_home; +}; +} // namespace pqxx::internal + + +template inline auto pqxx::result::iter() const +{ + return pqxx::internal::result_iteration{*this}; +} + + +template +inline void pqxx::result::for_each(CALLABLE &&func) const +{ + using args_tuple = internal::args_t; + constexpr auto sz{std::tuple_size_v}; + static_assert( + sz > 0, + "Callback for for_each must take parameters, one for each column in the " + "result."); + + auto const cols{this->columns()}; + if (sz != cols) + throw usage_error{internal::concat( + "Callback to for_each takes ", sz, "parameter", (sz == 1) ? "" : "s", + ", but result set has ", cols, "field", (cols == 1) ? "" : "s", ".")}; + + using pass_tuple = pqxx::internal::strip_types_t; + for (auto const r : *this) std::apply(func, r.as_tuple()); +} +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iterator.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iterator.hxx new file mode 100644 index 000000000..3f27a1d3f --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/result_iterator.hxx @@ -0,0 +1,389 @@ +/* Definitions for the pqxx::result class and support classes. + * + * pqxx::result represents the set of result rows from a database query. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/result instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_RESULT_ITERATOR +#define PQXX_H_RESULT_ITERATOR + +#include "pqxx/row.hxx" + + +/* Result iterator. + * + * Don't include this header from your own application; it is included for you + * by other libpqxx headers. + */ + +namespace pqxx +{ +/// Iterator for rows in a result. Use as result::const_iterator. +/** A result, once obtained, cannot be modified. Therefore there is no + * plain iterator type for result. However its const_iterator type can be + * used to inspect its rows without changing them. + */ +class PQXX_LIBEXPORT const_result_iterator : public row +{ +public: + using iterator_category = std::random_access_iterator_tag; + using value_type = row const; + using pointer = row const *; + using reference = row; + using size_type = result_size_type; + using difference_type = result_difference_type; + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + /// Create an iterator, but in an unusable state. + const_result_iterator() noexcept = default; + /// Copy an iterator. + const_result_iterator(const_result_iterator const &) noexcept = default; + /// Move an iterator. + const_result_iterator(const_result_iterator &&) noexcept = default; + + /// Begin iterating a @ref row. + const_result_iterator(row const &t) noexcept : row{t} {} +#include "pqxx/internal/ignore-deprecated-post.hxx" + + /** + * @name Dereferencing operators + * + * An iterator "points to" its own row, which is also itself. This makes it + * easy to address a @ref result as a two-dimensional container, without + * going through the intermediate step of dereferencing the iterator. It + * makes the interface similar to C pointer/array semantics. + * + * IIRC Alex Stepanov, the inventor of the STL, once remarked that having + * this as standard behaviour for pointers would be useful in some + * algorithms. So even if this makes me look foolish, I would seem to be in + * distinguished company. + */ + //@{ + /// Dereference the iterator. + [[nodiscard]] pointer operator->() const { return this; } + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + /// Dereference the iterator. + [[nodiscard]] reference operator*() const { return *this; } +#include "pqxx/internal/ignore-deprecated-post.hxx" + //@} + + /** + * @name Field access + */ + //@{ + using row::back; + using row::front; + using row::operator[]; + using row::at; + using row::rownumber; + //@} + + /** + * @name Manipulations + */ + //@{ + const_result_iterator &operator=(const_result_iterator const &rhs) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + row::operator=(rhs); +#include "pqxx/internal/ignore-deprecated-post.hxx" + return *this; + } + + const_result_iterator &operator=(const_result_iterator &&rhs) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + row::operator=(std::move(rhs)); +#include "pqxx/internal/ignore-deprecated-post.hxx" + return *this; + } + + const_result_iterator operator++(int); + const_result_iterator &operator++() + { + ++m_index; + return *this; + } + const_result_iterator operator--(int); + const_result_iterator &operator--() + { + --m_index; + return *this; + } + + const_result_iterator &operator+=(difference_type i) + { + m_index += i; + return *this; + } + const_result_iterator &operator-=(difference_type i) + { + m_index -= i; + return *this; + } + + /// Interchange two iterators in an exception-safe manner. + void swap(const_result_iterator &other) noexcept + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + row::swap(other); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + //@} + + /** + * @name Comparisons + */ + //@{ + [[nodiscard]] bool operator==(const_result_iterator const &i) const + { + return m_index == i.m_index; + } + [[nodiscard]] bool operator!=(const_result_iterator const &i) const + { + return m_index != i.m_index; + } + [[nodiscard]] bool operator<(const_result_iterator const &i) const + { + return m_index < i.m_index; + } + [[nodiscard]] bool operator<=(const_result_iterator const &i) const + { + return m_index <= i.m_index; + } + [[nodiscard]] bool operator>(const_result_iterator const &i) const + { + return m_index > i.m_index; + } + [[nodiscard]] bool operator>=(const_result_iterator const &i) const + { + return m_index >= i.m_index; + } + //@} + + /** + * @name Arithmetic operators + */ + //@{ + [[nodiscard]] inline const_result_iterator operator+(difference_type) const; + friend const_result_iterator + operator+(difference_type, const_result_iterator const &); + [[nodiscard]] inline const_result_iterator operator-(difference_type) const; + [[nodiscard]] inline difference_type + operator-(const_result_iterator const &) const; + //@} + +private: + friend class pqxx::result; + const_result_iterator(pqxx::result const *r, result_size_type i) noexcept : + row{*r, i, r->columns()} + {} +}; + + +/// Reverse iterator for result. Use as result::const_reverse_iterator. +class PQXX_LIBEXPORT const_reverse_result_iterator + : private const_result_iterator +{ +public: + using super = const_result_iterator; + using iterator_type = const_result_iterator; + using iterator_type::difference_type; + using iterator_type::iterator_category; + using iterator_type::pointer; + using value_type = iterator_type::value_type; + using reference = iterator_type::reference; + + /// Create an iterator, but in an unusable state. + const_reverse_result_iterator() = default; + /// Copy an iterator. + const_reverse_result_iterator(const_reverse_result_iterator const &rhs) = + default; + /// Copy a reverse iterator from a regular iterator. + explicit const_reverse_result_iterator(const_result_iterator const &rhs) : + const_result_iterator{rhs} + { + super::operator--(); + } + + /// Move a regular iterator into a reverse iterator. + explicit const_reverse_result_iterator(const_result_iterator const &&rhs) : + const_result_iterator{std::move(rhs)} + { + super::operator--(); + } + + /// Return the underlying "regular" iterator (as per standard library). + [[nodiscard]] PQXX_PURE const_result_iterator base() const noexcept; + + /** + * @name Dereferencing operators + */ + //@{ + /// Dereference iterator. + using const_result_iterator::operator->; + /// Dereference iterator. + using const_result_iterator::operator*; + //@} + + /** + * @name Field access + */ + //@{ + using const_result_iterator::back; + using const_result_iterator::front; + using const_result_iterator::operator[]; + using const_result_iterator::at; + using const_result_iterator::rownumber; + //@} + + /** + * @name Manipulations + */ + //@{ + const_reverse_result_iterator & + operator=(const_reverse_result_iterator const &r) + { + iterator_type::operator=(r); + return *this; + } + const_reverse_result_iterator &operator=(const_reverse_result_iterator &&r) + { + iterator_type::operator=(std::move(r)); + return *this; + } + const_reverse_result_iterator &operator++() + { + iterator_type::operator--(); + return *this; + } + const_reverse_result_iterator operator++(int); + const_reverse_result_iterator &operator--() + { + iterator_type::operator++(); + return *this; + } + const_reverse_result_iterator operator--(int); + const_reverse_result_iterator &operator+=(difference_type i) + { + iterator_type::operator-=(i); + return *this; + } + const_reverse_result_iterator &operator-=(difference_type i) + { + iterator_type::operator+=(i); + return *this; + } + + void swap(const_reverse_result_iterator &other) noexcept + { + const_result_iterator::swap(other); + } + //@} + + /** + * @name Arithmetic operators + */ + //@{ + [[nodiscard]] const_reverse_result_iterator + operator+(difference_type i) const + { + return const_reverse_result_iterator(base() - i); + } + [[nodiscard]] const_reverse_result_iterator operator-(difference_type i) + { + return const_reverse_result_iterator(base() + i); + } + [[nodiscard]] difference_type + operator-(const_reverse_result_iterator const &rhs) const + { + return rhs.const_result_iterator::operator-(*this); + } + //@} + + /** + * @name Comparisons + */ + //@{ + [[nodiscard]] bool + operator==(const_reverse_result_iterator const &rhs) const noexcept + { + return iterator_type::operator==(rhs); + } + [[nodiscard]] bool + operator!=(const_reverse_result_iterator const &rhs) const noexcept + { + return not operator==(rhs); + } + + [[nodiscard]] bool operator<(const_reverse_result_iterator const &rhs) const + { + return iterator_type::operator>(rhs); + } + [[nodiscard]] bool operator<=(const_reverse_result_iterator const &rhs) const + { + return iterator_type::operator>=(rhs); + } + [[nodiscard]] bool operator>(const_reverse_result_iterator const &rhs) const + { + return iterator_type::operator<(rhs); + } + [[nodiscard]] bool operator>=(const_reverse_result_iterator const &rhs) const + { + return iterator_type::operator<=(rhs); + } + //@} +}; + + +inline const_result_iterator +const_result_iterator::operator+(result::difference_type o) const +{ + return {&m_result, size_type(result::difference_type(m_index) + o)}; +} + +inline const_result_iterator +operator+(result::difference_type o, const_result_iterator const &i) +{ + return i + o; +} + +inline const_result_iterator +const_result_iterator::operator-(result::difference_type o) const +{ + return {&m_result, result_size_type(result::difference_type(m_index) - o)}; +} + +inline result::difference_type +const_result_iterator::operator-(const const_result_iterator &i) const +{ + return result::difference_type(num() - i.num()); +} + +inline const_result_iterator result::end() const noexcept +{ + return {this, size()}; +} + + +inline const_result_iterator result::cend() const noexcept +{ + return end(); +} + + +inline const_reverse_result_iterator +operator+(result::difference_type n, const_reverse_result_iterator const &i) +{ + return const_reverse_result_iterator{i.base() - n}; +} + +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/sql_cursor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/sql_cursor.hxx new file mode 100644 index 000000000..a26d06306 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/sql_cursor.hxx @@ -0,0 +1,118 @@ +/** Internal wrapper for SQL cursors. Supports higher-level cursor classes. + * + * DO NOT INCLUDE THIS FILE DIRECTLY. Other headers include it for you. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_SQL_CURSOR +#define PQXX_H_SQL_CURSOR + +namespace pqxx::internal +{ +/// Cursor with SQL positioning semantics. +/** Thin wrapper around an SQL cursor, with SQL's ideas of positioning. + * + * SQL cursors have pre-increment/pre-decrement semantics, with on either end + * of the result set a special position that does not repesent a row. This + * class models SQL cursors for the purpose of implementing more C++-like + * semantics on top. + * + * Positions of actual rows are numbered starting at 1. Position 0 exists but + * does not refer to a row. There is a similar non-row position at the end of + * the result set. + * + * Don't use this at home. You deserve better. Use the stateles_cursor + * instead. + */ +class PQXX_LIBEXPORT sql_cursor : public cursor_base +{ +public: + sql_cursor( + transaction_base &t, std::string_view query, std::string_view cname, + cursor_base::access_policy ap, cursor_base::update_policy up, + cursor_base::ownership_policy op, bool hold); + + sql_cursor( + transaction_base &t, std::string_view cname, + cursor_base::ownership_policy op); + + ~sql_cursor() noexcept { close(); } + + result fetch(difference_type rows, difference_type &displacement); + result fetch(difference_type rows) + { + difference_type d = 0; + return fetch(rows, d); + } + difference_type move(difference_type rows, difference_type &displacement); + difference_type move(difference_type rows) + { + difference_type d = 0; + return move(rows, d); + } + + /// Current position, or -1 for unknown + /** + * The starting position, just before the first row, counts as position zero. + * + * Position may be unknown if (and only if) this cursor was adopted, and has + * never hit its starting position (position zero). + */ + difference_type pos() const noexcept { return m_pos; } + + /// End position, or -1 for unknown + /** + * Returns the final position, just after the last row in the result set. The + * starting position, just before the first row, counts as position zero. + * + * End position is unknown until it is encountered during use. + */ + difference_type endpos() const noexcept { return m_endpos; } + + /// Return zero-row result for this cursor. + result const &empty_result() const noexcept { return m_empty_result; } + + void close() noexcept; + +private: + difference_type adjust(difference_type hoped, difference_type actual); + static std::string stridestring(difference_type); + /// Initialize cached empty result. Call only at beginning or end! + void init_empty_result(transaction_base &); + + /// Connection in which this cursor lives. + connection &m_home; + + /// Zero-row result from this cursor (or plain empty one if cursor is + /// adopted) + result m_empty_result; + + result m_cached_current_row; + + /// Is this cursor adopted (as opposed to created by this cursor object)? + bool m_adopted; + + /// Will this cursor object destroy its SQL cursor when it dies? + cursor_base::ownership_policy m_ownership; + + /// At starting position (-1), somewhere in the middle (0), or past end (1) + int m_at_end; + + /// Position, or -1 for unknown + difference_type m_pos; + + /// End position, or -1 for unknown + difference_type m_endpos = -1; +}; + + +PQXX_LIBEXPORT result_size_type obtain_stateless_cursor_size(sql_cursor &); +PQXX_LIBEXPORT result stateless_cursor_retrieve( + sql_cursor &, result::difference_type size, + result::difference_type begin_pos, result::difference_type end_pos); +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/statement_parameters.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/statement_parameters.hxx new file mode 100644 index 000000000..b078bf6e0 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/statement_parameters.hxx @@ -0,0 +1,131 @@ +/** Common implementation for statement parameter lists. + * + * These are used for both prepared statements and parameterized statements. + * + * DO NOT INCLUDE THIS FILE DIRECTLY. Other headers include it for you. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_STATEMENT_PARAMETER +#define PQXX_H_STATEMENT_PARAMETER + +#include +#include +#include +#include +#include + +#include "pqxx/binarystring.hxx" +#include "pqxx/strconv.hxx" +#include "pqxx/util.hxx" + + +namespace pqxx::internal +{ +template +constexpr inline auto const iterator_identity{ + [](decltype(*std::declval()) x) { return x; }}; + + +/// Marker type: pass a dynamically-determined number of statement parameters. +/** @deprecated Use @ref params instead. + * + * Normally when invoking a prepared or parameterised statement, the number + * of parameters is known at compile time. For instance, + * `t.exec_prepared("foo", 1, "x");` executes statement `foo` with two + * parameters, an `int` and a C string. + * + * But sometimes you may want to pass a number of parameters known only at run + * time. In those cases, a @ref dynamic_params encodes a dynamically + * determined number of parameters. You can mix these with regular, static + * parameter lists, and you can re-use them for multiple statement invocations. + * + * A dynamic_params object does not store copies of its parameters, so make + * sure they remain accessible until you've executed the statement. + * + * The ACCESSOR is an optional callable (such as a lambda). If you pass an + * accessor `a`, then each parameter `p` goes into your statement as `a(p)`. + */ +template)> +class dynamic_params +{ +public: + /// Wrap a sequence of pointers or iterators. + constexpr dynamic_params(IT begin, IT end) : + m_begin(begin), m_end(end), m_accessor(iterator_identity) + {} + + /// Wrap a sequence of pointers or iterators. + /** This version takes an accessor callable. If you pass an accessor `acc`, + * then any parameter `p` will go into the statement's parameter list as + * `acc(p)`. + */ + constexpr dynamic_params(IT begin, IT end, ACCESSOR &acc) : + m_begin(begin), m_end(end), m_accessor(acc) + {} + + /// Wrap a container. + template + explicit constexpr dynamic_params(C &container) : + dynamic_params(std::begin(container), std::end(container)) + {} + + /// Wrap a container. + /** This version takes an accessor callable. If you pass an accessor `acc`, + * then any parameter `p` will go into the statement's parameter list as + * `acc(p)`. + */ + template + explicit constexpr dynamic_params(C &container, ACCESSOR &acc) : + dynamic_params(std::begin(container), std::end(container), acc) + {} + + constexpr IT begin() const noexcept { return m_begin; } + constexpr IT end() const noexcept { return m_end; } + + constexpr auto access(decltype(*std::declval()) value) const + -> decltype(std::declval()(value)) + { + return m_accessor(value); + } + +private: + IT const m_begin, m_end; + ACCESSOR m_accessor = iterator_identity; +}; + + +/// Internal type: encode statement parameters. +/** Compiles arguments for prepared statements and parameterised queries into + * a format that can be passed into libpq. + * + * Objects of this type are meant to be short-lived: a `c_params` lives and + * dies entirely within the call to execute. So, for example, if you pass in a + * non-null pointer as a parameter, @ref params may simply use that pointer as + * a parameter value, without arranging longer-term storage for the data to + * which it points. All values referenced by parameters must remain "live" + * until the parameterised or prepared statement has been executed. + */ +struct PQXX_LIBEXPORT c_params +{ + c_params() = default; + /// Copying these objects is pointless and expensive. Don't do it. + c_params(c_params const &) = delete; + c_params(c_params &&) = default; + + /// Pre-allocate storage for `n` parameters. + void reserve(std::size_t n) &; + + /// As used by libpq: pointers to parameter values. + std::vector values; + /// As used by libpq: lengths of non-null arguments, in bytes. + std::vector lengths; + /// As used by libpq: effectively boolean "is this a binary parameter?" + std::vector formats; +}; +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/stream_iterator.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/stream_iterator.hxx new file mode 100644 index 000000000..f240dcfa7 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/stream_iterator.hxx @@ -0,0 +1,105 @@ +/** Stream iterators. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_STREAM_ITERATOR +#define PQXX_H_STREAM_ITERATOR + +#include + +namespace pqxx +{ +class stream_from; +} + + +namespace pqxx::internal +{ +// C++20: Replace with generator? +/// Input iterator for stream_from. +/** Just barely enough to support range-based "for" loops. Don't assume that + * any of the usual behaviour works beyond that. + */ +template class stream_input_iterator +{ +public: + using value_type = std::tuple; + + /// Construct an "end" iterator. + stream_input_iterator() = default; + + explicit stream_input_iterator(stream_from &home) : m_home(&home) + { + advance(); + } + stream_input_iterator(stream_input_iterator const &) = default; + + stream_input_iterator &operator++() + { + advance(); + return *this; + } + + value_type const &operator*() const { return m_value; } + + /// Comparison only works for comparing to end(). + bool operator==(stream_input_iterator const &rhs) const + { + return m_home == rhs.m_home; + } + /// Comparison only works for comparing to end(). + bool operator!=(stream_input_iterator const &rhs) const + { + return not(*this == rhs); + } + +private: + void advance() + { + if (m_home == nullptr) + throw usage_error{"Moving stream_from iterator beyond end()."}; + if (not((*m_home) >> m_value)) + m_home = nullptr; + } + + stream_from *m_home{nullptr}; + value_type m_value; +}; + + +// C++20: Replace with generator? +/// Iteration over a @ref stream_from. +template class stream_input_iteration +{ +public: + using iterator = stream_input_iterator; + explicit stream_input_iteration(stream_from &home) : m_home{home} {} + iterator begin() const { return iterator{m_home}; } + iterator end() const { return {}; } + +private: + stream_from &m_home; +}; + + +// C++20: Replace with generator? +/// Iteration over a @ref stream_from, deleting it once done. +template class owning_stream_input_iteration +{ +public: + using iterator = stream_input_iterator; + explicit owning_stream_input_iteration(std::unique_ptr &&home) : + m_home{std::move(home)} + {} + iterator begin() const { return iterator{*m_home.get()}; } + iterator end() const { return {}; } + +private: + std::unique_ptr m_home; +}; +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/wait.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/wait.hxx new file mode 100644 index 000000000..7a82e6553 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/internal/wait.hxx @@ -0,0 +1,18 @@ +#if !defined(PQXX_WAIT_HXX) +# define PQXX_WAIT_HXX + +namespace pqxx::internal +{ +/// Wait. +/** This is normally `std::this_thread::sleep_for()`. But MinGW's `thread` + * header doesn't work, so we must be careful about including it. + */ +void PQXX_LIBEXPORT wait_for(unsigned int microseconds); + + +/// Wait for a socket to be ready for reading/writing, or timeout. +PQXX_LIBEXPORT void wait_fd( + int fd, bool for_read, bool for_write, unsigned seconds = 1, + unsigned microseconds = 0); +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation new file mode 100644 index 000000000..1b801329b --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation @@ -0,0 +1,8 @@ +/** Transaction isolation levels. + * + * Policies and traits describing SQL transaction isolation levels + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/isolation.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation.hxx new file mode 100644 index 000000000..0698c6ab4 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/isolation.hxx @@ -0,0 +1,75 @@ +/* Definitions for transaction isolation levels, and such. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/isolation instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ISOLATION +#define PQXX_H_ISOLATION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/util.hxx" + +namespace pqxx +{ +/// Should a transaction be read-only, or read-write? +/** No, this is not an isolation level. So it really doesn't belong here. + * But it's not really worth a separate header. + */ +enum class write_policy +{ + read_only, + read_write +}; + + +/// Transaction isolation levels. +/** These are as defined in the SQL standard. But there are a few notes + * specific to PostgreSQL. + * + * First, postgres does not support "read uncommitted." The lowest level you + * can get is "read committed," which is better. PostgreSQL is built on the + * MVCC paradigm, which guarantees "read committed" isolation without any + * additional performance overhead, so there was no point in providing the + * lower level. + * + * Second, "repeatable read" also makes more isolation guarantees than the + * standard requires. According to the standard, this level prevents "dirty + * reads" and "nonrepeatable reads," but not "phantom reads." In postgres, + * it actually prevents all three. + * + * Third, "serializable" is only properly supported starting at postgres 9.1. + * If you request "serializable" isolation on an older backend, you will get + * the same isolation as in "repeatable read." It's better than the + * "repeatable read" defined in the SQL standard, but not a complete + * implementation of the standard's "serializable" isolation level. + * + * In general, a lower isolation level will allow more surprising interactions + * between ongoing transactions, but improve performance. A higher level + * gives you more protection from subtle concurrency bugs, but sometimes it + * may not be possible to complete your transaction without avoiding paradoxes + * in the data. In that case a transaction may fail, and the application will + * have to re-do the whole thing based on the latest state of the database. + * (If you want to retry your code in that situation, have a look at the + * transactor framework.) + * + * Study the levels and design your application with the right level in mind. + */ +enum isolation_level +{ + // PostgreSQL only has the better isolation levels. + // read_uncommitted, + + read_committed, + repeatable_read, + serializable, +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject new file mode 100644 index 000000000..1f2f94790 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject @@ -0,0 +1,8 @@ +/** Large Objects interface. + * + * Supports direct access to large objects, as well as through I/O streams + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/largeobject.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject.hxx new file mode 100644 index 000000000..ebafc51d8 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/largeobject.hxx @@ -0,0 +1,735 @@ +/* Large Objects interface. Deprecated; use blob instead. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/largeobject instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_LARGEOBJECT +#define PQXX_H_LARGEOBJECT + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include + +#include "pqxx/dbtransaction.hxx" + + +namespace pqxx +{ +/// Identity of a large object. +/** @deprecated Use the @ref blob class instead. + * + * Encapsulates the identity of a large object. + * + * A largeobject must be accessed only from within a backend transaction, but + * the object's identity remains valid as long as the object exists. + */ +class PQXX_LIBEXPORT largeobject +{ +public: + using size_type = large_object_size_type; + + /// Refer to a nonexistent large object (similar to what a null pointer + /// does). + [[deprecated("Use blob instead.")]] largeobject() noexcept = default; + + /// Create new large object. + /** @param t Backend transaction in which the object is to be created. + */ + [[deprecated("Use blob instead.")]] explicit largeobject(dbtransaction &t); + + /// Wrap object with given oid. + /** Convert combination of a transaction and object identifier into a + * large object identity. Does not affect the database. + * @param o Object identifier for the given object. + */ + [[deprecated("Use blob instead.")]] explicit largeobject(oid o) noexcept : + m_id{o} + {} + + /// Import large object from a local file. + /** Creates a large object containing the data found in the given file. + * @param t Backend transaction in which the large object is to be created. + * @param file A filename on the client program's filesystem. + */ + [[deprecated("Use blob instead.")]] largeobject( + dbtransaction &t, std::string_view file); + + /// Take identity of an opened large object. + /** Copy identity of already opened large object. Note that this may be done + * as an implicit conversion. + * @param o Already opened large object to copy identity from. + */ + [[deprecated("Use blob instead.")]] largeobject( + largeobjectaccess const &o) noexcept; + + /// Object identifier. + /** The number returned by this function identifies the large object in the + * database we're connected to (or oid_none is returned if we refer to the + * null object). + */ + [[nodiscard]] oid id() const noexcept { return m_id; } + + /** + * @name Identity comparisons + * + * These operators compare the object identifiers of large objects. This has + * nothing to do with the objects' actual contents; use them only for keeping + * track of containers of references to large objects and such. + */ + //@{ + /// Compare object identities + /** @warning Only valid between large objects in the same database. */ + [[nodiscard]] bool operator==(largeobject const &other) const + { + return m_id == other.m_id; + } + /// Compare object identities + /** @warning Only valid between large objects in the same database. */ + [[nodiscard]] bool operator!=(largeobject const &other) const + { + return m_id != other.m_id; + } + /// Compare object identities + /** @warning Only valid between large objects in the same database. */ + [[nodiscard]] bool operator<=(largeobject const &other) const + { + return m_id <= other.m_id; + } + /// Compare object identities + /** @warning Only valid between large objects in the same database. */ + [[nodiscard]] bool operator>=(largeobject const &other) const + { + return m_id >= other.m_id; + } + /// Compare object identities + /** @warning Only valid between large objects in the same database. */ + [[nodiscard]] bool operator<(largeobject const &other) const + { + return m_id < other.m_id; + } + /// Compare object identities + /** @warning Only valid between large objects in the same database. */ + [[nodiscard]] bool operator>(largeobject const &other) const + { + return m_id > other.m_id; + } + //@} + + /// Export large object's contents to a local file + /** Writes the data stored in the large object to the given file. + * @param t Transaction in which the object is to be accessed + * @param file A filename on the client's filesystem + */ + void to_file(dbtransaction &t, std::string_view file) const; + + /// Delete large object from database + /** Unlike its low-level equivalent cunlink, this will throw an exception if + * deletion fails. + * @param t Transaction in which the object is to be deleted + */ + void remove(dbtransaction &t) const; + +protected: + PQXX_PURE static internal::pq::PGconn * + raw_connection(dbtransaction const &T); + + PQXX_PRIVATE std::string reason(connection const &, int err) const; + +private: + oid m_id = oid_none; +}; + + +/// Accessor for large object's contents. +/** @deprecated Use the `blob` class instead. + */ +class PQXX_LIBEXPORT largeobjectaccess : private largeobject +{ +public: + using largeobject::size_type; + using off_type = size_type; + using pos_type = size_type; + + /// Open mode: `in`, `out` (can be combined using "bitwise or"). + /** According to the C++ standard, these should be in `std::ios_base`. We + * take them from derived class `std::ios` instead, which is easier on the + * eyes. + * + * Historical note: taking it from std::ios was originally a workaround for a + * problem with gcc 2.95. + */ + using openmode = std::ios::openmode; + + /// Default open mode: in, out, binary. + static constexpr auto default_mode{ + std::ios::in | std::ios::out | std::ios::binary}; + + /// Seek direction: `beg`, `cur`, `end`. + using seekdir = std::ios::seekdir; + + /// Create new large object and open it. + /** + * @param t Backend transaction in which the object is to be created. + * @param mode Access mode, defaults to ios_base::in | ios_base::out | + * ios_base::binary. + */ + [[deprecated("Use blob instead.")]] explicit largeobjectaccess( + dbtransaction &t, openmode mode = default_mode); + + /// Open large object with given oid. + /** Convert combination of a transaction and object identifier into a + * large object identity. Does not affect the database. + * @param t Transaction in which the object is to be accessed. + * @param o Object identifier for the given object. + * @param mode Access mode, defaults to ios_base::in | ios_base::out | + * ios_base::binary. + */ + [[deprecated("Use blob instead.")]] largeobjectaccess( + dbtransaction &t, oid o, openmode mode = default_mode); + + /// Open given large object. + /** Open a large object with the given identity for reading and/or writing. + * @param t Transaction in which the object is to be accessed. + * @param o Identity for the large object to be accessed. + * @param mode Access mode, defaults to ios_base::in | ios_base::out | + * ios_base::binary. + */ + [[deprecated("Use blob instead.")]] largeobjectaccess( + dbtransaction &t, largeobject o, openmode mode = default_mode); + + /// Import large object from a local file and open it. + /** Creates a large object containing the data found in the given file. + * @param t Backend transaction in which the large object is to be created. + * @param file A filename on the client program's filesystem. + * @param mode Access mode, defaults to ios_base::in | ios_base::out. + */ + [[deprecated("Use blob instead.")]] largeobjectaccess( + dbtransaction &t, std::string_view file, openmode mode = default_mode); + + ~largeobjectaccess() noexcept { close(); } + + /// Object identifier. + /** The number returned by this function uniquely identifies the large object + * in the context of the database we're connected to. + */ + using largeobject::id; + + /// Export large object's contents to a local file. + /** Writes the data stored in the large object to the given file. + * @param file A filename on the client's filesystem. + */ + void to_file(std::string_view file) const + { + largeobject::to_file(m_trans, file); + } + + using largeobject::to_file; + + /** + * @name High-level access to object contents. + */ + //@{ + /// Write data to large object. + /** @warning The size of a write is currently limited to 2GB. + * + * @param buf Data to write. + * @param len Number of bytes from Buf to write. + */ + void write(char const buf[], std::size_t len); + + /// Write string to large object. + /** If not all bytes could be written, an exception is thrown. + * @param buf Data to write; no terminating zero is written. + */ + void write(std::string_view buf) { write(std::data(buf), std::size(buf)); } + + /// Read data from large object. + /** Throws an exception if an error occurs while reading. + * @param buf Location to store the read data in. + * @param len Number of bytes to try and read. + * @return Number of bytes read, which may be less than the number requested + * if the end of the large object is reached. + */ + size_type read(char buf[], std::size_t len); + + /// Seek in large object's data stream. + /** Throws an exception if an error occurs. + * @return The new position in the large object + */ + size_type seek(size_type dest, seekdir dir); + + /// Report current position in large object's data stream. + /** Throws an exception if an error occurs. + * @return The current position in the large object. + */ + [[nodiscard]] size_type tell() const; + //@} + + /** + * @name Low-level access to object contents. + * + * These functions provide a more "C-like" access interface, returning + * special values instead of throwing exceptions on error. These functions + * are generally best avoided in favour of the high-level access functions, + * which behave more like C++ functions should. + * + * Due to libpq's underlying API, some operations are limited to "int" + * sizes, typically 2 GB, even though a large object can grow much larger. + */ + //@{ + /// Seek in large object's data stream. + /** Does not throw exception in case of error; inspect return value and + * `errno` instead. + * @param dest Offset to go to. + * @param dir Origin to which dest is relative: ios_base::beg (from beginning + * of the object), ios_base::cur (from current access position), or + * ios_base;:end (from end of object). + * @return New position in large object, or -1 if an error occurred. + */ + pos_type cseek(off_type dest, seekdir dir) noexcept; + + /// Write to large object's data stream. + /** Does not throw exception in case of error; inspect return value and + * `errno` instead. + * @param buf Data to write. + * @param len Number of bytes to write. + * @return Number of bytes actually written, or -1 if an error occurred. + */ + off_type cwrite(char const buf[], std::size_t len) noexcept; + + /// Read from large object's data stream. + /** Does not throw exception in case of error; inspect return value and + * `errno` instead. + * @param buf Area where incoming bytes should be stored. + * @param len Number of bytes to read. + * @return Number of bytes actually read, or -1 if an error occurred.. + */ + off_type cread(char buf[], std::size_t len) noexcept; + + /// Report current position in large object's data stream. + /** Does not throw exception in case of error; inspect return value and + * `errno` instead. + * @return Current position in large object, of -1 if an error occurred. + */ + [[nodiscard]] pos_type ctell() const noexcept; + //@} + + /** + * @name Error/warning output + */ + //@{ + /// Issue message to transaction's notice processor. + void process_notice(zview) noexcept; + //@} + + using largeobject::remove; + + using largeobject::operator==; + using largeobject::operator!=; + using largeobject::operator<; + using largeobject::operator<=; + using largeobject::operator>; + using largeobject::operator>=; + + largeobjectaccess() = delete; + largeobjectaccess(largeobjectaccess const &) = delete; + largeobjectaccess operator=(largeobjectaccess const &) = delete; + +private: + PQXX_PRIVATE std::string reason(int err) const; + internal::pq::PGconn *raw_connection() const + { + return largeobject::raw_connection(m_trans); + } + + PQXX_PRIVATE void open(openmode mode); + void close() noexcept; + + dbtransaction &m_trans; + int m_fd = -1; +}; + + +/// Streambuf to use large objects in standard I/O streams. +/** @deprecated Access large objects directly using the @ref blob class. + * + * The standard streambuf classes provide uniform access to data storage such + * as files or string buffers, so they can be accessed using standard input or + * output streams. This streambuf implementation provided similar access to + * large objects, so they could be read and written using the same stream + * classes. + * + * This functionality was considered too fragile and complex, so it has been + * replaced with a single, much simpler class. + */ +template> +class largeobject_streambuf : public std::basic_streambuf +{ + using size_type = largeobject::size_type; + +public: + using char_type = CHAR; + using traits_type = TRAITS; + using int_type = typename traits_type::int_type; + using pos_type = typename traits_type::pos_type; + using off_type = typename traits_type::off_type; + using openmode = largeobjectaccess::openmode; + using seekdir = largeobjectaccess::seekdir; + + /// Default open mode: in, out, binary. + static constexpr auto default_mode{ + std::ios::in | std::ios::out | std::ios::binary}; + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + [[deprecated("Use blob instead.")]] largeobject_streambuf( + dbtransaction &t, largeobject o, openmode mode = default_mode, + size_type buf_size = 512) : + m_bufsize{buf_size}, m_obj{t, o, mode}, m_g{nullptr}, m_p{nullptr} + { + initialize(mode); + } +#include "pqxx/internal/ignore-deprecated-post.hxx" + + [[deprecated("Use blob instead.")]] largeobject_streambuf( + dbtransaction &t, oid o, openmode mode = default_mode, + size_type buf_size = 512) : + m_bufsize{buf_size}, m_obj{t, o, mode}, m_g{nullptr}, m_p{nullptr} + { + initialize(mode); + } + + virtual ~largeobject_streambuf() noexcept + { + delete[] m_p; + delete[] m_g; + } + + /// For use by large object stream classes. + void process_notice(zview const &s) { m_obj.process_notice(s); } + +protected: + virtual int sync() override + { + // setg() sets eback, gptr, egptr. + this->setg(this->eback(), this->eback(), this->egptr()); + return overflow(eof()); + } + + virtual pos_type seekoff(off_type offset, seekdir dir, openmode) override + { + return adjust_eof(m_obj.cseek(largeobjectaccess::off_type(offset), dir)); + } + + virtual pos_type seekpos(pos_type pos, openmode) override + { + largeobjectaccess::pos_type const newpos{ + m_obj.cseek(largeobjectaccess::off_type(pos), std::ios::beg)}; + return adjust_eof(newpos); + } + + virtual int_type overflow(int_type ch) override + { + auto *const pp{this->pptr()}; + if (pp == nullptr) + return eof(); + auto *const pb{this->pbase()}; + int_type res{0}; + + if (pp > pb) + { + auto const write_sz{pp - pb}; + auto const written_sz{ + m_obj.cwrite(pb, static_cast(pp - pb))}; + if (internal::cmp_less_equal(written_sz, 0)) + throw internal_error{ + "pqxx::largeobject: write failed " + "(is transaction still valid on write or flush?), " + "libpq reports error"}; + else if (write_sz != written_sz) + throw internal_error{ + "pqxx::largeobject: write failed " + "(is transaction still valid on write or flush?), " + + std::to_string(written_sz) + "/" + std::to_string(write_sz) + + " bytes written"}; + auto const out{adjust_eof(written_sz)}; + + if constexpr (std::is_arithmetic_v) + res = check_cast(out, "largeobject position"sv); + else + res = int_type(out); + } + this->setp(m_p, m_p + m_bufsize); + + // Write that one more character, if it's there. + if (ch != eof()) + { + *this->pptr() = static_cast(ch); + this->pbump(1); + } + return res; + } + + virtual int_type overflow() { return overflow(eof()); } + + virtual int_type underflow() override + { + if (this->gptr() == nullptr) + return eof(); + auto *const eb{this->eback()}; + auto const res{adjust_eof( + m_obj.cread(this->eback(), static_cast(m_bufsize)))}; + this->setg( + eb, eb, eb + (res == eof() ? 0 : static_cast(res))); + return (res == eof() or res == 0) ? eof() : traits_type::to_int_type(*eb); + } + +private: + /// Shortcut for traits_type::eof(). + static int_type eof() { return traits_type::eof(); } + + /// Helper: change error position of -1 to EOF (probably a no-op). + template static std::streampos adjust_eof(INTYPE pos) + { + bool const at_eof{pos == -1}; + if constexpr (std::is_arithmetic_v) + { + return check_cast( + (at_eof ? eof() : pos), "large object seek"sv); + } + else + { + return std::streampos(at_eof ? eof() : pos); + } + } + + void initialize(openmode mode) + { + if ((mode & std::ios::in) != 0) + { + m_g = new char_type[unsigned(m_bufsize)]; + this->setg(m_g, m_g, m_g); + } + if ((mode & std::ios::out) != 0) + { + m_p = new char_type[unsigned(m_bufsize)]; + this->setp(m_p, m_p + m_bufsize); + } + } + + size_type const m_bufsize; + largeobjectaccess m_obj; + + /// Get & put buffers. + char_type *m_g, *m_p; +}; + + +/// Input stream that gets its data from a large object. +/** @deprecated Access large objects directly using the @ref blob class. + * + * This class worked like any other istream, but to read data from a large + * object. It supported all formatting and streaming operations of + * `std::istream`. + * + * This functionality was considered too fragile and complex, so it has been + * replaced with a single, much simpler class. + */ +template> +class basic_ilostream : public std::basic_istream +{ + using super = std::basic_istream; + +public: + using char_type = CHAR; + using traits_type = TRAITS; + using int_type = typename traits_type::int_type; + using pos_type = typename traits_type::pos_type; + using off_type = typename traits_type::off_type; + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + /// Create a basic_ilostream. + /** + * @param t Transaction in which this stream is to exist. + * @param o Large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ + [[deprecated("Use blob instead.")]] basic_ilostream( + dbtransaction &t, largeobject o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::in | std::ios::binary, buf_size} + { + super::init(&m_buf); + } +#include "pqxx/internal/ignore-deprecated-post.hxx" + + /// Create a basic_ilostream. + /** + * @param t Transaction in which this stream is to exist. + * @param o Identifier of a large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ + [[deprecated("Use blob instead.")]] basic_ilostream( + dbtransaction &t, oid o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::in | std::ios::binary, buf_size} + { + super::init(&m_buf); + } + +private: + largeobject_streambuf m_buf; +}; + +using ilostream = basic_ilostream; + + +/// Output stream that writes data back to a large object. +/** @deprecated Access large objects directly using the @ref blob class. + * + * This worked like any other ostream, but to write data to a large object. + * It supported all formatting and streaming operations of `std::ostream`. + * + * This functionality was considered too fragile and complex, so it has been + * replaced with a single, much simpler class. + */ +template> +class basic_olostream : public std::basic_ostream +{ + using super = std::basic_ostream; + +public: + using char_type = CHAR; + using traits_type = TRAITS; + using int_type = typename traits_type::int_type; + using pos_type = typename traits_type::pos_type; + using off_type = typename traits_type::off_type; + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + /// Create a basic_olostream. + /** + * @param t transaction in which this stream is to exist. + * @param o a large object to access. + * @param buf_size size of buffer to use internally (optional). + */ + [[deprecated("Use blob instead.")]] basic_olostream( + dbtransaction &t, largeobject o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::out | std::ios::binary, buf_size} + { + super::init(&m_buf); + } +#include "pqxx/internal/ignore-deprecated-post.hxx" + + /// Create a basic_olostream. + /** + * @param t transaction in which this stream is to exist. + * @param o a large object to access. + * @param buf_size size of buffer to use internally (optional). + */ + [[deprecated("Use blob instead.")]] basic_olostream( + dbtransaction &t, oid o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::out | std::ios::binary, buf_size} + { + super::init(&m_buf); + } + + ~basic_olostream() + { + try + { + m_buf.pubsync(); + m_buf.pubsync(); + } + catch (std::exception const &e) + { + m_buf.process_notice(e.what()); + } + } + +private: + largeobject_streambuf m_buf; +}; + +using olostream = basic_olostream; + + +/// Stream that reads and writes a large object. +/** @deprecated Access large objects directly using the @ref blob class. + * + * This worked like a std::iostream, but to read data from, or write data to, a + * large object. It supported all formatting and streaming operations of + * `std::iostream`. + * + * This functionality was considered too fragile and complex, so it has been + * replaced with a single, much simpler class. + */ +template> +class basic_lostream : public std::basic_iostream +{ + using super = std::basic_iostream; + +public: + using char_type = CHAR; + using traits_type = TRAITS; + using int_type = typename traits_type::int_type; + using pos_type = typename traits_type::pos_type; + using off_type = typename traits_type::off_type; + + /// Create a basic_lostream. + /** + * @param t Transaction in which this stream is to exist. + * @param o Large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ + [[deprecated("Use blob instead.")]] basic_lostream( + dbtransaction &t, largeobject o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{ + t, o, std::ios::in | std::ios::out | std::ios::binary, buf_size} + { + super::init(&m_buf); + } + + /// Create a basic_lostream. + /** + * @param t Transaction in which this stream is to exist. + * @param o Large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ + [[deprecated("Use blob instead.")]] basic_lostream( + dbtransaction &t, oid o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{ + t, o, std::ios::in | std::ios::out | std::ios::binary, buf_size} + { + super::init(&m_buf); + } + + ~basic_lostream() + { + try + { + m_buf.pubsync(); + m_buf.pubsync(); + } + catch (std::exception const &e) + { + m_buf.process_notice(e.what()); + } + } + +private: + largeobject_streambuf m_buf; +}; + +using lostream = basic_lostream; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction new file mode 100644 index 000000000..bb5b79724 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction @@ -0,0 +1,8 @@ +/** pqxx::nontransaction class. + * + * pqxx::nontransaction provides nontransactional database access. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/nontransaction.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction.hxx new file mode 100644 index 000000000..c50715594 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/nontransaction.hxx @@ -0,0 +1,76 @@ +/* Definition of the pqxx::nontransaction class. + * + * pqxx::nontransaction provides nontransactional database access + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/nontransaction instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_NONTRANSACTION +#define PQXX_H_NONTRANSACTION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/connection.hxx" +#include "pqxx/result.hxx" +#include "pqxx/transaction.hxx" + +namespace pqxx +{ +using namespace std::literals; + +/// Simple "transaction" class offering no transactional integrity. +/** + * @ingroup transactions + * + * nontransaction, like transaction or any other transaction_base-derived + * class, provides access to a database through a connection. Unlike its + * siblings, however, nontransaction does not maintain any kind of + * transactional integrity. This may be useful eg. for read-only access to the + * database that does not require a consistent, atomic view on its data; or for + * operations that are not allowed within a backend transaction, such as + * creating tables. + * + * For queries that update the database, however, a real transaction is likely + * to be faster unless the transaction consists of only a single record update. + * + * Also, you can keep a nontransaction open for as long as you like. Actual + * back-end transactions are limited in lifespan, and will sometimes fail just + * because they took too long to execute or were left idle for too long. This + * will not happen with a nontransaction (although the connection may still + * time out, e.g. when the network is unavailable for a very long time). + * + * Any query executed in a nontransaction is committed immediately, and neither + * commit() nor abort() has any effect. + * + * Database features that require a backend transaction, such as cursors or + * large objects, will not work in a nontransaction. + */ +class PQXX_LIBEXPORT nontransaction final : public transaction_base +{ +public: + /// Constructor. + /** Create a "dummy" transaction. + * @param c Connection in which this "transaction" will operate. + * @param tname Optional tname for the transaction, beginning with a letter + * and containing only letters and digits. + */ + nontransaction(connection &c, std::string_view tname = ""sv) : + transaction_base{c, tname, std::shared_ptr{}} + { + register_transaction(); + } + + virtual ~nontransaction() override { close(); } + +private: + virtual void do_commit() override {} +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification new file mode 100644 index 000000000..a0bd1c73e --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification @@ -0,0 +1,8 @@ +/** pqxx::notification_receiver functor interface. + * + * pqxx::notification_receiver handles incoming notifications. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/notification.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification.hxx new file mode 100644 index 000000000..b59b8567a --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/notification.hxx @@ -0,0 +1,94 @@ +/* Definition of the pqxx::notification_receiver functor interface. + * + * pqxx::notification_receiver handles incoming notifications. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/notification instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_NOTIFICATION +#define PQXX_H_NOTIFICATION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include + +#include "pqxx/types.hxx" + + +namespace pqxx +{ +/// "Observer" base class for notifications. +/** @addtogroup notification Notifications and Receivers + * + * To listen on a notification issued using the NOTIFY command, derive your own + * class from notification_receiver and define its function-call operator to + * perform whatever action you wish to take when the given notification + * arrives. Then create an object of that class and pass it to your connection. + * DO NOT use raw SQL to listen for notifications, or your attempts to listen + * won't be resumed when a connection fails--and you'll have no way to notice. + * + * Notifications never arrive inside a transaction, not even in a + * nontransaction. Therefore, you are free to open a transaction of your own + * inside your receiver's function invocation operator. + * + * Notifications you are listening for may arrive anywhere within libpqxx code, + * but be aware that **PostgreSQL defers notifications occurring inside + * transactions.** (This was done for excellent reasons; just think about what + * happens if the transaction where you happen to handle an incoming + * notification is later rolled back for other reasons). So if you're keeping + * a transaction open, don't expect any of your receivers on the same + * connection to be notified. + * + * (For very similar reasons, outgoing notifications are also not sent until + * the transaction that sends them commits.) + * + * Multiple receivers on the same connection may listen on a notification of + * the same name. An incoming notification is processed by invoking all + * receivers (zero or more) of the same name. + */ +class PQXX_LIBEXPORT PQXX_NOVTABLE notification_receiver +{ +public: + /// Register the receiver with a connection. + /** + * @param c Connnection to operate on. + * @param channel Name of the notification to listen for. + */ + notification_receiver(connection &c, std::string_view channel); + /// Register the receiver with a connection. + notification_receiver(notification_receiver const &) = delete; + /// Register the receiver with a connection. + notification_receiver &operator=(notification_receiver const &) = delete; + /// Deregister the receiver. + virtual ~notification_receiver(); + + /// The channel that this receiver listens on. + [[nodiscard]] std::string const &channel() const & { return m_channel; } + + // TODO: Change API to take payload as zview instead of string ref. + /// Overridable: action to invoke when notification arrives. + /** + * @param payload An optional string that may have been passed to the NOTIFY + * command. + * @param backend_pid Process ID of the database backend process that served + * our connection when the notification arrived. The actual process ID + * behind the connection may have changed by the time this method is called. + */ + virtual void operator()(std::string const &payload, int backend_pid) = 0; + +protected: + connection &conn() const noexcept { return m_conn; } + +private: + connection &m_conn; + std::string m_channel; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params new file mode 100644 index 000000000..4098782aa --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params @@ -0,0 +1,8 @@ +/** Helper classes for passing statement parameters. + * + * Use these for prepared statements and parameterised statements. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/params.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params.hxx new file mode 100644 index 000000000..2d29cdfed --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/params.hxx @@ -0,0 +1,383 @@ +/* Helpers for prepared statements and parameterised statements. + * + * See the connection class for more about such statements. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_PARAMS +#define PQXX_H_PARAMS + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include + +#include "pqxx/internal/concat.hxx" +#include "pqxx/internal/statement_parameters.hxx" +#include "pqxx/types.hxx" + + +/// @deprecated The new @ref params class replaces all of this. +namespace pqxx::prepare +{ +/// Pass a number of statement parameters only known at runtime. +/** @deprecated Use @ref params instead. + * + * When you call any of the `exec_params` functions, the number of arguments + * is normally known at compile time. This helper function supports the case + * where it is not. + * + * Use this function to pass a variable number of parameters, based on a + * sequence ranging from `begin` to `end` exclusively. + * + * The technique combines with the regular static parameters. You can use it + * to insert dynamic parameter lists in any place, or places, among the call's + * parameters. You can even insert multiple dynamic sequences. + * + * @param begin A pointer or iterator for iterating parameters. + * @param end A pointer or iterator for iterating parameters. + * @return An object representing the parameters. + */ +template +[[deprecated("Use the params class instead.")]] constexpr inline auto +make_dynamic_params(IT begin, IT end) +{ + return pqxx::internal::dynamic_params(begin, end); +} + + +/// Pass a number of statement parameters only known at runtime. +/** @deprecated Use @ref params instead. + * + * When you call any of the `exec_params` functions, the number of arguments + * is normally known at compile time. This helper function supports the case + * where it is not. + * + * Use this function to pass a variable number of parameters, based on a + * container of parameter values. + * + * The technique combines with the regular static parameters. You can use it + * to insert dynamic parameter lists in any place, or places, among the call's + * parameters. You can even insert multiple dynamic containers. + * + * @param container A container of parameter values. + * @return An object representing the parameters. + */ +template +[[deprecated("Use the params class instead.")]] constexpr inline auto +make_dynamic_params(C const &container) +{ + using IT = typename C::const_iterator; +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return pqxx::internal::dynamic_params{container}; +#include "pqxx/internal/ignore-deprecated-post.hxx" +} + + +/// Pass a number of statement parameters only known at runtime. +/** @deprecated Use @ref params instead. + * + * When you call any of the `exec_params` functions, the number of arguments + * is normally known at compile time. This helper function supports the case + * where it is not. + * + * Use this function to pass a variable number of parameters, based on a + * container of parameter values. + * + * The technique combines with the regular static parameters. You can use it + * to insert dynamic parameter lists in any place, or places, among the call's + * parameters. You can even insert multiple dynamic containers. + * + * @param container A container of parameter values. + * @param accessor For each parameter `p`, pass `accessor(p)`. + * @return An object representing the parameters. + */ +template +[[deprecated("Use the params class instead.")]] constexpr inline auto +make_dynamic_params(C &container, ACCESSOR accessor) +{ + using IT = decltype(std::begin(container)); +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return pqxx::internal::dynamic_params{container, accessor}; +#include "pqxx/internal/ignore-deprecated-post.hxx" +} +} // namespace pqxx::prepare + + +namespace pqxx +{ +/// Generate parameter placeholders for use in an SQL statement. +/** When you want to pass parameters to a prepared statement or a parameterised + * statement, you insert placeholders into the SQL. During invocation, the + * database replaces those with the respective parameter values you passed. + * + * The placeholders look like `$1` (for the first parameter value), `$2` (for + * the second), and so on. You can just write those directly in your + * statement. But for those rare cases where it becomes difficult to track + * which number a placeholder should have, you can use a `placeholders` object + * to count and generate them in order. + */ +template class placeholders +{ +public: + /// Maximum number of parameters we support. + static inline constexpr unsigned int max_params{ + (std::numeric_limits::max)()}; + + placeholders() + { + static constexpr auto initial{"$1\0"sv}; + initial.copy(std::data(m_buf), std::size(initial)); + } + + /// Read an ephemeral version of the current placeholder text. + /** @warning Changing the current placeholder number will overwrite this. + * Use the view immediately, or lose it. + */ + constexpr zview view() const &noexcept + { + return zview{std::data(m_buf), m_len}; + } + + /// Read the current placeholder text, as a `std::string`. + /** This will be slightly slower than converting to a `zview`. With most + * C++ implementations however, until you get into ridiculous numbers of + * parameters, the string will benefit from the Short String Optimization, or + * SSO. + */ + std::string get() const { return std::string(std::data(m_buf), m_len); } + + /// Move on to the next parameter. + void next() & + { + if (m_current >= max_params) + throw range_error{pqxx::internal::concat( + "Too many parameters in one statement: limit is ", max_params, ".")}; + ++m_current; + if (m_current % 10 == 0) + { + // Carry the 1. Don't get too clever for this relatively rare + // case, just rewrite the entire number. Leave the $ in place + // though. + char *const data{std::data(m_buf)}; + char *const end{string_traits::into_buf( + data + 1, data + std::size(m_buf), m_current)}; + // (Subtract because we don't include the trailing zero.) + m_len = check_cast(end - data, "placeholders counter") - 1; + } + else + { + PQXX_LIKELY + // Shortcut for the common case: just increment that last digit. + ++m_buf[m_len - 1]; + } + } + + /// Return the current placeholder number. The initial placeholder is 1. + COUNTER count() const noexcept { return m_current; } + +private: + /// Current placeholder number. Starts at 1. + COUNTER m_current = 1; + + /// Length of the current placeholder string, not including trailing zero. + COUNTER m_len = 2; + + /// Text buffer where we render the placeholders, with a trailing zero. + /** We keep reusing this for every subsequent placeholder, just because we + * don't like string allocations. + * + * Maximum length is the maximum base-10 digits that COUNTER can fully + * represent, plus 1 more for the extra digit that it can only partially + * fill up, plus room for the dollar sign and the trailing zero. + */ + std::array::digits10 + 3> m_buf; +}; + + +/// Build a parameter list for a parameterised or prepared statement. +/** When calling a parameterised statement or a prepared statement, you can + * pass parameters into the statement directly in the invocation, as + * additional arguments to `exec_prepared` or `exec_params`. But in + * complex cases, sometimes that's just not convenient. + * + * In those situations, you can create a `params` and append your parameters + * into that, one by one. Then you pass the `params` to `exec_prepared` or + * `exec_params`. + * + * Combinations also work: if you have a `params` containing a string + * parameter, and you call `exec_params` with an `int` argument followed by + * your `params`, you'll be passing the `int` as the first parameter and + * the string as the second. You can even insert a `params` in a `params`, + * or pass two `params` objects to a statement. + */ +class PQXX_LIBEXPORT params +{ +public: + params() = default; + + /// Pre-populate a `params` with `args`. Feel free to add more later. + template constexpr params(Args &&...args) + { + reserve(sizeof...(args)); + append_pack(std::forward(args)...); + } + + /// Pre-allocate room for at least `n` parameters. + /** This is not needed, but it may improve efficiency. + * + * Reserve space if you're going to add parameters individually, and you've + * got some idea of how many there are going to be. It may save some + * memory re-allocations. + */ + void reserve(std::size_t n) &; + + // C++20: constexpr. + /// Get the number of parameters currently in this `params`. + [[nodiscard]] auto size() const noexcept { return m_params.size(); } + + // C++20: Use the vector's ssize() directly and go noexcept+constexpr. + /// Get the number of parameters (signed). + /** Unlike `size()`, this is not yet `noexcept`. That's because C++17's + * `std::vector` does not have a `ssize()` member function. These member + * functions are `noexcept`, but `std::size()` and `std::ssize()` are + * not. + */ + [[nodiscard]] auto ssize() const { return pqxx::internal::ssize(m_params); } + + /// Append a null value. + void append() &; + + /// Append a non-null zview parameter. + /** The underlying data must stay valid for as long as the `params` + * remains active. + */ + void append(zview) &; + + /// Append a non-null string parameter. + /** Copies the underlying data into internal storage. For best efficiency, + * use the @ref zview variant if you can, or `std::move()` + */ + void append(std::string const &) &; + + /// Append a non-null string parameter. + void append(std::string &&) &; + + /// Append a non-null binary parameter. + /** The underlying data must stay valid for as long as the `params` + * remains active. + */ + void append(std::basic_string_view) &; + + /// Append a non-null binary parameter. + /** Copies the underlying data into internal storage. For best efficiency, + * use the `std::basic_string_view` variant if you can, or + * `std::move()`. + */ + void append(std::basic_string const &) &; + +#if defined(PQXX_HAVE_CONCEPTS) + /// Append a non-null binary parameter. + /** The `data` object must stay in place and unchanged, for as long as the + * `params` remains active. + */ + template void append(DATA const &data) & + { + append( + std::basic_string_view{std::data(data), std::size(data)}); + } +#endif // PQXX_HAVE_CONCEPTS + + /// Append a non-null binary parameter. + void append(std::basic_string &&) &; + + /// @deprecated Append binarystring parameter. + /** The binarystring must stay valid for as long as the `params` remains + * active. + */ + void append(binarystring const &value) &; + + /// Append all parameters from value. + template + void append(pqxx::internal::dynamic_params const &value) & + { + for (auto ¶m : value) append(value.access(param)); + } + + void append(params const &value) &; + + void append(params &&value) &; + + /// Append a non-null parameter, converting it to its string + /// representation. + template void append(TYPE const &value) & + { + // TODO: Pool storage for multiple string conversions in one buffer? + if constexpr (nullness>::always_null) + { + ignore_unused(value); + m_params.emplace_back(); + } + else if (is_null(value)) + { + m_params.emplace_back(); + } + else + { + m_params.emplace_back(entry{to_string(value)}); + } + } + + /// Append all elements of `range` as parameters. + template void append_multi(RANGE const &range) & + { +#if defined(PQXX_HAVE_CONCEPTS) + if constexpr (std::ranges::sized_range) + reserve(std::size(*this) + std::size(range)); +#endif + for (auto &value : range) append(value); + } + + /// For internal use: Generate a `params` object for use in calls. + /** The params object encapsulates the pointers which we will need to pass + * to libpq when calling a parameterised or prepared statement. + * + * The pointers in the params will refer to storage owned by either the + * params object, or the caller. This is not a problem because a + * `c_params` object is guaranteed to live only while the call is going on. + * As soon as we climb back out of that call tree, we're done with that + * data. + */ + pqxx::internal::c_params make_c_params() const; + +private: + /// Recursively append a pack of params. + template + void append_pack(Arg &&arg, More &&...args) + { + this->append(std::forward(arg)); + // Recurse for remaining args. + append_pack(std::forward(args)...); + } + + /// Terminating case: append an empty parameter pack. It's not hard BTW. + constexpr void append_pack() noexcept {} + + // The way we store a parameter depends on whether it's binary or text + // (most types are text), and whether we're responsible for storing the + // contents. + using entry = std::variant< + std::nullptr_t, zview, std::string, std::basic_string_view, + std::basic_string>; + std::vector m_params; + + static constexpr std::string_view s_overflow{ + "Statement parameter length overflow."sv}; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline new file mode 100644 index 000000000..bf828843a --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline @@ -0,0 +1,8 @@ +/** pqxx::pipeline class. + * + * Throughput-optimized query interface. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/pipeline.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline.hxx new file mode 100644 index 000000000..049dcdd58 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pipeline.hxx @@ -0,0 +1,237 @@ +/* Definition of the pqxx::pipeline class. + * + * Throughput-optimized mechanism for executing queries. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/pipeline instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_PIPELINE +#define PQXX_H_PIPELINE + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include + +#include "pqxx/transaction_base.hxx" + + +namespace pqxx +{ +// TODO: libpq 14 introduced a similar "pipeline mode." Can we use that? + +/// Processes several queries in FIFO manner, optimized for high throughput. +/** Use a pipeline if you want to keep doing useful work while your queries are + * executing. Result retrieval is decoupled from execution request; queries + * "go in at the front" and results "come out the back." + * + * Actually, you can retrieve the results in any order if you want, but it may + * lead to surprising "time travel" effects if any of the queries fails. In + * particular, syntax errors in the queries can confuse things and show up too + * early in the stream of results. + * + * Generally, if any of the queries fails, it will throw an exception at the + * point where you request its result. But it may happen earlier, especially + * if you request results out of chronological order. + * + * @warning While a pipeline is active, you cannot execute queries, open + * streams, etc. on the same transaction. A transaction can have at most one + * object of a type derived from @ref pqxx::transaction_focus active on it at a + * time. + */ +class PQXX_LIBEXPORT pipeline : public transaction_focus +{ +public: + /// Identifying numbers for queries. + using query_id = long; + + pipeline(pipeline const &) = delete; + pipeline &operator=(pipeline const &) = delete; + + /// Start a pipeline. + explicit pipeline(transaction_base &t) : transaction_focus{t, s_classname} + { + init(); + } + /// Start a pipeline. Assign it a name, for more helpful error messages. + pipeline(transaction_base &t, std::string_view tname) : + transaction_focus{t, s_classname, tname} + { + init(); + } + + /// Close the pipeline. + ~pipeline() noexcept; + + /// Add query to the pipeline. + /** Queries accumulate in the pipeline, which sends them to the backend in a + * batch separated by semicolons. The queries you insert must not use this + * trick themselves, or the pipeline will get hopelessly confused! + * + * @return Identifier for this query, unique only within this pipeline. + */ + query_id insert(std::string_view) &; + + /// Wait for all ongoing or pending operations to complete, and detach. + /** Detaches from the transaction when done. + * + * This does not produce the queries' results, so it may not report any + * errors which may have occurred in their execution. To be sure that your + * statements succeeded, call @ref retrieve until the pipeline is empty. + */ + void complete(); + + /// Forget all ongoing or pending operations and retrieved results. + /** Queries already sent to the backend may still be completed, depending + * on implementation and timing. + * + * Any error state (unless caused by an internal error) will also be cleared. + * This is mostly useful in a nontransaction, since a backend transaction is + * aborted automatically when an error occurs. + * + * Detaches from the transaction when done. + */ + void flush(); + + /// Cancel ongoing query, if any. + /** May cancel any or all of the queries that have been inserted at this + * point whose results have not yet been retrieved. If the pipeline lives in + * a backend transaction, that transaction may be left in a nonfunctional + * state in which it can only be aborted. + * + * Therefore, either use this function in a nontransaction, or abort the + * transaction after calling it. + */ + void cancel(); + + /// Is result for given query available? + [[nodiscard]] bool is_finished(query_id) const; + + /// Retrieve result for given query. + /** If the query failed for whatever reason, this will throw an exception. + * The function will block if the query has not finished yet. + * @warning If results are retrieved out-of-order, i.e. in a different order + * than the one in which their queries were inserted, errors may "propagate" + * to subsequent queries. + */ + result retrieve(query_id qid) + { + return retrieve(m_queries.find(qid)).second; + } + + /// Retrieve oldest unretrieved result (possibly wait for one). + /** @return The query's identifier and its result set. */ + std::pair retrieve(); + + [[nodiscard]] bool empty() const noexcept { return std::empty(m_queries); } + + /// Set maximum number of queries to retain before issuing them to the + /// backend. + /** The pipeline will perform better if multiple queries are issued at once, + * but retaining queries until the results are needed (as opposed to issuing + * them to the backend immediately) may negate any performance benefits the + * pipeline can offer. + * + * Recommended practice is to set this value no higher than the number of + * queries you intend to insert at a time. + * @param retain_max A nonnegative "retention capacity;" passing zero will + * cause queries to be issued immediately + * @return Old retention capacity + */ + int retain(int retain_max = 2) &; + + + /// Resume retained query emission. Harmless when not needed. + void resume() &; + +private: + struct PQXX_PRIVATE Query + { + explicit Query(std::string_view q) : + query{std::make_shared(q)} + {} + + std::shared_ptr query; + result res; + }; + + using QueryMap = std::map; + + void init(); + void attach(); + void detach(); + + /// Upper bound to query id's. + static constexpr query_id qid_limit() noexcept + { + // Parenthesise this to work around an eternal Visual C++ problem: + // Without the extra parentheses, unless NOMINMAX is defined, the + // preprocessor will mistake this "max" for its annoying built-in macro + // of the same name. + return (std::numeric_limits::max)(); + } + + /// Create new query_id. + PQXX_PRIVATE query_id generate_id(); + + bool have_pending() const noexcept + { + return m_issuedrange.second != m_issuedrange.first; + } + + PQXX_PRIVATE void issue(); + + /// The given query failed; never issue anything beyond that. + void set_error_at(query_id qid) noexcept + { + PQXX_UNLIKELY + if (qid < m_error) + m_error = qid; + } + + /// Throw pqxx::internal_error. + [[noreturn]] PQXX_PRIVATE void internal_error(std::string const &err); + + PQXX_PRIVATE bool obtain_result(bool expect_none = false); + + PQXX_PRIVATE void obtain_dummy(); + PQXX_PRIVATE void get_further_available_results(); + PQXX_PRIVATE void check_end_results(); + + /// Receive any results that happen to be available; it's not urgent. + PQXX_PRIVATE void receive_if_available(); + + /// Receive results, up to stop if possible. + PQXX_PRIVATE void receive(pipeline::QueryMap::const_iterator stop); + std::pair retrieve(pipeline::QueryMap::iterator); + + QueryMap m_queries; + std::pair m_issuedrange; + int m_retain = 0; + int m_num_waiting = 0; + query_id m_q_id = 0; + + /// Is there a "dummy query" pending? + bool m_dummy_pending = false; + + /// Point at which an error occurred; no results beyond it will be available + query_id m_error = qid_limit(); + + /// Encoding. + /** We store this in the object to avoid the risk of exceptions at awkward + * moments. + */ + internal::encoding_group m_encoding; + + static constexpr std::string_view s_classname{"pipeline"}; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pqxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pqxx new file mode 100644 index 000000000..17a8eaa9c --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/pqxx @@ -0,0 +1,28 @@ +/// Convenience header: include all libpqxx definitions. +#include "pqxx/internal/header-pre.hxx" + +#include "pqxx/array.hxx" +#include "pqxx/binarystring.hxx" +#include "pqxx/blob.hxx" +#include "pqxx/connection.hxx" +#include "pqxx/cursor.hxx" +#include "pqxx/errorhandler.hxx" +#include "pqxx/except.hxx" +#include "pqxx/largeobject.hxx" +#include "pqxx/nontransaction.hxx" +#include "pqxx/notification.hxx" +#include "pqxx/params.hxx" +#include "pqxx/pipeline.hxx" +#include "pqxx/prepared_statement.hxx" +#include "pqxx/result.hxx" +#include "pqxx/internal/result_iterator.hxx" +#include "pqxx/internal/result_iter.hxx" +#include "pqxx/robusttransaction.hxx" +#include "pqxx/row.hxx" +#include "pqxx/stream_from.hxx" +#include "pqxx/stream_to.hxx" +#include "pqxx/subtransaction.hxx" +#include "pqxx/transaction.hxx" +#include "pqxx/transactor.hxx" + +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement new file mode 100644 index 000000000..674be7090 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement @@ -0,0 +1,3 @@ +/// @deprecated Include @c instead. + +#include "params.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement.hxx new file mode 100644 index 000000000..674be7090 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/prepared_statement.hxx @@ -0,0 +1,3 @@ +/// @deprecated Include @c instead. + +#include "params.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range new file mode 100644 index 000000000..11985eca4 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range @@ -0,0 +1,6 @@ +/** Client-side support for SQL range types. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/range.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range.hxx new file mode 100644 index 000000000..dc480e4b7 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/range.hxx @@ -0,0 +1,515 @@ +#ifndef PQXX_H_RANGE +#define PQXX_H_RANGE + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include + +#include "pqxx/internal/array-composite.hxx" +#include "pqxx/internal/concat.hxx" + +namespace pqxx +{ +/// An _unlimited_ boundary value to a @ref pqxx::range. +/** Use this as a lower or upper bound for a range if the range should extend + * to infinity on that side. + * + * An unlimited boundary is always inclusive of "infinity" values, if the + * range's value type supports them. + */ +struct no_bound +{ + template constexpr bool extends_down_to(TYPE const &) const + { + return true; + } + template constexpr bool extends_up_to(TYPE const &) const + { + return true; + } +}; + + +/// An _inclusive_ boundary value to a @ref pqxx::range. +/** Use this as a lower or upper bound for a range if the range should include + * the value. + */ +template class inclusive_bound +{ +public: + inclusive_bound() = delete; + explicit inclusive_bound(TYPE const &value) : m_value{value} + { + if (is_null(value)) + throw argument_error{"Got null value as an inclusive range bound."}; + } + + [[nodiscard]] constexpr TYPE const &get() const &noexcept { return m_value; } + + // TODO: constexpr and/or noexcept if underlying operator supports it. + /// Would this bound, as a lower bound, include value? + [[nodiscard]] bool extends_down_to(TYPE const &value) const + { + return not(value < m_value); + } + + // TODO: constexpr and/or noexcept if underlying operator supports it. + /// Would this bound, as an upper bound, include value? + [[nodiscard]] bool extends_up_to(TYPE const &value) const + { + return not(m_value < value); + } + +private: + TYPE m_value; +}; + + +/// An _exclusive_ boundary value to a @ref pqxx::range. +/** Use this as a lower or upper bound for a range if the range should _not_ + * include the value. + */ +template class exclusive_bound +{ +public: + exclusive_bound() = delete; + explicit exclusive_bound(TYPE const &value) : m_value{value} + { + if (is_null(value)) + throw argument_error{"Got null value as an exclusive range bound."}; + } + + [[nodiscard]] constexpr TYPE const &get() const &noexcept { return m_value; } + + // TODO: constexpr and/or noexcept if underlying operator supports it. + /// Would this bound, as a lower bound, include value? + [[nodiscard]] bool extends_down_to(TYPE const &value) const + { + return m_value < value; + } + + // TODO: constexpr and/or noexcept if underlying operator supports it. + /// Would this bound, as an upper bound, include value? + [[nodiscard]] bool extends_up_to(TYPE const &value) const + { + return value < m_value; + } + +private: + TYPE m_value; +}; + + +/// A range boundary value. +/** A range bound is either no bound at all; or an inclusive bound; or an + * exclusive bound. Pass one of the three to the constructor. + */ +template class range_bound +{ +public: + range_bound() = delete; + // TODO: constexpr and/or noexcept if underlying constructor supports it. + range_bound(no_bound) : m_bound{} {} + // TODO: constexpr and/or noexcept if underlying constructor supports it. + range_bound(inclusive_bound const &bound) : m_bound{bound} {} + // TODO: constexpr and/or noexcept if underlying constructor supports it. + range_bound(exclusive_bound const &bound) : m_bound{bound} {} + // TODO: constexpr and/or noexcept if underlying constructor supports it. + range_bound(range_bound const &) = default; + // TODO: constexpr and/or noexcept if underlying constructor supports it. + range_bound(range_bound &&) = default; + + // TODO: constexpr and/or noexcept if underlying operators support it. + bool operator==(range_bound const &rhs) const + { + if (this->is_limited()) + return ( + rhs.is_limited() and (this->is_inclusive() == rhs.is_inclusive()) and + (*this->value() == *rhs.value())); + else + return not rhs.is_limited(); + } + + // TODO: constexpr and/or noexcept if underlying operator supports it. + bool operator!=(range_bound const &rhs) const { return not(*this == rhs); } + range_bound &operator=(range_bound const &) = default; + range_bound &operator=(range_bound &&) = default; + + /// Is this a finite bound? + constexpr bool is_limited() const noexcept + { + return not std::holds_alternative(m_bound); + } + + /// Is this boundary an inclusive one? + constexpr bool is_inclusive() const noexcept + { + return std::holds_alternative>(m_bound); + } + + /// Is this boundary an exclusive one? + constexpr bool is_exclusive() const noexcept + { + return std::holds_alternative>(m_bound); + } + + // TODO: constexpr/noexcept if underlying function supports it. + /// Would this bound, as a lower bound, include `value`? + bool extends_down_to(TYPE const &value) const + { + return std::visit( + [&value](auto const &bound) { return bound.extends_down_to(value); }, + m_bound); + } + + // TODO: constexpr/noexcept if underlying function supports it. + /// Would this bound, as an upper bound, include `value`? + bool extends_up_to(TYPE const &value) const + { + return std::visit( + [&value](auto const &bound) { return bound.extends_up_to(value); }, + m_bound); + } + + /// Return bound value, or `nullptr` if it's not limited. + [[nodiscard]] constexpr TYPE const *value() const &noexcept + { + return std::visit( + [](auto const &bound) noexcept { + using bound_t = std::decay_t; + if constexpr (std::is_same_v) + return static_cast(nullptr); + else + return &bound.get(); + }, + m_bound); + } + +private: + std::variant, exclusive_bound> m_bound; +}; + + +// C++20: Concepts for comparisons, construction, etc. +/// A C++ equivalent to PostgreSQL's range types. +/** You can use this as a client-side representation of a "range" in SQL. + * + * PostgreSQL defines several range types, differing in the data type over + * which they range. You can also define your own range types. + * + * Usually you'll want the server to deal with ranges. But on occasions where + * you need to work with them client-side, you may want to use @ref + * pqxx::range. (In cases where all you do is pass them along to the server + * though, it's not worth the complexity. In that case you might as well treat + * ranges as just strings.) + * + * For documentation on PostgreSQL's range types, see: + * https://www.postgresql.org/docs/current/rangetypes.html + * + * The value type must be copyable and default-constructible, and support the + * less-than (`<`) and equals (`==`) comparisons. Value initialisation must + * produce a consistent value. + */ +template class range +{ +public: + /// Create a range. + /** For each of the two bounds, pass a @ref no_bound, @ref inclusive_bound, + * or + * @ref exclusive_bound. + */ + range(range_bound lower, range_bound upper) : + m_lower{lower}, m_upper{upper} + { + if ( + lower.is_limited() and upper.is_limited() and + (*upper.value() < *lower.value())) + throw range_error{internal::concat( + "Range's lower bound (", *lower.value(), + ") is greater than its upper bound (", *upper.value(), ").")}; + } + + // TODO: constexpr and/or noexcept if underlying constructor supports it. + /// Create an empty range. + /** SQL has a separate literal to denote an empty range, but any range which + * encompasses no values is an empty range. + */ + range() : + m_lower{exclusive_bound{TYPE{}}}, + m_upper{exclusive_bound{TYPE{}}} + {} + + // TODO: constexpr and/or noexcept if underlying operators support it. + bool operator==(range const &rhs) const + { + return (this->lower_bound() == rhs.lower_bound() and + this->upper_bound() == rhs.upper_bound()) or + (this->empty() and rhs.empty()); + } + + // TODO: constexpr and/or noexcept if underlying operator supports it. + bool operator!=(range const &rhs) const { return !(*this == rhs); } + + range(range const &) = default; + range(range &&) = default; + range &operator=(range const &) = default; + range &operator=(range &&) = default; + + // TODO: constexpr and/or noexcept if underlying operator supports it. + /// Is this range clearly empty? + /** An empty range encompasses no values. + * + * It is possible to "fool" this. For example, if your range is of an + * integer type and has exclusive bounds of 0 and 1, it encompasses no values + * but its `empty()` will return false. The PostgreSQL implementation, by + * contrast, will notice that it is empty. Similar things can happen for + * floating-point types, but with more subtleties and edge cases. + */ + bool empty() const + { + return (m_lower.is_exclusive() or m_upper.is_exclusive()) and + m_lower.is_limited() and m_upper.is_limited() and + not(*m_lower.value() < *m_upper.value()); + } + + // TODO: constexpr and/or noexcept if underlying functions support it. + /// Does this range encompass `value`? + bool contains(TYPE value) const + { + return m_lower.extends_down_to(value) and m_upper.extends_up_to(value); + } + + // TODO: constexpr and/or noexcept if underlying operators support it. + /// Does this range encompass all of `other`? + /** This function is not particularly smart. It does not know, for example, + * that integer ranges `[0,9]` and `[0,10)` contain the same values. + */ + bool contains(range const &other) const + { + return (*this & other) == other; + } + + [[nodiscard]] constexpr range_bound const & + lower_bound() const &noexcept + { + return m_lower; + } + [[nodiscard]] constexpr range_bound const & + upper_bound() const &noexcept + { + return m_upper; + } + + // TODO: constexpr and/or noexcept if underlying operators support it. + /// Intersection of two ranges. + /** Returns a range describing those values which are in both ranges. + */ + range operator&(range const &other) const + { + range_bound lower{no_bound{}}; + if (not this->lower_bound().is_limited()) + lower = other.lower_bound(); + else if (not other.lower_bound().is_limited()) + lower = this->lower_bound(); + else if (*this->lower_bound().value() < *other.lower_bound().value()) + lower = other.lower_bound(); + else if (*other.lower_bound().value() < *this->lower_bound().value()) + lower = this->lower_bound(); + else if (this->lower_bound().is_exclusive()) + lower = this->lower_bound(); + else + lower = other.lower_bound(); + + range_bound upper{no_bound{}}; + if (not this->upper_bound().is_limited()) + upper = other.upper_bound(); + else if (not other.upper_bound().is_limited()) + upper = this->upper_bound(); + else if (*other.upper_bound().value() < *this->upper_bound().value()) + upper = other.upper_bound(); + else if (*this->upper_bound().value() < *other.upper_bound().value()) + upper = this->upper_bound(); + else if (this->upper_bound().is_exclusive()) + upper = this->upper_bound(); + else + upper = other.upper_bound(); + + if ( + lower.is_limited() and upper.is_limited() and + (*upper.value() < *lower.value())) + return {}; + else + return {lower, upper}; + } + + /// Convert to another base type. + template operator range() const + { + range_bound lower{no_bound{}}, upper{no_bound{}}; + if (lower_bound().is_inclusive()) + lower = inclusive_bound{*lower_bound().value()}; + else if (lower_bound().is_exclusive()) + lower = exclusive_bound{*lower_bound().value()}; + + if (upper_bound().is_inclusive()) + upper = inclusive_bound{*upper_bound().value()}; + else if (upper_bound().is_exclusive()) + upper = exclusive_bound{*upper_bound().value()}; + + return {lower, upper}; + } + +private: + range_bound m_lower, m_upper; +}; + + +/// String conversions for a @ref range type. +/** Conversion assumes that either your client encoding is UTF-8, or the values + * are pure ASCII. + */ +template struct string_traits> +{ + [[nodiscard]] static inline zview + to_buf(char *begin, char *end, range const &value) + { + return generic_to_buf(begin, end, value); + } + + static inline char * + into_buf(char *begin, char *end, range const &value) + { + if (value.empty()) + { + if ((end - begin) <= internal::ssize(s_empty)) + throw conversion_overrun{s_overrun.c_str()}; + char *here = begin + s_empty.copy(begin, std::size(s_empty)); + *here++ = '\0'; + return here; + } + else + { + if (end - begin < 4) + throw conversion_overrun{s_overrun.c_str()}; + char *here = begin; + *here++ = + (static_cast(value.lower_bound().is_inclusive() ? '[' : '(')); + TYPE const *lower{value.lower_bound().value()}; + // Convert bound (but go back to overwrite that trailing zero). + if (lower != nullptr) + here = string_traits::into_buf(here, end, *lower) - 1; + *here++ = ','; + TYPE const *upper{value.upper_bound().value()}; + // Convert bound (but go back to overwrite that trailing zero). + if (upper != nullptr) + here = string_traits::into_buf(here, end, *upper) - 1; + if ((end - here) < 2) + throw conversion_overrun{s_overrun.c_str()}; + *here++ = + static_cast(value.upper_bound().is_inclusive() ? ']' : ')'); + *here++ = '\0'; + return here; + } + } + + [[nodiscard]] static inline range from_string(std::string_view text) + { + if (std::size(text) < 3) + throw pqxx::conversion_error{err_bad_input(text)}; + bool left_inc{false}; + switch (text[0]) + { + case '[': left_inc = true; break; + + case '(': break; + + case 'e': + case 'E': + if ( + (std::size(text) != std::size(s_empty)) or + (text[1] != 'm' and text[1] != 'M') or + (text[2] != 'p' and text[2] != 'P') or + (text[3] != 't' and text[3] != 'T') or + (text[4] != 'y' and text[4] != 'Y')) + throw pqxx::conversion_error{err_bad_input(text)}; + return {}; + break; + + default: throw pqxx::conversion_error{err_bad_input(text)}; + } + + auto scan{internal::get_glyph_scanner(internal::encoding_group::UTF8)}; + // The field parser uses this to track which field it's parsing, and + // when not to expect a field separator. + std::size_t index{0}; + // The last field we expect to see. + static constexpr std::size_t last{1}; + // Current parsing position. We skip the opening parenthesis or bracket. + std::size_t pos{1}; + // The string may leave out either bound to indicate that it's unlimited. + std::optional lower, upper; + // We reuse the same field parser we use for composite values and arrays. + internal::parse_composite_field(index, text, pos, lower, scan, last); + internal::parse_composite_field(index, text, pos, upper, scan, last); + + // We need one more character: the closing parenthesis or bracket. + if (pos != std::size(text)) + throw pqxx::conversion_error{err_bad_input(text)}; + char const closing{text[pos - 1]}; + if (closing != ')' and closing != ']') + throw pqxx::conversion_error{err_bad_input(text)}; + bool const right_inc{closing == ']'}; + + range_bound lower_bound{no_bound{}}, upper_bound{no_bound{}}; + if (lower) + { + if (left_inc) + lower_bound = inclusive_bound{*lower}; + else + lower_bound = exclusive_bound{*lower}; + } + if (upper) + { + if (right_inc) + upper_bound = inclusive_bound{*upper}; + else + upper_bound = exclusive_bound{*upper}; + } + + return {lower_bound, upper_bound}; + } + + [[nodiscard]] static inline constexpr std::size_t + size_buffer(range const &value) noexcept + { + TYPE const *lower{value.lower_bound().value()}, + *upper{value.upper_bound().value()}; + std::size_t const lsz{ + lower == nullptr ? 0 : string_traits::size_buffer(*lower) - 1}, + usz{upper == nullptr ? 0 : string_traits::size_buffer(*upper) - 1}; + + if (value.empty()) + return std::size(s_empty) + 1; + else + return 1 + lsz + 1 + usz + 2; + } + +private: + static constexpr zview s_empty{"empty"_zv}; + static constexpr auto s_overrun{"Not enough space in buffer for range."_zv}; + + /// Compose error message for invalid range input. + static std::string err_bad_input(std::string_view text) + { + return internal::concat("Invalid range input: '", text, "'"); + } +}; + + +/// A range type does not have an innate null value. +template struct nullness> : no_null> +{}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result new file mode 100644 index 000000000..523394b72 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result @@ -0,0 +1,16 @@ +/** pqxx::result class and support classes. + * + * pqxx::result represents the set of result rows from a database query. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" + +#include "pqxx/result.hxx" + +// Now include some types which depend on result, but which the user will +// expect to see defined after including this header. +#include "pqxx/internal/result_iterator.hxx" +#include "pqxx/field.hxx" +#include "pqxx/internal/result_iter.hxx" + +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result.hxx new file mode 100644 index 000000000..6c41cc096 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/result.hxx @@ -0,0 +1,335 @@ +/* Definitions for the pqxx::result class and support classes. + * + * pqxx::result represents the set of result rows from a database query. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/result instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_RESULT +#define PQXX_H_RESULT + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include +#include + +#include "pqxx/except.hxx" +#include "pqxx/types.hxx" +#include "pqxx/util.hxx" +#include "pqxx/zview.hxx" + +#include "pqxx/internal/encodings.hxx" + + +namespace pqxx::internal +{ +// TODO: Make noexcept (but breaks ABI). +PQXX_LIBEXPORT void clear_result(pq::PGresult const *); +} // namespace pqxx::internal + + +namespace pqxx::internal::gate +{ +class result_connection; +class result_creation; +class result_pipeline; +class result_row; +class result_sql_cursor; +} // namespace pqxx::internal::gate + + +namespace pqxx +{ +/// Result set containing data returned by a query or command. +/** This behaves as a container (as defined by the C++ standard library) and + * provides random access const iterators to iterate over its rows. You can + * also access a row by indexing a `result R` by the row's zero-based + * number: + * + * + * for (result::size_type i=0; i < std::size(R); ++i) Process(R[i]); + * + * + * Result sets in libpqxx are lightweight, reference-counted wrapper objects + * which are relatively small and cheap to copy. Think of a result object as + * a "smart pointer" to an underlying result set. + * + * @warning The result set that a result object points to is not thread-safe. + * If you copy a result object, it still refers to the same underlying result + * set. So never copy, destroy, query, or otherwise access a result while + * another thread may be copying, destroying, querying, or otherwise accessing + * the same result set--even if it is doing so through a different result + * object! + */ +class PQXX_LIBEXPORT result +{ +public: + using size_type = result_size_type; + using difference_type = result_difference_type; + using reference = row; + using const_iterator = const_result_iterator; + using pointer = const_iterator; + using iterator = const_iterator; + using const_reverse_iterator = const_reverse_result_iterator; + using reverse_iterator = const_reverse_iterator; + + result() noexcept : + m_data{make_data_pointer()}, + m_query{}, + m_encoding{internal::encoding_group::MONOBYTE} + {} + + result(result const &rhs) noexcept = default; + result(result &&rhs) noexcept = default; + + /// Assign one result to another. + /** Copying results is cheap: it copies only smart pointers, but the actual + * data stays in the same place. + */ + result &operator=(result const &rhs) noexcept = default; + + /// Assign one result to another, invaliding the old one. + result &operator=(result &&rhs) noexcept = default; + + /** + * @name Comparisons + * + * You can compare results for equality. Beware: this is a very strict, + * dumb comparison. The smallest difference between two results (such as a + * string "Foo" versus a string "foo") will make them unequal. + */ + //@{ + /// Compare two results for equality. + [[nodiscard]] bool operator==(result const &) const noexcept; + /// Compare two results for inequality. + [[nodiscard]] bool operator!=(result const &rhs) const noexcept + { + return not operator==(rhs); + } + //@} + + /// Iterate rows, reading them directly into a tuple of "TYPE...". + /** Converts the fields to values of the given respective types. + * + * Use this only with a ranged "for" loop. The iteration produces + * std::tuple which you can "unpack" to a series of `auto` + * variables. + */ + template auto iter() const; + + [[nodiscard]] const_reverse_iterator rbegin() const; + [[nodiscard]] const_reverse_iterator crbegin() const; + [[nodiscard]] const_reverse_iterator rend() const; + [[nodiscard]] const_reverse_iterator crend() const; + + [[nodiscard]] const_iterator begin() const noexcept; + [[nodiscard]] const_iterator cbegin() const noexcept; + [[nodiscard]] inline const_iterator end() const noexcept; + [[nodiscard]] inline const_iterator cend() const noexcept; + + [[nodiscard]] reference front() const noexcept; + [[nodiscard]] reference back() const noexcept; + + [[nodiscard]] PQXX_PURE size_type size() const noexcept; + [[nodiscard]] PQXX_PURE bool empty() const noexcept; + [[nodiscard]] size_type capacity() const noexcept { return size(); } + + /// Exchange two `result` values in an exception-safe manner. + /** If the swap fails, the two values will be exactly as they were before. + * + * The swap is not necessarily thread-safe. + */ + void swap(result &) noexcept; + + /// Index a row by number. + /** This returns a @ref row object. Generally you should not keep the row + * around as a variable, but if you do, make sure that your variable is a + * `row`, not a `row&`. + */ + [[nodiscard]] row operator[](size_type i) const noexcept; + +#if defined(PQXX_HAVE_MULTIDIMENSIONAL_SUBSCRIPT) + // TODO: If C++23 will let us, also accept string for the column. + [[nodiscard]] field + operator[](size_type row_num, row_size_type col_num) const noexcept; +#endif + + /// Index a row by number, but check that the row number is valid. + row at(size_type) const; + + /// Index a field by row number and column number. + field at(size_type, row_size_type) const; + + /// Let go of the result's data. + /** Use this if you need to deallocate the result data earlier than you can + * destroy the `result` object itself. + * + * Multiple `result` objects can refer to the same set of underlying data. + * The underlying data will be deallocated once all `result` objects that + * refer to it are cleared or destroyed. + */ + void clear() noexcept + { + m_data.reset(); + m_query = nullptr; + } + + /** + * @name Column information + */ + //@{ + /// Number of columns in result. + [[nodiscard]] PQXX_PURE row_size_type columns() const noexcept; + + /// Number of given column (throws exception if it doesn't exist). + [[nodiscard]] row_size_type column_number(zview name) const; + + /// Name of column with this number (throws exception if it doesn't exist) + [[nodiscard]] char const *column_name(row_size_type number) const &; + + /// Return column's type, as an OID from the system catalogue. + [[nodiscard]] oid column_type(row_size_type col_num) const; + + /// Return column's type, as an OID from the system catalogue. + [[nodiscard]] oid column_type(zview col_name) const + { + return column_type(column_number(col_name)); + } + + /// What table did this column come from? + [[nodiscard]] oid column_table(row_size_type col_num) const; + + /// What table did this column come from? + [[nodiscard]] oid column_table(zview col_name) const + { + return column_table(column_number(col_name)); + } + + /// What column in its table did this column come from? + [[nodiscard]] row_size_type table_column(row_size_type col_num) const; + + /// What column in its table did this column come from? + [[nodiscard]] row_size_type table_column(zview col_name) const + { + return table_column(column_number(col_name)); + } + //@} + + /// Query that produced this result, if available (empty string otherwise) + [[nodiscard]] PQXX_PURE std::string const &query() const &noexcept; + + /// If command was an `INSERT` of 1 row, return oid of the inserted row. + /** @return Identifier of inserted row if exactly one row was inserted, or + * @ref oid_none otherwise. + */ + [[nodiscard]] PQXX_PURE oid inserted_oid() const; + + /// If command was `INSERT`, `UPDATE`, or `DELETE`: number of affected rows. + /** @return Number of affected rows if last command was `INSERT`, `UPDATE`, + * or `DELETE`; zero for all other commands. + */ + [[nodiscard]] PQXX_PURE size_type affected_rows() const; + + // C++20: Concept like std::invocable, but without specifying param types. + /// Run `func` on each row, passing the row's fields as parameters. + /** Goes through the rows from first to last. You provide a callable `func`. + * + * For each row in the `result`, `for_each` will call `func`. It converts + * the row's fields to the types of `func`'s parameters, and pass them to + * `func`. + * + * (Therefore `func` must have a _single_ signature. It can't be a generic + * lambda, or an object of a class with multiple overloaded function call + * operators. Otherwise, `for_each` will have no way to detect a parameter + * list without ambiguity.) + * + * If any of your parameter types is `std::string_view`, it refers to the + * underlying storage of this `result`. + * + * If any of your parameter types is a reference type, its argument will + * refer to a temporary value which only lives for the duration of that + * single invocation to `func`. If the reference is an lvalue reference, it + * must be `const`. + * + * For example, this queries employee names and salaries from the database + * and prints how much each would like to earn instead: + * ```cxx + * tx.exec("SELECT name, salary FROM employee").for_each( + * [](std::string_view name, float salary){ + * std::cout << name << " would like " << salary * 2 << ".\n"; + * }) + * ``` + * + * If `func` throws an exception, processing stops at that point and + * propagates the exception. + * + * @throws usage_error if `func`'s number of parameters does not match the + * number of columns in this result. + */ + template inline void for_each(CALLABLE &&func) const; + +private: + using data_pointer = std::shared_ptr; + + /// Underlying libpq result set. + data_pointer m_data; + + /// Factory for data_pointer. + static data_pointer + make_data_pointer(internal::pq::PGresult const *res = nullptr) noexcept + { + return {res, internal::clear_result}; + } + + friend class pqxx::internal::gate::result_pipeline; + PQXX_PURE std::shared_ptr query_ptr() const noexcept + { + return m_query; + } + + /// Query string. + std::shared_ptr m_query; + + internal::encoding_group m_encoding; + + static std::string const s_empty_string; + + friend class pqxx::field; + // TODO: noexcept. Breaks ABI. + PQXX_PURE char const *get_value(size_type row, row_size_type col) const; + // TODO: noexcept. Breaks ABI. + PQXX_PURE bool get_is_null(size_type row, row_size_type col) const; + PQXX_PURE + field_size_type get_length(size_type, row_size_type) const noexcept; + + friend class pqxx::internal::gate::result_creation; + result( + internal::pq::PGresult *rhs, std::shared_ptr query, + internal::encoding_group enc); + + PQXX_PRIVATE void check_status(std::string_view desc = ""sv) const; + + friend class pqxx::internal::gate::result_connection; + friend class pqxx::internal::gate::result_row; + bool operator!() const noexcept { return m_data.get() == nullptr; } + operator bool() const noexcept { return m_data.get() != nullptr; } + + [[noreturn]] PQXX_PRIVATE void + throw_sql_error(std::string const &Err, std::string const &Query) const; + PQXX_PRIVATE PQXX_PURE int errorposition() const; + PQXX_PRIVATE std::string status_error() const; + + friend class pqxx::internal::gate::result_sql_cursor; + PQXX_PURE char const *cmd_status() const noexcept; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction new file mode 100644 index 000000000..04b71d7cc --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction @@ -0,0 +1,8 @@ +/** pqxx::robusttransaction class. + * + * pqxx::robusttransaction is a slower but safer transaction class. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/robusttransaction.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction.hxx new file mode 100644 index 000000000..faf6dbf5e --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/robusttransaction.hxx @@ -0,0 +1,120 @@ +/* Definition of the pqxx::robusttransaction class. + * + * pqxx::robusttransaction is a slower but safer transaction class. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/robusttransaction instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ROBUSTTRANSACTION +#define PQXX_H_ROBUSTTRANSACTION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/dbtransaction.hxx" + +namespace pqxx::internal +{ +/// Helper base class for the @ref robusttransaction class template. +class PQXX_LIBEXPORT PQXX_NOVTABLE basic_robusttransaction + : public dbtransaction +{ +public: + virtual ~basic_robusttransaction() override = 0; + +protected: + basic_robusttransaction( + connection &c, zview begin_command, std::string_view tname); + basic_robusttransaction(connection &c, zview begin_command); + +private: + using IDType = unsigned long; + + std::string m_conn_string; + std::string m_xid; + int m_backendpid = -1; + + void init(zview begin_command); + + // @warning This function will become `final`. + virtual void do_commit() override; +}; +} // namespace pqxx::internal + + +namespace pqxx +{ +/** + * @ingroup transactions + * + * @{ + */ + +/// Slightly slower, better-fortified version of transaction. +/** Requires PostgreSQL 10 or better. + * + * robusttransaction is similar to transaction, but spends more time and effort + * to deal with the hopefully rare case that the connection to the backend is + * lost just while it's trying to commit. In such cases, the client does not + * know whether the backend (on the other side of the broken connection) + * managed to commit the transaction. + * + * When this happens, robusttransaction tries to reconnect to the database and + * figure out what happened. + * + * This service level was made optional since you may not want to pay the + * overhead where it is not necessary. Certainly the use of this class makes + * no sense for local connections, or for transactions that read the database + * but never modify it, or for noncritical database manipulations. + * + * Besides being slower, it's also more complex. Which means that in practice + * a robusttransaction could actually fail more instead of less often than a + * normal transaction. What robusttransaction tries to achieve is to give you + * certainty, not just be more successful per se. + */ +template +class robusttransaction final : public internal::basic_robusttransaction +{ +public: + /** Create robusttransaction of given name. + * @param c Connection inside which this robusttransaction should live. + * @param tname optional human-readable name for this transaction. + */ + robusttransaction(connection &c, std::string_view tname) : + internal::basic_robusttransaction{ + c, pqxx::internal::begin_cmd, + tname} + {} + + /** Create robusttransaction of given name. + * @param c Connection inside which this robusttransaction should live. + * @param tname optional human-readable name for this transaction. + */ + robusttransaction(connection &c, std::string &&tname) : + internal::basic_robusttransaction{ + c, pqxx::internal::begin_cmd, + std::move(tname)} + {} + + /** Create robusttransaction of given name. + * @param c Connection inside which this robusttransaction should live. + */ + explicit robusttransaction(connection &c) : + internal::basic_robusttransaction{ + c, pqxx::internal::begin_cmd} + {} + + virtual ~robusttransaction() noexcept override { close(); } +}; + +/** + * @} + */ +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row new file mode 100644 index 000000000..62a950ac8 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row @@ -0,0 +1,11 @@ +/** pqxx::row class. + * + * pqxx::row refers to a row in a result. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" + +#include "pqxx/result.hxx" +#include "pqxx/row.hxx" + +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row.hxx new file mode 100644 index 000000000..5be5132e3 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/row.hxx @@ -0,0 +1,561 @@ +/* Definitions for the pqxx::result class and support classes. + * + * pqxx::result represents the set of result rows from a database query. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/result instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ROW +#define PQXX_H_ROW + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/except.hxx" +#include "pqxx/field.hxx" +#include "pqxx/result.hxx" + +#include "pqxx/internal/concat.hxx" + +namespace pqxx::internal +{ +template class result_iter; +} // namespace pqxx::internal + + +namespace pqxx +{ +/// Reference to one row in a result. +/** A row represents one row (also called a row) in a query result set. + * It also acts as a container mapping column numbers or names to field + * values (see below): + * + * ```cxx + * cout << row["date"].c_str() << ": " << row["name"].c_str() << endl; + * ``` + * + * The row itself acts like a (non-modifyable) container, complete with its + * own const_iterator and const_reverse_iterator. + */ +class PQXX_LIBEXPORT row +{ +public: + using size_type = row_size_type; + using difference_type = row_difference_type; + using const_iterator = const_row_iterator; + using iterator = const_iterator; + using reference = field; + using pointer = const_row_iterator; + using const_reverse_iterator = const_reverse_row_iterator; + using reverse_iterator = const_reverse_iterator; + + row() noexcept = default; + row(row &&) noexcept = default; + row(row const &) noexcept = default; + row &operator=(row const &) noexcept = default; + row &operator=(row &&) noexcept = default; + + /** + * @name Comparison + */ + //@{ + [[nodiscard]] PQXX_PURE bool operator==(row const &) const noexcept; + [[nodiscard]] bool operator!=(row const &rhs) const noexcept + { + return not operator==(rhs); + } + //@} + + [[nodiscard]] const_iterator begin() const noexcept; + [[nodiscard]] const_iterator cbegin() const noexcept; + [[nodiscard]] const_iterator end() const noexcept; + [[nodiscard]] const_iterator cend() const noexcept; + + /** + * @name Field access + */ + //@{ + [[nodiscard]] reference front() const noexcept; + [[nodiscard]] reference back() const noexcept; + + // TODO: noexcept. Breaks ABI. + [[nodiscard]] const_reverse_row_iterator rbegin() const; + // TODO: noexcept. Breaks ABI. + [[nodiscard]] const_reverse_row_iterator crbegin() const; + // TODO: noexcept. Breaks ABI. + [[nodiscard]] const_reverse_row_iterator rend() const; + // TODO: noexcept. Breaks ABI. + [[nodiscard]] const_reverse_row_iterator crend() const; + + [[nodiscard]] reference operator[](size_type) const noexcept; + /** Address field by name. + * @warning This is much slower than indexing by number, or iterating. + */ + [[nodiscard]] reference operator[](zview col_name) const; + + reference at(size_type) const; + /** Address field by name. + * @warning This is much slower than indexing by number, or iterating. + */ + reference at(zview col_name) const; + + [[nodiscard]] constexpr size_type size() const noexcept + { + return m_end - m_begin; + } + + [[deprecated("Swap iterators, not rows.")]] void swap(row &) noexcept; + + /// Row number, assuming this is a real row and not end()/rend(). + [[nodiscard]] constexpr result::size_type rownumber() const noexcept + { + return m_index; + } + + /** + * @name Column information + */ + //@{ + /// Number of given column (throws exception if it doesn't exist). + [[nodiscard]] size_type column_number(zview col_name) const; + + /// Return a column's type. + [[nodiscard]] oid column_type(size_type) const; + + /// Return a column's type. + [[nodiscard]] oid column_type(zview col_name) const + { + return column_type(column_number(col_name)); + } + + /// What table did this column come from? + [[nodiscard]] oid column_table(size_type col_num) const; + + /// What table did this column come from? + [[nodiscard]] oid column_table(zview col_name) const + { + return column_table(column_number(col_name)); + } + + /// What column number in its table did this result column come from? + /** A meaningful answer can be given only if the column in question comes + * directly from a column in a table. If the column is computed in any + * other way, a logic_error will be thrown. + * + * @param col_num a zero-based column number in this result set + * @return a zero-based column number in originating table + */ + [[nodiscard]] size_type table_column(size_type) const; + + /// What column number in its table did this result column come from? + [[nodiscard]] size_type table_column(zview col_name) const + { + return table_column(column_number(col_name)); + } + //@} + + [[nodiscard]] constexpr result::size_type num() const noexcept + { + return rownumber(); + } + + /** Produce a slice of this row, containing the given range of columns. + * + * @deprecated I haven't heard of anyone caring about row slicing at all in + * at least the last 15 years. Yet it adds complexity, so unless anyone + * files a bug explaining why they really need this feature, I'm going to + * remove it. Even if they do, the feature may need an update. + * + * The slice runs from the range's starting column to the range's end + * column, exclusive. It looks just like a normal result row, except + * slices can be empty. + */ + [[deprecated("Row slicing is going away. File a bug if you need it.")]] row + slice(size_type sbegin, size_type send) const; + + /// Is this a row without fields? Can only happen to a slice. + [[nodiscard, deprecated("Row slicing is going away.")]] PQXX_PURE bool + empty() const noexcept; + + /// Extract entire row's values into a tuple. + /** Converts to the types of the tuple's respective fields. + */ + template void to(Tuple &t) const + { + check_size(std::tuple_size_v); + convert(t); + } + + template std::tuple as() const + { + check_size(sizeof...(TYPE)); + using seq = std::make_index_sequence; + return get_tuple>(seq{}); + } + +protected: + friend class const_row_iterator; + friend class result; + row(result const &r, result_size_type index, size_type cols) noexcept; + + /// Throw @ref usage_error if row size is not `expected`. + void check_size(size_type expected) const + { + if (size() != expected) + throw usage_error{internal::concat( + "Tried to extract ", expected, " field(s) from a row of ", size(), + ".")}; + } + + /// Convert to a given tuple of values, don't check sizes. + /** We need this for cases where we have a full tuple of field types, but + * not a parameter pack. + */ + template TUPLE as_tuple() const + { + using seq = std::make_index_sequence>; + return get_tuple(seq{}); + } + + template friend class pqxx::internal::result_iter; + /// Convert entire row to tuple fields, without checking row size. + template void convert(Tuple &t) const + { + extract_fields(t, std::make_index_sequence>{}); + } + + friend class field; + + /// Result set of which this is one row. + result m_result; + + /// Row number. + /** + * You'd expect this to be unsigned, but due to the way reverse iterators + * are related to regular iterators, it must be allowed to underflow to -1. + */ + result::size_type m_index = 0; + + // TODO: Remove m_begin and (if possible) m_end when we remove slice(). + /// First column in slice. This row ignores lower-numbered columns. + size_type m_begin = 0; + /// End column in slice. This row only sees lower-numbered columns. + size_type m_end = 0; + +private: + template + void extract_fields(Tuple &t, std::index_sequence) const + { + (extract_value(t), ...); + } + + template + void extract_value(Tuple &t) const; + + /// Convert row's values as a new tuple. + template + auto get_tuple(std::index_sequence) const + { + return std::make_tuple(get_field()...); + } + + /// Extract and convert a field. + template auto get_field() const + { + return (*this)[index].as>(); + } +}; + + +/// Iterator for fields in a row. Use as row::const_iterator. +class PQXX_LIBEXPORT const_row_iterator : public field +{ +public: + using iterator_category = std::random_access_iterator_tag; + using value_type = field const; + using pointer = field const *; + using size_type = row_size_type; + using difference_type = row_difference_type; + using reference = field; + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + const_row_iterator() = default; +#include "pqxx/internal/ignore-deprecated-post.hxx" + const_row_iterator(row const &t, row_size_type c) noexcept : + field{t.m_result, t.m_index, c} + {} + const_row_iterator(field const &F) noexcept : field{F} {} + const_row_iterator(const_row_iterator const &) noexcept = default; + const_row_iterator(const_row_iterator &&) noexcept = default; + + /** + * @name Dereferencing operators + */ + //@{ + [[nodiscard]] constexpr pointer operator->() const noexcept { return this; } + [[nodiscard]] reference operator*() const noexcept { return {*this}; } + //@} + + /** + * @name Manipulations + */ + //@{ + const_row_iterator &operator=(const_row_iterator const &) noexcept = default; + const_row_iterator &operator=(const_row_iterator &&) noexcept = default; + + // TODO: noexcept. Breaks ABI. + const_row_iterator operator++(int); + const_row_iterator &operator++() noexcept + { + ++m_col; + return *this; + } + // TODO: noexcept. Breaks ABI. + const_row_iterator operator--(int); + const_row_iterator &operator--() noexcept + { + --m_col; + return *this; + } + + const_row_iterator &operator+=(difference_type i) noexcept + { + m_col = size_type(difference_type(m_col) + i); + return *this; + } + const_row_iterator &operator-=(difference_type i) noexcept + { + m_col = size_type(difference_type(m_col) - i); + return *this; + } + //@} + + /** + * @name Comparisons + */ + //@{ + [[nodiscard]] constexpr bool + operator==(const_row_iterator const &i) const noexcept + { + return col() == i.col(); + } + [[nodiscard]] constexpr bool + operator!=(const_row_iterator const &i) const noexcept + { + return col() != i.col(); + } + [[nodiscard]] constexpr bool + operator<(const_row_iterator const &i) const noexcept + { + return col() < i.col(); + } + [[nodiscard]] constexpr bool + operator<=(const_row_iterator const &i) const noexcept + { + return col() <= i.col(); + } + [[nodiscard]] constexpr bool + operator>(const_row_iterator const &i) const noexcept + { + return col() > i.col(); + } + [[nodiscard]] constexpr bool + operator>=(const_row_iterator const &i) const noexcept + { + return col() >= i.col(); + } + //@} + + /** + * @name Arithmetic operators + */ + //@{ + [[nodiscard]] inline const_row_iterator + operator+(difference_type) const noexcept; + + friend const_row_iterator + operator+(difference_type, const_row_iterator const &) noexcept; + + [[nodiscard]] inline const_row_iterator + operator-(difference_type) const noexcept; + [[nodiscard]] inline difference_type + operator-(const_row_iterator const &) const noexcept; + //@} +}; + + +/// Reverse iterator for a row. Use as row::const_reverse_iterator. +class PQXX_LIBEXPORT const_reverse_row_iterator : private const_row_iterator +{ +public: + using super = const_row_iterator; + using iterator_type = const_row_iterator; + using iterator_type::difference_type; + using iterator_type::iterator_category; + using iterator_type::pointer; + using value_type = iterator_type::value_type; + using reference = iterator_type::reference; + + const_reverse_row_iterator() noexcept = default; + const_reverse_row_iterator(const_reverse_row_iterator const &) noexcept = + default; + const_reverse_row_iterator(const_reverse_row_iterator &&) noexcept = default; + + explicit const_reverse_row_iterator(super const &rhs) noexcept : + const_row_iterator{rhs} + { + super::operator--(); + } + + [[nodiscard]] PQXX_PURE iterator_type base() const noexcept; + + /** + * @name Dereferencing operators + */ + //@{ + using iterator_type::operator->; + using iterator_type::operator*; + //@} + + /** + * @name Manipulations + */ + //@{ + const_reverse_row_iterator & + operator=(const_reverse_row_iterator const &r) noexcept + { + iterator_type::operator=(r); + return *this; + } + const_reverse_row_iterator operator++() noexcept + { + iterator_type::operator--(); + return *this; + } + // TODO: noexcept. Breaks ABI. + const_reverse_row_iterator operator++(int); + const_reverse_row_iterator &operator--() noexcept + { + iterator_type::operator++(); + return *this; + } + const_reverse_row_iterator operator--(int); + // TODO: noexcept. Breaks ABI. + const_reverse_row_iterator &operator+=(difference_type i) noexcept + { + iterator_type::operator-=(i); + return *this; + } + const_reverse_row_iterator &operator-=(difference_type i) noexcept + { + iterator_type::operator+=(i); + return *this; + } + //@} + + /** + * @name Arithmetic operators + */ + //@{ + [[nodiscard]] const_reverse_row_iterator + operator+(difference_type i) const noexcept + { + return const_reverse_row_iterator{base() - i}; + } + [[nodiscard]] const_reverse_row_iterator + operator-(difference_type i) noexcept + { + return const_reverse_row_iterator{base() + i}; + } + [[nodiscard]] difference_type + operator-(const_reverse_row_iterator const &rhs) const noexcept + { + return rhs.const_row_iterator::operator-(*this); + } + //@} + + /** + * @name Comparisons + */ + //@{ + [[nodiscard]] bool + operator==(const_reverse_row_iterator const &rhs) const noexcept + { + return iterator_type::operator==(rhs); + } + [[nodiscard]] bool + operator!=(const_reverse_row_iterator const &rhs) const noexcept + { + return !operator==(rhs); + } + + [[nodiscard]] constexpr bool + operator<(const_reverse_row_iterator const &rhs) const noexcept + { + return iterator_type::operator>(rhs); + } + [[nodiscard]] constexpr bool + operator<=(const_reverse_row_iterator const &rhs) const noexcept + { + return iterator_type::operator>=(rhs); + } + [[nodiscard]] constexpr bool + operator>(const_reverse_row_iterator const &rhs) const noexcept + { + return iterator_type::operator<(rhs); + } + [[nodiscard]] constexpr bool + operator>=(const_reverse_row_iterator const &rhs) const noexcept + { + return iterator_type::operator<=(rhs); + } + //@} +}; + + +const_row_iterator +const_row_iterator::operator+(difference_type o) const noexcept +{ + // TODO:: More direct route to home().columns()? + return { + row{home(), idx(), home().columns()}, + size_type(difference_type(col()) + o)}; +} + +inline const_row_iterator operator+( + const_row_iterator::difference_type o, const_row_iterator const &i) noexcept +{ + return i + o; +} + +inline const_row_iterator +const_row_iterator::operator-(difference_type o) const noexcept +{ + // TODO:: More direct route to home().columns()? + return { + row{home(), idx(), home().columns()}, + size_type(difference_type(col()) - o)}; +} + +inline const_row_iterator::difference_type +const_row_iterator::operator-(const_row_iterator const &i) const noexcept +{ + return difference_type(num() - i.num()); +} + + +template +inline void row::extract_value(Tuple &t) const +{ + using field_type = strip_t(t))>; + field const f{m_result, m_index, index}; + std::get(t) = from_string(f); +} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list new file mode 100644 index 000000000..1bdf51c6a --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list @@ -0,0 +1,6 @@ +/** Helper similar to Python's @c str.join(). + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/separated_list.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list.hxx new file mode 100644 index 000000000..d4230ea08 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/separated_list.hxx @@ -0,0 +1,142 @@ +/* Helper similar to Python's `str.join()`. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/separated_list instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_SEPARATED_LIST +#define PQXX_H_SEPARATED_LIST + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include + +#include "pqxx/strconv.hxx" + +// C++20: Simplify using std::ranges::range. +// C++20: Optimise buffer allocation using random_access_range/iterator. +namespace pqxx +{ +/** + * @defgroup utility Utility functions + */ +//@{ + +/// Represent sequence of values as a string, joined by a given separator. +/** + * Use this to turn e.g. the numbers 1, 2, and 3 into a string "1, 2, 3". + * + * @param sep separator string (to be placed between items) + * @param begin beginning of items sequence + * @param end end of items sequence + * @param access functor defining how to dereference sequence elements + */ +template +[[nodiscard]] inline std::string +separated_list(std::string_view sep, ITER begin, ITER end, ACCESS access) +{ + if (end == begin) + return {}; + auto next{begin}; + ++next; + if (next == end) + return to_string(access(begin)); + + // From here on, we've got at least 2 elements -- meaning that we need sep. + using elt_type = strip_t; + using traits = string_traits; + + std::size_t budget{0}; + for (ITER cnt{begin}; cnt != end; ++cnt) + budget += traits::size_buffer(access(cnt)); + budget += + static_cast(std::distance(begin, end)) * std::size(sep); + + std::string result; + result.resize(budget); + + char *const data{result.data()}; + char *here{data}; + char *stop{data + budget}; + here = traits::into_buf(here, stop, access(begin)) - 1; + for (++begin; begin != end; ++begin) + { + here += sep.copy(here, std::size(sep)); + here = traits::into_buf(here, stop, access(begin)) - 1; + } + result.resize(static_cast(here - data)); + return result; +} + + +/// Render sequence as a string, using given separator between items. +template +[[nodiscard]] inline std::string +separated_list(std::string_view sep, ITER begin, ITER end) +{ + return separated_list(sep, begin, end, [](ITER i) { return *i; }); +} + + +/// Render items in a container as a string, using given separator. +template +[[nodiscard]] inline auto +separated_list(std::string_view sep, CONTAINER const &c) + /* + Always std::string; necessary because SFINAE doesn't work with the + contents of function bodies, so the check for iterability has to be in + the signature. + */ + -> typename std::enable_if< + (not std::is_void::value and + not std::is_void::value), + std::string>::type +{ + return separated_list(sep, std::begin(c), std::end(c)); +} + + +/// Render items in a tuple as a string, using given separator. +template< + typename TUPLE, std::size_t INDEX = 0, typename ACCESS, + typename std::enable_if< + (INDEX == std::tuple_size::value - 1), int>::type = 0> +[[nodiscard]] inline std::string separated_list( + std::string_view /* sep */, TUPLE const &t, ACCESS const &access) +{ + return to_string(access(&std::get(t))); +} + +template< + typename TUPLE, std::size_t INDEX = 0, typename ACCESS, + typename std::enable_if< + (INDEX < std::tuple_size::value - 1), int>::type = 0> +[[nodiscard]] inline std::string +separated_list(std::string_view sep, TUPLE const &t, ACCESS const &access) +{ + std::string out{to_string(access(&std::get(t)))}; + out.append(sep); + out.append(separated_list(sep, t, access)); + return out; +} + +template< + typename TUPLE, std::size_t INDEX = 0, + typename std::enable_if< + (INDEX <= std::tuple_size::value), int>::type = 0> +[[nodiscard]] inline std::string +separated_list(std::string_view sep, TUPLE const &t) +{ + // TODO: Optimise allocation. + return separated_list(sep, t, [](TUPLE const &tup) { return *tup; }); +} +//@} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv new file mode 100644 index 000000000..aa2c40ed5 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv @@ -0,0 +1,6 @@ +/** String conversion definitions. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/strconv.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv.hxx new file mode 100644 index 000000000..863711228 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/strconv.hxx @@ -0,0 +1,468 @@ +/* String conversion definitions. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/stringconv instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_STRCONV +#define PQXX_H_STRCONV + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include +#include +#include +#include + +#if __has_include() +# include +#endif + +#if defined(PQXX_HAVE_RANGES) && __has_include() +# include +#endif + +#include "pqxx/except.hxx" +#include "pqxx/util.hxx" +#include "pqxx/zview.hxx" + + +namespace pqxx::internal +{ +/// Attempt to demangle @c std::type_info::name() to something human-readable. +PQXX_LIBEXPORT std::string demangle_type_name(char const[]); +} // namespace pqxx::internal + + +namespace pqxx +{ +/** + * @defgroup stringconversion String conversion + * + * The PostgreSQL server accepts and represents data in string form. It has + * its own formats for various data types. The string conversions define how + * various C++ types translate to and from their respective PostgreSQL text + * representations. + * + * Each conversion is defined by a specialisations of @c string_traits. It + * gets complicated if you want top performance, but until you do, all you + * really need to care about when converting values between C++ in-memory + * representations such as @c int and the postgres string representations is + * the @c pqxx::to_string and @c pqxx::from_string functions. + * + * If you need to convert a type which is not supported out of the box, you'll + * need to define your own specialisations for these templates, similar to the + * ones defined here and in `pqxx/conversions.hxx`. Any conversion code which + * "sees" your specialisation will now support your conversion. In particular, + * you'll be able to read result fields into a variable of the new type. + * + * There is a macro to help you define conversions for individual enumeration + * types. The conversion will represent enumeration values as numeric strings. + */ +//@{ + +/// A human-readable name for a type, used in error messages and such. +/** Actually this may not always be very user-friendly. It uses + * @c std::type_info::name(). On gcc-like compilers we try to demangle its + * output. Visual Studio produces human-friendly names out of the box. + * + * This variable is not inline. Inlining it gives rise to "memory leak" + * warnings from asan, the address sanitizer, possibly from use of + * @c std::type_info::name. + */ +template +std::string const type_name{internal::demangle_type_name(typeid(TYPE).name())}; + + +/// Traits describing a type's "null value," if any. +/** Some C++ types have a special value or state which correspond directly to + * SQL's NULL. + * + * The @c nullness traits describe whether it exists, and whether a particular + * value is null. + */ +template struct nullness +{ + /// Does this type have a null value? + static bool has_null; + + /// Is this type always null? + static bool always_null; + + /// Is @c value a null? + static bool is_null(TYPE const &value); + + /// Return a null value. + /** Don't use this in generic code to compare a value and see whether it is + * null. Some types may have multiple null values which do not compare as + * equal, or may define a null value which is not equal to anything including + * itself, like in SQL. + */ + [[nodiscard]] static TYPE null(); +}; + + +/// Nullness traits describing a type which does not have a null value. +template struct no_null +{ + /// Does @c TYPE have a "built-in null value"? + /** For example, a pointer can equal @c nullptr, which makes a very natural + * representation of an SQL null value. For such types, the code sometimes + * needs to make special allowances. + * + * for most types, such as @c int or @c std::string, there is no built-in + * null. If you want to represent an SQL null value for such a type, you + * would have to wrap it in something that does have a null value. For + * example, you could use @c std::optional for "either an @c int or a + * null value." + */ + static constexpr bool has_null = false; + + /// Are all values of this type null? + /** There are a few special C++ types which are always null - mainly + * @c std::nullptr_t. + */ + static constexpr bool always_null = false; + + /// Does a given value correspond to an SQL null value? + /** Most C++ types, such as @c int or @c std::string, have no inherent null + * value. But some types such as C-style string pointers do have a natural + * equivalent to an SQL null. + */ + [[nodiscard]] static constexpr bool is_null(TYPE const &) noexcept + { + return false; + } +}; + + +/// Traits class for use in string conversions. +/** Specialize this template for a type for which you wish to add to_string + * and from_string support. + * + * String conversions are not meant to work for nulls. Check for null before + * converting a value of @c TYPE to a string, or vice versa. + */ +template struct string_traits +{ + /// Return a @c string_view representing value, plus terminating zero. + /** Produces a @c string_view containing the PostgreSQL string representation + * for @c value. + * + * Uses the space from @c begin to @c end as a buffer, if needed. The + * returned string may lie somewhere in that buffer, or it may be a + * compile-time constant, or it may be null if value was a null value. Even + * if the string is stored in the buffer, its @c begin() may or may not be + * the same as @c begin. + * + * The @c string_view is guaranteed to be valid as long as the buffer from + * @c begin to @c end remains accessible and unmodified. + * + * @throws pqxx::conversion_overrun if the provided buffer space may not be + * enough. For maximum performance, this is a conservative estimate. It may + * complain about a buffer which is actually large enough for your value, if + * an exact check gets too expensive. + */ + [[nodiscard]] static inline zview + to_buf(char *begin, char *end, TYPE const &value); + + /// Write value's string representation into buffer at @c begin. + /** Assumes that value is non-null. + * + * Writes value's string representation into the buffer, starting exactly at + * @c begin, and ensuring a trailing zero. Returns the address just beyond + * the trailing zero, so the caller could use it as the @c begin for another + * call to @c into_buf writing a next value. + */ + static inline char *into_buf(char *begin, char *end, TYPE const &value); + + /// Parse a string representation of a @c TYPE value. + /** Throws @c conversion_error if @c value does not meet the expected format + * for a value of this type. + */ + [[nodiscard]] static inline TYPE from_string(std::string_view text); + + // C++20: Can we make these all constexpr? + /// Estimate how much buffer space is needed to represent value. + /** The estimate may be a little pessimistic, if it saves time. + * + * The estimate includes the terminating zero. + */ + [[nodiscard]] static inline std::size_t + size_buffer(TYPE const &value) noexcept; +}; + + +/// Nullness: Enums do not have an inherent null value. +template +struct nullness>> : no_null +{}; +} // namespace pqxx + + +namespace pqxx::internal +{ +/// Helper class for defining enum conversions. +/** The conversion will convert enum values to numeric strings, and vice versa. + * + * To define a string conversion for an enum type, derive a @c string_traits + * specialisation for the enum from this struct. + * + * There's usually an easier way though: the @c PQXX_DECLARE_ENUM_CONVERSION + * macro. Use @c enum_traits manually only if you need to customise your + * traits type in more detail. + */ +template struct enum_traits +{ + using impl_type = std::underlying_type_t; + using impl_traits = string_traits; + + [[nodiscard]] static constexpr zview + to_buf(char *begin, char *end, ENUM const &value) + { + return impl_traits::to_buf(begin, end, to_underlying(value)); + } + + static constexpr char *into_buf(char *begin, char *end, ENUM const &value) + { + return impl_traits::into_buf(begin, end, to_underlying(value)); + } + + [[nodiscard]] static ENUM from_string(std::string_view text) + { + return static_cast(impl_traits::from_string(text)); + } + + [[nodiscard]] static std::size_t size_buffer(ENUM const &value) noexcept + { + return impl_traits::size_buffer(to_underlying(value)); + } + +private: + // C++23: Replace with std::to_underlying. + static constexpr impl_type to_underlying(ENUM const &value) noexcept + { + return static_cast(value); + } +}; +} // namespace pqxx::internal + + +/// Macro: Define a string conversion for an enum type. +/** This specialises the @c pqxx::string_traits template, so use it in the + * @c ::pqxx namespace. + * + * For example: + * + * #include + * #include + * enum X { xa, xb }; + * namespace pqxx { PQXX_DECLARE_ENUM_CONVERSION(x); } + * int main() { std::cout << pqxx::to_string(xa) << std::endl; } + */ +#define PQXX_DECLARE_ENUM_CONVERSION(ENUM) \ + template<> struct string_traits : pqxx::internal::enum_traits \ + {}; \ + template<> inline std::string const type_name { #ENUM } + + +namespace pqxx +{ +/// Parse a value in postgres' text format as a TYPE. +/** If the form of the value found in the string does not match the expected + * type, e.g. if a decimal point is found when converting to an integer type, + * the conversion fails. Overflows (e.g. converting "9999999999" to a 16-bit + * C++ type) are also treated as errors. If in some cases this behaviour + * should be inappropriate, convert to something bigger such as @c long @c int + * first and then truncate the resulting value. + * + * Only the simplest possible conversions are supported. Fancy features like + * hexadecimal or octal, spurious signs, or exponent notation won't work. + * Whitespace is not stripped away. Only the kinds of strings that come out of + * PostgreSQL and out of to_string() can be converted. + */ +template +[[nodiscard]] inline TYPE from_string(std::string_view text) +{ + return string_traits::from_string(text); +} + + +/// "Convert" a std::string_view to a std::string_view. +/** Just returns its input. + * + * @warning Of course the result is only valid for as long as the original + * string remains valid! Never access the string referenced by the return + * value after the original has been destroyed. + */ +template<> +[[nodiscard]] inline std::string_view from_string(std::string_view text) +{ + return text; +} + + +/// Attempt to convert postgres-generated string to given built-in object. +/** This is like the single-argument form of the function, except instead of + * returning the value, it sets @c value. + * + * You may find this more convenient in that it infers the type you want from + * the argument you pass. But there are disadvantages: it requires an + * assignment operator, and it may be less efficient. + */ +template inline void from_string(std::string_view text, T &value) +{ + value = from_string(text); +} + + +/// Convert a value to a readable string that PostgreSQL will understand. +/** The conversion does no special formatting, and ignores any locale settings. + * The resulting string will be human-readable and in a format suitable for use + * in SQL queries. It won't have niceties such as "thousands separators" + * though. + */ +template inline std::string to_string(TYPE const &value); + + +/// Convert multiple values to strings inside a single buffer. +/** There must be enough room for all values, or this will throw + * @c conversion_overrun. You can obtain a conservative estimate of the buffer + * space required by calling @c size_buffer() on the values. + * + * The @c std::string_view results may point into the buffer, so don't assume + * that they will remain valid after you destruct or move the buffer. + */ +template +[[nodiscard]] inline std::vector +to_buf(char *here, char const *end, TYPE... value) +{ + return {[&here, end](auto v) { + auto begin = here; + here = string_traits::into_buf(begin, end, v); + // Exclude the trailing zero out of the string_view. + auto len{static_cast(here - begin) - 1}; + return std::string_view{begin, len}; + }(value)...}; +} + +/// Convert a value to a readable string that PostgreSQL will understand. +/** This variant of to_string can sometimes save a bit of time in loops, by + * re-using a std::string for multiple conversions. + */ +template +inline void into_string(TYPE const &value, std::string &out); + + +/// Is @c value null? +template +[[nodiscard]] inline constexpr bool is_null(TYPE const &value) noexcept +{ + return nullness>::is_null(value); +} + + +/// Estimate how much buffer space is needed to represent values as a string. +/** The estimate may be a little pessimistic, if it saves time. It also + * includes room for a terminating zero after each value. + */ +template +[[nodiscard]] inline std::size_t size_buffer(TYPE const &...value) noexcept +{ + return (string_traits>::size_buffer(value) + ...); +} + + +/// Does this type translate to an SQL array? +/** Specialisations may override this to be true for container types. + * + * This may not always be a black-and-white choice. For instance, a + * @c std::string is a container, but normally it translates to an SQL string, + * not an SQL array. + */ +template inline constexpr bool is_sql_array{false}; + + +/// Can we use this type in arrays and composite types without quoting them? +/** Define this as @c true only if values of @c TYPE can never contain any + * special characters that might need escaping or confuse the parsing of array + * or composite * types, such as commas, quotes, parentheses, braces, newlines, + * and so on. + * + * When converting a value of such a type to a string in an array or a field in + * a composite type, we do not need to add quotes, nor escape any special + * characters. + * + * This is just an optimisation, so it defaults to @c false to err on the side + * of slow correctness. + */ +template inline constexpr bool is_unquoted_safe{false}; + + +/// Element separator between SQL array elements of this type. +template inline constexpr char array_separator{','}; + + +/// What's the preferred format for passing non-null parameters of this type? +/** This affects how we pass parameters of @c TYPE when calling parameterised + * statements or prepared statements. + * + * Generally we pass parameters in text format, but binary strings are the + * exception. We also pass nulls in binary format, so this function need not + * handle null values. + */ +template inline constexpr format param_format(TYPE const &) +{ + return format::text; +} + + +/// Implement @c string_traits::to_buf by calling @c into_buf. +/** When you specialise @c string_traits for a new type, most of the time its + * @c to_buf implementation has no special optimisation tricks and just writes + * its text into the buffer it receives from the caller, starting at the + * beginning. + * + * In that common situation, you can implement @c to_buf as just a call to + * @c generic_to_buf. It will call @c into_buf and return the right result for + * @c to_buf. + */ +template +inline zview generic_to_buf(char *begin, char *end, TYPE const &value) +{ + using traits = string_traits; + // The trailing zero does not count towards the zview's size, so subtract 1 + // from the result we get from into_buf(). + if (is_null(value)) + return {}; + else + return {begin, traits::into_buf(begin, end, value) - begin - 1}; +} + + +#if defined(PQXX_HAVE_CONCEPTS) +/// Concept: Binary string, akin to @c std::string for binary data. +/** Any type that satisfies this concept can represent an SQL BYTEA value. + * + * A @c binary has a @c begin(), @c end(), @c size(), and @data(). Each byte + * is a @c std::byte, and they must all be laid out contiguously in memory so + * we can reference them by a pointer. + */ +template +concept binary = std::ranges::contiguous_range and + std::is_same_v>, std::byte>; +#endif +//@} +} // namespace pqxx + + +#include "pqxx/internal/conversions.hxx" +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from new file mode 100644 index 000000000..972762443 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from @@ -0,0 +1,8 @@ +/** pqxx::stream_from class. + * + * pqxx::stream_from enables optimized batch reads from a database table. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/stream_from.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from.hxx new file mode 100644 index 000000000..ff4a93d2e --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_from.hxx @@ -0,0 +1,361 @@ +/* Definition of the pqxx::stream_from class. + * + * pqxx::stream_from enables optimized batch reads from a database table. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/stream_from instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_STREAM_FROM +#define PQXX_H_STREAM_FROM + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include + +#include "pqxx/connection.hxx" +#include "pqxx/except.hxx" +#include "pqxx/internal/concat.hxx" +#include "pqxx/internal/encoding_group.hxx" +#include "pqxx/internal/stream_iterator.hxx" +#include "pqxx/separated_list.hxx" +#include "pqxx/transaction_focus.hxx" + + +namespace pqxx +{ +class transaction_base; + + +/// Pass this to a `stream_from` constructor to stream table contents. +/** @deprecated Use @ref stream_from::table() instead. + */ +constexpr from_table_t from_table; +/// Pass this to a `stream_from` constructor to stream query results. +/** @deprecated Use stream_from::query() instead. + */ +constexpr from_query_t from_query; + + +/// Stream data from the database. +/** For larger data sets, retrieving data this way is likely to be faster than + * executing a query and then iterating and converting the rows fields. You + * will also be able to start processing before all of the data has come in. + * + * There are also downsides. Not all kinds of query will work in a stream. + * But straightforward `SELECT` and `UPDATE ... RETURNING` queries should work. + * This function makes use of @ref pqxx::stream_from, which in turn uses + * PostgreSQL's `COPY` command, so see the documentation for those to get the + * full details. + * + * There are other downsides. If there stream encounters an error, it may + * leave the entire connection in an unusable state, so you'll have to give the + * whole thing up. Finally, opening a stream puts the connection in a special + * state, so you won't be able to do many other things with the connection or + * the transaction while the stream is open. + * + * There are two ways of starting a stream: you stream either all rows in a + * table (using one of the factories, `table()` or `raw_table()`), or the + * results of a query (using the `query()` factory). + * + * Usually you'll want the `stream` convenience wrapper in + * @ref transaction_base, * so you don't need to deal with this class directly. + * + * @warning While a stream is active, you cannot execute queries, open a + * pipeline, etc. on the same transaction. A transaction can have at most one + * object of a type derived from @ref pqxx::transaction_focus active on it at a + * time. + */ +class PQXX_LIBEXPORT stream_from : transaction_focus +{ +public: + using raw_line = + std::pair>, std::size_t>; + + /// Factory: Execute query, and stream the results. + /** The query can be a SELECT query or a VALUES query; or it can be an + * UPDATE, INSERT, or DELETE with a RETURNING clause. + * + * The query is executed as part of a COPY statement, so there are additional + * restrictions on what kind of query you can use here. See the PostgreSQL + * documentation for the COPY command: + * + * https://www.postgresql.org/docs/current/sql-copy.html + */ + static stream_from query(transaction_base &tx, std::string_view q) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return {tx, from_query, q}; +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /** + * @name Streaming data from tables + * + * You can use `stream_from` to read a table's contents. This is a quick + * and easy way to read a table, but it comes with limitations. It cannot + * stream from a view, only from a table. It does not support conditions. + * And there are no guarantees about ordering. If you need any of those + * things, consider streaming from a query instead. + */ + //@{ + + /// Factory: Stream data from a pre-quoted table and columns. + /** Use this factory if you need to create multiple streams using the same + * table path and/or columns list, and you want to save a bit of work on + * composing the internal SQL statement for starting the stream. It lets you + * compose the string representations for the table path and the columns + * list, so you can compute these once and then re-use them later. + * + * @param tx The transaction within which the stream will operate. + * @param path Name or path for the table upon which the stream will + * operate. If any part of the table path may contain special + * characters or be case-sensitive, quote the path using + * pqxx::connection::quote_table(). + * @param columns Columns which the stream will read. They should be + * comma-separated and, if needed, quoted. You can produce the string + * using pqxx::connection::quote_columns(). If you omit this argument, + * the stream will read all columns in the table, in schema order. + */ + static stream_from raw_table( + transaction_base &tx, std::string_view path, + std::string_view columns = ""sv); + + /// Factory: Stream data from a given table. + /** This is the convenient way to stream from a table. + */ + static stream_from table( + transaction_base &tx, table_path path, + std::initializer_list columns = {}); + //@} + + /// Execute query, and stream over the results. + /** @deprecated Use factory function @ref query instead. + */ + [[deprecated("Use query() factory instead.")]] stream_from( + transaction_base &, from_query_t, std::string_view query); + + /// Stream all rows in table, all columns. + /** @deprecated Use factories @ref table or @ref raw_table instead. + */ + [[deprecated("Use table() or raw_table() factory instead.")]] stream_from( + transaction_base &, from_table_t, std::string_view table); + + /// Stream given columns from all rows in table. + /** @deprecated Use factories @ref table or @ref raw_table instead. + */ + template + [[deprecated("Use table() or raw_table() factory instead.")]] stream_from( + transaction_base &, from_table_t, std::string_view table, + Iter columns_begin, Iter columns_end); + + /// Stream given columns from all rows in table. + /** @deprecated Use factory function @ref query instead. + */ + template + [[deprecated("Use table() or raw_table() factory instead.")]] stream_from( + transaction_base &tx, from_table_t, std::string_view table, + Columns const &columns); + +#include "pqxx/internal/ignore-deprecated-pre.hxx" + /// @deprecated Use factories @ref table or @ref raw_table instead. + [[deprecated("Use the from_table_t overload instead.")]] stream_from( + transaction_base &tx, std::string_view table) : + stream_from{tx, from_table, table} + {} +#include "pqxx/internal/ignore-deprecated-post.hxx" + + /// @deprecated Use factories @ref table or @ref raw_table instead. + template + [[deprecated("Use the from_table_t overload instead.")]] stream_from( + transaction_base &tx, std::string_view table, Columns const &columns) : + stream_from{tx, from_table, table, columns} + {} + + /// @deprecated Use factories @ref table or @ref raw_table instead. + template + [[deprecated("Use the from_table_t overload instead.")]] stream_from( + transaction_base &, std::string_view table, Iter columns_begin, + Iter columns_end); + + ~stream_from() noexcept; + + /// May this stream still produce more data? + [[nodiscard]] constexpr operator bool() const noexcept + { + return not m_finished; + } + /// Has this stream produced all the data it is going to produce? + [[nodiscard]] constexpr bool operator!() const noexcept + { + return m_finished; + } + + /// Finish this stream. Call this before continuing to use the connection. + /** Consumes all remaining lines, and closes the stream. + * + * This may take a while if you're abandoning the stream before it's done, so + * skip it in error scenarios where you're not planning to use the connection + * again afterwards. + */ + void complete(); + + /// Read one row into a tuple. + /** Converts the row's fields into the fields making up the tuple. + * + * For a column which can contain nulls, be sure to give the corresponding + * tuple field a type which can be null. For example, to read a field as + * `int` when it may contain nulls, read it as `std::optional`. + * Using `std::shared_ptr` or `std::unique_ptr` will also work. + */ + template stream_from &operator>>(Tuple &); + + /// Doing this with a `std::variant` is going to be horrifically borked. + template + stream_from &operator>>(std::variant &) = delete; + + /// Iterate over this stream. Supports range-based "for" loops. + /** Produces an input iterator over the stream. + * + * Do not call this yourself. Use it like "for (auto data : stream.iter())". + */ + template [[nodiscard]] auto iter() & + { + return pqxx::internal::stream_input_iteration{*this}; + } + + /// Read a row. Return fields as views, valid until you read the next row. + /** Returns `nullptr` when there are no more rows to read. Do not attempt + * to read any further rows after that. + * + * Do not access the vector, or the storage referenced by the views, after + * closing or completing the stream, or after attempting to read a next row. + * + * A @ref pqxx::zview is like a `std::string_view`, but with the added + * guarantee that if its data pointer is non-null, the string is followed by + * a terminating zero (which falls just outside the view itself). + * + * If any of the views' data pointer is null, that means that the + * corresponding SQL field is null. + * + * @warning The return type may change in the future, to support C++20 + * coroutine-based usage. + */ + std::vector const *read_row() &; + + /// Read a raw line of text from the COPY command. + /** @warning Do not use this unless you really know what you're doing. */ + raw_line get_raw_line(); + +private: + // TODO: Clean up this signature once we cull the deprecated constructors. + /// @deprecated + stream_from( + transaction_base &tx, std::string_view table, std::string_view columns, + from_table_t); + + // TODO: Clean up this signature once we cull the deprecated constructors. + /// @deprecated + stream_from( + transaction_base &, std::string_view unquoted_table, + std::string_view columns, from_table_t, int); + + template + void extract_fields(Tuple &t, std::index_sequence) const + { + (extract_value(t), ...); + } + + pqxx::internal::glyph_scanner_func *m_glyph_scanner; + + /// Current row's fields' text, combined into one reusable string. + std::string m_row; + + /// The current row's fields. + std::vector m_fields; + + bool m_finished = false; + + void close(); + + template + void extract_value(Tuple &) const; + + /// Read a line of COPY data, write `m_row` and `m_fields`. + void parse_line(); +}; + + +template +inline stream_from::stream_from( + transaction_base &tx, from_table_t, std::string_view table_name, + Columns const &columns) : + stream_from{ + tx, from_table, table_name, std::begin(columns), std::end(columns)} +{} + + +template +inline stream_from::stream_from( + transaction_base &tx, from_table_t, std::string_view table, + Iter columns_begin, Iter columns_end) : + stream_from{ + tx, table, separated_list(",", columns_begin, columns_end), + from_table, 1} +{} + + +template inline stream_from &stream_from::operator>>(Tuple &t) +{ + if (m_finished) + return *this; + static constexpr auto tup_size{std::tuple_size_v}; + m_fields.reserve(tup_size); + parse_line(); + if (m_finished) + return *this; + + if (std::size(m_fields) != tup_size) + throw usage_error{internal::concat( + "Tried to extract ", tup_size, " field(s) from a stream of ", + std::size(m_fields), ".")}; + + extract_fields(t, std::make_index_sequence{}); + return *this; +} + + +template +inline void stream_from::extract_value(Tuple &t) const +{ + using field_type = strip_t(t))>; + using nullity = nullness; + assert(index < std::size(m_fields)); + if constexpr (nullity::always_null) + { + if (std::data(m_fields[index]) != nullptr) + throw conversion_error{"Streaming non-null value into null field."}; + } + else if (std::data(m_fields[index]) == nullptr) + { + if constexpr (nullity::has_null) + std::get(t) = nullity::null(); + else + internal::throw_null_conversion(type_name); + } + else + { + // Don't ever try to convert a non-null value to nullptr_t! + std::get(t) = from_string(m_fields[index]); + } +} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to new file mode 100644 index 000000000..8760cf1f4 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to @@ -0,0 +1,8 @@ +/** pqxx::stream_to class. + * + * pqxx::stream_to enables optimized batch updates to a database table. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/stream_to.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to.hxx new file mode 100644 index 000000000..2a49d8f85 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/stream_to.hxx @@ -0,0 +1,455 @@ +/* Definition of the pqxx::stream_to class. + * + * pqxx::stream_to enables optimized batch updates to a database table. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/stream_to.hxx instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_STREAM_TO +#define PQXX_H_STREAM_TO + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/separated_list.hxx" +#include "pqxx/transaction_base.hxx" + + +namespace pqxx +{ +/// Efficiently write data directly to a database table. +/** If you wish to insert rows of data into a table, you can compose INSERT + * statements and execute them. But it's slow and tedious, and you need to + * worry about quoting and escaping the data. + * + * If you're just inserting a single row, it probably won't matter much. You + * can use prepared or parameterised statements to take care of the escaping + * for you. But if you're inserting large numbers of rows you will want + * something better. + * + * Inserting rows one by one using INSERT statements involves a lot of + * pointless overhead, especially when you are working with a remote database + * server over the network. You may end up sending each row over the network + * as a separate query, and waiting for a reply. Do it "in bulk" using + * `stream_to`, and you may find that it goes many times faster. Sometimes + * you gain orders of magnitude in speed. + * + * Here's how it works: you create a `stream_to` stream to start writing to + * your table. You will probably want to specify the columns. Then, you + * feed your data into the stream one row at a time. And finally, you call the + * stream's @ref complete function to tell it to finalise the operation, wait + * for completion, and check for errors. + * + * (You _must_ complete the stream before committing or aborting the + * transaction. The connection is in a special state while the stream is + * active, where it can't process commands, and can't commit or abort a + * transaction.) + * + * So how do you feed a row of data into the stream? There's several ways, but + * the preferred one is to call its @ref write_values. Pass the field values + * as arguments. Doesn't matter what type they are, as long as libpqxx knows + * how to convert them to PostgreSQL's text format: `int`, `std::string` or + * `std:string_view`, `float` and `double`, `bool`... lots of basic types + * are supported. If some of the values are null, feel free to use + * `std::optional`, `std::shared_ptr`, or `std::unique_ptr`. + * + * The arguments' types don't even have to match the fields' SQL types. If you + * want to insert an `int` into a `DECIMAL` column, that's your choice -- it + * will produce a `DECIMAL` value which happens to be integral. Insert a + * `float` into a `VARCHAR` column? That's fine, you'll get a string whose + * contents happen to read like a number. And so on. You can even insert + * different types of value in the same column on different rows. If you have + * a code path where a particular field is always null, just insert `nullptr`. + * + * There is another way to insert rows: the `<<` ("shift-left") operator. + * It's not as fast and it doesn't support variable arguments: each row must be + * either a `std::tuple` or something iterable, such as a `std::vector`, or + * anything else with a `begin()` and `end()`. + * + * @warning While a stream is active, you cannot execute queries, open a + * pipeline, etc. on the same transaction. A transaction can have at most one + * object of a type derived from @ref pqxx::transaction_focus active on it at a + * time. + */ +class PQXX_LIBEXPORT stream_to : transaction_focus +{ +public: + /// Stream data to a pre-quoted table and columns. + /** This factory can be useful when it's not convenient to provide the + * columns list in the form of a `std::initializer_list`, or when the list + * of columns is simply not known at compile time. + * + * Also use this if you need to create multiple streams using the same table + * path and/or columns list, and you want to save a bit of work on composing + * the internal SQL statement for starting the stream. It lets you compose + * the string representations for the table path and the columns list, so you + * can compute these once and then re-use them later. + * + * @param tx The transaction within which the stream will operate. + * @param path Name or path for the table upon which the stream will + * operate. If any part of the table path may contain special + * characters or be case-sensitive, quote the path using + * pqxx::connection::quote_table(). + * @param columns Columns to which the stream will write. They should be + * comma-separated and, if needed, quoted. You can produce the string + * using pqxx::connection::quote_columns(). If you omit this argument, + * the stream will write all columns in the table, in schema order. + */ + static stream_to raw_table( + transaction_base &tx, std::string_view path, std::string_view columns = "") + { + return {tx, path, columns}; + } + + /// Create a `stream_to` writing to a named table and columns. + /** Use this to stream data to a table, where the list of columns is known at + * compile time. + * + * @param tx The transaction within which the stream will operate. + * @param path A @ref table_path designating the target table. + * @param columns Optionally, the columns to which the stream should write. + * If you do not pass this, the stream will write to all columns in the + * table, in schema order. + */ + static stream_to table( + transaction_base &tx, table_path path, + std::initializer_list columns = {}) + { + auto const &conn{tx.conn()}; + return raw_table(tx, conn.quote_table(path), conn.quote_columns(columns)); + } + +#if defined(PQXX_HAVE_CONCEPTS) + /// Create a `stream_to` writing to a named table and columns. + /** Use this version to stream data to a table, when the list of columns is + * not known at compile time. + * + * @param tx The transaction within which the stream will operate. + * @param path A @ref table_path designating the target table. + * @param columns The columns to which the stream should write. + */ + template + static stream_to + table(transaction_base &tx, table_path path, COLUMNS const &columns) + { + auto const &conn{tx.conn()}; + return stream_to::raw_table( + tx, conn.quote_table(path), tx.conn().quote_columns(columns)); + } + + /// Create a `stream_to` writing to a named table and columns. + /** Use this version to stream data to a table, when the list of columns is + * not known at compile time. + * + * @param tx The transaction within which the stream will operate. + * @param path A @ref table_path designating the target table. + * @param columns The columns to which the stream should write. + */ + template + static stream_to + table(transaction_base &tx, std::string_view path, COLUMNS const &columns) + { + return stream_to::raw_table(tx, path, tx.conn().quote_columns(columns)); + } +#endif // PQXX_HAVE_CONCEPTS + + /// Create a stream, without specifying columns. + /** @deprecated Use @ref table or @ref raw_table as a factory. + * + * Fields will be inserted in whatever order the columns have in the + * database. + * + * You'll probably want to specify the columns, so that the mapping between + * your data fields and the table is explicit in your code, and not hidden + * in an "implicit contract" between your code and your schema. + */ + [[deprecated("Use table() or raw_table() factory.")]] stream_to( + transaction_base &tx, std::string_view table_name) : + stream_to{tx, table_name, ""sv} + {} + + /// Create a stream, specifying column names as a container of strings. + /** @deprecated Use @ref table or @ref raw_table as a factory. + */ + template + [[deprecated("Use table() or raw_table() factory.")]] stream_to( + transaction_base &, std::string_view table_name, Columns const &columns); + + /// Create a stream, specifying column names as a sequence of strings. + /** @deprecated Use @ref table or @ref raw_table as a factory. + */ + template + [[deprecated("Use table() or raw_table() factory.")]] stream_to( + transaction_base &, std::string_view table_name, Iter columns_begin, + Iter columns_end); + + ~stream_to() noexcept; + + /// Does this stream still need to @ref complete()? + [[nodiscard]] constexpr operator bool() const noexcept + { + return not m_finished; + } + /// Has this stream been through its concluding @c complete()? + [[nodiscard]] constexpr bool operator!() const noexcept + { + return m_finished; + } + + /// Complete the operation, and check for errors. + /** Always call this to close the stream in an orderly fashion, even after + * an error. (In the case of an error, abort the transaction afterwards.) + * + * The only circumstance where it's safe to skip this is after an error, if + * you're discarding the entire connection. + */ + void complete(); + + /// Insert a row of data. + /** Returns a reference to the stream, so you can chain the calls. + * + * The @c row can be a tuple, or any type that can be iterated. Each + * item becomes a field in the row, in the same order as the columns you + * specified when creating the stream. + * + * If you don't already happen to have your fields in the form of a tuple or + * container, prefer @c write_values. It's faster and more convenient. + */ + template stream_to &operator<<(Row const &row) + { + write_row(row); + return *this; + } + + /// Stream a `stream_from` straight into a `stream_to`. + /** This can be useful when copying between different databases. If the + * source and the destination are on the same database, you'll get better + * performance doing it all in a regular query. + */ + stream_to &operator<<(stream_from &); + + /// Insert a row of data, given in the form of a @c std::tuple or container. + /** The @c row can be a tuple, or any type that can be iterated. Each + * item becomes a field in the row, in the same order as the columns you + * specified when creating the stream. + * + * The preferred way to insert a row is @c write_values. + */ + template void write_row(Row const &row) + { + fill_buffer(row); + write_buffer(); + } + + /// Insert values as a row. + /** This is the recommended way of inserting data. Pass your field values, + * of any convertible type. + */ + template void write_values(Ts const &...fields) + { + fill_buffer(fields...); + write_buffer(); + } + +private: + /// Stream a pre-quoted table name and columns list. + stream_to( + transaction_base &tx, std::string_view path, std::string_view columns); + + bool m_finished = false; + + /// Reusable buffer for a row. Saves doing an allocation for each row. + std::string m_buffer; + + /// Reusable buffer for converting/escaping a field. + std::string m_field_buf; + + /// Glyph scanner, for parsing the client encoding. + internal::glyph_scanner_func *m_scanner; + + /// Write a row of raw text-format data into the destination table. + void write_raw_line(std::string_view); + + /// Write a row of data from @c m_buffer into the destination table. + /** Resets the buffer for the next row. + */ + void write_buffer(); + + /// COPY encoding for a null field, plus subsequent separator. + static constexpr std::string_view null_field{"\\N\t"}; + + /// Estimate buffer space needed for a field which is always null. + template + static std::enable_if_t::always_null, std::size_t> + estimate_buffer(T const &) + { + return std::size(null_field); + } + + /// Estimate buffer space needed for field f. + /** The estimate is not very precise. We don't actually know how much space + * we'll need once the escaping comes in. + */ + template + static std::enable_if_t::always_null, std::size_t> + estimate_buffer(T const &field) + { + return is_null(field) ? std::size(null_field) : size_buffer(field); + } + + /// Append escaped version of @c data to @c m_buffer, plus a tab. + void escape_field_to_buffer(std::string_view data); + + /// Append string representation for @c f to @c m_buffer. + /** This is for the general case, where the field may contain a value. + * + * Also appends a tab. The tab is meant to be a separator, not a terminator, + * so if you write any fields at all, you'll end up with one tab too many + * at the end of the buffer. + */ + template + std::enable_if_t::always_null> + append_to_buffer(Field const &f) + { + // We append each field, terminated by a tab. That will leave us with + // one tab too many, assuming we write any fields at all; we remove that + // at the end. + if (is_null(f)) + { + // Easy. Append null and tab in one go. + m_buffer.append(null_field); + } + else + { + // Convert f into m_buffer. + + using traits = string_traits; + auto const budget{estimate_buffer(f)}; + auto const offset{std::size(m_buffer)}; + + if constexpr (std::is_arithmetic_v) + { + // Specially optimised for "safe" types, which never need any + // escaping. Convert straight into m_buffer. + + // The budget we get from size_buffer() includes room for the trailing + // zero, which we must remove. But we're also inserting tabs between + // fields, so we re-purpose the extra byte for that. + auto const total{offset + budget}; + m_buffer.resize(total); + auto const data{m_buffer.data()}; + char *const end{traits::into_buf(data + offset, data + total, f)}; + *(end - 1) = '\t'; + // Shrink to fit. Keep the tab though. + m_buffer.resize(static_cast(end - data)); + } + else if constexpr ( + std::is_same_v or + std::is_same_v or + std::is_same_v) + { + // This string may need escaping. + m_field_buf.resize(budget); + escape_field_to_buffer(f); + } + else + { + // This field needs to be converted to a string, and after that, + // escaped as well. + m_field_buf.resize(budget); + auto const data{m_field_buf.data()}; + escape_field_to_buffer( + traits::to_buf(data, data + std::size(m_field_buf), f)); + } + } + } + + /// Append string representation for a null field to @c m_buffer. + /** This special case is for types which are always null. + * + * Also appends a tab. The tab is meant to be a separator, not a terminator, + * so if you write any fields at all, you'll end up with one tab too many + * at the end of the buffer. + */ + template + std::enable_if_t::always_null> + append_to_buffer(Field const &) + { + m_buffer.append(null_field); + } + + /// Write raw COPY line into @c m_buffer, based on a container of fields. + template + std::enable_if_t> + fill_buffer(Container const &c) + { + // To avoid unnecessary allocations and deallocations, we run through c + // twice: once to determine how much buffer space we may need, and once to + // actually write it into the buffer. + std::size_t budget{0}; + for (auto const &f : c) budget += estimate_buffer(f); + m_buffer.reserve(budget); + for (auto const &f : c) append_to_buffer(f); + } + + /// Estimate how many buffer bytes we need to write tuple. + template + static std::size_t + budget_tuple(Tuple const &t, std::index_sequence) + { + return (estimate_buffer(std::get(t)) + ...); + } + + /// Write tuple of fields to @c m_buffer. + template + void append_tuple(Tuple const &t, std::index_sequence) + { + (append_to_buffer(std::get(t)), ...); + } + + /// Write raw COPY line into @c m_buffer, based on a tuple of fields. + template void fill_buffer(std::tuple const &t) + { + using indexes = std::make_index_sequence; + + m_buffer.reserve(budget_tuple(t, indexes{})); + append_tuple(t, indexes{}); + } + + /// Write raw COPY line into @c m_buffer, based on varargs fields. + template void fill_buffer(const Ts &...fields) + { + (..., append_to_buffer(fields)); + } + + constexpr static std::string_view s_classname{"stream_to"}; +}; + + +template +inline stream_to::stream_to( + transaction_base &tx, std::string_view table_name, Columns const &columns) : + stream_to{tx, table_name, std::begin(columns), std::end(columns)} +{} + + +template +inline stream_to::stream_to( + transaction_base &tx, std::string_view table_name, Iter columns_begin, + Iter columns_end) : + stream_to{ + tx, + tx.quote_name( + table_name, + separated_list(",", columns_begin, columns_end, [&tx](auto col) { + return tx.quote_name(*col); + }))} +{} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction new file mode 100644 index 000000000..e0d154903 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction @@ -0,0 +1,8 @@ +/** pqxx::subtransaction class. + * + * pqxx::subtransaction is a nested transaction, i.e. one inside a transaction. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/subtransaction.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction.hxx new file mode 100644 index 000000000..e66b7a7a8 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/subtransaction.hxx @@ -0,0 +1,96 @@ +/* Definition of the pqxx::subtransaction class. + * + * pqxx::subtransaction is a nested transaction, i.e. one within a transaction. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/subtransaction instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_SUBTRANSACTION +#define PQXX_H_SUBTRANSACTION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/dbtransaction.hxx" + +namespace pqxx +{ +/** + * @ingroup transactions + */ +/// "Transaction" nested within another transaction +/** A subtransaction can be executed inside a backend transaction, or inside + * another subtransaction. This can be useful when, for example, statements in + * a transaction may harmlessly fail and you don't want them to abort the + * entire transaction. Here's an example of how a temporary table may be + * dropped before re-creating it, without failing if the table did not exist: + * + * ```cxx + * void do_job(connection &C) + * { + * string const temptable = "fleetingtable"; + * + * work W(C, "do_job"); + * do_firstpart(W); + * + * // Attempt to delete our temporary table if it already existed. + * try + * { + * subtransaction S(W, "droptemp"); + * S.exec0("DROP TABLE " + temptable); + * S.commit(); + * } + * catch (undefined_table const &) + * { + * // Table did not exist. Which is what we were hoping to achieve anyway. + * // Carry on without regrets. + * } + * + * // S may have gone into a failed state and been destroyed, but the + * // upper-level transaction W is still fine. We can continue to use it. + * W.exec0("CREATE TEMP TABLE " + temptable + "(bar integer, splat + * varchar)"); + * + * do_lastpart(W); + * } + * ``` + * + * (This is just an example. If you really wanted to do drop a table without + * an error if it doesn't exist, you'd use DROP TABLE IF EXISTS.) + * + * There are no isolation levels inside a transaction. They are not needed + * because all actions within the same backend transaction are always performed + * sequentially anyway. + * + * @warning While the subtransaction is "live," you cannot execute queries or + * open streams etc. on its parent transaction. A transaction can have at most + * one object of a type derived from @ref pqxx::transaction_focus active on it + * at a time. + */ +class PQXX_LIBEXPORT subtransaction : public transaction_focus, + public dbtransaction +{ +public: + /// Nest a subtransaction nested in another transaction. + explicit subtransaction(dbtransaction &t, std::string_view tname = ""sv); + + /// Nest a subtransaction in another subtransaction. + explicit subtransaction(subtransaction &t, std::string_view name = ""sv); + + virtual ~subtransaction() noexcept override; + +private: + std::string quoted_name() const + { + return quote_name(transaction_focus::name()); + } + virtual void do_commit() override; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time new file mode 100644 index 000000000..85df05744 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time @@ -0,0 +1,6 @@ +/** Date/time string conversions. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/time.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time.hxx new file mode 100644 index 000000000..effed05e0 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/time.hxx @@ -0,0 +1,88 @@ +/** Support for date/time values. + * + * At the moment this supports dates, but not times. + */ +#ifndef PQXX_H_TIME +#define PQXX_H_TIME + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include + +#include "pqxx/internal/concat.hxx" +#include "pqxx/strconv.hxx" + + +#if defined(PQXX_HAVE_YEAR_MONTH_DAY) + +namespace pqxx +{ +using namespace std::literals; + +template<> +struct nullness + : no_null +{}; + + +/// String representation for a Gregorian date in ISO-8601 format. +/** @warning Experimental. There may still be design problems, particularly + * when it comes to BC years. + * + * PostgreSQL supports a choice of date formats, but libpqxx does not. The + * other formats in turn support a choice of "month before day" versus "day + * before month," meaning that it's not necessarily known which format a given + * date is supposed to be. So I repeat: ISO-8601-style format only! + * + * Invalid dates will not convert. This includes February 29 on non-leap + * years, which is why it matters that `year_month_day` represents a + * _Gregorian_ date. + * + * The range of years is limited. At the time of writing, PostgreSQL 14 + * supports years from 4713 BC to 294276 AD inclusive, and C++20 supports + * a range of 32767 BC to 32767 AD inclusive. So in practice, years must fall + * between 4713 BC and 32767 AD, inclusive. + * + * @warning Support for BC (or BCE) years is still experimental. I still need + * confirmation on this issue: it looks as if C++ years are astronomical years, + * which means they have a Year Zero. Regular BC/AD years do not have a year + * zero, so the year 1 AD follows directly after 1 BC. + * + * So, what to our calendars (and to PostgreSQL) is the year "0001 BC" seems to + * count as year "0" in a `std::chrono::year_month_day`. The year 0001 AD is + * still equal to 1 as you'd expect, and all AD years work normally, but all + * years before then are shifted by one. For instance, the year 543 BC would + * be -542 in C++. + */ +template<> struct PQXX_LIBEXPORT string_traits +{ + [[nodiscard]] static zview + to_buf(char *begin, char *end, std::chrono::year_month_day const &value) + { + return generic_to_buf(begin, end, value); + } + + static char * + into_buf(char *begin, char *end, std::chrono::year_month_day const &value); + + [[nodiscard]] static std::chrono::year_month_day + from_string(std::string_view text); + + [[nodiscard]] static std::size_t + size_buffer(std::chrono::year_month_day const &) noexcept + { + static_assert(int{(std::chrono::year::min)()} >= -99999); + static_assert(int{(std::chrono::year::max)()} <= 99999); + return 5 + 1 + 2 + 1 + 2 + std::size(s_bc) + 1; + } + +private: + /// The "BC" suffix for years before 1 AD. + static constexpr std::string_view s_bc{" BC"sv}; +}; +} // namespace pqxx +#endif // PQXX_HAVE_YEAR_MONTH_DAY +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction new file mode 100644 index 000000000..a7ae39d43 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction @@ -0,0 +1,8 @@ +/** pqxx::transaction class. + * + * pqxx::transaction represents a standard database transaction. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/transaction.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction.hxx new file mode 100644 index 000000000..e90917e38 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction.hxx @@ -0,0 +1,108 @@ +/* Definition of the pqxx::transaction class. + * pqxx::transaction represents a standard database transaction. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/transaction instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_TRANSACTION +#define PQXX_H_TRANSACTION + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/dbtransaction.hxx" + +namespace pqxx::internal +{ +/// Helper base class for the @ref transaction class template. +class PQXX_LIBEXPORT basic_transaction : public dbtransaction +{ +protected: + basic_transaction( + connection &c, zview begin_command, std::string_view tname); + basic_transaction(connection &c, zview begin_command, std::string &&tname); + basic_transaction(connection &c, zview begin_command); + + virtual ~basic_transaction() noexcept override = 0; + +private: + virtual void do_commit() override; +}; +} // namespace pqxx::internal + + +namespace pqxx +{ +/** + * @ingroup transactions + */ +//@{ + +/// Standard back-end transaction, templatised on isolation level. +/** This is the type you'll normally want to use to represent a transaction on + * the database. + * + * Usage example: double all wages. + * + * ```cxx + * extern connection C; + * work T(C); + * try + * { + * T.exec0("UPDATE employees SET wage=wage*2"); + * T.commit(); // NOTE: do this inside try block + * } + * catch (exception const &e) + * { + * cerr << e.what() << endl; + * T.abort(); // Usually not needed; same happens when T's life ends. + * } + * ``` + */ +template< + isolation_level ISOLATION = isolation_level::read_committed, + write_policy READWRITE = write_policy::read_write> +class transaction final : public internal::basic_transaction +{ +public: + /// Begin a transaction. + /** + * @param c Connection for this transaction to operate on. + * @param tname Optional name for transaction. Must begin with a letter and + * may contain letters and digits only. + */ + transaction(connection &c, std::string_view tname) : + internal::basic_transaction{ + c, internal::begin_cmd, tname} + {} + + /// Begin a transaction. + /** + * @param c Connection for this transaction to operate on. + * may contain letters and digits only. + */ + explicit transaction(connection &c) : + internal::basic_transaction{ + c, internal::begin_cmd} + {} + + virtual ~transaction() noexcept override { close(); } +}; + + +/// The default transaction type. +using work = transaction<>; + +/// Read-only transaction. +using read_transaction = + transaction; + +//@} +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base new file mode 100644 index 000000000..c39219aac --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base @@ -0,0 +1,9 @@ +/** Base for the transaction classes. + * + * pqxx::transaction_base defines the interface for any abstract class that + * represents a database transaction. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/transaction_base.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base.hxx new file mode 100644 index 000000000..4363cc56a --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_base.hxx @@ -0,0 +1,810 @@ +/* Common code and definitions for the transaction classes. + * + * pqxx::transaction_base defines the interface for any abstract class that + * represents a database transaction. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/transaction_base instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_TRANSACTION_BASE +#define PQXX_H_TRANSACTION_BASE + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include + +/* End-user programs need not include this file, unless they define their own + * transaction classes. This is not something the typical program should want + * to do. + * + * However, reading this file is worthwhile because it defines the public + * interface for the available transaction classes such as transaction and + * nontransaction. + */ + +#include "pqxx/connection.hxx" +#include "pqxx/internal/concat.hxx" +#include "pqxx/internal/encoding_group.hxx" +#include "pqxx/isolation.hxx" +#include "pqxx/result.hxx" +#include "pqxx/row.hxx" +#include "pqxx/stream_from.hxx" +#include "pqxx/util.hxx" + +namespace pqxx::internal::gate +{ +class transaction_subtransaction; +class transaction_sql_cursor; +class transaction_stream_to; +class transaction_transaction_focus; +} // namespace pqxx::internal::gate + + +namespace pqxx +{ +using namespace std::literals; + + +class transaction_focus; + + +/** + * @defgroup transactions Transaction classes + * + * All database access goes through instances of these classes. + * However, not all implementations of this interface need to provide full + * transactional integrity. + * + * Several implementations of this interface are shipped with libpqxx, + * including the plain transaction class, the entirely unprotected + * nontransaction, and the more cautious robusttransaction. + */ + +/// Interface definition (and common code) for "transaction" classes. +/** + * @ingroup transactions + * + * Abstract base class for all transaction types. + */ +class PQXX_LIBEXPORT PQXX_NOVTABLE transaction_base +{ +public: + transaction_base() = delete; + transaction_base(transaction_base const &) = delete; + transaction_base(transaction_base &&) = delete; + transaction_base &operator=(transaction_base const &) = delete; + transaction_base &operator=(transaction_base &&) = delete; + + virtual ~transaction_base() = 0; + + /// Commit the transaction. + /** Make the effects of this transaction definite. If you destroy a + * transaction without invoking its @ref commit() first, that will implicitly + * abort it. (For the @ref nontransaction class though, "commit" and "abort" + * really don't do anything, hence its name.) + * + * There is, however, a minute risk that you might lose your connection to + * the database at just the wrong moment here. In that case, libpqxx may be + * unable to determine whether the database was able to complete the + * transaction, or had to roll it back. In that scenario, @ref commit() will + * throw an in_doubt_error. There is a different transaction class called + * @ref robusttransaction which takes some special precautions to reduce this + * risk. + */ + void commit(); + + /// Abort the transaction. + /** No special effort is required to call this function; it will be called + * implicitly when the transaction is destructed. + */ + void abort(); + + /** + * @ingroup escaping-functions + * + * Use these when writing SQL queries that incorporate C++ values as SQL + * constants. + * + * The functions you see here are just convenience shortcuts to the same + * functions on the connection object. + */ + //@{ + /// Escape string for use as SQL string literal in this transaction. + template [[nodiscard]] auto esc(ARGS &&...args) const + { + return conn().esc(std::forward(args)...); + } + + /// Escape binary data for use as SQL string literal in this transaction. + /** Raw, binary data is treated differently from regular strings. Binary + * strings are never interpreted as text, so they may safely include byte + * values or byte sequences that don't happen to represent valid characters + * in the character encoding being used. + * + * The binary string does not stop at the first zero byte, as is the case + * with textual strings. Instead, it may contain zero bytes anywhere. If + * it happens to contain bytes that look like quote characters, or other + * things that can disrupt their use in SQL queries, they will be replaced + * with special escape sequences. + */ + template [[nodiscard]] auto esc_raw(ARGS &&...args) const + { + return conn().esc_raw(std::forward(args)...); + } + + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + */ + [[nodiscard, deprecated("Use unesc_bin() instead.")]] std::string + unesc_raw(zview text) const + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return conn().unesc_raw(text); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + */ + [[nodiscard]] std::basic_string unesc_bin(zview text) + { + return conn().unesc_bin(text); + } + + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + */ + [[nodiscard, deprecated("Use unesc_bin() instead.")]] std::string + unesc_raw(char const *text) const + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return conn().unesc_raw(text); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Unescape binary data, e.g. from a table field or notification payload. + /** Takes a binary string as escaped by PostgreSQL, and returns a restored + * copy of the original binary data. + */ + [[nodiscard]] std::basic_string unesc_bin(char const text[]) + { + return conn().unesc_bin(text); + } + + /// Represent object as SQL string, including quoting & escaping. + /** Nulls are recognized and represented as SQL nulls. */ + template [[nodiscard]] std::string quote(T const &t) const + { + return conn().quote(t); + } + + [[deprecated( + "Use std::basic_string instead of binarystring.")]] std::string + quote(binarystring const &t) const + { + return conn().quote(t.bytes_view()); + } + + /// Binary-escape and quote a binary string for use as an SQL constant. + [[deprecated("Use quote(std::basic_string_view).")]] std::string + quote_raw(unsigned char const bin[], std::size_t len) const + { + return quote(binary_cast(bin, len)); + } + + /// Binary-escape and quote a binary string for use as an SQL constant. + [[deprecated("Use quote(std::basic_string_view).")]] std::string + quote_raw(zview bin) const; + +#if defined(PQXX_HAVE_CONCEPTS) + /// Binary-escape and quote a binary string for use as an SQL constant. + /** For binary data you can also just use @ref quote(data). */ + template + [[nodiscard]] std::string quote_raw(DATA const &data) const + { + return conn().quote_raw(data); + } +#endif + + /// Escape an SQL identifier for use in a query. + [[nodiscard]] std::string quote_name(std::string_view identifier) const + { + return conn().quote_name(identifier); + } + + /// Escape string for literal LIKE match. + [[nodiscard]] std::string + esc_like(std::string_view bin, char escape_char = '\\') const + { + return conn().esc_like(bin, escape_char); + } + //@} + + /** + * @name Command execution + * + * There are many functions for executing (or "performing") a command (or + * "query"). This is the most fundamental thing you can do with the library, + * and you always do it from a transaction class. + * + * Command execution can throw many types of exception, including sql_error, + * broken_connection, and many sql_error subtypes such as + * feature_not_supported or insufficient_privilege. But any exception thrown + * by the C++ standard library may also occur here. All exceptions you will + * see libpqxx throw are derived from std::exception. + * + * One unusual feature in libpqxx is that you can give your query a name or + * description. This does not mean anything to the database, but sometimes + * it can help libpqxx produce more helpful error messages, making problems + * in your code easier to debug. + * + * Many of the execution functions used to accept a `desc` argument, a + * human-readable description of the statement for use in error messages. + * This could make failures easier to debug. Future versions will use + * C++20's `std::source_location` to identify the failing statement. + */ + //@{ + + /// Execute a command. + /** + * @param query Query or command to execute. + * @param desc Optional identifier for query, to help pinpoint SQL errors. + * @return A result set describing the query's or command's result. + */ + [[deprecated("The desc parameter is going away.")]] result + exec(std::string_view query, std::string_view desc); + + /// Execute a command. + /** + * @param query Query or command to execute. + * @return A result set describing the query's or command's result. + */ + result exec(std::string_view query) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return exec(query, std::string_view{}); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Execute a command. + /** + * @param query Query or command to execute. + * @param desc Optional identifier for query, to help pinpoint SQL errors. + * @return A result set describing the query's or command's result. + */ + [[deprecated( + "Pass your query as a std::string_view, not stringstream.")]] result + exec(std::stringstream const &query, std::string_view desc) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return exec(query.str(), desc); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Execute command, which should return zero rows of data. + /** Works like @ref exec, but fails if the result contains data. It still + * returns a result, however, which may contain useful metadata. + * + * @throw unexpected_rows If the query returned the wrong number of rows. + */ + [[deprecated("The desc parameter is going away.")]] result + exec0(zview query, std::string_view desc) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return exec_n(0, query, desc); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Execute command, which should return zero rows of data. + /** Works like @ref exec, but fails if the result contains data. It still + * returns a result, however, which may contain useful metadata. + * + * @throw unexpected_rows If the query returned the wrong number of rows. + */ + result exec0(zview query) { return exec_n(0, query); } + + /// Execute command returning a single row of data. + /** Works like @ref exec, but requires the result to contain exactly one row. + * The row can be addressed directly, without the need to find the first row + * in a result set. + * + * @throw unexpected_rows If the query returned the wrong number of rows. + */ + [[deprecated("The desc parameter is going away.")]] row + exec1(zview query, std::string_view desc) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return exec_n(1, query, desc).front(); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Execute command returning a single row of data. + /** Works like @ref exec, but requires the result to contain exactly one row. + * The row can be addressed directly, without the need to find the first row + * in a result set. + * + * @throw unexpected_rows If the query returned the wrong number of rows. + */ + row exec1(zview query) { return exec_n(1, query).front(); } + + /// Execute command, expect given number of rows. + /** Works like @ref exec, but checks that the result has exactly the expected + * number of rows. + * + * @throw unexpected_rows If the query returned the wrong number of rows. + */ + [[deprecated("The desc parameter is going away.")]] result + exec_n(result::size_type rows, zview query, std::string_view desc); + + /// Execute command, expect given number of rows. + /** Works like @ref exec, but checks that the result has exactly the expected + * number of rows. + * + * @throw unexpected_rows If the query returned the wrong number of rows. + */ + result exec_n(result::size_type rows, zview query) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + return exec_n(rows, query, std::string_view{}); +#include "pqxx/internal/ignore-deprecated-post.hxx" + } + + /// Perform query, expecting exactly 1 row with 1 field, and convert it. + /** This is convenience shorthand for querying exactly one value from the + * database. It returns that value, converted to the type you specify. + */ + template + [[deprecated("The desc parameter is going away.")]] TYPE + query_value(zview query, std::string_view desc) + { +#include "pqxx/internal/ignore-deprecated-pre.hxx" + row const r{exec1(query, desc)}; +#include "pqxx/internal/ignore-deprecated-post.hxx" + if (std::size(r) != 1) + throw usage_error{internal::concat( + "Queried single value from result with ", std::size(r), " columns.")}; + return r[0].as(); + } + + /// Perform query, expecting exactly 1 row with 1 field, and convert it. + /** This is convenience shorthand for querying exactly one value from the + * database. It returns that value, converted to the type you specify. + */ + template TYPE query_value(zview query) + { + row const r{exec1(query)}; + if (std::size(r) != 1) + throw usage_error{internal::concat( + "Queried single value from result with ", std::size(r), " columns.")}; + return r[0].as(); + } + + /// Execute a query, and loop over the results row by row. + /** Converts the rows to `std::tuple`, of the column types you specify. + * + * Use this with a range-based "for" loop. It executes the query, and + * directly maps the resulting rows onto a `std::tuple` of the types you + * specify. It starts before all the data from the server is in, so if your + * network connection to the server breaks while you're iterating, you'll get + * an exception partway through. + * + * The stream lives entirely within the lifetime of the transaction. Make + * sure you destroy the stream before you destroy the transaction. Either + * iterate the stream all the way to the end, or destroy first the stream + * and then the transaction without touching either in any other way. Until + * the stream has finished, the transaction is in a special state where it + * cannot execute queries. + * + * As a special case, tuple may contain `std::string_view` fields, but the + * strings to which they point will only remain valid until you extract the + * next row. After that, the memory holding the string may be overwritten or + * deallocated. + * + * If any of the columns can be null, and the C++ type to which it translates + * does not have a null value, wrap the type in `std::optional` (or if + * you prefer, `std::shared_ptr` or `std::unique_ptr)`. These templates + * do recognise null values, and libpqxx will know how to convert to them. + * + * The connection is in a special state until the iteration finishes. So if + * it does not finish due to a `break` or a `return` or an exception, then + * the entire connection becomes effectively unusable. + * + * Querying in this way is faster than the `exec()` methods for larger + * results (but slower for small ones). You can start processing rows before + * the full result is in. Also, `stream()` scales better in terms of memory + * usage. Where @ref exec() reads the entire result into memory at once, + * `stream()` will read and process one row at at a time. + * + * Your query executes as part of a COPY command, not as a stand-alone query, + * so there are limitations to what you can do in the query. It can be + * either a SELECT or VALUES query; or an INSERT, UPDATE, or DELETE with a + * RETURNING clause. See the documentation for PostgreSQL's COPY command for + * the details: + * + * https://www.postgresql.org/docs/current/sql-copy.html + * + * Iterating in this way does require each of the field types you pass to be + * default-constructible, copy-constructible, and assignable. These + * requirements may be loosened once libpqxx moves on to C++20. + */ + template + [[nodiscard]] auto stream(std::string_view query) & + { + // Tricky: std::make_unique() supports constructors but not RVO functions. + return pqxx::internal::owning_stream_input_iteration{ + std::unique_ptr{ + new stream_from{stream_from::query(*this, query)}}}; + } + + // C++20: Concept like std::invocable, but without specifying param types. + /// Perform a streaming query, and for each result row, call `func`. + /** Here, `func` can be a function, a `std::function`, a lambda, or an + * object that supports the function call operator. Of course `func` must + * have an unambiguous signature; it can't be overloaded or generic. + * + * The `for_each` function executes `query` in a stream using + * @ref pqxx::stream_from. Every time a row of data comes in from the + * server, it converts the row's fields to the types of `func`'s respective + * parameters, and calls `func` with those values. + * + * This will not work for all queries, but straightforward `SELECT` and + * `UPDATE ... RETURNING` queries should work. Consult the documentation for + * @ref pqxx::stream_from and PostgreSQL's underlying `COPY` command for the + * full details. + * + * Streaming a query like this is likely to be slower than the @ref exec() + * functions for small result sets, but faster for large result sets. So if + * performance matters, you'll want to use `for_each` if you query large + * amounts of data, but not if you do lots of queries with small outputs. + */ + template + inline auto for_each(std::string_view query, CALLABLE &&func) + { + using param_types = + pqxx::internal::strip_types_t>; + param_types const *const sample{nullptr}; + auto data_stream{stream_like(query, sample)}; + for (auto const &fields : data_stream) std::apply(func, fields); + } + + /** + * @name Parameterized statements + * + * You'll often need parameters in the queries you execute: "select the + * car with this licence plate." If the parameter is a string, you need to + * quote it and escape any special characters inside it, or it may become a + * target for an SQL injection attack. If it's an integer (for example), + * you need to convert it to a string, but in the database's format, without + * locale-specific niceties like "," separators between the thousands. + * + * Parameterised statements are an easier and safer way to do this. They're + * like prepared statements, but for a single use. You don't need to name + * them, and you don't need to prepare them first. + * + * Your query will include placeholders like `$1` and `$2` etc. in the places + * where you want the arguments to go. Then, you pass the argument values + * and the actual query is constructed for you. + * + * Pass the exact right number of parameters, and in the right order. The + * parameters in the query don't have to be neatly ordered from `$1` to + * `$2` to `$3` - but you must pass the argument for `$1` first, the one + * for `$2` second, etc. + * + * @warning Beware of "nul" bytes. Any string you pass as a parameter will + * end at the first char with value zero. If you pass a string that contains + * a zero byte, the last byte in the value will be the one just before the + * zero. + */ + //@{ + /// Execute an SQL statement with parameters. + template result exec_params(zview query, Args &&...args) + { + params pp(args...); + return internal_exec_params(query, pp.make_c_params()); + } + + // Execute parameterised statement, expect a single-row result. + /** @throw unexpected_rows if the result does not consist of exactly one row. + */ + template row exec_params1(zview query, Args &&...args) + { + return exec_params_n(1, query, std::forward(args)...).front(); + } + + // Execute parameterised statement, expect a result with zero rows. + /** @throw unexpected_rows if the result contains rows. + */ + template result exec_params0(zview query, Args &&...args) + { + return exec_params_n(0, query, std::forward(args)...); + } + + // Execute parameterised statement, expect exactly a given number of rows. + /** @throw unexpected_rows if the result contains the wrong number of rows. + */ + template + result exec_params_n(std::size_t rows, zview query, Args &&...args) + { + auto const r{exec_params(query, std::forward(args)...)}; + check_rowcount_params(rows, std::size(r)); + return r; + } + //@} + + /** + * @name Prepared statements + * + * These are very similar to parameterised statements. The difference is + * that you prepare them in advance, giving them identifying names. You can + * then call them by these names, passing in the argument values appropriate + * for that call. + * + * You prepare a statement on the connection, using + * @ref pqxx::connection::prepare(). But you then call the statement in a + * transaction, using the functions you see here. + * + * Never try to prepare, execute, or unprepare a prepared statement manually + * using direct SQL queries when you also use the libpqxx equivalents. For + * any given statement, either prepare, manage, and execute it through the + * dedicated libpqxx functions; or do it all directly in SQL. Don't mix the + * two, or the code may get confused. + * + * See \ref prepared for a full discussion. + * + * @warning Beware of "nul" bytes. Any string you pass as a parameter will + * end at the first char with value zero. If you pass a string that contains + * a zero byte, the last byte in the value will be the one just before the + * zero. If you need a zero byte, you're dealing with binary strings, not + * regular strings. Represent binary strings on the SQL side as `BYTEA` + * (or as large objects). On the C++ side, use types like + * `std::basic_string` or `std::basic_string_view` + * or (in C++20) `std::vector`. Also, consider large objects on + * the SQL side and @ref blob on the C++ side. + */ + //@{ + + /// Execute a prepared statement, with optional arguments. + template + result exec_prepared(zview statement, Args &&...args) + { + params pp(args...); + return internal_exec_prepared(statement, pp.make_c_params()); + } + + /// Execute a prepared statement, and expect a single-row result. + /** @throw pqxx::unexpected_rows if the result was not exactly 1 row. + */ + template + row exec_prepared1(zview statement, Args &&...args) + { + return exec_prepared_n(1, statement, std::forward(args)...).front(); + } + + /// Execute a prepared statement, and expect a result with zero rows. + /** @throw pqxx::unexpected_rows if the result contained rows. + */ + template + result exec_prepared0(zview statement, Args &&...args) + { + return exec_prepared_n(0, statement, std::forward(args)...); + } + + /// Execute a prepared statement, expect a result with given number of rows. + /** @throw pqxx::unexpected_rows if the result did not contain exactly the + * given number of rows. + */ + template + result + exec_prepared_n(result::size_type rows, zview statement, Args &&...args) + { + auto const r{exec_prepared(statement, std::forward(args)...)}; + check_rowcount_prepared(statement, rows, std::size(r)); + return r; + } + + //@} + + /** + * @name Error/warning output + */ + //@{ + /// Have connection process a warning message. + void process_notice(char const msg[]) const { m_conn.process_notice(msg); } + /// Have connection process a warning message. + void process_notice(zview msg) const { m_conn.process_notice(msg); } + //@} + + /// The connection in which this transaction lives. + [[nodiscard]] constexpr connection &conn() const noexcept { return m_conn; } + + /// Set session variable using SQL "SET" command. + /** @deprecated To set a transaction-local variable, execute an SQL `SET` + * command. To set a session variable, use the connection's + * @ref set_session_var function. + * + * @warning When setting a string value, you must make sure that the string + * is "safe." If you call @ref quote() on the string, it will return a + * safely escaped and quoted version for use as an SQL literal. + * + * @warning This function executes SQL. Do not try to set or get variables + * while a pipeline or table stream is active. + * + * @param var The variable to set. + * @param value The new value to store in the variable. This can be any SQL + * expression. + */ + [[deprecated( + "Set transaction-local variables using SQL SET statements.")]] void + set_variable(std::string_view var, std::string_view value); + + /// Read session variable using SQL "SHOW" command. + /** @warning This executes SQL. Do not try to set or get variables while a + * pipeline or table stream is active. + */ + [[deprecated("Read variables using SQL SHOW statements.")]] std::string + get_variable(std::string_view); + + // C++20: constexpr. + /// Transaction name, if you passed one to the constructor; or empty string. + [[nodiscard]] std::string_view name() const &noexcept { return m_name; } + +protected: + /// Create a transaction (to be called by implementation classes only). + /** The name, if nonempty, must begin with a letter and may contain letters + * and digits only. + */ + transaction_base( + connection &c, std::string_view tname, + std::shared_ptr rollback_cmd) : + m_conn{c}, m_name{tname}, m_rollback_cmd{rollback_cmd} + {} + + /// Create a transaction (to be called by implementation classes only). + /** Its rollback command will be "ROLLBACK". + * + * The name, if nonempty, must begin with a letter and may contain letters + * and digits only. + */ + transaction_base(connection &c, std::string_view tname); + + /// Create a transaction (to be called by implementation classes only). + explicit transaction_base(connection &c); + + /// Register this transaction with the connection. + void register_transaction(); + + /// End transaction. To be called by implementing class' destructor. + void close() noexcept; + + /// To be implemented by derived implementation class: commit transaction. + virtual void do_commit() = 0; + + /// Transaction type-specific way of aborting a transaction. + /** @warning This will become "final", since this function can be called + * from the implementing class destructor. + */ + virtual void do_abort(); + + /// Set the rollback command. + void set_rollback_cmd(std::shared_ptr cmd) + { + m_rollback_cmd = cmd; + } + + /// Execute query on connection directly. + result direct_exec(std::string_view, std::string_view desc = ""sv); + result + direct_exec(std::shared_ptr, std::string_view desc = ""sv); + +private: + enum class status + { + active, + aborted, + committed, + in_doubt + }; + + PQXX_PRIVATE void check_pending_error(); + + result + internal_exec_prepared(zview statement, internal::c_params const &args); + + result internal_exec_params(zview query, internal::c_params const &args); + + /// Throw unexpected_rows if prepared statement returned wrong no. of rows. + void check_rowcount_prepared( + zview statement, result::size_type expected_rows, + result::size_type actual_rows); + + /// Throw unexpected_rows if wrong row count from parameterised statement. + void + check_rowcount_params(std::size_t expected_rows, std::size_t actual_rows); + + /// Describe this transaction to humans, e.g. "transaction 'foo'". + [[nodiscard]] std::string description() const; + + friend class pqxx::internal::gate::transaction_transaction_focus; + PQXX_PRIVATE void register_focus(transaction_focus *); + PQXX_PRIVATE void unregister_focus(transaction_focus *) noexcept; + PQXX_PRIVATE void register_pending_error(zview) noexcept; + PQXX_PRIVATE void register_pending_error(std::string &&) noexcept; + + /// Like @ref stream(), but takes a tuple rather than a parameter pack. + template + auto stream_like(std::string_view query, std::tuple const *) + { + return stream(query); + } + + connection &m_conn; + + /// Current "focus": a pipeline, a nested transaction, a stream... + /** This pointer is used for only one purpose: sanity checks against mistakes + * such as opening one while another is still active. + */ + transaction_focus const *m_focus = nullptr; + + status m_status = status::active; + bool m_registered = false; + std::string m_name; + std::string m_pending_error; + + /// SQL command for aborting this type of transaction. + std::shared_ptr m_rollback_cmd; + + static constexpr std::string_view s_type_name{"transaction"sv}; +}; + + +// C++20: Can borrowed_range help? +/// Forbidden specialisation: underlying buffer immediately goes out of scope. +template<> +std::string_view transaction_base::query_value( + zview query, std::string_view desc) = delete; +/// Forbidden specialisation: underlying buffer immediately goes out of scope. +template<> +zview transaction_base::query_value( + zview query, std::string_view desc) = delete; + +} // namespace pqxx + + +namespace pqxx::internal +{ +/// The SQL command for starting a given type of transaction. +template +extern const zview begin_cmd; + +// These are not static members, so "constexpr" does not imply "inline". +template<> +inline constexpr zview begin_cmd{ + "BEGIN"_zv}; +template<> +inline constexpr zview begin_cmd{ + "BEGIN READ ONLY"_zv}; +template<> +inline constexpr zview begin_cmd{ + "BEGIN ISOLATION LEVEL REPEATABLE READ"_zv}; +template<> +inline constexpr zview begin_cmd{ + "BEGIN ISOLATION LEVEL REPEATABLE READ READ ONLY"_zv}; +template<> +inline constexpr zview begin_cmd{ + "BEGIN ISOLATION LEVEL SERIALIZABLE"_zv}; +template<> +inline constexpr zview begin_cmd{ + "BEGIN ISOLATION LEVEL SERIALIZABLE READ ONLY"_zv}; +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus new file mode 100644 index 000000000..fe78a9bcc --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus @@ -0,0 +1,7 @@ +/** + * Transaction focus: types which monopolise a transaction's attention. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/types.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus.hxx new file mode 100644 index 000000000..0707e3cc4 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transaction_focus.hxx @@ -0,0 +1,89 @@ +/** Transaction focus: types which monopolise a transaction's attention. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_TRANSACTION_FOCUS +#define PQXX_H_TRANSACTION_FOCUS + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include "pqxx/util.hxx" + +namespace pqxx +{ +/// Base class for things that monopolise a transaction's attention. +/** You probably won't need to use this class. But it can be useful to _know_ + * that a given libpqxx class is derived from it. + * + * Pipelines, SQL statements, and data streams are examples of classes derived + * from `transaction_focus`. For any given transaction, only one object of + * such a class can be active at any given time. + */ +class PQXX_LIBEXPORT transaction_focus +{ +public: + transaction_focus( + transaction_base &t, std::string_view cname, std::string_view oname) : + m_trans{t}, m_classname{cname}, m_name{oname} + {} + + transaction_focus( + transaction_base &t, std::string_view cname, std::string &&oname) : + m_trans{t}, m_classname{cname}, m_name{std::move(oname)} + {} + + transaction_focus(transaction_base &t, std::string_view cname) : + m_trans{t}, m_classname{cname} + {} + + transaction_focus() = delete; + transaction_focus(transaction_focus const &) = delete; + transaction_focus &operator=(transaction_focus const &) = delete; + + /// Class name, for human consumption. + [[nodiscard]] constexpr std::string_view classname() const noexcept + { + return m_classname; + } + + /// Name for this object, if the caller passed one; empty string otherwise. + [[nodiscard]] std::string_view name() const &noexcept { return m_name; } + + [[nodiscard]] std::string description() const + { + return pqxx::internal::describe_object(m_classname, m_name); + } + + /// Can't move a transaction_focus. + /** Moving the transaction_focus would break the transaction's reference back + * to the object. + */ + transaction_focus(transaction_focus &&) = delete; + + /// Can't move a transaction_focus. + /** Moving the transaction_focus would break the transaction's reference back + * to the object. + */ + transaction_focus &operator=(transaction_focus &&) = delete; + +protected: + void register_me(); + void unregister_me() noexcept; + void reg_pending_error(std::string const &) noexcept; + bool registered() const noexcept { return m_registered; } + + transaction_base &m_trans; + +private: + bool m_registered = false; + std::string_view m_classname; + std::string m_name; +}; +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor new file mode 100644 index 000000000..29d1b9640 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor @@ -0,0 +1,8 @@ +/** pqxx::transactor class. + * + * pqxx::transactor is a framework-style wrapper for safe transactions. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/transactor.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor.hxx new file mode 100644 index 000000000..eefd04ba1 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/transactor.hxx @@ -0,0 +1,147 @@ +/* Transactor framework, a wrapper for safely retryable transactions. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/transactor instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_TRANSACTOR +#define PQXX_H_TRANSACTOR + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include + +#include "pqxx/connection.hxx" +#include "pqxx/transaction.hxx" + +namespace pqxx +{ +/** + * @defgroup transactor Transactor framework + * + * Sometimes a transaction can fail for completely transient reasons, such as a + * conflict with another transaction in SERIALIZABLE isolation. The right way + * to handle those failures is often just to re-run the transaction from + * scratch. + * + * For example, your REST API might be handling each HTTP request in its own + * database transaction, and if this kind of transient failure happens, you + * simply want to "replay" the whole request, in a fresh transaction. + * + * You won't necessarily want to execute the exact same SQL commands with the + * exact same data. Some of your SQL statements may depend on state that can + * vary between retries. Data in the database may already have changed, for + * instance. So instead of dumbly replaying the SQL, you re-run the same + * application code that produced those SQL commands, from the start. + * + * The transactor framework makes it a little easier for you to do this safely, + * and avoid typical pitfalls. You encapsulate the work that you want to do + * into a callable that you pass to the @ref perform function. + * + * Here's how it works. You write your transaction code as a lambda or + * function, which creates its own transaction object, does its work, and + * commits at the end. You pass that callback to @ref pqxx::perform, which + * runs it for you. + * + * If there's a failure inside your callback, there will be an exception. Your + * transaction object goes out of scope and gets destroyed, so that it aborts + * implicitly. Seeing this, @ref perform tries running your callback again. It + * stops doing that when the callback succeeds, or when it has failed too many + * times, or when there's an error that leaves the database in an unknown + * state, such as a lost connection just while we're waiting for the database + * to confirm a commit. It all depends on the type of exception. + * + * The callback takes no arguments. If you're using lambdas, the easy way to + * pass arguments is for the lambda to "capture" them from your variables. Or, + * if you're using functions, you may want to use `std::bind`. + * + * Once your callback succeeds, it can return a result, and @ref perform will + * return that result back to you. + */ +//@{ + +/// Simple way to execute a transaction with automatic retry. +/** + * Executes your transaction code as a callback. Repeats it until it completes + * normally, or it throws an error other than the few libpqxx-generated + * exceptions that the framework understands, or after a given number of failed + * attempts, or if the transaction ends in an "in-doubt" state. + * + * (An in-doubt state is one where libpqxx cannot determine whether the server + * finally committed a transaction or not. This can happen if the network + * connection to the server is lost just while we're waiting for its reply to + * a "commit" statement. The server may have completed the commit, or not, but + * it can't tell you because there's no longer a connection. + * + * Using this still takes a bit of care. If your callback makes use of data + * from the database, you'll probably have to query that data within your + * callback. If the attempt to perform your callback fails, and the framework + * tries again, you'll be in a new transaction and the data in the database may + * have changed under your feet. + * + * Also be careful about changing variables or data structures from within + * your callback. The run may still fail, and perhaps get run again. The + * ideal way to do it (in most cases) is to return your result from your + * callback, and change your program's data state only after @ref perform + * completes successfully. + * + * @param callback Transaction code that can be called with no arguments. + * @param attempts Maximum number of times to attempt performing callback. + * Must be greater than zero. + * @return Whatever your callback returns. + */ +template +inline auto perform(TRANSACTION_CALLBACK &&callback, int attempts = 3) + -> std::invoke_result_t +{ + if (attempts <= 0) + throw std::invalid_argument{ + "Zero or negative number of attempts passed to pqxx::perform()."}; + + for (; attempts > 0; --attempts) + { + try + { + return std::invoke(callback); + } + catch (in_doubt_error const &) + { + // Not sure whether transaction went through or not. The last thing in + // the world that we should do now is try again! + throw; + } + catch (statement_completion_unknown const &) + { + // Not sure whether our last statement succeeded. Don't risk running it + // again. + throw; + } + catch (broken_connection const &) + { + // Connection failed. May be worth retrying, if the transactor opens its + // own connection. + if (attempts <= 1) + throw; + continue; + } + catch (transaction_rollback const &) + { + // Some error that may well be transient, such as serialization failure + // or deadlock. Worth retrying. + if (attempts <= 1) + throw; + continue; + } + } + throw pqxx::internal_error{"No outcome reached on perform()."}; +} +} // namespace pqxx +//@} +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types new file mode 100644 index 000000000..23a5caae1 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types @@ -0,0 +1,7 @@ +/** + * Basic typedefs and forward declarations. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/types.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types.hxx new file mode 100644 index 000000000..f95b598f8 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/types.hxx @@ -0,0 +1,173 @@ +/* Basic type aliases and forward declarations. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_TYPES +#define PQXX_H_TYPES + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include + +#if defined(PQXX_HAVE_CONCEPTS) && __has_include() +# include +#endif + + +namespace pqxx +{ +/// Number of rows in a result set. +using result_size_type = int; + +/// Difference between result sizes. +using result_difference_type = int; + +/// Number of fields in a row of database data. +using row_size_type = int; + +/// Difference between row sizes. +using row_difference_type = int; + +/// Number of bytes in a field of database data. +using field_size_type = std::size_t; + +/// Number of bytes in a large object. +using large_object_size_type = int64_t; + + +// Forward declarations, to help break compilation dependencies. +// These won't necessarily include all classes in libpqxx. +class binarystring; +class connection; +class const_result_iterator; +class const_reverse_result_iterator; +class const_reverse_row_iterator; +class const_row_iterator; +class dbtransaction; +class field; +class largeobjectaccess; +class notification_receiver; +struct range_error; +class result; +class row; +class stream_from; +class transaction_base; + +/// Marker for @ref stream_from constructors: "stream from table." +/** @deprecated Use @ref stream_from::table() instead. + */ +struct from_table_t +{}; + +/// Marker for @ref stream_from constructors: "stream from query." +/** @deprecated Use @ref stream_from::query() instead. + */ +struct from_query_t +{}; + + +/// Format code: is data text or binary? +/** Binary-compatible with libpq's format codes. + */ +enum class format : int +{ + text = 0, + binary = 1, +}; + + +/// Remove any constness, volatile, and reference-ness from a type. +/** @deprecated In C++20 we'll replace this with std::remove_cvref. + */ +template +using strip_t = std::remove_cv_t>; + + +#if defined(PQXX_HAVE_CONCEPTS) +/// The type of a container's elements. +/** At the time of writing there's a similar thing in `std::experimental`, + * which we may or may not end up using for this. + */ +template +using value_type = strip_t()))>; +#else // PQXX_HAVE_CONCEPTS +/// The type of a container's elements. +/** At the time of writing there's a similar thing in `std::experimental`, + * which we may or may not end up using for this. + */ +template +using value_type = strip_t()))>; +#endif // PQXX_HAVE_CONCEPTS + + +#if defined(PQXX_HAVE_CONCEPTS) +/// Concept: Any type that we can read as a string of `char`. +template +concept char_string = std::ranges::contiguous_range and + std::same_as < strip_t>, +char > ; + +/// Concept: Anything we can iterate to get things we can read as strings. +template +concept char_strings = + std::ranges::range and char_string>>; + +/// Concept: Anything we might want to treat as binary data. +template +concept potential_binary = std::ranges::contiguous_range and + (sizeof(value_type) == 1); +#endif // PQXX_HAVE_CONCEPTS + + +// C++20: Retire these compatibility definitions. +#if defined(PQXX_HAVE_CONCEPTS) + +/// Template argument type for a range. +/** This is a concept, so only available in C++20 or better. In pre-C++20 + * environments it's just an alias for @ref typename. + */ +# define PQXX_RANGE_ARG std::ranges::range + +/// Template argument type for @ref char_string. +/** This is a concept, so only available in C++20 or better. In pre-C++20 + * environments it's just an alias for @ref typename. + */ +# define PQXX_CHAR_STRING_ARG pqxx::char_string + +/// Template argument type for @ref char_strings +/** This is a concept, so only available in C++20 or better. In pre-C++20 + * environments it's just an alias for @ref typename. + */ +# define PQXX_CHAR_STRINGS_ARG pqxx::char_strings + +#else // PQXX_HAVE_CONCEPTS + +/// Template argument type for a range. +/** This is a concept, so only available in C++20 or better. In pre-C++20 + * environments it's just an alias for @ref typename. + */ +# define PQXX_RANGE_ARG typename + +/// Template argument type for @ref char_string. +/** This is a concept, so only available in C++20 or better. In pre-C++20 + * environments it's just an alias for @ref typename. + */ +# define PQXX_CHAR_STRING_ARG typename + +/// Template argument type for @ref char_strings +/** This is a concept, so only available in C++20 or better. In pre-C++20 + * environments it's just an alias for @ref typename. + */ +# define PQXX_CHAR_STRINGS_ARG typename + +#endif // PQXX_HAVE_CONCEPTS +} // namespace pqxx +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util new file mode 100644 index 000000000..6d85ab611 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util @@ -0,0 +1,6 @@ +/** Various utility definitions for libpqxx. + */ +// Actual definitions in .hxx file so editors and such recognize file type +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/util.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util.hxx new file mode 100644 index 000000000..4aa5ecf57 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/util.hxx @@ -0,0 +1,521 @@ +/* Various utility definitions for libpqxx. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/util instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_UTIL +#define PQXX_H_UTIL + +#if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if __has_include() +# include +#endif + +#include "pqxx/except.hxx" +#include "pqxx/internal/encodings.hxx" +#include "pqxx/types.hxx" +#include "pqxx/version.hxx" + + +/// The home of all libpqxx classes, functions, templates, etc. +namespace pqxx +{} + +#include + + +/// Internal items for libpqxx' own use. Do not use these yourself. +namespace pqxx::internal +{ + +// C++20: Retire wrapper. +/// Same as `std::cmp_less`, or a workaround where that's not available. +template +inline constexpr bool cmp_less(LEFT lhs, RIGHT rhs) noexcept +{ +#if defined(PQXX_HAVE_CMP) + return std::cmp_less(lhs, rhs); +#else + // We need a variable just because lgtm.com gives off a false positive + // warning when we compare the values directly. It considers that a + // "self-comparison." + constexpr bool left_signed{std::is_signed_v}; + if constexpr (left_signed == std::is_signed_v) + return lhs < rhs; + else if constexpr (std::is_signed_v) + return (lhs <= 0) ? true : (std::make_unsigned_t(lhs) < rhs); + else + return (rhs <= 0) ? false : (lhs < std::make_unsigned_t(rhs)); +#endif +} + + +// C++20: Retire wrapper. +/// C++20 std::cmp_greater, or workaround if not available. +template +inline constexpr bool cmp_greater(LEFT lhs, RIGHT rhs) noexcept +{ +#if defined(PQXX_HAVE_CMP) + return std::cmp_greater(lhs, rhs); +#else + return cmp_less(rhs, lhs); +#endif +} + + +// C++20: Retire wrapper. +/// C++20 std::cmp_less_equal, or workaround if not available. +template +inline constexpr bool cmp_less_equal(LEFT lhs, RIGHT rhs) noexcept +{ +#if defined(PQXX_HAVE_CMP) + return std::cmp_less_equal(lhs, rhs); +#else + return not cmp_less(rhs, lhs); +#endif +} + + +// C++20: Retire wrapper. +/// C++20 std::cmp_greater_equal, or workaround if not available. +template +inline constexpr bool cmp_greater_equal(LEFT lhs, RIGHT rhs) noexcept +{ +#if defined(PQXX_HAVE_CMP) + return std::cmp_greater_equal(lhs, rhs); +#else + return not cmp_less(lhs, rhs); +#endif +} + + +/// Efficiently concatenate two strings. +/** This is a special case of concatenate(), needed because dependency + * management does not let us use that function here. + */ +[[nodiscard]] inline std::string cat2(std::string_view x, std::string_view y) +{ + std::string buf; + auto const xs{std::size(x)}, ys{std::size(y)}; + buf.resize(xs + ys); + x.copy(std::data(buf), xs); + y.copy(std::data(buf) + xs, ys); + return buf; +} +} // namespace pqxx::internal + + +namespace pqxx +{ +using namespace std::literals; + +/// Suppress compiler warning about an unused item. +template inline constexpr void ignore_unused(T &&...) noexcept +{} + + +/// Cast a numeric value to another type, or throw if it underflows/overflows. +/** Both types must be arithmetic types, and they must either be both integral + * or both floating-point types. + */ +template +inline TO check_cast(FROM value, std::string_view description) +{ + static_assert(std::is_arithmetic_v); + static_assert(std::is_arithmetic_v); + static_assert(std::is_integral_v == std::is_integral_v); + + // The rest of this code won't quite work for bool, but bool is trivially + // convertible to other arithmetic types as far as I can see. + if constexpr (std::is_same_v) + return static_cast(value); + + // Depending on our "if constexpr" conditions, this parameter may not be + // needed. Some compilers will warn. + ignore_unused(description); + + using from_limits = std::numeric_limits; + using to_limits = std::numeric_limits; + if constexpr (std::is_signed_v) + { + if constexpr (std::is_signed_v) + { + if (value < to_limits::lowest()) + throw range_error{internal::cat2("Cast underflow: "sv, description)}; + } + else + { + // FROM is signed, but TO is not. Treat this as a special case, because + // there may not be a good broader type in which the compiler can even + // perform our check. + if (value < 0) + throw range_error{internal::cat2( + "Casting negative value to unsigned type: "sv, description)}; + } + } + else + { + // No need to check: the value is unsigned so can't fall below the range + // of the TO type. + } + + if constexpr (std::is_integral_v) + { + using unsigned_from = std::make_unsigned_t; + using unsigned_to = std::make_unsigned_t; + constexpr auto from_max{static_cast((from_limits::max)())}; + constexpr auto to_max{static_cast((to_limits::max)())}; + if constexpr (from_max > to_max) + { + if (internal::cmp_greater(value, to_max)) + throw range_error{internal::cat2("Cast overflow: "sv, description)}; + } + } + else if constexpr ((from_limits::max)() > (to_limits::max)()) + { + if (value > (to_limits::max)()) + throw range_error{internal::cat2("Cast overflow: ", description)}; + } + + return static_cast(value); +} + + +/** Check library version at link time. + * + * Ensures a failure when linking an application against a radically + * different libpqxx version than the one against which it was compiled. + * + * Sometimes application builds fail in unclear ways because they compile + * using headers from libpqxx version X, but then link against libpqxx + * binary version Y. A typical scenario would be one where you're building + * against a libpqxx which you have built yourself, but a different version + * is installed on the system. + * + * The check_library_version template is declared for any library version, + * but only actually defined for the version of the libpqxx binary against + * which the code is linked. + * + * If the library binary is a different version than the one declared in + * these headers, then this call will fail to link: there will be no + * definition for the function with these exact template parameter values. + * There will be a definition, but the version in the parameter values will + * be different. + */ +inline PQXX_PRIVATE void check_version() noexcept +{ + // There is no particular reason to do this here in @ref connection, except + // to ensure that every meaningful libpqxx client will execute it. The call + // must be in the execution path somewhere or the compiler won't try to link + // it. We can't use it to initialise a global or class-static variable, + // because a smart compiler might resolve it at compile time. + // + // On the other hand, we don't want to make a useless function call too + // often for performance reasons. A local static variable is initialised + // only on the definition's first execution. Compilers will be well + // optimised for this behaviour, so there's a minimal one-time cost. + static auto const version_ok{internal::PQXX_VERSION_CHECK()}; + ignore_unused(version_ok); +} + + +/// Descriptor of library's thread-safety model. +/** This describes what the library knows about various risks to thread-safety. + */ +struct PQXX_LIBEXPORT thread_safety_model +{ + /// Is the underlying libpq build thread-safe? + bool safe_libpq = false; + + /// Is Kerberos thread-safe? + /** @warning Is currently always `false`. + * + * If your application uses Kerberos, all accesses to libpqxx or Kerberos + * must be serialized. Confine their use to a single thread, or protect it + * with a global lock. + */ + bool safe_kerberos = false; + + /// A human-readable description of any thread-safety issues. + std::string description; +}; + + +/// Describe thread safety available in this build. +[[nodiscard]] PQXX_LIBEXPORT thread_safety_model describe_thread_safety(); + + +#if defined(PQXX_HAVE_CONCEPTS) +# define PQXX_POTENTIAL_BINARY_ARG pqxx::potential_binary +#else +# define PQXX_POTENTIAL_BINARY_ARG typename +#endif + + +/// Cast binary data to a type that libpqxx will recognise as binary. +/** There are many different formats for storing binary data in memory. You + * may have yours as a `std::string`, or a `std::vector`, or one of + * many other types. + * + * But for libpqxx to recognise your data as binary, it needs to be a + * `std::basic_string`, or a `std::basic_string_view`; + * or in C++20 or better, any contiguous block of `std::byte`. + * + * Use `binary_cast` as a convenience helper to cast your data as a + * `std::basic_string_view`. + * + * @warning There are two things you should be aware of! First, the data must + * be contiguous in memory. In C++20 the compiler will enforce this, but in + * C++17 it's your own problem. Second, you must keep the object where you + * store the actual data alive for as long as you might use this function's + * return value. + */ +template +std::basic_string_view binary_cast(TYPE const &data) +{ + static_assert(sizeof(value_type) == 1); + return { + reinterpret_cast( + const_cast const *>( + std::data(data))), + std::size(data)}; +} + + +#if defined(PQXX_HAVE_CONCEPTS) +template +concept char_sized = (sizeof(CHAR) == 1); +# define PQXX_CHAR_SIZED_ARG char_sized +#else +# define PQXX_CHAR_SIZED_ARG typename +#endif + +/// Construct a type that libpqxx will recognise as binary. +/** Takes a data pointer and a size, without being too strict about their + * types, and constructs a `std::basic_string_view` pointing to + * the same data. + * + * This makes it a little easier to turn binary data, in whatever form you + * happen to have it, into binary data as libpqxx understands it. + */ +template +std::basic_string_view binary_cast(CHAR const *data, SIZE size) +{ + static_assert(sizeof(CHAR) == 1); + return { + reinterpret_cast(data), + check_cast(size, "binary data size")}; +} + + +/// The "null" oid. +constexpr oid oid_none{0}; +} // namespace pqxx + + +/// Private namespace for libpqxx's internal use; do not access. +/** This namespace hides definitions internal to libpqxx. These are not + * supposed to be used by client programs, and they may change at any time + * without notice. + * + * Conversely, if you find something in this namespace tremendously useful, by + * all means do lodge a request for its publication. + * + * @warning Here be dragons! + */ +namespace pqxx::internal +{ +using namespace std::literals; + + +/// A safer and more generic replacement for `std::isdigit`. +/** Turns out `std::isdigit` isn't as easy to use as it sounds. It takes an + * `int`, but requires it to be nonnegative. Which means it's an outright + * liability on systems where `char` is signed. + */ +template inline constexpr bool is_digit(CHAR c) noexcept +{ + return (c >= '0') and (c <= '9'); +} + + +/// Describe an object for humans, based on class name and optional name. +/** Interprets an empty name as "no name given." + */ +[[nodiscard]] std::string +describe_object(std::string_view class_name, std::string_view name); + + +/// Check validity of registering a new "guest" in a "host." +/** The host might be e.g. a connection, and the guest a transaction. The + * host can only have one guest at a time, so it is an error to register a new + * guest while the host already has a guest. + * + * If the new registration is an error, this function throws a descriptive + * exception. + * + * Pass the old guest (if any) and the new guest (if any), for both, a type + * name (at least if the guest is not null), and optionally an object name + * (but which may be omitted if the caller did not assign one). + */ +void check_unique_register( + void const *old_guest, std::string_view old_class, std::string_view old_name, + void const *new_guest, std::string_view new_class, + std::string_view new_name); + + +/// Like @ref check_unique_register, but for un-registering a guest. +/** Pass the guest which was registered, as well as the guest which is being + * unregistered, so that the function can check that they are the same one. + */ +void check_unique_unregister( + void const *old_guest, std::string_view old_class, std::string_view old_name, + void const *new_guest, std::string_view new_class, + std::string_view new_name); + + +/// Compute buffer size needed to escape binary data for use as a BYTEA. +/** This uses the hex-escaping format. The return value includes room for the + * "\x" prefix. + */ +inline constexpr std::size_t size_esc_bin(std::size_t binary_bytes) noexcept +{ + return 2 + (2 * binary_bytes) + 1; +} + + +/// Compute binary size from the size of its escaped version. +/** Do not include a terminating zero in `escaped_bytes`. + */ +inline constexpr std::size_t size_unesc_bin(std::size_t escaped_bytes) noexcept +{ + return (escaped_bytes - 2) / 2; +} + + +// TODO: Use actual binary type for "data". +/// Hex-escape binary data into a buffer. +/** The buffer must be able to accommodate + * `size_esc_bin(std::size(binary_data))` bytes, and the function will write + * exactly that number of bytes into the buffer. This includes a trailing + * zero. + */ +void PQXX_LIBEXPORT +esc_bin(std::basic_string_view binary_data, char buffer[]) noexcept; + + +/// Hex-escape binary data into a std::string. +std::string PQXX_LIBEXPORT +esc_bin(std::basic_string_view binary_data); + + +/// Reconstitute binary data from its escaped version. +void PQXX_LIBEXPORT +unesc_bin(std::string_view escaped_data, std::byte buffer[]); + + +/// Reconstitute binary data from its escaped version. +std::basic_string + PQXX_LIBEXPORT unesc_bin(std::string_view escaped_data); + + +/// Transitional: std::ssize(), or custom implementation if not available. +template auto ssize(T const &c) +{ +#if defined(__cpp_lib_ssize) && __cplusplus >= __cpp_lib_ssize + return std::ssize(c); +#else + using signed_t = std::make_signed_t; + return static_cast(std::size(c)); +#endif // __cpp_lib_ssize +} + + +/// Helper for determining a function's parameter types. +/** This function has no definition. It's not meant to be actually called. + * It's just there for pattern-matching in the compiler, so we can use its + * hypothetical return value. + */ +template +std::tuple args_f(RETURN (&func)(ARGS...)); + + +/// Helper for determining a `std::function`'s parameter types. +/** This function has no definition. It's not meant to be actually called. + * It's just there for pattern-matching in the compiler, so we can use its + * hypothetical return value. + */ +template +std::tuple args_f(std::function const &); + + +/// Helper for determining a member function's parameter types. +/** This function has no definition. It's not meant to be actually called. + * It's just there for pattern-matching in the compiler, so we can use its + * hypothetical return value. + */ +template +std::tuple member_args_f(RETURN (CLASS::*)(ARGS...)); + + +/// Helper for determining a const member function's parameter types. +/** This function has no definition. It's not meant to be actually called. + * It's just there for pattern-matching in the compiler, so we can use its + * hypothetical return value. + */ +template +std::tuple member_args_f(RETURN (CLASS::*)(ARGS...) const); + + +/// Helper for determining a callable type's parameter types. +/** This specialisation should work for lambdas. + * + * This function has no definition. It's not meant to be actually called. + * It's just there for pattern-matching in the compiler, so we can use its + * hypothetical return value. + */ +template +auto args_f(CALLABLE const &f) + -> decltype(member_args_f(&CALLABLE::operator())); + + +/// A callable's parameter types, as a tuple. +template +using args_t = decltype(args_f(std::declval())); + + +/// Helper: Apply `strip_t` to each of a tuple type's component types. +/** This function has no definition. It is not meant to be called, only to be + * used to deduce the right types. + */ +template +std::tuple...> strip_types(std::tuple const &); + + +/// Take a tuple type and apply @ref strip_t to its component types. +template +using strip_types_t = decltype(strip_types(std::declval())); +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version new file mode 100644 index 000000000..8dd5e48d4 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version @@ -0,0 +1,7 @@ +/** libpqxx version info. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/version.hxx" +#include "pqxx/internal/header-post.hxx" + diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version.hxx new file mode 100644 index 000000000..a159f1bed --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/version.hxx @@ -0,0 +1,55 @@ +/* Version info for libpqxx. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/version instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_VERSION + +# if !defined(PQXX_HEADER_PRE) +# error "Include libpqxx headers as , not ." +# endif + +/// Full libpqxx version string. +# define PQXX_VERSION "7.7.3" +/// Library ABI version. +# define PQXX_ABI "7.7" + +/// Major version number. +# define PQXX_VERSION_MAJOR 7 +/// Minor version number. +# define PQXX_VERSION_MINOR 7 + +# define PQXX_VERSION_CHECK check_pqxx_version_7_7 + +namespace pqxx::internal +{ +/// Library version check stub. +/** Helps detect version mismatches between libpqxx headers and the libpqxx + * library binary. + * + * Sometimes users run into trouble linking their code against libpqxx because + * they build their own libpqxx, but the system also has a different version + * installed. The declarations in the headers against which they compile their + * code will differ from the ones used to build the libpqxx version they're + * using, leading to confusing link errors. The solution is to generate a link + * error when the libpqxx binary is not the same version as the libpqxx headers + * used to compile the code. + * + * This function's definition is in the libpqxx binary, so it's based on the + * version as found in the binary. The headers contain a call to the function, + * whose name contains the libpqxx version as found in the headers. (The + * library build process will use its own local headers even if another version + * of the headers is installed on the system.) + * + * If the libpqxx binary was compiled for a different version than the user's + * code, linking will fail with an error: `check_pqxx_version_*_*` will not + * exist for the given version number. + */ +PQXX_LIBEXPORT int PQXX_VERSION_CHECK() noexcept; +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview new file mode 100644 index 000000000..66ea2a625 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview @@ -0,0 +1,6 @@ +/** Zero-terminated string view class. + */ +// Actual definitions in .hxx file so editors and such recognize file type. +#include "pqxx/internal/header-pre.hxx" +#include "pqxx/zview.hxx" +#include "pqxx/internal/header-post.hxx" diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview.hxx b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview.hxx new file mode 100644 index 000000000..36a779f51 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/include/pqxx/zview.hxx @@ -0,0 +1,163 @@ +/* Zero-terminated string view. + * + * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/zview instead. + * + * Copyright (c) 2000-2022, Jeroen T. Vermeulen. + * + * See COPYING for copyright license. If you did not receive a file called + * COPYING with this source code, please notify the distributor of this + * mistake, or contact the author. + */ +#ifndef PQXX_H_ZVIEW +#define PQXX_H_ZVIEW + +#include +#include +#include + +#include "pqxx/types.hxx" + + +namespace pqxx +{ +/// Marker-type wrapper: zero-terminated `std::string_view`. +/** @warning Use this only if the underlying string is zero-terminated. + * + * When you construct a zview, you are promising that if the data pointer is + * non-null, the underlying string is zero-terminated. It otherwise behaves + * exactly like a std::string_view. + * + * The terminating zero is not "in" the string, so it does not count as part of + * the view's length. + * + * The added guarantee lets the view be used as a C-style string, which often + * matters since libpqxx builds on top of a C library. For this reason, zview + * also adds a @ref c_str method. + */ +class zview : public std::string_view +{ +public: + constexpr zview() noexcept = default; + + /// Convenience overload: construct using pointer and signed length. + constexpr zview(char const text[], std::ptrdiff_t len) : + std::string_view{text, static_cast(len)} + {} + + /// Convenience overload: construct using pointer and signed length. + constexpr zview(char text[], std::ptrdiff_t len) : + std::string_view{text, static_cast(len)} + {} + + /// Explicitly promote a `string_view` to a `zview`. + explicit constexpr zview(std::string_view other) noexcept : + std::string_view{other} + {} + + /// Construct from any initialiser you might use for `std::string_view`. + /** @warning Only do this if you are sure that the string is zero-terminated. + */ + template + explicit constexpr zview(Args &&...args) : + std::string_view(std::forward(args)...) + {} + + // C++20: constexpr. + /// @warning There's an implicit conversion from `std::string`. + zview(std::string const &str) noexcept : + std::string_view{str.c_str(), str.size()} + {} + + /// Construct a `zview` from a C-style string. + /** @warning This scans the string to discover its length. So if you need to + * do it many times, it's probably better to create the `zview` once and + * re-use it. + */ + constexpr zview(char const str[]) : std::string_view{str} {} + + /// Construct a `zview` from a string literal. + /** A C++ string literal ("foo") normally looks a lot like a pointer to + * char const, but that's not really true. It's actually an array of char, + * which _devolves_ to a pointer when you pass it. + * + * For the purpose of creating a `zview` there is one big difference: if we + * know the array's size, we don't need to scan through the string in order + * to find out its length. + */ + template + constexpr zview(char const (&literal)[size]) : zview(literal, size - 1) + {} + + /// Either a null pointer, or a zero-terminated text buffer. + [[nodiscard]] constexpr char const *c_str() const &noexcept + { + return data(); + } +}; + + +/// Support @ref zview literals. +/** You can "import" this selectively into your namespace, without pulling in + * all of the @ref pqxx namespace: + * + * ```cxx + * using pqxx::operator"" _zv; + * ``` + */ +constexpr zview operator"" _zv(char const str[], std::size_t len) noexcept +{ + return zview{str, len}; +} +} // namespace pqxx + + +#if defined(PQXX_HAVE_CONCEPTS) +/// A zview is a view. +template<> inline constexpr bool std::ranges::enable_view{true}; + + +/// A zview is a borrowed range. +template<> +inline constexpr bool std::ranges::enable_borrowed_range{true}; + +namespace pqxx::internal +{ +/// Concept: T is a known zero-terminated string type. +/** There's no unified API for these string types. It's just a check for some + * known types. Any code that makes use of the concept will still have to + * support each of these individually. + */ +template +concept ZString = std::is_convertible_v < strip_t, +char const * > or std::is_convertible_v, zview> or + std::is_convertible_v; +} // namespace pqxx::internal +#endif // PQXX_HAVE_CONCEPTS + + +namespace pqxx::internal +{ +/// Get a raw C string pointer. +inline constexpr char const *as_c_string(char const str[]) noexcept +{ + return str; +} +/// Get a raw C string pointer. +template +inline constexpr char const *as_c_string(char (&str)[N]) noexcept +{ + return str; +} +/// Get a raw C string pointer. +inline constexpr char const *as_c_string(pqxx::zview str) noexcept +{ + return str.c_str(); +} +// C++20: Make this constexpr. +/// Get a raw C string pointer. +inline char const *as_c_string(std::string const &str) noexcept +{ + return str.c_str(); +} +} // namespace pqxx::internal +#endif diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config-version.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config-version.cmake new file mode 100644 index 000000000..c47d6956d --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config-version.cmake @@ -0,0 +1,70 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version, +# but only if the requested major version is the same as the current one. +# The variable CVF_VERSION must be set before calling configure_file(). + + +set(PACKAGE_VERSION "7.7.3") + +if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + + if("7.7.3" MATCHES "^([0-9]+)\\.") + set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}") + if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}") + endif() + else() + set(CVF_VERSION_MAJOR "7.7.3") + endif() + + if(PACKAGE_FIND_VERSION_RANGE) + # both endpoints of the range must have the expected major version + math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1") + if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR + AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) + endif() + else() + if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) + endif() + + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed project requested no architecture check, don't perform the check +if("FALSE") + return() +endif() + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config.cmake new file mode 100644 index 000000000..cb25a05f2 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-config.cmake @@ -0,0 +1,4 @@ +include(CMakeFindDependencyMacro) +find_dependency(PostgreSQL) + +include("${CMAKE_CURRENT_LIST_DIR}/libpqxx-targets.cmake") diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake new file mode 100644 index 000000000..980f46098 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets-noconfig.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "libpqxx::pqxx" for configuration "" +set_property(TARGET libpqxx::pqxx APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(libpqxx::pqxx PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_NOCONFIG "CXX" + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libpqxx-7.7.a" + ) + +list(APPEND _IMPORT_CHECK_TARGETS libpqxx::pqxx ) +list(APPEND _IMPORT_CHECK_FILES_FOR_libpqxx::pqxx "${_IMPORT_PREFIX}/lib/libpqxx-7.7.a" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets.cmake b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets.cmake new file mode 100644 index 000000000..c7b525b18 --- /dev/null +++ b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/cmake/libpqxx/libpqxx-targets.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.20) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget libpqxx::pqxx) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target libpqxx::pqxx +add_library(libpqxx::pqxx STATIC IMPORTED) + +set_target_properties(libpqxx::pqxx PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "/usr/lib/aarch64-linux-gnu/libpq.so" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/libpqxx-targets-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx-7.7.a b/ext/libpqxx-7.7.3/install/ubuntu22.04/arm64/lib/libpqxx-7.7.a new file mode 100644 index 0000000000000000000000000000000000000000..2cb705a34c561d8f7fdf049f81c34e0d61b351e7 GIT binary patch literal 4997126 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�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%0A7(z;Fi2J`1JKaWF8Phq5nlFfd$% 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'~< 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

    KYN)PwRXsNRF6NJ!rv5i_7$uR-%KptuC7 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